+ -
当前位置:首页 → 问答吧 → 关于lfs用户的权限问题!(问题已经解决)

关于lfs用户的权限问题!(问题已经解决)

时间:2008-12-19

来源:互联网

各位高手,本人采用的是amd 4600+双核cpu进行的LFS 6.4的编译。在进行到5.8. Adjusting the Toolchain 时我在执行以下两条命令的时候出现了权限拒绝的问题。

gcc -dumpspecs | sed 's@/lib/ld-linux-x86-64.so.2@/tools&@g' > `dirname $(gcc -print-libgcc-file-name)`/specs

GCC_FIXED=`dirname $(gcc -print-libgcc-file-name)`/include-fixed &&
find ${GCC_FIXED}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_FIXED}/*` &&
unset GCC_FIXED

我查看到以上命令所所操作的目标文件及目录都是属于root:root的所有者和所有组。然后我查看网上的说法是要求给与lfs用户root权限。
但是我发现在LFS文档里面对该操作并未作出描述。我现在想到3种解决方式但是不知道哪一种才是正确的。希望大家能够帮我解决这个疑惑。
1,su 到root下面运行上面的命令
2,到/根目录下执行chonw -r lfs:lfs /
3, 将lfs添加到root组里面



这两天太忙了,没有时间仔细看。刚才察看了一下6.2的手册,并和6.4的手册对比了一下。发现6.4在编译binutils的时候多了CC="gcc -B/usr/bin/"这个参数。我重新编译了一次。问题解决!

作者: 46676463   发布时间: 2008-12-19

楼主搞错了。第5章里所有的操作全部都不需要root权限。
它所操作的目录是/mnt/lfs/tools和指向这个目录的链接/tools。
这两个目录的权限已经给了lfs用户了。所以根本不需要切换到root

作者: ti8er   发布时间: 2008-12-19

lfs:~$ gcc -dumpspecs | sed 's@/lib/ld-linux.so.2@/tools&@g' > `dirname $(gcc -print-libgcc-file-name)`/specs
bash: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/specs: Permission denied

lfs:~$ GCC_FIXED=`dirname $(gcc -print-libgcc-file-name)`/include-fixed &&
> find ${GCC_FIXED}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
> rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_FIXED}/*` &&
> unset GCC_FIXED
find: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/include-fixed: No such file or directory


如上我的操作对象为/usr/lib/gcc/x86_64-unknown-linux-gnu/4.1.2/

作者: 46676463   发布时间: 2008-12-20

难道是我之前编译gcc的时候设置出了问题?
ln -vs libgcc.a `gcc -print-libgcc-file-name | \
sed 's/libgcc/&_eh/'`

作者: 46676463   发布时间: 2008-12-20

是的,你的调整出错了。这种情况一般是PATH环境变量错了。
在第5章的整个过程中,请确保
/tools/bin
位于PATH的第一个。
现在你最好重新开始第5章。

作者: ti8er   发布时间: 2008-12-20

引用:
作者: 46676463
各位高手,本人采用的是amd 4600+双核cpu进行的LFS 6.4的编译。在进行到5.8. Adjusting the Toolchain 时我在执行以下两条命令的时候出现了权限拒绝的问题。

gcc -dumpspecs | sed 's@/lib/ld-linux-x86-64.so.2@/tools&@g' > `dirname $(gcc -print-libgcc-file-name)`/specs

GCC_FIXED=`dirname $(gcc -print-libgcc-file-name)`/include-fixed &&
find ${GCC_FIXED}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_FIXED}/*` &&
unset GCC_FIXED

我查看到以上命令所所操作的目标文件及目录都是属于root:root的所有者和所有组。然后我查看网上的说法是要求给与lfs用户root权限。
但是我发现在LFS文档里面对该操作并未作出描述。我现在想到3种解决方式但是不知道哪一种才是正确的。希望大家能够帮我解决这个疑惑。
1,su 到root下面运行上面的命令
2,到/根目录下执行chonw -r lfs:lfs /
3, 将lfs添加到root组里面
三种全不正确!

我又要再长气一句:
请详细阅读 LFS 手册後再动手。

作者: d00m3d   发布时间: 2008-12-20

lfs:~$ echo $PATH
/tools/bin:/bin:/usr/bin
lfs:~$


我是按照LFS手册来编译的。这已经是第2次出现这个问题了。 我记得我愿来编译6.2的事后并未出现过这种现象阿!
上传的图像
PATH.jpg (32.1 KB, 7 次查看)

作者: 46676463   发布时间: 2008-12-21

我仅仅就是在分区的时候没有按照LFS手册上面指导的方式进行分区。而采用了LVM2的方式进行的分区。其中/mnt/lfs/boot为/dev/hda1,/dev/hda2为PV。其他的文件系统全部创建在基于hda2创建的rootvg上面。
上传的图像
df.JPG (51.2 KB, 2 次查看)
lvscan.JPG (63.0 KB, 2 次查看)

作者: 46676463   发布时间: 2008-12-21

第4.3章的命令:
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources

楼主确定执行过了?
用ls -l 命令查看$LFS/tools和 $LFS/sources目录,以及里面所有文件,确定权限已经给了lfs用户?

如果没有,那么请重新来过。

作者: ti8er   发布时间: 2008-12-21

给了,不给的话我$LFS/sources目录下的tar包怎么解压?解压用的可是lfs身分解压得!

作者: 46676463   发布时间: 2008-12-21

引用:
作者: ti8er
第4.3章的命令:
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources

楼主确定执行过了?
用ls -l 命令查看$LFS/tools和 $LFS/sources目录,以及里面所有文件,确定权限已经给了lfs用户?

如果没有,那么请重新来过。
我除了上面两个命令,自已还加了一个
chown -v lfs $LFS
不然要建立mkdir ../gcc-build的时候权限不够,这样做对吗?

晕,现在才发现,chown -v lfs $LFS 根本不需要,难道chown -v lfs $LFS/sources 打错命令才会出现权限问题

作者: nhluqun   发布时间: 2008-12-28

热门下载

更多