当我在 Linux 上输入 uname -r 命令时:
uname -r
我得到以下信息:
2.6.18-274.7.1.el5PAE
我的问题是 uname -r 从哪个文件读取该信息,或者 uname -r 从哪里读取数据?
答案1
您可以更改如下文件:
[sgeorge@sgeorge-ld proc]$ ls -l /proc/sys/kernel/{hostname,domainname}
-rw-r--r-- 1 root root 0 Jan 10 00:07 /proc/sys/kernel/domainname
-rw-r--r-- 1 root root 0 Jan 10 00:07 /proc/sys/kernel/hostname
但是像下面这样的文件,您无法更改值:
[sgeorge@SUKU proc]$ ls -l /proc/sys/kernel/{osrelease,ostype,version}
-r--r--r-- 1 root root 0 Jan 10 00:07 /proc/sys/kernel/osrelease
-r--r--r-- 1 root root 0 Jan 10 00:07 /proc/sys/kernel/ostype
-r--r--r-- 1 root root 0 Jan 10 00:07 /proc/sys/kernel/version
演示:
[root@sgeorge-ld ~]# sudo echo "SUKU" > /proc/sys/kernel/hostname
[root@sgeorge-ld ~]# bash
[root@SUKU ~]# echo 121212 > /proc/sys/kernel/version
bash: /proc/sys/kernel/version: Permission denied
[root@SUKU ~]# echo 121212 > /proc/sys/kernel/ostype
bash: /proc/sys/kernel/ostype: Permission denied
[root@SUKU ~]# echo 121212 > /proc/sys/kernel/osrelease
bash: /proc/sys/kernel/osrelease: Permission denied
您不能修改这些值。
仅当您构建新内核时才可以调整这些文件。