由于linux支持多种封装包标准,安装软件也就有多种途径。
*.deb文件
Debian封装包,在Debian,Ubuntu等发行版中使用。包管理器aptitude在安装这种格式的软件方面有内在优势。
*.rpm文件
RPM封装包,在RedHat,Fedora,CentOS等发行版本中使用。用于安装该格式软件的包管理器是yum,rpm。
*.tar.gz文件,*.tar.Z文件,*tar.bz2文件
压缩的tar文件。这种文件不是可安装文件包。它是由tar汇集,并由gzip(.gz),bzip2(.bz2)或compress(.Z)压缩的文件集。Debian和RPM文件包可以由单步指令直接安装,压缩的tar文件则需多步操作,才能完成安装。
现今许多软件都必须由superuser安装。因此,在安装软件前必须运行su命令(或相当的命令),获得superuser权限,比如:
$ su -l Password: ****** # rpm -ivh mypackage.rpm ......
或者使用sudo命令:
$ sudo rpm -lvh mypackaage.rpm Password: ******
yum
yum [options] [packages]
yum是一个流行的RPM包(.rpm文件)管理器,在RedHat Enterprise Linux,Fedora,CentOS及其他发行版中都能看到它的身影。下面表格列出了yum的命令操作,对于本地文件操作,当未提供yum时,可以直接用rpm替代yum。
操作 |
yum命令格式 |
查找包(支持通配符*和?) | yum search command_name |
查看包是否已安装 | yum list installed package_name |
下载包,但不安装(需要先安装下载插件) | yum --downloadonly install package_name |
下载并安装包 | yum install package_name |
安装包 | rpm -ivh package.rpm |
查看包 | yum info package_name |
列出包的内容 | rpm -ql package_name |
查找已安装的文件属于哪个包 | yum provides /path/to/file |
更新已安装包 |
yum update package_name |
删除已安装包 | yum remove package_name |
列出所有已安装的包 | yum list installed | less |
检查所有包是否有更新 | yum check -update |
更新所有包 | yum update |
rpm
rpm [options] [files]
如果想手动下载并安装RPM包的话,请使用rpm命令。它和yum的后台运行同一个包管理程序。与yum不同,rpm只在本地使用,不能在网络上查找所需的包。rpm不只适用于安装软件,也可以检查系统是否符合安装条件。比如,如果包superstuff的安装需要已安装有otherstuff包,而你并没有安装otherstuff,rpm将不会安装superstuff。但是,如果系统通过了rpm的检查,rpm将完整安装superstuff软件。
RPM文件通常有如下形式的名字:name-version.architecture.rpm。比如, emacs-23.1-17.i386.rpm意味着emacs包的版本是23.1-17,用于i386机器。注意,有时候rpm需要文件包参数(如emacs-23.1-17.i386.rpm),有时候仅需要包名就可以了(如emacs)。
操作 | rpm命令格式 |
检查包是否已安装 | rpm -q package_name |
安装包文件 | rpm -ivh package_file.rpm |
查看包 | rpm -qi package_name |
列出包的内容 | rpm -ql package_name |
查找已安装的文件属于哪个包 | rpm -qf /path/to/file |
更新已安装包 | rpm -Uvh package_file.rpm |
删除已安装包 | rpm -e package_name |
列出所有已安装包 | rpm -qa | less |
aptitude
aptitude [options] [packages]
aptitude是基于一个命令行的包管理器,用于管理Debian包(.deb)。一些旧的Debian包管理器,如:apt-get命令套件和dpkg至今依然被广泛使用。
操作 | 命令格式 |
查找包 | aptitude search package_name |
查找包是否已安装 | aptitude show package_name |
下载包但不安装 | aptitude download package_name |
下载包并安装 | aptitude install package_name |
安装包 | dpkg -i package_file.deb |
查看包 | aptitude show package_name |
列出包的安装路径 | dpkg -L package_name |
查找已安装的文件属于哪个包 | dpkg -S /path/to/file |
更新已安装的包 | aptitude safe-upgrade package_name |
删除已安装的包 | aptitude remove package_name |
列出所有已安装的包 |
aptitude search '~i' | less |
检查所有包是否有更新 | aptitude --simulate full-upgrade |
更新所有包 |
aptitude full-upgrade |
删除已安装包(包括配置文件) |
aptitude purge package_name |
tar.gz文件和tar.bz2文件
打包后的软件文件名后缀是.tar.gz或.tar.bz2,其中通常包含一些源代码,安装前需要编译。典型的指令如下:
列出包内容,每行一个文件。提取包文件后,要确保它不会覆盖系统中的原有文件:
$ tar tvzf package.tar.gz | less $ tar tvjf package.tar.bz2 | less
2. 如果可能的话,将提取的文件放到一个新文件夹中。出于安全考虑,最好不要使用root用户,而是你的用户身份运行该命令:
$ mkdir newdir $ cd newdir $ tar xvzf <path> package.tar.gz $ tar xvjf <path> package.tar.bz2
3. 查找提取出来的名为INSTALL或README的文件。阅读一下,看看怎么安装,比如:
$ cd newdir $ less INSTALL
4. 通常,INSTALL或README文件会让你运行当前目录下名为configure的脚本,然后运行make命令,接着是make install命令。可以使用下面的命令查看configure可以使用的选项:
$ ./configure --help
然后,开始安装软件:
$ ./configure options $ make $ su Password: ****** # make install