dpkg命令简介

首先要学习debian的中层包管理dpkg,这是一个基础.
简介
dpkg是Debian的中级软件包管理器,类似RPM.
dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org

系统中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.
.conffiles 记录了软件包的配置文件列表

.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.

.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的.

.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成.

.postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.

dpkg

查询以安装的信息
查询当前系统所有已安装的deb包
dpkg –l 命令用于查询当前系统所有以安装的deb包的信息.,通过less和grep可以执行更复杂的查询工作.

例如查找跟vim有关的软件包,dpkg –l |grep –ivim
(如发现iU 表示软件包未安装成功,ii表示安装成功)

查看已安装软件包的详细情况

dpkg –s 命令查看软件包的详细情况,包括版本,依赖之类的

查询系统中所安装软件包所安装的文件

dpkg –L 命令用于查询系统中所安装软件包的安装的文件安装到系统的位置和安装了那些.

小提示: 如何可以看软件包装到哪个地方?
用apt-get install *


如何可以看软件包装到哪个地方?
dpkg -L package-name|more

查询系统中某个文件属于那个软件包
dpkg –S 命令用于了解当前的软件属于那个软件包

查询未安装的信息
查询未安装软件包详细信息
dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.

查询deb包文件中所包含的文件

dpkg –c  显示未安装deb软件包所包含的文件列表,以及安装位置


安装软件包

dpkg –i 手工安装deb包到系统中,不过有时会存在Dpends关系,建议使用apt-get 来安装.

如果通过dpkg –i安装软件后由于Dpends关系没有安装成功,可通过apt-get –f install解决

解决dpkg –i 安装deb包出现Dpends问题

apt-get –f install 解决Dpends问题.

例如:dpkg –i lftp_3.1.3-1_i386.deb

Selecting previously deselected package lftp.

(Reading database … 20654 files and directories currently installed.)
unpacking lftp (from lftp_3.1.3-1_i386.deb)…
dpkg:dependency problems prevent configuration of lftp:
lftp depends on libexpat1 (<=1.95.8);however
dpkg : error processing lftp (--install)
dependency problems –leaving unconfigured
Errors were encountered while processing:
lftp
//lftp软件包安装失败

dpkg –l |grep lftp
iU    lftp     3.1.3-1     Sophisticated
command-line FTP/HTTP client p

//”dpkg -l” 查询信息表示lftp软件包未安装成功

(iU表示未安装成功,ii表示安装成功)

使用apt-get –f install解决

卸载deb包
dpkg –r用于卸载指定的软件包,该命令只卸载软件包安装到系统中的文件,而不去删除软件包的配置文件,因此不是完全意义上的卸载.但是软件包保存在系统中,可以提供给以后在安装软件包时使用.
例如:dpkg –r prozilla 移除后再用dpkg –l |grep prozilla 查看
会看到rc   proc  1.3.6-3woody3   multi-thraded download accelerator
表示软件包已经被卸载,但配置文件仍在“rc”带表配置文件仍在.

卸载软件包并清除配置文件
dpkg –P 用于卸载软件包同时也删除配置文件,dpkg –P 不能解决Dpends问题,建议卸载时使用apt-get操作

重新配置软件包
对于Debian系统中的众多软件包(尤其是系统和服务器软件包)来说,在第一次安装该软件包时候会显示对话框窗口,提示用户输入必要的配置信息.当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure来对指定的软件包进行配置.
比如dpkg-reconfigure locales

用于配置语言

alien包转换工具

如果我们有很喜欢的RPM包,而又没有deb版本.
怎么办~?
可以同过alien来转换或者直接安装,这个小家伙可是个很方便的东西!

基本命令如下:
首先通过apt-get install alien来安装.
然后
alien -i name-of-the-pakage.rpm  /*用来直接安装rpm包
alien -d , --to-deb  /*Make debian packages,This is the default
例:alien –d package.rpm
alien –r , --to-rpm  /*Make rpm packages

例:alien –r package.deb
alien –p , --to-pkg  /*Make Solaris pkg packages
alien –-to-slp  /*Make slp packages
alien –t , --to-tgz /*Make tgz packages
alien –T 检测
alien –-patch=patch 设置patch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
deb to rpm工具 用法 [root@yun alien]# ls Alien alien.lsm alien.lsm.in alien.pl alien.spec alien.spec.in debian gendiff.txt GPL INSTALL Makefile.PL README TODO [root@yun alien]# ./alien.pl You must specify a file to convert. Usage: alien [options] file [...] file [...] Package file or files to convert. -d, --to-deb Generate a Debian deb package (default). Enables these options: --patch= Specify patch file to use instead of automatically looking for patch in /var/lib/alien. --nopatch Do not use patches. --anypatch Use even old version os patches. -s, --single Like --generate, but do not create .orig directory. --fixperms Munge/fix permissions and owners. --test Test generated packages with lintian. -r, --to-rpm Generate a Red Hat rpm package. --to-slp Generate a Stampede slp package. -l, --to-lsb Generate a LSB package. -t, --to-tgz Generate a Slackware tgz package. Enables these options: --description= Specify package description. --version= Specify package version. -p, --to-pkg Generate a Solaris pkg package. -i, --install Install generated package. -g, --generate Generate build tree, but do not build package. -c, --scripts Include scripts in package. -v, --verbose Display each command alien runs. --veryverbose Be verbose, and also display output of run commands. -k, --keep-version Do not change version of generated package. --bump=number Increment package version by this number. -h, --help Display this help message. -V, --version Display alien's version number. [root@yun alien]# ./Makefile.PL Writing Makefile for Alien [root@yun alien]# ls Alien alien.lsm.in alien.spec debian GPL Makefile mysqlcc_0.9.4-0ubuntu1_i386.deb TODO alien.lsm alien.pl alien.spec.in gendiff.txt INSTALL Makefile.PL README [root@yun alien]# ./alien.pl -r mysqlcc_0.9.4-0ubuntu1_i386.deb Warning: Skipping conversion of scripts in package mysqlcc: postinst postrm Warning: Use the --scripts parameter to include the scripts. mysqlcc-0.9.4-1.i386.rpm generated [root@yun alien]# ls Alien alien.lsm.in alien.spec debian GPL Makefile mysqlcc_0.9.4-0ubuntu1_i386.deb README alien.lsm alien.pl alien.spec.in gendiff.txt INSTALL Makefile.PL mysqlcc-0.9.4-1.i386.rpm TODO [root@yun alien]# make cp Alien/Package/Deb.pm blib/lib/Alien/Package/Deb.pm cp Alien/Package/Tgz.pm blib/lib/Alien/Package/Tgz.pm cp Alien/Package.pm blib/lib/Alien/Package.pm cp Alien/Package/Rpm.pm blib/lib/Alien/Package/Rpm.pm cp Alien/Package/Pkg.pm blib/lib/Alien/Package/Pkg.pm cp Alien/Package/Lsb.pm blib/lib/Alien/Package/Lsb.pm cp Alien/Package/Slp.pm blib/lib/Alien/Package/Slp.pm perl -pe '$_="" if /use lib/; $_="our \$Version=\"8.79\";\n" if /VERSION_AUTOREPLACE/' alien.pl > alien cp alien blib/script/alien /usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/alien Manifying blib/man1/alien.1 Manifying blib/man3/Alien::Package::Tgz.3pm Manifying blib/man3/Alien::Package::Deb.3pm Manifying blib/man3/Alien::Package::Rpm.3pm Manifying blib/man3/Alien::Package.3pm Manifying blib/man3/Alien::Package::Pkg.3pm Manifying blib/man3/Alien::Package::Lsb.3pm Manifying blib/man3/Alien::Package::Slp.3pm perl -i -pe "s/\@version\@/8.79/g" alien.lsm perl -i -pe "s/\@version\@/8.79/g" alien.spec [root@yun alien]# make install perl -i -pe "s/\@version\@/8.79/g" alien.lsm perl -i -pe "s/\@version\@/8.79/g" alien.spec Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Deb.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Lsb.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Pkg.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Rpm.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Slp.pm Installing /usr/local/lib/perl5/site_perl/5.10.0/Alien/Package/Tgz.pm Installing /usr/local/share/man/man1/alien.1 Installing /usr/local/share/man/man3/Alien::Package.3pm Installing /usr/local/share/man/man3/Alien::Package::Deb.3pm Installing /usr/local/share/man/man3/Alien::Package::Lsb.3pm Installing /usr/local/share/man/man3/Alien::Package::Pkg.3pm Installing /usr/local/share/man/man3/Alien::Package::Rpm.3pm Installing /usr/local/share/man/man3/Alien::Package::Slp.3pm Installing /usr/local/share/man/man3/Alien::Package::Tgz.3pm Installing /usr/local/bin/alien Writing /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi/auto/Alien/.packlist install -d /usr/local/share/alien/patches \ /var/lib/alien Appending installation info to /usr/lib/perl5/5.10.0/i386-linux-thread-multi/perllocal.pod [root@yun alien]#

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值