Linux常見核心檔案
檔案 | 說明 | |
---|---|---|
/etc/hostname | 主機名 | |
/etc/os-release | 系統版本資訊 | |
【1】、檢視linux基本資訊
- 面試題:你拿到一個linux後一般做什麼? 檢查,最佳化
- 主機名
- ip
- 系統版本
- 核心版本
- 。。。。
1、檢視與修改主機名
xu@xu-ubuntu:~$ hostnamectl
Static hostname: xu-ubuntu
Icon name: computer-vm
Chassis: vm
Machine ID: 456b183040c3434ba98a1bc9697bf4c0
Boot ID: f7077f6ab7f34a3c85cbcffb7e178214
Virtualization: vmware
Operating System: Ubuntu 22.04.4 LTS
Kernel: Linux 5.15.0-94-generic
Architecture: x86-64
Hardware Vendor: VMware, Inc.
Hardware Model: VMware Virtual Platform
[root@kylin-xu ~]# hostnamectl
Static hostname: kylin-xu
Icon name: computer-vm
Chassis: vm
Machine ID: 0750c8190cbf41ca87bc3b4853fe5114
Boot ID: 36c9d52b995f4cb599b58459ef38aab0
Virtualization: vmware
Operating System: Kylin Linux Advanced Server V10 (Lance)
Kernel: Linux 4.19.90-52.22.v2207.ky10.x86_64
Architecture: x86-64
修改主機名
[root@kylin-xu ~]# hostnamectl set-hostname kylin-xu
專門檢視主機名 hostname
[root@kylin-xu ~]# hostname
kylin-xu
2、ip
[root@kylin-xu ~]# ip a show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b0:55:89 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.99/24 brd 192.168.121.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::3603:161e:150e:b73a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3、版本資訊
xu@xu-ubuntu:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
[root@kylin-xu ~]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31"
4、核心版本
[root@kylin-xu ~]# uname -a
Linux kylin-xu 4.19.90-52.22.v2207.ky10.x86_64 #1 SMP Tue Mar 14 12:19:10 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@kylin-xu ~]# uname -r
4.19.90-52.22.v2207.ky10.x86_64
xu@xu-ubuntu:~$ uname -a
Linux xu-ubuntu 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
xu@xu-ubuntu:~$ uname -r
5.15.0-94-generic
【2】、 /etc/
/etc/下 | ||
---|---|---|
/etc/sysconfig/network-scripts/ifcfg-ens33 | 紅帽系列網路卡配置檔案 ip地址,DNS,閘道器 | |
/etc/resolv.conf | DNS | |
/etc/hosts | 第2階段搭建網站必會 ip與域名關係 |
|
/etc/profile | 配置別名,環境變數 | |
/etc/motd /etc/issue | 歡迎資訊 | |
/etc/rc.local | 開機自動執行命令 |
1、網路卡配置檔案
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e8a156c8-a8cb-4a4b-bac9-c063a7e40411
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.121.99
PREFIX=24
GATEWAY=192.168.121.2
DNS1=114.114.114.114
IPV6_PRIVACY=no
關鍵配置:
獲取IP方式 自動獲取還是固定
BOOTPROTO=none 或static 固定IP
BOOTPROTO=dhcp自動獲取IPIP地址 IPADDR 指定IP地址 固定的
GATEWAY 閘道器 網路出入口 大樓的大門。 10.0.0.2 vmware虛擬路由器
DNS 域名解析服務 域名-->ip
DNS1=223.5.5.5
DNS2=223.6.6.6
瞭解下Ubuntu的網路卡配置檔案
root@xu-ubuntu:~# cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
addresses:
- 192.168.121.88/24
nameservers:
addresses:
- 114.114.114.114
search: []
routes:
- to: default
via: 192.168.121.2
version: 2
2、/etc/resolv.conf
[root@kylin-xu ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
配置DNS
dns配置 | 網路卡 | resolv.conf |
---|---|---|
共同點 | 配置DNS | 配置DNS |
區別 | 網路卡DNS重啟網路卡生效 | 實時生效,會被網路卡配置檔案覆蓋(網路卡重啟之後) |
3、/etc/hosts
域名(名字) 與ip對應關係 ,相當於是本地DNS(當前機器)
透過主機名訪問對應的主機。
Windows hosts檔案
C:\Windows\System32\drivers\etc\hosts
4、 /etc/motd /etc/issue
說明 | 說明 |
---|---|
/etc/motd | 使用者登入後輸出資訊 |
/etc/issue | 使用者登入之前輸出資訊 清空即可 |
https://www.yuque.com/lidao996/sre/vw00b434kl1ygl95?singleDoc# 《老男孩教育-/etc/motd內容參考》
5、/etc/profile、/etc/rc.local
/etc/ | 說明 |
---|---|
/etc/profile | 配置系統環境變數,別名 |
/etc/rc.local | 開機自啟動,開機後自動執行服務,命令。 |
(1)、/etc/profile
- 環境變數:系統定義好,供我們使用
- PATH環境變數:系統中命令的位置。
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
常見路徑
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
- 故障案例:
- 一不小心,清空了PATH變數內容
- 解決方案:
- 方案🅰️執行
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
,繼續操作即可 - 方案🅱️ 使用命令的絕對路徑 比如 /bin/ls , /bin/vi , /bin/vim
- 方案🅰️執行
小結:
- /etc/profile配置環境變數
- PATH作用,存放命令的位置.
(2)、/etc/rc.local
- 配置開機自啟動
- 這是個軟連結,對應的原始檔案叫:/etc/rc.d/rc.local
- ubt/debian中這個檔案不存在,手動建立 /etc/rc.local
- 這個檔案使用前對原始檔 增加執行許可權
chmod +x /etc/rc.d/rc.local /etc/rc.local
(講解許可權專題再說)
【3】、/proc
- process 程序 放系統的程序資訊,核心資訊,系統資訊。
- 不佔用磁碟空間
/proc/ | 說明 |
---|---|
/proc/cpuinfo | cpu資訊 |
/proc/meminfo | mem記憶體(memory) 執行記憶體 |
/proc/loadavg | 系統負載資訊(衡量系統繁忙程度指標) |
/proc/mounts | 系統磁碟掛載資訊(磁碟專題) |
..... |
1、cpu資訊
cpu與核心的關係
graph LR
subgraph CPU0
core1
core2
core3
core4
end
subgraph CPU1
core5
core6
end
# processor : 0 #第1個核心
# physical id: 0 #第1個cpu
root@xu-ecs:~# cat /proc/cpuinfo | grep processor # 有兩個cpu
processor : 0
processor : 1
root@xu-ecs:~# cat /proc/cpuinfo | grep physical # 1核心
physical id : 0
address sizes : 46 bits physical, 48 bits virtual
physical id : 0
address sizes : 46 bits physical, 48 bits virtual
lscpu
root@xu-ecs:~# lscpu
CPU(s): 2 # cpu數量
On-line CPU(s) list: 0,1
Model name: Intel(R) Xeon(R) Platinum intel 至強鉑金系列
Virtualization features: # 虛擬化 KVM技術
Hypervisor vendor: KVM
Virtualization type: full
2、記憶體資訊
[root@oldboyedu-hard-stone ~]# free -h
total used free shared buff/cache available
Mem: 1.9Gi 224Mi 547Mi 8.0Mi 1.2Gi 1.5Gi
Swap: 2.0Gi 0B 2.0Gi
#linux特點 把檔案快取到記憶體中,加速下次使用.
#快取到buff/cache 記憶體中的區域
-
Swap: 交換分割槽(windows虛擬記憶體)
- 記憶體不足的時候臨時充當記憶體.
- 磁碟上的空間。
-
(麒麟系統) kdump功能:系統異常當機,系統程序資訊匯出儲存到檔案中。這個功能會佔用一部分記憶體,會出現我們給了 2G 記憶體但是真實存在的不足 2G
#1.關閉
systemctl disable --now kdump
#2.檢查
systemctl status kdump
#3.修改檔案
vim /boot/grub2/grub.cfg
搜尋: crashkernel=1024M,high 行
crashkernel=1024M,high 刪除即可
#4.儲存退出後檢查結果
grep 'crashkernel=' /boot/grub2/grub.cfg #沒有輸出就OK了。
#5.重啟linux
reboot