基于Debian系统的软件包管理

不同的软件包管理是区分不同发行版的特征之一。apt-get是deb软件包的管理工具之一,它是调用dpkg包管理程序。

/etc/apt目录下的sources.list配置文件指向Debian系统的软件库,系统会从该软件库安装各种软件包。

1. apt-get

1.1  下载

$    sudo apt-get download package-name
$    sudo apt-get source package-name                    //下载软件包源码

1.2 安装

$    sudo apt-get install package-name

1.3 删除卸载

$    sudo apt-get remove package-name
$    sudo apt-get autoremove package-name
$    sudo apt-get purge package-name
$    sudo apt-get clean package-name                //清除已下载的软件包
$    sudo apt-get clean package-name                //清除旧的已下载的软件包 

1.4 更新

$    sudo apt-get update package-name
$    sudo apt-get --just-print upgrade
$  sudo apt-get -s upgrade | awk '/Inst.+/ {print $2}'        //列出可用的升级APT
$  sudo apt-get -s upgrade | awk '/[0-9]+ upgraded,/ {print $1 " package updates are available"}'            //列出系统上可用的升级包

2. apt-cache

$    apt-cache search               //搜索软件包

$    apt-cache stats             //查看数据源的相关统计信息

$    apt-cache depends <package>     //显示软件包的依赖关系

$    apt-cache rdepends <package>    //显示软件包的反向依赖关系

$    apt-cache show <package>       //显示软件信息,包括版本号、安装状态、包依赖关系

$    apt-cache showpkg <package>     //显示软件包的依赖关系信息

$    apt-cache policy <package>        //显示软件包的安装状态和版本信息

3. apt-file

apt-file是一个软件包查找工具,可以查到软件包所含的文件和安装的位置。

$    apt-file update      //更新软件包的文件库

$    apt-file list <package>  //显示该软件包的文件

$    apt-file search file_name //查找该文件存在那些软件包中

4. apt-key

$    apt-key list        //列出已保存在系统中的key

$    apt-key add keyname     //把下载的key添加到本地trusted数据库中

$    apt-key del keyname     //从本地trusted数据库中删除key

$     apt-key update       //更新本地trusted数据库

5. aptitude 

5.1 下载软件包

$    sudo aptitude download package-name  //下载软件包的.deb文件

5.2 显示软件包

$    sudo aptitude show package-name    //显示软件包的详细内容

5.3 搜索软件包

$    sudo aptitude search package-name    //搜索软件包

5.4 安装软件包

$  sudo aptitude install package-name
$  sudo aptitude reinstall package-name  //下载并重新安装已安装的软件包

5.5 删除卸载软件包

$    sudo aptitude remove package-name      //卸载软件包
$    sudo aptitude purge package-name       //卸载软件包并删除配置文件
$ sudo aptitude clean package-name //清除已下载的软件包文件 $ sudo aptitude autoclean package-name //清除旧的已下载的软件包文件

5.6 更新升级软件包

$    sudo aptitude update            //下载新的可升级软件包列表
$    sudo aptitude safe-upgrade      //安全升级
$    sudo aptitude full-upgrade        

6. dpkg技巧

1.  dpkg -i <package>           //安装deb包

2.  dpkg -e <package>          //卸载软件包

3.  dpkg -l                 //显示基于debian系统安装的软件包列表

4.  dpkg --get-selections > list_dpkgfile   //输出生成一个基于本机的deb软件包列表

其它:

1.  apt-config sump            //显示所有APT/dpkg配置