Linux 分区推荐
注:为节约诸君时间,特提前声明。本文仅介绍Linux分区的几种推荐方案。至于MBR和GPT的区别、主分区、逻辑分区和扩展分区的定义等,这些大家可自行百度。或者将来有机会我再补充上来。
用过Windows的朋友应该比较熟悉磁盘分区的特点。对一般人来说,电脑分区就是C盘、D盘、E盘等这种以英文字母排序命名的方式处理及命名。然后不同的文件地址在各个盘符下扩展。例如:C:\, C:\Windows, C:\Windows\System32等。可以把每个分区看成一颗倒着的树。最上面是根目录,然后往下逐步分岔。也就是说,一个分区就是一颗目录树。
举例如下。在命令行用tree命令显示的C盘和D盘目录结构图部分截图。可以看到,一个分区就是一颗树。目录从上到下逐步展开。
而对于Linux分区,所有的文件都是从 “/” 这一个根目录出发。也就是说,一个Linux所有的目录共同组成一棵目录树。树的起点从 “/” 开始。有兴趣的朋友,也可以在命令行模式下运行tree查看效果。
在Linux中一切物件皆是文件。不管普通文件、目录、硬件设备、套接字还是网络通信等都是文件。所有的操作都可看作是文件操作。这一点暂时不理解不要紧,但一定要记住这句话。将来随着对Linux的使用与了解,你会更加深刻理解到这句话的含义。
所有的设备(这里的设备泛指一切物件,不限于CD、打印机等硬件,也包含软件、文件等)通常都会挂载到磁盘目录树的某个特定位置,这一点与Windows有很大的不同。你可以想象一下,你有一颗圣诞树,你把铃铛挂在树上的A点,把星星挂在树上的B点。当然,可以随你意愿,随时把铃铛挂在B点也成。挂载就是类似这个道理。例如你把某个硬件挂载到某个文件夹,即类似于在这个文件夹建立了一个到此硬件的快捷方式。当你进入这个文件夹后,就能像访问文件一样操作此硬件。这就是上面说的“Linux一切物件皆文件”的表现。
好的,闲话不多说,直奔主题。好多朋友都问我Linux分区有什么用处,怎么分区更合理。那么下面我们就来回答这两个问题。
第一个问题:Linux分区有什么用处。前面讲到,Linux所有文件皆从“/”出发,分区的目的有二。
其一、可以分类管理 。就像你面前有一堆乱七八糟的东西,你把它们归类后,分别放入几个不同的抽屉里。这样你将来再寻找某件物品时更快捷,也更方便。其二、可以隔离风险。有了分区以后,当别的分区内数据损坏,只用恢复或处理那一个分区即可,其他分区数据不受影响。也许有朋友会说,我不分区,我划分不同文件夹不也一样可以归类文件吗。我哪个文件夹内的数据损坏,同样不影响其他数据啊。先别急,容我后面介绍推荐分区时就能回答这些问题了。
第二个问题:推荐分区方案挂载分区介绍:/ -------------这是必须挂载的目录,不接受反驳理由。
swap-------类似于Windows下的虚拟内存(也叫分页文件pagefile.sys)。当然两者作用原理泾渭分明
/home-----类似于Widnows下“我的文档”,用户建立的个人文件及自己的配置或者下载目录一般都会在这里。
/usr--------很多人以为这个是user的缩写,这种理解是错误的。usr的全称是Unix Software Resource。所有系统默认的软件都会装在这个目录
/var-------一般用来存入系统执行过程中经常变化的文件,如日志等
分区推荐青铜级:挂载点 说明 / 除swap之外所有硬盘空间swap 基本上同内存大小相等(最低不少于512MB,最多不超过内存1.5倍大小)2、白银级:
挂载点 说明 / 10~20Gswap 基本上同内存大小相等(最低不少于512MB) /boot 300MB及以上(可酌情大一点,但超过1G就很过份了) /home 硬盘剩余所有空间注:网上很多教程都介绍/boot只需100~200MB空间即可。如果说这教程是在10年前甚至更早还情有可原。在这之后的,我认为十有八九要么就是人云亦云,要么就是百度上抄的。自己没有真正使用过Linux。为什么强烈反对/boot必须大于300MB以上,对于这个问题,大家可以试试自己的Linux升级几次内核之后就知道了。当然一般300~500MB均可,豪横一点的最多别超过1GB。毕竟“人傻钱多”这称号也不好听不是[呲牙]。
3、黄金级:
挂载点 说明 / 10~20Gswap 基本上同内存大小相等(最低不少于512MB) /boot 300MB及以上(可酌情大一点,但超过1G就很过份了) /home 剩下的所有硬盘空间 /opt 10G (个人喜好,我一般至少给自己留这个分区) /var 如果是服务器的话强烈建议单独建立一个分区,视具体需求1-10GB以上 /usr 用于存放应用程序,类似于Windows下的Program Files文件夹。最大的剩余空间的一半注:关于var分区,很多人都不在意,认为要不要无所谓。var分区主要存放经常变化的文件。如各种程序的日志、缓存、锁定文件、程序运行时需要改变的库文件等。因为这个分区数据很杂,而且经常变动。特别是对于开发电脑或服务器。如果不作管控,则有可能会对系统运行产生影响。当然如果是Desktop应用,则有没有此分区问题不是太大。
另外,还有些朋友喜欢更细致的分区,这个就是个人喜好问题了。以上仅为我的分区建议,仅供大家参考。
再回答上面的问题,不分区可以吗?有什么影响?
从上面分区介绍中可以看到,所有的分区都会划分一个硬盘空间出来,并指定大小。这样的好处在于,一个分区坏了,我格式化掉即可,其他分区数据均不受影响。
例如:当只分一个分区时,万一用户下载电影或别的什么,把磁盘空间占满了,那么有可能系统就不能正常工作。而分区以后,数据无非只占用了其他数据分区,而电脑系统分区还有空间,不会受影响而正常工作。
或者当系统崩掉了,你重装系统,则所有数据都会被毁掉。而分了区以后,这些数据就相当于有了一个隔离,仅仅只有系统分区受影响。其他分区如/home, /usr等的数据都还在。重装系统就能接着使用。这就是分区的最主要优势。
题外话话说Windows与Linux在以前是死对头。但是鲜有人知道,Windows和Linux也有很多有意思的相似之处。
大家都知道,Windows的路径都是用 “\”(反斜杠),Linux路径用“/”(斜杠)。但你知道吗,在Windows下,路径也可以用“/”(斜杠)来表示,结果是一样的。这对于开发来说算是一个福音。至少我在代码中的路径不用搞什么转义符“\\”了。当然,Linux路径是不支持“\”(反斜杠)的。
还有就是在Linux字符界面下,我们都知道输入路径时用Tab键可以有自动补全功能。这是个很棒的功能,极大提高操作效率。但你知道吗,在Windows字符界面下,敲击Tab键也能有同样的功效。感兴趣的话,大家也可以试一下哟!