附录C:深入了解
本章的目的是让读者快速扫一眼在openSUSE GNU/Linux操作系统的表面之下是怎么回事,
对系统内部运行有个基本概念。
C.1 主要系统组件
任何现代的电脑操作系统都是一个很大的、复杂的装置——GNU/Linux发行版也不例外。
Linux内核只是众多组件之一。下图展示了系统核心组件和他们各自的角色。
|
本图展示了GNU/Linux操作系统的主要组件。
|
C.2 文件树
大多数用户几乎不需要在他们的主文件夹(home folder)之外工作,
但是对文件层次如何工作有个基本的概念仍是一个好主意。
GNU/Linux里您只有
一个 文件树,不同于如微软Windows系统的每个
文件系统/分区都有一个不同的文件树的情况——GNU/Linux里单独的文件系统/分区被
装载 到一个文件树内的文件夹里。这个文件树的根文件夹是 "
/"
并且路径都是用正斜杠(右斜杠)。
所以GNU/Linux中的路径是像这样的:
/home/username/Desktop/
微软Windows中对应的路径是像这样的:
C:\Documents and Settings\username\Desktop
|
GNU/Linux中文件名和文件夹是区分字母大小写的。
|
根文件夹 ("/") 默认包含这些文件夹:
/bin/ |
基本工具和其他程序(或二进制文件)
|
/boot/ |
内核本身、引导装载配置等。
|
/dev/ |
设备文件代表的各种硬件。
|
/etc/ |
系统配置文件
|
/home/ |
普通用户的主文件夹 |
/lib/ |
系统库文件
|
/media/ |
可移动媒体的装载点
|
/mnt/ |
用于临时装载点
|
/opt/ |
附加应用程序文件
|
/proc/ |
关于当前系统进程信息的文件
|
/root/ |
超级用户的主目录
|
/sbin/ |
基本的系统管理员工具,或系统二进制文件
|
/selinux/ |
如果您使用SELinux才有关系,而您大概不会用到它
|
/srv/ |
系统运行的服务器数据
|
/sys/ |
虚拟文件系统
|
/tmp/ |
临时文件
|
/usr/ |
UNIX系统资源的简称,例如所有应用程序均安装在这里,
还有库文件、头文件、源码、文档和帮助等
|
/var/ |
变量数据
|
/usr/share/applications/
|
全局的开始菜单的应用程序快捷方式(用户的: ~/.local/share/applications/)
|
~/桌面/ |
桌面文件夹位置,包含桌面上应用程序快捷方式
|
普通用户只拥有他们的
/home/ 文件夹的写权限,并且很少需要在该目录之外工作。
如果您电脑里存在微软Windows系统,那么Windows分区一般默认装载到
/windows/ 目录。
C.3 装载和可移动媒体
如上面简要地提到文件系统/分区被装载到一个文件树内的文件夹里,
这意味着例如 "
/" 可能在一个分区或物理磁盘上,并且
/var/
可能在另一个不同的上面,而
/home/username/data/ 完全可能在第三个上——但是在文件层次导航时他们都呈现在一个同样的文件树里。
使用 YaST 分区工具(Partitioner)或手动编辑配置文件 /etc/fstab ,
您可以指定内部分区/文件系统的装载点,并让它们在系统引导时装载。
当可移动媒体如CD或USB密钥插入时,会出现一个通知,并且设备会出现在Dolphin
文件管理器的左边面板里。媒体将被装载到
/var/run/media/ 目录。
C.4 隐藏文件
以 '.' (点) 开头的文件和文件夹是隐藏的。在Dolphin文件管理器里,
您可以通过键盘快捷键
Alt+. 或菜单里
的
View -> Show Hidden Files (视图 -> 显示隐藏文件)
让隐藏文件显形。
应用程序将用户设置和数据存储在用户主文件夹内的隐藏文件夹里,例如
/home/username/.mozilla/,
/home/username/.config/vlc/,
/home/username/.kde4/share/config/ 等。
如果您卸载了一个应用程序,其设置和数据还会保留在主文件夹里。要“重新设置”
一个应用程序,您重命名或移动、删除其在您主文件夹里隐藏的设置和/或数据即可。
C.5 重要的配置文件
GNU/Linux 里的配置和设置通常存储在人类可读的普通文本文件中。几乎所有的配置
都可通过Yast图形界面或其他各种图形界面程序来完成,但是了解一些关键配置文件
的位置仍然是有益的。
系统范围的配置主要存储在
/etc/ ,对单个用户,用户设置存储在其主文件夹的
隐藏文件里。
/etc/fstab |
文件系统列表,系统引导时装载的文件系统/分区。
|
/etc/sysconfig/yast2 |
YaST的配置。
|
/etc/zypp/zypp.conf |
软件管理器zypper的配置。
|
/etc/samba/smb.conf |
Samba配置(Windows网上邻居)。
|
/etc/HOSTNAME |
机器的主机名。 |
/etc/X11/xorg.conf.d/ |
X服务器配置。默认使用自动检测,如果您必须配置X服务器,那么才编辑这些文件。
|
/etc/sysconfig/kernel |
内核。比如系统引导时额外装载的模块。
|
/etc/modprobe.d/50-blacklist.conf |
内核模块黑名单。
|
C.6 日志
为防备出问题,了解主要日志文件的位置是有益的,绝大多数存在
/var/log/ 目录。
/var/log/Xorg.0.log |
X服务器日志。
|
/home/username/.xsession-errors |
对普通用户运行的应用程序的故障排除有用。
|
/var/log/NetworkManager |
网络管理器系统的日志(通常只有笔记本电脑用到)。
|
/var/log/boot.msg |
引导日志。
|
/var/log/messages |
常规系统日志。
|
/var/log/YaST2/ |
各种Yast模块和组件的日志文件。
|
主要的系统日志可以用 Yast 的
systemd-journal 模块显示,或者用 journalctl 命令:
journalctl
在 journalctl 上阅读日志以更有效地运用这些信息。
C.7 故障排除
如果一个应用程序崩溃或无法启动,这里是一些 GNU/Linux 的基本故障排除技巧。
-
如果一个应用程序运行失败,尝试在终端里运行它,获取更多/更好的输出信息
-
尝试移除/重命名在用户主文件夹里的该应用程序的隐藏文件夹。
-
尝试创建一个新用户,看看问题是否仍存在。如果该问题对新用户是不存在的,
问题的原因在出问题用户的主文件夹内的设置/数据里大概可以找到。
-
检查相关的日志文件。
|
重新安装软件包几乎从来不能解决任何事,因为旧的设置和数据仍然存在
主文件夹内的隐藏文件夹里。
|
本文档翻译自
http://opensuse-guide.org/ 不当之处,还望指正
使用e-mail发送您的英文评论给 admin [at] opensuse-guide.org
或发送意见和建议给中文译者:Libitum (hello[at]libitum.org);
Winland (winland0704[at]126.com)