作为操作系统,软件的安装、卸载和更新是必不可少的,Linux系统也一样,现在就Linux的软件安装、卸载和更新作一点介绍。
如以前的文章所述,Linux狭义的讲只是操作系统内核,想普遍应用,就需要采用Linux内核的Linux发行版本,那么软件的管理就与Linux发行版本很有关系,原因在于现代的应用软件复杂性像是汽车、手机一样,需要供应链、基础设施的支持,对于应用软件基础设施即其依赖的底层软件(或者叫做依赖库、依赖的平台),比如Java类的应用软件需要依赖Java平台,图形类的软件需要依赖3D库,视频播放软件需要依赖编解码库,Web应用需要Web服务器等等,鉴于此就需要软件包管理系统,那么不同的的发行版又有不同的软件包系统,以下是目前主要流派发行版的软件包管理系统和软件管理程序:
Red Hat/CentOS/Fedora 流派:
软件包系统是 RPM,RPM的原意是Red Hat Package Manager,即Red Hat(红帽)公司开发的软件包管理工具,生成的软件包文件扩展名是rpm,软件包的安装卸载的命令也是 rpm,该系统主要功能为安装、卸载、升级和管理软件,一般rpm包装的是程序的二进制文件和依赖配置信息,就像是微软的msi安装包一样,采用rpm安装软件时需要软件的rpm包,可以从网上下载、从别的机器复制或者自己拿源代码制作,典型的命令为:
安装软件: rpm 程序包名.rpm
卸载软件: rpm 程序包名.rpm
升级软件: rpm 程序包名.rpm
查看软件相关信息: rpm 程序包名.rpm
显示软件的文件列表:rpm 程序包名.rpm
显示软件的依赖性: rpm 程序包名.rpm
RPM包的另一个更常用的工具是yum以及其升级版本dnf,现在安装软件一般是采用yum或者更新的dnf命令程序,
yum 的英文是Yellow dog Updater, Modified,是一种更为智能的所谓rpm的前端工具,其实是在rpm的基础上实现了自动从服务器下载rpm包、安装且自动处理软件包的依赖软件,最终能够实现一次性安装软件包及其所有的依赖项,不需要手工一次次查找和下载,比如
安装nmap软件包命令为:yum install nmap
显示关于nmap软件包详细信息: yum info nmap
卸载 nmap软件包:yum remove nmap
更新系统的软件包(该命令会自动检查有更新的软件包然后提示是否更新):yum update
更新系统的软件包且更新其依赖项: yum upgrade
dnf命令程序与yum类似,在此就不再介绍。
Debian/Ubuntu 系:
软件包系统是DEB,是英文Debra Murdock的缩写,名字是Debian创始人爱妻的名字,类似RPM,管理命令是dpkg,命令的主要参数有:
安装软件包:dpkg -i 程序包名.deb
删除软件包 dpkg -r 程序包名
删除软件包(包括配置文件)dpkg -P程序包名
列出与软件包关联的文件 dpkg -L程序包名
显示软件包的版本 dpkg -l程序包名
解开 deb 包的内容 dpkg –unpack 程序包名.deb
列出当前已安装的包 dpkg -l
DEB系统更常用的程序命令是 apt-get,比如:
安装nmap: apt-get install nmap
卸载nmap: apt-get remove nmap
更新软件包信息:apt-get update
更新软件包:apt-get upgrade
所有的Linux支持的软件安装方式:源码安装
一般套路(以nmap为例):
A.下载源码:
wget https://nmap.org/dist/nmap-7.60.tar.bz2
B.解压源码:
bzip2 -cd nmap-7.60.tar.bz2 | tar xvf -
C.进入解压后的目录:
cd nmap-7.60
D.检查编译需要的软件库、包、系统环境等,为编译作准备:
./configure
E.如果前一步骤没有问题,则批处理编译源代码,如果有问题按照提示的解决掉问题再编译:
make
D.将编译后的程序安装到系统:
su root
make install
最后提示一下,一般安装软件都需要root权限或者sudo(代理root执行)指令,最后附上测试截图:
联系客服