Linux 软件包管理

dpkg(Debian Package)管理工具 ,Ubuntu 相关的软件包文件使用 .deb 后缀,就是因为Ubuntu 与 Debian GNU/Linux 发行版有着紧密的关系。要安装 .deb 文件可以打开一个终端并输入: 
sudo dpkg -i package_file.deb   来安装 .deb 文件。 

如需卸载 .deb 文件输入: 
sudo dpkg -r package_name   



如果你手动下载了一个 .deb 包,通过以下命令

安装 Debian 包裹文件

sudo dpkg -i debfilename

列出包裹包含的内容

sudo dpkg -c debfilename

从 .deb 文件中提取包裹信息

sudo dpkg -I debfilename1

卸载一个已安装的包裹

sudo dpkg -r packagename

完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件

sudo dpkg -P packagename

列出包裹安装的所有文件清单同时请看 dpkg-c 来检查一个 .deb 文件的内容):

sudo dpkg -L packagename

显示已安装包裹的信息

sudo dpkg -s

重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面),你能够重新配制 debconf 它本身

sudo dpkg-reconfigure packagename

获取软件包裹状态

sudo dpkg --get-selections | grep keyname

设置软件包裹状态,比如 HOLD 某个包裹不允许升级

echo "packagename hold" | sudo dpkg --set-selections

从 HOLD 状态恢复软件包裹标志位

echo "packagename install" | sudo dpkg --set-selections

修正依赖关系损坏的包裹

sudo apt-get -f install

目录下,其子目录/var/lib/dpkg/info用于保存各个软件包的配置文件列表:
(1).
conffiles记录了Ubuntu软件包的配置文件列表
(2).list保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.
(3).md5sums
记录了软件包的md5信息,这个信息是用来进行包验证的.
(4).
prerm脚本在Debian包解包之前运行,主要作用是停止作用于即将升级的Ubuntu软件包的服务,直到软件包安装或升级完成.
(5).
postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg/available文件的内容是Ubuntu软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的Ubuntu软件包.
/
var/cache/apt/archives目录是在用apt-getinstall安装软件时,软件包的临时存放路径
/etc/apt/sources.list存放的是软件源站点,当你执行sudoapt-getinstallxxx时,Ubuntu就去这些站点下载软件包到本地并执行安装



















APT (Advanced Packaging Tool高级软件包工具) 是一个强大的包管理系统,
而那些图形化程序如 添加/删除 应用程序 都是建立 在它的基础之上的。
有了dpkg后,Debian再次开发了apt,它能自动处理依赖文件并维护已有的配置文件,快速,实用,高效
APT 使用的一些常用命令: 
安装软件包: 
sudo apt-get install packagename   

删除软件包: 
sudo apt-get remove packagename   

获取新的软件包列表: 
sudo apt-get update   

升级有可用更新的系统: 
sudo apt-get upgrade   

列出更多命令和选项: 
apt-get help   

常用的APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 
例如:
sudo apt-get install eclipsesudo apt-get install sun-java6-jdk 下载安装程序到你的/var/cache/apt文件夹里面然后进行安装。 
sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = ――fix-missing" sudo apt-get remove package 删除包 sudo apt-get remove package - - purge 删除包,包括删除配置文件等 sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 sudo apt-get dselect-upgrade 使用 dselect 升级 apt-cache depends package 了解使用依赖 apt-cache rdepends package 是查看该包被哪些包依赖 sudo apt-get build-dep package 安装相关的编译环境 apt-get source package 下载该包的源代码 sudo apt-get clean && sudo apt-get autoclean 清理无用的包 sudo apt-get check 检查是否有损坏的依赖 
将 .rpm 文件转为 .deb 文件
对于软件包为.rpm后缀的 Red Hat 软件包管理器文件。我们并不建议在 Ubuntu 系统中安装它们。在绝大多数情况下,Ubuntu 自身的 .deb 软件包是可用的。然而,如果绝对必要,可以使用程序 alien 将 .rpm 文件转化为.deb 文件。 
安装 alien 程序。 
在终端使用管理权限运行以下命令: 
sudo alien package_file.rpm 


你可能感兴趣的:(Linux 软件包管理)