+ -
当前位置:首页 → 问答吧 → 为LFS加入debian支持(未成功)

为LFS加入debian支持(未成功)

时间:2007-10-15

来源:互联网

看了“毁灭”兄的帖子,很有意思,可惜第二部还未完成,自己尝试了一下,也没成功,把一些信息帖在这里,希望能给感兴趣的提供一些信息。
dpkg用的是1.14.7 ftp://debian.ustc.edu.cn/debian/pool..._1.14.7.tar.gz
apt是0.7.6
系统用的是CLFS-SVN-20070930-x86_64-Pure64
想要加入debian支持要看LFS的Hints的这篇文章http://www.linuxfromscratch.org/hint.../files/apt.txt
还有“毁灭”前辈的这篇文章
http://www.linuxsir.org/bbs/showthread.php?t=249407
1.dpkg安装:
$tar xvf dpkg_1.14.7.tar.gz
$cd dpkg-1.14.7
$./configure --prefix=/usr --with-admindir=/var/lib/dpkg
$make
#make install
#touch /var/lib/dpkg/status
#touch /var/lib/dpkg/available
#touch /usr/sbin/update-rc.d
#chmod 755 /usr/sbin/update-rc.d
2.apt安装:http://packages.debian.org/sid/apt
$./configure 这一步出错
引用:
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for ar... ar
checking for library containing gethostbyname... none required
checking for library containing connect... none required
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking db.h usability... no
checking db.h presence... no
checking for db.h... no
checking debian architecture... Can't locate Dpkg.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at /usr/bin/dpkg-architecture line 25.
BEGIN failed--compilation aborted at /usr/bin/dpkg-architecture line 25.
configure: error: failed: use --host= or output from dpkg-architecture
$find / -name Dpkg.pm
/usr/Dpkg.pm

既然dpkg已经装上了,那么用dpkg来装apt会怎么样呢?
试了一下,信息如下:
引用:
# dpkg -i apt_0.7.6_amd64.deb
(正在读取数据库 ... 系统当前总共安装有 294 个文件和目录。)
正预备替换 apt 0.7.6 (使用 apt_0.7.6_amd64.deb) ...
正在解压缩将用于更替的包文件 apt ...
dpkg:依赖关系问题使得 apt 的配置工作不能继续:
apt 依赖于 libc6 (>= 2.6-1);然而:
未曾安装软件包“libc6”。
apt 依赖于 libgcc1 (>= 1:4.2-20070516);然而:
未曾安装软件包“libgcc1”。
apt 依赖于 libstdc++6 (>= 4.2-20070516);然而:
未曾安装软件包“libstdc++6”。
apt 依赖于 debian-archive-keyring;然而:
未曾安装软件包“debian-archive-keyring”。
dpkg:处理 apt (--install)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
apt

作者: 不开花   发布时间: 2007-10-15

apt 太自动了,一但用上它,它就会在系统自行解决依赖,把它认为没有装的软件如 libc6 (即 glibc)都去装,结果最终只会把你一手建成的 LFS 系统替换成完整的 Debian,我是不想悟人子弟才不去写第二部的!

作者: d00m3d   发布时间: 2007-10-15

LFS不需要包管理器的。

作者: tfkdmwmqtr   发布时间: 2007-10-15

我现在用 paco,功能上是无法跟任何发行的包管理系统对比,但也很方便

昔日我在 LFS 系统里加入 Debian 的支持的原因就是想利用 Debian 庞大的软件库去避免一些很不愿意去自行编译的软件,比如怪兽级的 OpenOffice,到现在我都是把官方的 binary tarball 下回来解压,再用 alien 把它的 rpm 转到 deb 来安装使用。

作者: d00m3d   发布时间: 2007-10-15

用用 paco 也就够了,LFS 下装了些啥软件,每个人心里清楚的跟面镜子一样

作者: CHII   发布时间: 2007-10-15

引用:
作者: 不开花
既然dpkg已经装上了,那么用dpkg来装apt会怎么样呢?
试了一下,信息如下:
引用:
# dpkg -i apt_0.7.6_amd64.deb
(正在读取数据库 ... 系统当前总共安装有 294 个文件和目录。)
正预备替换 apt 0.7.6 (使用 apt_0.7.6_amd64.deb) ...
正在解压缩将用于更替的包文件 apt ...
dpkg:依赖关系问题使得 apt 的配置工作不能继续:
apt 依赖于 libc6 (>= 2.6-1);然而:
未曾安装软件包“libc6”。
apt 依赖于 libgcc1 (>= 1:4.2-20070516);然而:
未曾安装软件包“libgcc1”。
apt 依赖于 libstdc++6 (>= 4.2-20070516);然而:
未曾安装软件包“libstdc++6”。
apt 依赖于 debian-archive-keyring;然而:
未曾安装软件包“debian-archive-keyring”。
dpkg:处理 apt (--install)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
apt
回楼主,若果你只想装 apt,可以用 dpkg -i --force-depends 来装,系统会把缺少的依赖视而不见,只作显示。

libc6 就是 glibc,已装;libgcc1 及 libstdc++6 都属於 g++,LFS 下应该装了;debian-archive-keyring 是用来校验源的 key 用的,没有它也能用,因此你这儿安装後应该不影响使用

忠告:apt 装上及配置好源後,一但使用 apt-get install 系统就会替换你的软件(包括 glibc),最终就变成不折不扣的 Debian 了

用 dpkg 来装,我仍能自主控制哪些应该装,但 apt 就一切自动,敬请慎用!

作者: d00m3d   发布时间: 2007-10-16