为基于RPM的系统Magic Linux (Red hat) 加上dpkg 支持
2007-04-10 15:22
639 查看
为基于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包
联系:anranzixiaohun@21cn.com
参考文献:
[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
作者:冷家锋
时间: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包
联系:anranzixiaohun@21cn.com
参考文献:
[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
相关文章推荐
- 自学Linux Shell9.2-基于Red Hat系统工具包存在两种方式之一:RPM包
- 自学Linux Shell9.3-基于Red Hat系统工具包:RPM属性依赖的解决方式-YUM在线升级
- IC卡数据准备系统---genCAInfo suse YaST zypper/Ubuntu apt dpkg /Red Hat - centos yum rpm
- Vsftpd完全攻略(三)基于系统用户支持ftp上传 访问和vsftp安全设置
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,开放源码,支持开源
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套【提供操作手册设计文档下载】
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 从架构设计到系统实施-基于.NET 3.0的全新企业应用之加入Silverlight支持
- 基于GIS技术的公路路线方案决策支持系统开发初探
- 配置Linux内核支持yaffs2文件系统---基于S5PV210
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于功能的数据库分类:联机事务处理和决策支持系统数据库
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(6):为网站添加Silverlight支持.zip(6.31 MB)
- 解决在基于rpm的linux系统安装google-talkplugin
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- 基于codeigniter框架写的网站日志系统适配器(支持写入本地文件、数据库、远程服务器)