LFS安装过程记录(2)-创建分区
安装LFS的首要步骤就是给硬盘分区,由于我是在VirtualBox这款虚拟机上来安装的,所以就假定我目前整块硬盘都用来安装LFS
启动好livecd后,运行cfdisk给硬盘分区,我的整个硬盘空间大小是10G,因此我分出9G给linux,另外分出1G用来做linux的交换分区
分区建好后就开始创建文件系统,首先给9G的空间创建ext3文件系统,运行命令
mke2fs -jv /dev/sda1 (sda1是我9G分区的分区名称)
然后格式化交换分区
mkswap /dev/sda2 (sda2是我1G分区的分区名称)
这样硬盘分区就已经做好了,做好后运行cfdisk如下所示:
分区做好后,需要讲分区挂载到宿主系统,也就是挂载到livecd的系统上,这样才能对硬盘进行操作,首先设定环境变量:
export LFS=/mnt/lfs
然后创建挂载点,把硬盘分区挂载到宿主系统,运行命令:
mkdir -pv $LFS #创建/mnt/lfs 这个目录
mount -v -t ext3 /dev/sda1 $LFS #将硬盘分区以ext3文件系统挂载在 /mnt/lfs 上
挂载成功后,/mnt/lfs就相当于硬盘分区的目录了
最后激活交换分区,运行命令:
/sbin/swapon -v /dev/sda2
这样交换分区就能被宿主系统使用了,这样LFS的分区创建就结束了,下一篇开始配置软件包目录和最后的准备工作。
以下是本篇用到的命令解释:
mke2fs
mke2fs(make ext2 file system)
功能说明:建立ext2文件系统。
语法:mke2fs [-cFMqrSvV][-b <区块大小>][-f <不连续区段大小>][-i <字节>][-N ][-l <文件>][-L <标签>][-m <百分比值>][-R=<区块数>][ 设备名称][区块数]
补充说明:mke2fs可建立Linux的ext2文件系统。
参数:
-b<区块大小> 指定区块大小,单位为字节。
-c 检查是否有损坏的区块。
-f<不连续区段大小> 指定不连续区段的大小,单位为字节。
-F 不管指定的设备为何,强制执行mke2fs。
-i<字节> 指定"字节/inode"的比例。
-N 指定要建立的inode数目。
-l<文件> 从指定的文件中,读取文件西中损坏区块的信息。
-L<标签> 设置文件系统的标签名称。
-m<百分比值> 指定给管理员保留区块的比例,预设为5%。
-M 记录最后一次挂入的目录。
-q 执行时不显示任何信息。
-r 指定要建立的ext2文件系统版本。
-R=<区块数> 设置磁盘阵列参数。
-S 仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap。
-v 执行时显示详细信息。
-V 显示版本信息。
mke2fs -j 就是格式化ext3 , ext3相比ext2就是多了日志 -j就是加上日志的意思 ,其实就是ext3 , v参数表示显式的回显
mkswap
功能说明:设置交换区(swap area)。
语 法:mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]
补充说明:mkswap可将磁盘分区或文件设为Linux的交换区。
参 数:
-c 建立交换区前,先检查是否有损坏的区块。
-f 在SPARC电脑上建立交换区时,要加上此参数。
-v0 建立旧式交换区,此为预设值。
-v1 建立新式交换区。
[交换区大小] 指定交换区的大小,单位为1024字节。
export 命令
功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
mkdir命令: 创建目录
介绍:
该命令创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录
语法:
mkdir [-m] [-p] 目录名
选项介绍:
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v: 显示创建的参数信息
mount 挂载
命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
swapon
功能说明:
启动系统交换区(swap area)。
语 法:
swapon [-ahsV][-p <优先顺序>][设备]
补充说明:
Linux系统的内存管理必须使用交换区来建立虚拟内存。
参数:
-a 将/etc/fstab文件中所有设置为swap的设备,启动为交换区。
-h 显示帮助。
-p<优先顺序> 指定交换区的优先顺序。
-s 显示交换区的使用状况。
-V 显示版本信息。
启动好livecd后,运行cfdisk给硬盘分区,我的整个硬盘空间大小是10G,因此我分出9G给linux,另外分出1G用来做linux的交换分区
分区建好后就开始创建文件系统,首先给9G的空间创建ext3文件系统,运行命令
mke2fs -jv /dev/sda1 (sda1是我9G分区的分区名称)
然后格式化交换分区
mkswap /dev/sda2 (sda2是我1G分区的分区名称)
这样硬盘分区就已经做好了,做好后运行cfdisk如下所示:

分区做好后,需要讲分区挂载到宿主系统,也就是挂载到livecd的系统上,这样才能对硬盘进行操作,首先设定环境变量:
export LFS=/mnt/lfs
然后创建挂载点,把硬盘分区挂载到宿主系统,运行命令:
mkdir -pv $LFS #创建/mnt/lfs 这个目录
mount -v -t ext3 /dev/sda1 $LFS #将硬盘分区以ext3文件系统挂载在 /mnt/lfs 上
挂载成功后,/mnt/lfs就相当于硬盘分区的目录了
最后激活交换分区,运行命令:
/sbin/swapon -v /dev/sda2
这样交换分区就能被宿主系统使用了,这样LFS的分区创建就结束了,下一篇开始配置软件包目录和最后的准备工作。
以下是本篇用到的命令解释:
mke2fs
mke2fs(make ext2 file system)
功能说明:建立ext2文件系统。
语法:mke2fs [-cFMqrSvV][-b <区块大小>][-f <不连续区段大小>][-i <字节>][-N ][-l <文件>][-L <标签>][-m <百分比值>][-R=<区块数>][ 设备名称][区块数]
补充说明:mke2fs可建立Linux的ext2文件系统。
参数:
-b<区块大小> 指定区块大小,单位为字节。
-c 检查是否有损坏的区块。
-f<不连续区段大小> 指定不连续区段的大小,单位为字节。
-F 不管指定的设备为何,强制执行mke2fs。
-i<字节> 指定"字节/inode"的比例。
-N 指定要建立的inode数目。
-l<文件> 从指定的文件中,读取文件西中损坏区块的信息。
-L<标签> 设置文件系统的标签名称。
-m<百分比值> 指定给管理员保留区块的比例,预设为5%。
-M 记录最后一次挂入的目录。
-q 执行时不显示任何信息。
-r 指定要建立的ext2文件系统版本。
-R=<区块数> 设置磁盘阵列参数。
-S 仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap。
-v 执行时显示详细信息。
-V 显示版本信息。
mke2fs -j 就是格式化ext3 , ext3相比ext2就是多了日志 -j就是加上日志的意思 ,其实就是ext3 , v参数表示显式的回显
mkswap
功能说明:设置交换区(swap area)。
语 法:mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]
补充说明:mkswap可将磁盘分区或文件设为Linux的交换区。
参 数:
-c 建立交换区前,先检查是否有损坏的区块。
-f 在SPARC电脑上建立交换区时,要加上此参数。
-v0 建立旧式交换区,此为预设值。
-v1 建立新式交换区。
[交换区大小] 指定交换区的大小,单位为1024字节。
export 命令
功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
mkdir命令: 创建目录
介绍:
该命令创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录
语法:
mkdir [-m] [-p] 目录名
选项介绍:
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v: 显示创建的参数信息
mount 挂载
命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
swapon
功能说明:
启动系统交换区(swap area)。
语 法:
swapon [-ahsV][-p <优先顺序>][设备]
补充说明:
Linux系统的内存管理必须使用交换区来建立虚拟内存。
参数:
-a 将/etc/fstab文件中所有设置为swap的设备,启动为交换区。
-h 显示帮助。
-p<优先顺序> 指定交换区的优先顺序。
-s 显示交换区的使用状况。
-V 显示版本信息。