您的位置:首页 > 其它

LFS安装过程记录(3)-最后的准备工作

2011-06-23 17:35 176 查看
分区创建好后,开始准备创建管理软件包的目录,

下载的软件包和补丁需要存放到一个构建过程中方便访问的地方,还需要一个工作目录来解压和编译源码包。$LFS/sources 既可以用来存储软件包和补丁,也可以作为工作目录。使用这个目录的好处是,所有需要的部件都在 LFS 分区上,构建过程中的所有步骤都可以访问到。以root用户身份运行命令

mkdir -v $LFS/sources  把目录设置为可写和 sticky 模式,这里"Sticky"的意思是虽然某个目录对于多个用户有写入的权限,但这个目录中的文件只有其所有者才能删除。 [code]chmod -v a+wt $LFS/sources  需要用到的软件包livecd里面都已经提供了,这样就不需要再单独下载软件包,软件包都在宿主系统的/lfs-sources目录下  再次检查环境变量 echo $LFS 如果有问题,就重新设置环境变量 export LFS=/mnt/lfs
LFS手册第五章中编译的所有程序都将安装到 $LFS/tools 目录下,以便与第六章中编译的程序隔离开来。这里编译的程序只是临时使用的工具,不是最终 LFS 系统的组成部分。把这些程序放到一个单独的目录下,在使用过之后简单的删除掉就可以了。这样做也可以防止这些程序与宿主系统中相同的程序混淆。

mkdir -v $LFS/tools 然后创建tools的符号连接 ln -sv $LFS/tools /  接下来开始添加用户组和用户,运行命令 
groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs 这样就添加了一个叫lfs的用户,属于lfs用户组下 命令行选项的含义:  -s /bin/bash    指定 bash 作为 lfs 用户的默认 shell  -g lfs      将 lfs 用户添加到 lfs 组   -m       为 lfs 用户创建 home 目录  -k /dev/null       这个参数通过修改输入位置为特殊的空设备来防止从框架目录(默认为 /etc/skel)拷贝文件   lfs      这是所创建的组和用户的实际名字    接下来给lfs用户设置密码 passwd lfs  将tools和sources目录的所有者设置为lfs,方便以后对软件包的操作 chown -v lfs $LFS/tools
[code]chown -v lfs $LFS/sources 然后以lfs用户登录 su - lfs "-" 参数指示 su 开启一个登陆Shell(login shell)而不是非登陆Shell(non-login shell),非登陆shell不会改变当前用户的环境变量,使用的还是原用户的环境变量
[/code] 用lfs登录后,给bash创建登录环境

cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash EOF [code]cat > ~/.bashrc << "EOF" set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL PATH EOF
最后再导入刚才设置的工作环境
source ~/.bash_profile

[/code] 这样准备工作就做好了,下一篇开始构建临时编译环境,以下是本篇中用到的命令解释:

chmod命令
指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。t sticky 模式,这里"Sticky"的意思是虽然某个目录对于多个用户有写入的权限,但这个目录中的文件只有其所有者才能删除。请运行下面的命令使目录可写,并设置 sticky
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

ln 命令
用途 : 链接文件。
语法
1>将某个文件链接到一个文件上
ln [ -f | -n] [ -s ] SourceFile [ TargetFile ]
2>将一个或多个文件链接到一个目录上
ln [ -f | -n] [ -s ] SourceFile … TargetDirectory
描述
ln 命令将在 SourceFile 参数中指定的文件链接到在 TargetFile 参数中指定的文件,或将其链接到在 TargetDirectory 参数中指定的另一个目录中的文件。
在缺省情况下,ln 命令会创建硬链接。如果需要使用 ln 命令来创建符号链接,请指明 -s 标志。
符号链接是指向文件的一个间接指针;它的目录项中包含了它所链接的文件名。符号链接可能会跨越文件系统,可能指向目录。
如果正在将某个文件链接到新的名字,那么只能列出一个文件。如果链接到一个目录,那么可以列出多个文件。
TargetFile 参数是可选的。
如果不指定目标文件,ln 命令会在当前的目录中创建一个新的文件。新的文件继承了指定在 SourceFile 参数中的文件名。
注意:
如果不使用 -s 标志,就不能在文件系统之间链接文件。
如果 TargetDirectory 已经是链接到目录上的一个符号链接,那么 ln 命令将现有的目标视为文件。
这意味着,类似于 ln -fs somepath/lname symdir 的命令不会遵循现有的 symdir 符号链接,作为代替,它会创建一个从 somepath/lname 到 symdir 的新的符号链接。
参数
-f 促使 ln 命令替换掉任何已经存在的目的路径。如果目的路径已经存在,而没有指定 -f 标志,ln 命令不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的 SourceFiles。
-n 指定,如果链接是一个现有的文件,那么不要覆盖文件的内容。 -f 标志重设了这个标志。这是缺省的行为。
-s 促使 ln 命令创建符号链接。符号链接中包含了它所链接的文件的名字。当对链接执行打开操作的时候,会使用到引用文件。对符号链接的 stat 调用会返回链接的目标文件;必须完成lstat 调用来获取链接的信息。可以使用 readlink 调用来读取符号链接的内容。符号链接可能跨越文件系统,指向目录。
注意:当为 -s 标志指定 SourceFile 参数的时候,必须使用绝对路径。如果没有指明绝对路径,那么当 SourceFile 和 TargetFile 参数位于不同的目录中的时候,可能会发生意外的结果。在创建符号链接之前,不需要存在源文件。
退出状态
此命令返回以下的退出值:
0 所有指定的文件都成功链接上了。
>0 出现一次错误。

groupadd
1.作用
groupadd命令用于将新组加入系统。
2.格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
3.主要参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
4.应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 344 cjh
此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。

useradd
[/code] 功能说明:建立用户帐号。

语  法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ]

补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

参  数:

-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。

-d<登入目录>  指定用户登入时的启始目录。

-D  变更预设值.

-e<有效期限>  指定帐号的有效期限。

-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。

-g<群组>  指定用户所属的群组。

-G<群组>  指定用户所属的附加群组。

-m  自动建立用户的登入目录。

-M  不要自动建立用户的登入目录。

-n  取消建立以用户名称为名的群组.

-r  建立系统帐号。

-s   指定用户登入后所使用的shell。

-u  指定用户ID。

例如:useradd xxx -m

passwd 选项 用户名

可使用的选项:

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

$ passwd

Old password:******

New password:*******

Re-enter new password:*******

如果是超级用户,可以用下列形式指定任何用户的口令:

# passwd sam

New password:*******

Re-enter new password:*******

chown 命令

用途
更改与文件关联的所有者或组。

语法
chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... }

chown -R [ -f ] [ -H | -L | -P ] Owner [ :Group ] { File ... | Directory ... }

描述
chown 命令将 File 或 Directory 参数指定的文件或目录的所有者更改为 Owner 参数指定的用户。Owner 参数

的值可以是用户数据库中的用户名或数字形式的用户标识。还可以选择性地指定组。Group 参数的值可以是组数

据库中的组名或数字形式的组标识。

只有 root 用户可以更改文件的所有者。只在您是 root 用户或拥有该文件的情况下才可以更改文件的组。如果

拥有文件但不是 root 用户,则只可以将组更改为您是其成员的组。

虽然 -H、-L 和 -P 标志是互斥的,指定不止一个也不认为是错误。指定的最后一个标志确定命令将演示的操作



当遇到符号链接而您未指定 -h 标志时,chown 命令更改链接指向的文件或目录的所有权,而非链接本身的所有

权。

如果指定 -h 标志,则 chown 命令具有相反的作用并更改链接本身的所有权,而非通过链接所指向的文件或目

录的所有权。

如果指定 -R 标志,chown 命令递归地降序指定的目录。

如果指定 -h 标志和 -R 标志,chown 命令递归降序指定的目录,并且当遇到符号链接时,更改链接本身的所有

权,而非通过链接所指向的文件或目录的所有权。

标志

-f 取消除用法消息以外的所有错误消息。
-h 更改遇到的符号链接的所有权,而非符号链接指向的文件或目录的所有权。
-H 如果指定了 -R 选项,并且引用类型目录的文件的符号链接在命令行上指定,chown 变量会更改由符号引用

的目录的用户标识(和组标识,如果已指定)和所有在该目录下的文件层次结构中的所有文件。
-L 如果指定了 -R 选项,并且引用类型目录的文件的符号在命令行上指定或在遍历文件层次结构期间遇到,

chown 命令会更改由符号链接引用的目录的用户标识(和组标识,如果已指定)和在该目录之下的文件层次结构

中的所有文件。
-P 如果指定了 -R 选项并且符号链接在命令行上指定或者在遍历文件层次结构期间遇到,则如果系统支持该操

作,则 chown 命令会更改符号链接的所有者标识(和组标识,如果已指定)。chown 命令不会执行至文件层次

结构的任何其他部分的符号链接。
-R 递归地降序目录,更改每个文件的所有权。当遇到符号链接并且链接指向目录时,更改该目录的所有权,但

不进一步遍历目录。不过 -h、-H、-L 或 -P 标志也未指定,则当遇到符号链接并且该链接指向到目录时,该目

录的组所有权更改但不会进一步遍历目录。

安全性
访问控制:此程序应该作为“可信计算库”中的正常用户程序安装。

退出状态
该命令返回以下退出值:

0 命令执行成功并已执行所有请求的更改。
>0 发生错误。

su user保留原来exported的环境变量,而su - user就像以用户user登陆进来一样,重新初始化环境变量。
举个例子:
# su mishuang
# cd
# pwd
/export/home/root
# su - mishuang
# cd
# pwd
/export/home/mishuang

[/code] cat命令

功能 1: 在标准输出上显示文件。

语法:cat [选项] 文件

说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。

该命令的各选项含义如下:

-v 用一种特殊形式显示控制字符,LFD与TAB除外。
加了-v 选项后,-T 和 -E 选项将起作用。其中:
-T 将TAB显示为 “ù I”。该选项需要与 -v 选项一起使用。即如果没有使用 -v 选项,则这个选项将被忽略。
-E 在每行的末尾显示一个$符。该选项需要与 -v 选项一起使用。
-u 输出不经过缓冲区。
-A 等于 -vET。
-t 等于 -vT。
-e 等于 -vE。
-n 在文件的每行前面显示行号。

指令实例:

cat example.txt % 则在屏幕上显示出example.txt 文件的内容

cat -A exam2.txt
% 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示

功能 2:连接两个或多个文件

说明:该命令功能之二是用来将两个或多个文件连接起来。

cat file1 file2 > file3
% 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。
(此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容,
可以再使用“cat file3”。)

需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。

因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐