当前位置: 首页 > news >正文

对于Linux操作系统进行合理分区建议

作者:ChinaITLab 来源:ChinaITLab 发布时间:2007.01.19
针对不同阶段不同水平的linux使用者,给出比较合理的分区方案以供大家参考。 

一 linux新人 

对于这类linux人他们往往是对linux比较好奇,刚刚听说这个系统,对这个系统没有任何感性的了解。在这种情况下,他们安装linux的目的通常是 满足一下好奇心或者是求异的心理,(和当初的我一样)。对于linux能给他们带来什么,到底有什么用,他们没有明确的目标,也许今天刚刚装上去,明天就 觉得linux是一滩难用的垃圾,于是就跑到他们心爱的Windows系统下去了。 

他们即要尝尝鲜又不肯马上轻易舍弃心爱的Windows。所以,对于这样刚刚接触linux系统的新人,没有必要花很多心思去考虑如何把硬盘分区分得合理和高效。对于这些用户,只需要满足一下两点: 

1、windows 无论如何要保留着,而且在分区的时候不能破坏原来的系统。 

2、确保linux 能装上并且可以运行。 

所以不能破坏原来的分区来重新给整块硬盘分区,所以常用的方案是采用现有的Windows分区来装linux系统。 通常使用windows中的最后一个盘,即最后一个分区来安装linux系统。 

假设原来Windows系统中有6个分区: C,D,E,F,G,H通常的建议是把最后一个分区作为安装linux的根分区。linux完全安装需要5G左右的空间(指目前比较流行的Redhat8 Redhat9等)。千万不要惊讶linux为何会耗费掉这么多空间,其实linux系统本身并不大,而且可以十分灵活的定制,小到几M,大到几G的空间 上都可以装上不同用途,不同性能的linux系统。之所以完全安装要费5G的空间,是应为这5G中除了基本的系统外还包括了各种的数据库,OFFICE套 件,各种应用程序,各种服务器程序,各种的桌面管理器等,花几十块钱买一套linux系统,你就不必要再花钱买任何常规软件了。 是不是要把这5G的东西全部装上呢? 

对于初学者,如果硬盘空间不紧张的话我建议全部都装上,以免今后在安装其他软件的时候遇到各种烦人的动态库倚赖问题和找不到在教材上看到的命令的问题,而 初学者又不知道如何装上那些他们在系统安装的时候没有装上的软件,这样就会浪费很多时间走很多弯路。就我而言,我第一次装linux的时候是装的 Redhat7。1,由于空间不多,(更多原因是抱着Microsoft Windows不放),所以只分了1G的空间给linux,结果又什么都不懂,在安装的时候才发现默认安装空间不够,结果在不知道KDE是什么, GNOME是什么,X是什么的情况下把KDE和GNOME都勾掉了,只甚下一个X,当我兴致勃勃的按书上写的输入startx 命令后,屏幕上只出现了一个黑色的X一个灰色的背景,和一个闪着提示符的xterm,不知道该如何才好,胡乱在xterm中敲了一个DOS明令dir,结 果被我瞎帽遇到死耗子,还真输出了些信息。最后不得不重新分了一个比较大的区再把KDE和GNOME装上。 

因此,这里建议初学者第一次装的时候把所有东西都装上,以免遇到各种问题,linux不像Windows,它十分的灵活,但是正因为这一点,它也十分麻 烦,如果对它没有一定的了解是很难驾驭它的,所以为了避免麻烦,建议你把所有的东西都装上,在安装的时候选择全部。假如硬盘空间比较紧张,至少也要把安装 程序默认的那些东西装上,估计会花费不到2G的空间。也可以不选择"定制",直接选工作站安装方式。等到将来对系统有了一定的了解,知道了自己的需求,明 白了哪些东西是自己想要的,哪些对自己来说是多余的的时候就可以根据自己的需求重新划分分区,选择软件安装了。 具体的分区方案如下: 

在Windows下把最后一个盘用分区工具删除,如果最后一个盘空间太小的话就把最后两个都删除。删除后硬盘上就有了多于的空间,就可以开始安装系统了, 一般来说安装linux需要两个分区,一个是装系统文件的跟分区(/),一个是作为虚拟内存的交换分区(swap),这是和Windows不同的,需要注 意。所以,我们可以现在Windows下借助Windows下的分区工具,在刚刚腾出来的空间上建立两个分区,前面一个根分区,后面一个交换分区,交换分 区不用很大,按照官方的说法,虚拟内存应该是实际内存的两倍大小,或者是在32M和实际内存两倍这两个值中选较大值,这是针对内存十分少的老机器的。但是 在实际应用中分实际内存的两倍大小显然有点浪费,就如我有256M内存,160M 的交换分区,实际使用中swap只用掉3~5M,即使在使用VMware等及费内存的软件时,swap的耗费量也只有60M,所以分100~200M的 swap已经足够了,不闭按照官方文档说的分2倍的实际内存大小,如果你有512M内存难道你真的要分1G的交换分区吗? 

注意,如果交换分区的大小小于内存两倍,安装程序会有警告,只要忽略警告继续安装就可以了,个别版本的linux在交换分区小于实际内存两倍的情况下,安 装程序将不能通过,比如TURBO linux 6。0 这种情况下可以暂时分一个大点的分区,等装好后再把分区删除,划个小分区挂上。如果发现装好后交换分区不够用了也别急,你可以手工再建立交换文件,这将在 后面说明。 

分区分好后别急着格式化,linux有自己的文件系统,大部分版本的linux都不能装在Windows的FAT或者NTFS分区上。所以你要做的只是重 新启动系统,启动电脑,放入安装光盘,安装程序会帮你格式化你分出的两个分区。其中的安装细节不在本文讨论范围之内,随便买一本入门教材上面都说的很清 楚。 

二、linux中级用户 

对于这些linux人,他们已经学会了linux的基本操作,学会了如何安装软件,常用linux命令等,也知道了linux系统的基本结构和linux 跟文件系统下各个目录的意义并且知道了光盘上那么多东西哪些是自己需要的,哪些是自己可能一辈子都不会用到的。于是就想着开始自己定制系统划分出比较合理 的分区大小和数目。下面我想以我目前的硬盘划分情况为列,给这些linux进阶用户给一个我自认为比较合理的分区方案。 

下面是我的硬盘分区情况(我有两个硬盘,但是系统主要装在第一个,第二个只用来拷贝数据,装装实验性系统等) 


  
  Disk /dev/hda: 255 heads, 63 sectors, 2491 cylinders
  Units = cylinders of 16065 * 512 bytes
  
  Device Boot Start End Blocks Id System
  /dev/hda1 * 1 392 3148708+ 83 Linux
  /dev/hda2 393 589 1582402+ 83 Linux
  /dev/hda3 590 981 3148740 7 HPFS/NTFS
  /dev/hda4 982 2491 12129075 f Win95 Ext'd (LBA)
  /dev/hda5 982 1504 4200966 83 Linux
  /dev/hda6 1505 2027 4200966 b Win95 FAT32
  /dev/hda7 2028 2289 2104483+ 83 Linux
  /dev/hda8 2290 2420 1052226 83 Linux
  /dev/hda9 2421 2471 409626 83 Linux
  /dev/hda10 2472 2491 160618+ 82 Linux swap
  
  Disk /dev/hdb: 128 heads, 63 sectors, 1023 cylinders
  Units = cylinders of 8064 * 512 bytes
  
  Device Boot Start End Blocks Id System
  /dev/hdb1 * 1 520 2096608+ b Win95 FAT32
  /dev/hdb2 521 910 1572480 83 Linux
  /dev/hdb3 911 986 306432 83 Linux
  /dev/hdb4 987 1023 149184 83 Linux
  [root@gucuiwen root]#


   
挂装点和空间使用情况: 


  
  [root@gucuiwen root]# df -h
  Filesystem Size Used Avail Use% Mounted on
  /dev/hda1 3.0G 2.0G 839M 71% /
  /dev/hda2 1.5G 990M 531M 66% /mnt/hda2
  /dev/hda5 3.9G 2.8G 986M 75% /mnt/hda5
  /dev/hda6 4.0G 1.6G 2.4G 40% /mnt/hda6
  /dev/hda7 2.0G 1.2G 745M 62% /home
  /dev/hda8 1011M 176M 784M 19% /mnt/hda8
  /dev/hdb1 2.0G 1.8G 207M 90% /mnt/hdb1
  /dev/hdb2 1.5G 185M 1.1G 14% /mnt/hdb2
  none 125M 0 124M 0% /dev/shm
  /dev/hda9 387M 180M 188M 49% /var


  
我把第一个硬盘分了三个主分区,以便在安装多套系统的时候互不影响。至于为什么要分三个主分区,我在一文中已经说过。其好处是很多的。详见: 


  
  [url]http://go.6to23.com/gucuiwen/linux[/url]
 


  
我的硬盘虽然只有2OG,但是我却分了9个分区,这也是为了管理方便经过多次划分后做出的选择。 首先我把linux的跟(/)装在第一个主分区hda1。这个分区大小为3G,这上面包括: 


  /boot
  /bin
  /dev
  /etc
  /lib
  /sbin
  /usr


   
还有空目录和挂装点: 


  /opt
  /mnt
  /initrd
  /var
  /home
  /proc
  /misc


   
由于/boot /bin /dev /etc /lib /sbin 下的东西都比较小,没有必要单独划分分区挂装他们,事实上把这些目录单独划分区挂装反而不利,应为这些目录中放着系统启动时的关键信息和文件,系统启动之 初却只挂装上/分区,因此,万一其中的某一个分挂装失败系统将不能正常启动。比如/etc目录中存放着系统软的硬件配置信息,包括分区的挂装点分区类型等 配置信息,系统启动的时候需要读取这些信息,如果把/etc单独放在一个小的分区上,系统启动的时候到哪里去读分区的挂装点信息呢?类似的/sbin /dev等必需放在根分区上。 只有/boot中存放的是系统内核和引导工具,某些情况下为了解决一些老主板不支持大硬盘的情况下,才单独在硬盘1024柱面以内分一个小分区装 /boot的内容。不过目前的主板大多不存在这个问题。另外/usr下的内容一般不经常改变,因此,我也把它放在/目录上。可以看出,我是把所有文件大小 不经常变化的,不会引起文件系统碎的所有东西装在/分区上面。 

另外,我分了2G的空间存放我自己平时下载的图片和资料以及软件等。挂装在了/home目录,重装系统的时候不动这个分区,就算格式化也只格掉 / 分区, /var 和swap分区,其他分区上的内容都可以保留,在装系统的时候再挂装到系统里。 



















本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/15842 ,如需转载请自行联系原作者



相关文章:

  • 格式化字符串
  • SQL Server2008存储结构之非聚集索引
  • 显示接口成员
  • Java单例多例理解
  • SQL Server 2005中解决死锁问题
  • PIX配置手册一(简单配置命令)
  • sql server 根据指定字段排序编号 update 与 order by 联合使用
  • MD5 报文摘要算法
  • 获取 Android 设备的唯一标识码
  • Android Studio 3.0项目迁移所遇到的坑
  • (转)ObjectiveC 深浅拷贝学习
  • grep过滤用法介绍(三)
  • Android Activity和Intent机制 学习笔记(显示网页,显示地图,打电话)
  • 07-JS中 li 排序
  • [WCF安全系列]从两种安全模式谈起
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • flutter的key在widget list的作用以及必要性
  • Fundebug计费标准解释:事件数是如何定义的?
  • js学习笔记
  • Linux Process Manage
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 测试如何在敏捷团队中工作?
  • 力扣(LeetCode)965
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 排序(1):冒泡排序
  • 入门级的git使用指北
  • 使用 QuickBI 搭建酷炫可视化分析
  • 思考 CSS 架构
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 原生js练习题---第五课
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (11)MATLAB PCA+SVM 人脸识别
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (一) storm的集群安装与配置
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .stream().map与.stream().flatMap的使用
  • /dev下添加设备节点的方法步骤(通过device_create)
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @JSONField或@JsonProperty注解使用
  • []FET-430SIM508 研究日志 11.3.31
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [android] 天气app布局练习
  • [Docker]五.Docker中Dockerfile详解