Debian与Redhat软件包管理

       目前在各 Linux 发行版中, 比较著名的软件包管理系统有:

RPM: Red Hat/Fedora,Suse,Mandriva 使用的是这类管理系统.

DPKG: Debian,ubuntu使用的是这类管理系统.

        redhat的rpm软件包管理相信大家都很熟悉,这里介绍debian下管理配置,在/etc/apt/sources.list。文件内容的格式如下:

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

        第一列描述了文件类型,是deb类型还是deb-src类型的,deb是已经编译好的二进制软件包,deb-src是源码包,第二列是使用的镜像地址,apt可以使用多种类型的地址,如:http、ftp、file等。 main contrib non-free是源下面不同的目录,每个目录放一类软件.在每次修改sources.list文件都需要运行apt-get update命令更新源列表。 

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

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

         /var/cache/apt/archives 目录是在用 apt-get install 安装软件包时,软件包的临时存放路径/etc/apt/sources.list 存放的是软件源站点, 当执行 sudo apt-get install  package-name 时,软件包就去这些站点下载软件包到本地并执行安装

       下面是yum与apt软件包管理常用命令对比

YUM包管理

APT包管理

备注

yum install package-name

apt-get install package-name

安装软件包

yum remove package-name

apt-get remove package-name

卸载软件包(保留配置文件)加入 --purge 则删除配置文件

yum upgrade

apt-get upgrade

更新所有已安装的软件包,apt-get dist-upgrade —— 将系统升级到新版本

yum clean package-name

apt-get clean

清除cache中包文件

yumdownloader source package-name

apt-get source package-name

下载程序的源代码包

yum search package-name

apt-cache search package-name

在软件资料库中搜索软件包

yum info  package-name

apt-cache show package-name

查看包信息

       

         下面是rpm与dpkg软件包管理常用命令对比

RPM包管理

Debian包管理

备注

rpm  -qa

dpkg -l

查询当前系统中已安装的所有软件包

rpm  -qi package-name

dpkg -s package-name

查询系统中某个软件包的详细信息

rpm  -ql package-name

dpkg -L package-name

显示已安装软件包的文件列表

rpm  -qf file

dpkg -S file

查询系统中指定的文件属于哪个包

rpm  -qpi file.rpm

dpkg -I pkg.deb

显示指定deb软件包文件的详细信息

rpm  -qlp file.rpm

dpkg -c pkg.deb

显示deb包中的文件列表

rpm  -ivh file.rpm

dpkg -i pkg.deb

安装deb软件包

rpm  -e package-name

dpkg -P package-name

彻底卸载deb软件包

rpm2cpio file.rpm|cpio -id

dpkg -x pkg.deb .

解包到当前目录

rpm -qpR file.rpm

apt-cache depends package-name

查询软件对环境的依赖关系

rpm --force --nodpes -i file.rpm

dpkg -i --force-all pkg.deb

强行安装软件包

rpm -qp --scripts file.rpm

dpkg -e pkg.deb 

查询管理软件包脚本

rpmbuild -bb filename.spec

dpkg -b pkg.deb

建软件包

rpm -V package-name

debsums -a package-name

校建软件包中的文件是否被修改

rpm -checksig file.rpm

debsig -c pkg.deb

检证软件包签名是否正确


       有时仅需要将包下载下来不安装,这里apt-get使用参数-d 很方便,例如:

root@10.1.1.200:~# apt-get install -d memcached
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-utils
Use 'apt-get autoremove' to remove them.
Suggested packages:
  libcache-memcached-perl
The following NEW packages will be installed:
  memcached
0 upgraded, 1 newly installed, 0 to remove and 31 not upgraded.
Need to get 47.4kB of archives.
After this operation, 180kB of additional disk space will be used.
Get:1 http://apt.shidc.taomee.com lenny/updates/main memcached 1.2.2-1+lenny1 [47.4kB]
Fetched 47.4kB in 0s (163kB/s) 
Download complete and in download only mode
        使用yum下载rpm包, 安装yum-utils,直接用yumdownloader 就可以直接下载yum源中的rpm包.
root@10.1.1.200:~# yum install yum-utils
root@10.1.1.200:~# yumdownloader crontabs.noarch
root@10.1.1.200:~# ls
anaconda-ks.cfg  crontabs-1.10-33.el6.noarch.rpm  install.log  install.log.syslog

       以下是apt-get是经常会用到的参数:

-d, --download-only 仅仅是下载该软件包

-m, --ignore-missing, --fix-missing  忽视丢失的包
--no-download        Disables downloading of packages
-y, --yes, --assume-yes    在安装过程中,自动回答yes
--assume-no                  在安装过程中,自动回答no
-u, --show-upgraded       显示哪些包会被升级
--reinstall                      重装已经安装的包
--purge                        remove并且删除配置文件
--allow-unauthenticated   忽略包的认证机制

转载于:https://my.oschina.net/davehe/blog/108852

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值