目录结构
首先我们要了解CentOS系统中的各个目录结构功能是怎样的:
/:根目录,文件的最顶端;
- 注意:/etc 配置、/bin 运行程序、/dev 驱动、/lib 基础包、/sbin 超级程序 等应该和 根目录放在同一个分区;
/boot:存放Linux启动时
- 内核 及引导系统程序 所需要的核心文件;
/home:系统默认的用户主目录,
- 存放普通用户的数据.;
/bin :存放系统所需要的
- 重要命令,ls,cp,mkdir 等;
/dev:存放Linux 系统下的
- 设备文件,如光驱,磁盘等;
/etc:一般存放系统的配置文件;
/lib:主要存放动态链接库;
/lost+found:存放一些当系统以外崩溃或机器意外关机时产生的
- 文件碎片;
/mnt:用于存放挂在 储存设备的
- 挂载目录;
/proc:存放操作系统运行时的
- 运行信息;
/root:Linux超级权限用户的
- root目录;
/sbin:存放一些系统
- 管理的命令,一般只能由超级权限用户root执行;
/tmp:临时文件目录;
/usr:应用程序 存放目录,如命令、帮助文档等;
/var:存放系统日志, 系统库等经常变动文件;
/sys:目录与/proc类似,是一个
- 虚拟的文件系统;
linux 主目录结构
lrwxrwxrwx. 1 root root 7 11月 3 23:22 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 4月 23 12:52 boot
drwxr-xr-x. 20 root root 3200 4月 24 21:44 dev
drwxr-xr-x. 139 root root 8192 4月 27 10:06 etc
drwxr-xr-x. 3 root root 20 4月 23 12:43 home
lrwxrwxrwx. 1 root root 7 11月 3 23:22 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 11月 3 23:22 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 11月 3 23:22 media
drwxr-xr-x. 3 root root 18 4月 23 10:05 mnt
drwxr-xr-x. 2 root root 6 11月 3 23:22 opt
dr-xr-xr-x. 354 root root 0 4月 24 21:44 proc
dr-xr-x---. 16 root root 4096 4月 24 21:53 root
drwxr-xr-x. 42 root root 1220 4月 27 10:06 run
lrwxrwxrwx. 1 root root 8 11月 3 23:22 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 11月 3 23:22 srv
dr-xr-xr-x. 13 root root 0 4月 24 21:44 sys
drwxrwxrwt. 23 root root 4096 4月 27 10:07 tmp
drwxr-xr-x. 12 root root 144 4月 23 10:03 usr
drwxr-xr-x. 21 root root 4096 4月 23 12:41 var
bin -> usr/bin 最常用,重要命令,ls,cp,mkdir。Binaries (二进制文件)
boot 启动时 内核 及引导系统程序
dev 设备文件,如光驱,磁盘。作为访问外部设备文件的接口。Device(设备)
etc 系统的配置文件。Etcetera(等等) 的缩写
home 用户主目录
lib -> usr/lib 动态链接库 用户程序的库文件。类似于DLL文件。Library(库)
lib64 -> usr/lib64 系统级的库文件
media 多媒体设备的目录。自动挂载的硬件。硬U光盘
mnt 储存设备的挂载目录,镜像和硬盘。手动挂载的硬件。光驱挂载在 /mnt/ 上
opt 可选文件和程序的贮存目录。简易地安装和卸装软件包。 optional(可选)
proc 系统运行时的运行信息。当前内核运行状态的一系列特殊文件,内存的映射。Processes(进程)
root root目录
run 临时文件系统,存储系统启动以来的信息
sbin -> usr/sbin 系统管理的命令root执行
srv 服务启动之后需要提取的数据
sys 虚拟的文件系统 类似/proc
tmp 临时文件目录
usr 应用程序
var 存放系统日志, 系统库等经常变动文件
简单说,
- /lib64是内核级的,
- /usr/lib64是系统级的,
- /usr/local/lib64是用户级的.
/lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。
- 目录 /usr/lib/ 中含有更多用于用户程序的库文件。
- /lib目录下放置的是/bin和/sbin目录下程序所需的库文件。
- /lib目录下的文件的名称遵循下面的格式:
libc.so.*
ld* - 仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。
- 实际上,libm.so.*类型的库文件如果被是/bin和/sbin所需要的,也可以放到/usr/lib下。
我们的U盘,插入linux系统后,用fdisk -l查看分区,
显示文件为/dev/sda1。
则我们可以将u盘挂载到/mnt/usb0下,mount /dev/sda1 /mnt/usb0即可。
很多设备的数据组织和linux的文件系统并不一样。没法直接读取,你要看到文件目录,你必须得按照一定的格式去解析设备里的文件。这就是mount干得事,它按照你指定的格式去读取设备里的数据。就是转化为linux自己的文件系统,这样才能解析并读取数据。
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),
存储的是当前内核运行状态的一系列特殊文件,
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
文件系统的选择
-
分区时也会遇到文件系统的选择,Linux支持的文件系统有哪些:
-
Ext2:早期的格式,不支持日志功能;
-
Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了;
-
Ext4:针对ext3系统的扩展日志式文件系统,是ext3文件系统的后继版本;
-
-
Swap:虚拟内存使用的交换分区;
-
XFS:稳定与高效,在大小档案混合的系统里有优越的表现;
-
JFS:特色是最不占用CPU资源,如果你的电脑老旧那么这是最好的选择;
-
-
分区时也会遇到设备类型的选择,其实就是硬盘 分区属性,主:
-
标准分区: 即是主分区,
- 注意:系统的启动文件如/boot应设置为 标准分区(主分区),
- 如果没有单独设置/boot分区,则/根目录应该设置为标准分区;
-
LVM: 逻辑分区(同window逻辑分区一样);
-
具体方法
-
1
在CentOS安装界面点击 安装位置,进去设置硬盘分区;
-
2
默认是自动配置分区的,我们需要重新选择: 我要配置分区, 然后在按左上角的 完成 按钮;
-
3
点击左下角 + 号,手动设置添加分区;
-
4
只有一个硬盘
如果只有一个硬盘,推荐采用以下划分分区方式:
在添加新挂载点中选择挂载点和设置大小:
首先设置swap分区:
-
swap: 虚拟内存使用的交换分区,建议物理内存的1~2倍,
-
它的文件系统选择:swap类型,设备类型(分区属性):选择LVM(逻辑分区)即可;
-
注意:如果内存足够大,也可以不划分,但建议还是划分,swap的大小,
-
网上通用的教程是物理内存的2倍,其实并不一定要这样,是针对适用低硬件配置的情况,
-
对于本来物理内存很大的情况,再划分太多虚拟内存会造成硬盘空间浪费,实际硬件情况可参考:
物理内存 交换分区(SWAP)
1G 2G
2~ 4G 至少4G
4~16G 至少8G
16G~64G 至少16G
64G~256G 至少32G
其次划分Linux系统的根目录分区:
- /:把剩余的空间全部划分给/ 根目录;
由于包含/boot,因此此分区要
- 设置标准分区(主分区),使用xfs文件系统类型;
注意:可能旧主板电脑不能启动;
-
5
如果只有一个硬盘,且要兼容旧主板电脑的情况:
swap :同上面步骤4的swap划分方法;
/boot :用来存放Linux启动引导装载程序,
- 建议大小为100~1024MB;因此此分区要设置标准分区(主分区),使用xfs文件系统类型;
注意:可能旧主板bios只支持100m大小;
-
而新Linux系统的boot可能超过100m,
-
升级累积的话大于700M,
-
建议新linux系统要分1GB大小,独立划分/boot分区要根据硬件情况设置;
-
/ : Linux 系统的根目录,大小为剩下的空间,LVM逻辑分区,xfs文件系统
多个硬盘
如果有多个硬盘或 多个阵列组情况:
可以把存放数据的 /home划分到 独立硬盘或阵列上,
- 这样可使系统盘 和 数据盘分离,提升数据安全和i/o性能:
硬盘1(ssd固态(或阵列)):
-
swap :同上面步骤4的swap划分方法;
-
/boot :用来存放与 Linux 系统启动有关的程序,建议大小为 100~1024MB,同上;
-
/ : Linux 系统的根目录,大小为硬盘1的剩下空间,LVM逻辑分区,xfs文件系统;
硬盘2(或硬盘阵列):
- /home :存放普通用户的数据,建议大小为硬盘2 全部空间;
-
6
分区划分设置完成,保存退出进行后续安装.
END
注意事项
- 先划分swap分区,再划分其他的分区,否则剩余空间可能不够划分swap的大小;
- 设置各个分区大小时,要填写单位:g 或 m; (1gb=1024mb)