为基于RPM的系统Magic Linux (Red hat) 加上dpkg 支持

为基于RPM的系统 Magic Linux 加上dpkg 支持 (lfs)
作者:冷家锋
时间:2007-04-10
声明:
作者不保证本文内容的准确性,
基于GPL发布(其实我对GPL基本不了解,只知道和知识共享相关;-))
可以随意复制、修改、不必告知作者,但若用于商业用途,必将手刃之而后快!


First things first:
所需软件包:dpkg_1.13.25.tar.gz、dpkg_1.13.25_i386.deb
可用您喜爱的浏览器/下载工具到Debian官方网站:http://ftp.debian.org/debian/pool/main/d/dpkg/ 下载。
操作系统: Magic Linux2.0rc
编译器:gcc(v3.4.4)通过。

1.准备

$mkdir ~/dpkg
$mv dpkg_1.13.25.tar.gz ~/dpkg
$mv dpkg_1.13.25_i386.deb ~/dpkg
$tar zxvf dpkg_1.13.25.tar.gz && cd dpkg_1.13.25

2.编译

$./configure --prefix=/usr --with-admindir=/var/lib/dpkg
原文说在这步(.configure)完成后,需要修改man相关内容,

但是笔者试验时,!!不用修改!!即可直接编译通过,不知是否dpkg版本的问题:-)

如确有问题请参考原文Hints:http://www.linuxfromscratch.org/hints/downloads/files/apt.txt
考虑到方便,还是摘录如下:
If you just type 'make,' the compile will fail unless you have jade
and debiandoc2html (you probably don't have either of these things).
The best way around this is to change doc/Makefile; this requires
disabling doc/Makefile:

$ mv doc/Makefile doc/Makefile.bak
$ sed 's/^all: /&# /g; s/^install: /&# /g' doc/Makefile.bak > doc/Makefile

大概意思是:如果你此时敲make,编译会失败。。。最好的解决办法是更改doc/Makefile文件,
使doc/Makefile失效。


3.安装
$make
如果到这里都没错,那么恭喜你!如果有提示缺少相关文件、库什么的,可以google一下,
凭着您对原先系统的掌握,搞定应该没问题!
$su
Password:(root密码)
#make install
4.善后

#touch /var/lib/dpkg/status
#chmod 644 /var/lib/dpkg/status
#touch /var/lib/dpkg/available
#chmod 644 /var/lib/dpkg/available
#touch /usr/sbin/update-rc.d
#chmod 755 /usr/sbin/update-rc.d
为什么要这样呢?
您可以试着不执行以上命令,直接执行dpkg 试试,会提示缺少上述文件。
这些文件都是dpkg包管理器必须的文件,可以google去研究一下,Debian用户应该很熟悉的。
现在我们的目的是在非Debian/Ubuntu系统中安装dpkg,只要骗一下dpkg让它认为已经有了就行了。

如果您安装到这里,然后测试一下以下命令
#dpkg --print-architecture
#dpkg-architecture -a
然后在试着装两个deb包,也成功的话
那么就太恭喜您了,dpkg应该已经被请到了您的系统中。


5.绝招救主

但是,笔者安装到这里后,安装deb包时,老是提示
包的系统架构(arch)与系统arch不符合,只能用
#dpkg -i --force-architecture ***.deb
来安装deb包。


所以笔者又采用了终极大法,来自Debian官方手册<6.3.7 如果 dpkg 命令出错怎么办>

#cd ~/dpkg
#ar -x dpkg_1.13.25_i386.deb    (从dpkg安装包中抽取文件,data.tar.gz即为抽取后的文           

    件)
#cp data.tar.gz /    (#没错,是拷贝到根目录/)
#cd /               
#tar zxvf data.tar.gz        (,解压后即可将其中的
                文件拷贝到需要的路径)

这样的做的理由是:
在步骤1~4中,已经证明dpkg是可以在您的系统中编译并安装的,这样可以放心的
直接解压缩dpkg_1.13.25_i386.deb并覆盖。

到这里,在笔者的机器上,已经能够顺利安装nano*.deb,xterm*.deb,
其余还没测试:-)

欢迎报告不能安装的deb包
联系:[email protected]

参考文献:
[lfs hints] http://www.linuxfromscratch.org/hints/downloads/files/apt.txt
[Debian手册]URL:http://www.debian.org/doc/manuals/reference/ch-package.zh-cn.html

你可能感兴趣的:(为基于RPM的系统Magic Linux (Red hat) 加上dpkg 支持)