【Ubuntu 16.04 使用日志】Linux下软件安装方法汇总
Linux系统中,软件通常以源代码或者预编译包的形式提供。
软件源代码需要您亲自编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定您需要的功能或组件,或者针对您的硬件平台作出优化。
预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以了。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。
Ubuntu系统中,软件通常以“deb”
格式的包文件发布,它是一种预编译软件包。deb
包中除了包含已编译的软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、一个比较通用的配置文件以及软件的描述、版本、作者、类别、占用空间等信息。
deb
软件包命令遵行如下约定:
soft_ver-rev_arch.deb
soft
为软件包名称,ver
为软件版本号,rev
为Ubuntu修订版本号,arch
为目标架构名称
例如:azureus_2.4.0.2-0ubuntu2_all.deb
您需要使用“dpkg”
命令来管理deb
软件包:
- dpkg -i | --install xxx.deb 安装deb软件包
- dpkg -r | --remove xxx.deb 删除软件包
- dpkg -r -P | --purge xxx.deb 连同配置文件一起删除
- dpkg -I | -info xxx.deb 查看软件包信息
- dpkg -L xxx.deb 查看文件拷贝详情
- dpkg -l 查看系统中已安装软件包信息
- dpkg-reconfigure xxx 重新配置软件包
有些时候,您使用“dpkg”
安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包
dpkg -i aaa.deb bbb.deb ccc.deb
APT
如果一个软件依赖关系过于复杂,使用“dpkg”
来安装它,并不是一个明智的选择,这个时候您就需要用到APT软件包管理系统。APT
可以自动的检查依赖关系,通过您预设的方式来获得相关软件包,并自动安装配置它。事实上,在多数情况下,我们推荐您使用APT软件包管理系统。
APT
系统需要一个软件信息数据库和至少一个存放着大量deb包的软件仓库,我们称之为“源”。“源”可以是网络服务器,安装CD或者本地软件仓库。您需要修改“/etc/apt/sources.list”
文件,使APT
系统能够连接到“源”。
您可以在该页面中获得网络安装源的列表,并且根据您的网络环境,选择速度较快的源。
APT
系统主要包括“apt-get”
和“apt-cache”
等命令。它们通常都是复合命令,包含若干个子命令。
apt-get install xxx
安装xxx
- -d 仅下载
- -f 强制安装
apt-get remove xxx 卸载xxx
apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
Tips:建议您经常使用“apt-get update”
命令来更新您的软件信息数据库
源码包
对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb
包的格式发布,或者您需要定制适合自己的软件,您可以通过编译源代码的方式安装它。
首先您需要下载软件的源码包,并且将它解包为一些源代码文件。并了便于管理,我们建议您将下载的源码包移动到“/usr/local/src/”
目录下,并在这里解包。
sudo mv xxx.tar.gz /usr/local/src 移动源码包
cd /usr/local/src 进入“/usr/local/src/”目录
sudo tar -xzvf xxx.tar.gz 解包源码
cd xxx_ver/ 进行解包后的源码目录
源码目录中通常有一个“configure”
脚本,用来配置即将开始的编译过程。您可以执行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
它会自动检测软件的编译环境和依赖关系,并且生成“Makefile”
文件。
您可以使用带参数的命令“./configure --help”
,或者阅读“INSTALL”
文件,查看该脚本允许的参数。例如使用“--prefix=/usr/local/xxx”
参数,将软件的安装目录设定为“/usr/local/xxx/”
。(如果您一定要将软件安装在一个目录下,我们建议您安装在这里)
现在执行“make”
命令,系统会根据“Makefile”
文件中的设定,通过“make”
工具调用编译器和所需资源文件,将源代码文件编译成目标文件。
sudo make
执行“make install”
命令,“make”
工具会自动将连接目标文件,将最终生成的文件拷贝到“Makefile”
文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。
sudo make install
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
LINUX软件包的一般安装方法
在LINUX的世界里,软件的安装主要的是有两种方式,一种是rpm
包,还有一种就是tar
包。对于这两种包,一般的安装方法是这样的:
1)rpm包的安装
安装rpm包时需要一个参数就是-i.也就是就是可以用这样的命令来安装:
rpm -i *.rpm
但是我们在安装时总是希望能看到一些信息,这时就可以用这样的命令:
rpm -ivh *.rpm
这时就会显示出软件包的安装进度以及安装中的信息等。
如果想要安装的软件包系统中已经存在而只需要升级安装一下的话可以这样来做:
rpm -U *.rpm
这样就会升级系统中已经存在软件包了。
而御载一个已安装的软件包的命令是这样的:
rpm -e packagename
要想列出系统已经安装的rpm包的清单可以输入下面的命令:
rpm -qa
但是此时列出的清单会是很长的,而我们所需要的只是其中的一个,这时我们可以用下列的命令来达到我们的目的:
rpm -qa |grep -i 'name'
在软件包的安装过程中我们有可能用到的参数如下:
- --force 强行安装
- -v 用符号“#”来显示安装进度
- --percent 用百分比来显示安装进度
- -nodeps 忽视已丢失的依赖性文件强行进行安装
- -test 这个参数并不进行实际的安装,而只是检查软件包能否成功安装
- -v 告诉RPM报告每一步的情况
2) tar包
tar
包有两种格式,一种是.tar.gz
,另一种就是tar.bz2
.这两种包的安装方法一般是这样的:
解压:这两种包要有用两个不同的命令来解包,分别是:
tar -xzvf *.tar.gz
tar -xvjf *.tar.bz2
解压以后进入解压出来的目录,看一下里面的东西,一般而言这样的包里会有README
文件的,打开看一下的他的安装方法。一般来说这样的包安装一般是下面的步骤:
make
make install
这样就会将软件包安装上了。
3)二进制文件
除了这样的安装方法,还有的软件是以可执行的二进制的文件的形式给出的。这时只要执行这个二进制文件就可以将这个软件安装上的。
4)软件包安装和更新
在Debian中采用的软件包管理机制是与众不同的,在这里可以使用世界各地的镜像站点进行软件包安装和更新,方法一般来说是这样的:
配置镜像站点:vi /etc/apt/source.list
在这个文件里加入你所使用的镜像站点。然后执行apt-get update
,这样就会连接站点读取软件包的信息,然后执行apt-get upgrade
,这样就可以进行升级了。或者是执行apt-get install pakeagename
,这样就可以安装你想要的软件包了。