现代类Unix操作系统都提供了一个集中的软件包管理机制,以帮助用户搜索、安装和管理软件。而软件一般以包的方式储存在库房中,对软件包的使用和管理被称为包管理。Linux软件包的基本组成部份一般有:共享库、应用程序、服务和文档
0x01
软件包格式
deb软件包:由DebianLinux提出,Debian、Ubuntu等系统采用的软件包管理机制,将应用程序的二补码文件、配置文档、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包redhat linux,完成获取、安装、卸载、查询等操作rpm软件包:由RedHat公司提出,Redhat、Centos、Fedora等系统采用的软件包管理机制,构建统一的数据库文件,详尽记录软件包安装、卸载等变化信息,手动剖析软件包依赖关系
0x02
软件包命名
deb软件包的命名遵守以下约定
Filename-Version-Reversion.Architecture.deb
软件名称Filename
软件版本Version
修订版本Reversion
体系构架Architecture
rpm软件包的命名遵守以下约定:
Filename-Version-Reversion.OS.Architecture.rpm
软件名称Filename
软件版本Version
修订版本Reversion
操作系统OS
体系构架Architecture
通过了解软件包的命名规则,能够晓得软件包所适用的环境了
0x03
软件包管理工具
大多数流行的Linux发行版在包管理工具、方式和方式都邯郸小异,但却还是有平台差别:
使用软件包管理工具安装软件后,常见的安装位置如右图所示
怎样管理Linux软件包
Linux软件包管理一般除了限于软件的一次性安装,还包括了对已安装软件包进行升级的工具。下边以Ubuntu系统为例介绍怎样管理Linux软件包
0x01
dpkg管理工具
dpkg命令通常在直接安装现成.deb包时使用,常见命令如下:
dpkg-i#安装一个存在本地的Deb软件包 dpgk-r#移除一个已经安装的软件包 dpkg-P#移除已安装软件包及配置文件 dpkg-L#列出安装的软件包清单 dpkg-s#显出软件包的安装状态
dpkg命令可用于安装、编译、卸载和查询Deb软件包。并且不能主动从镜像点获取软件包,且安装时难以测量软件包的依耐关系
0x02
apt管理工具
apt是最常见的包操作命令,在Ubuntu中apt采用集中式的软件库房机制,将各色各样的软件包分门别类地存在软件库房中,之后将软件库房放在不同的镜像服务器中,并保持基本一致linux软件包管理,对于用户而言,这种镜像服务器就是她们的软件源在Ubuntu中,软件源文件/etc/apt/sources.list中列举了软件源镜像站点地址。但这种镜像站点中所具有的软件资源并不清楚,可使用apt-getupdate命令扫描每一个软件源服务器,为该服务器里的软件包资源构建索引文件linux软件包管理,并存置于本地的/var/lib/apt/lists目录中apt-get命令:主要用于手动从互联网的软件库房中搜索、安装、升级、卸载软件或操作系统。命令格式如下表示:
常见命令示例如下:
apt-getupdate #更新本地存放的软件包仓库列表 apt-getupgrade#升级已安装的包,仅升级已安装的软件包 apt-getdist-upgrade#升级已安装的包,可添加或删除程序包,以满足新的依赖 apt-getinstallpkg#从软件仓库安装包 apt-getcheck #检查软件包依赖关系 apt-get-finstall#修复软件包依赖关系 apt-get--reinstallinstall#重新安装软件包 apt-getremovepkg #不完全卸载,会删除与该软件包有依赖关系的软件包 apt-get--purgeremovepkg#完全卸载,卸载软件包时,还删除该软件包配置文件 apt-getclean #清理整个软件包缓冲区 apt-getautoclean #按照依赖关系清理缓冲区中多余的软件包
apt-cache命令:可以从本地APT文件中查询和显示有关包的可用信息adobe air linux,包括包名称、描述、版本、依赖项、repo和维护者信息等。命令格式如下表示:
常见命令示例如下:
apt-cachesearchpkg #搜索内容 apt-cacheshowpkg #显示有关软件包的本地缓存信息 apt-cachepolicypkg #可以获取软件包当前的安装状态 apt-cachedependspkg #检查软件包的依赖关系
文章评论