[ubuntu入门手册]-11-如何获取和安装软件

引言

​我们在Windows下想要完成某些操作,会去搜索一些提供了这些功能的软件;Linux下也是如此,Linux安装软件的方式大多是从命令行执行的,这篇文章以Ubuntu为例给大家介绍几种获取和安装软件的方法。

文章目录

0×1.使用apt-get安装软件

在实例演示之前,先简单的介绍一下apt-get:

a)apt-get是ubuntu终端下的一个指令,它可以让系统连接到互联网的软件仓库搜索、安装、升级、卸载软件,并且可以通过它来更新操作系统版本,我们可以将它看做终端模式的软件中心;我们可以通过:系统应用查找->软件更新器->设置->Ubuntu软件选项中的"下载自",在下拉列表中选择我们通过哪个软件仓库来下载软件。
b)除软件仓库外,我们还可以通过PPA(Personal Package Archives个人软件包档案),既第三方源下载安装软件,第三方源是Ubuntu Launchpad网站提供的一项源服务,允许个人或企业上传软件源代码,通过Launchpad发布为软件包,作为apt-get源供其他用户下载和更新。
c)由于Linux系统的目录结构以及文件系统与Windows系统有很大差别,apt-get安装的软件都遵从linux系统目录结构规范,根据软件作者的打包方式,将不同的文件分类复制和创建到不同的文件目录中,这和我们在windows下指定安装目录,将软件文件安装在一个文件夹中不同,稍后会介绍如何查看某个软件都释放到了系统的哪些目录中。

安装更新与卸载软件演示:

					#下载软件前,更新软件仓库列表,以保证我们获取的软件是最新的,软件仓库列表就像一个目录一样,我们只需要知道目录中软件的名称,就能够直接安装名称对应的软件(这一步不是必须的,但在添加了第三方源PPA之后,必须执行这一条命令,让系统更新软件仓库列表,这样我们就能安装新加入的PPA源中的软件了)
					qing@qingsword.com:~$ sudo apt-get update

					#测试安装uget(前端)以及aria2(后端)插件
					qing@qingsword.com:~$ sudo apt-get install uget aria2

					#关于前端和后端的解释:Linux下程序通常不需要作为一个整体,而是模块化,于是有了可选的前端和后端——这种情况下:前端可以搭配不同后端,后端也可以搭配不同前端。前端(界面,即你操作的部分),后端(执行,运行指令的部分)

					#查看uget安装到了哪些目录(任何软件都可以使用这种方法查看安装到了哪些目录)
					qing@qingsword.com:~$ dpkg -L uget

					#通过apt-get下载过的软件deb安装包所保存的目录为"/var/cache/apt/archives"(感兴趣的朋友可以通过ls命令查看下这个目录,其中包含了系统从安装到现在,你通过apt安装过的所有软件包deb文件),如果系统目录空间紧张,可以使用下面的命令清除所有下载的安装包,这不会影响系统已经安装的这些软件
					qing@qingsword.com:~$ sudo apt-get clean

					#update更新了软件仓库列表后,可以使用下面的命令更新系统中所有安装的软件到最新版,这条命令会去读取最新的软件包列表,比对系统当前安装的这些软件包的版本是否为最新版,如果不是,就执行覆盖更新操作
					qing@qingsword.com:~$ sudo apt-get upgrade

					#如果我们需要删除安装过的软件,使用命令"sudo apt-get remove [要删除的软件包名称]",使用uget为例,命令如下(如果大家还需要使用uget去下载软件,请不要执行这条命令)
					qing@qingsword.com:~$ sudo apt-get remove uget

					#删除安装过的软件并且不保留配置文件的命令是"sudo apt-get --purge remove [要删除的软件包名称]",使用aria2为例,命令如下(同上,aria2作为uget的后端程序,如果大家需要使用uget下载,请不要执行这条命令)
					qing@qingsword.com:~$ sudo apt-get --purge remove aria2

					#自动清除已经删除了的软件的依赖包,当我们删除一些软件包的时候,软件包安装过程中自动下载的一些依赖包不会被自动删除,可以使用下面的命令让系统自动的去清除这些已经用不到的依赖包
					qing@qingsword.com:~$ sudo apt-get autoremove
					

第三方PPA安装演示:

					#所有第三方PPA在加入到官方源以前,都会提供如下这种安装方式,标准的三条命令,以安装uget-integrator插件为例(Ps:下面三条命令只是为了演示PPA第三方安装的方法,如果不需要安装这些软件,就不要去执行它们)

					#1.将第三方PPA源加入软件源列表,这样我们就能通过apt去自动找到这些软件
					qing@qingsword.com:~$ sudo add-apt-repository ppa:uget-team/ppa
					#2.更新软件源列表
					qing@qingsword.com:~$ sudo apt-get update
					#3.安装此PPA源提供的软件
					qing@qingsword.com:~$ sudo apt install uget-integrator
					

0×2.使用deb包安装软件

目前,Ubuntu中使用的最多的软件打包方式就是deb,它类似Windows下的exe,apt-get实际是在软件源仓库中下载了deb安装包并自动安装,并且自动安装依赖软件包,而如果直接提供给我们一个deb安装包,可以使用dpkg命令来查看、安装和卸载。

					##使用搜狗输入法for linux举例
					#列出deb会释放到系统的哪些位置(deb包含的内容)
					qing@qingsword.com:~$ dpkg --contents sogoupinyin_2.0.0.0068_amd64.deb

					#查看此deb包信息
					qing@qingsword.com:~$ dpkg --info sogoupinyin_2.0.0.0068_amd64.deb
					....#有几个比较重要的信息如下
					Version: 2.0.0.0068 #版本
					Architecture: amd64 #架构 
					Installed-Size: 41350 #安装后大小(KB)
					Depends: #依赖包列表

					#安装
					qing@qingsword.com:~$ sudo dpkg -i sogoupinyin_2.0.0.0068_amd64.deb

					#使用apt去自动安装依赖包列表中的软件包
					qing@qingsword.com:~$ sudo apt install -f

					#安装后查看此软件都释放到了系统的哪些目录
					qing@qingsword.com:~$ dpkg -L sogoupinyin 

					##注意:下面两个步骤是删除操作,如果我们还在使用搜狗拼音输入法,请不要执行它们,这里只是教大家如何删除dpkg安装的软件包的方法
					
					#仅卸载,不删除配置文件
					qing@qingsword.com:~$ dpkg -r sogoupinyin

					#卸载并删除配置文件
					qing@qingsword.com:~$ dpkg -P sogoupinyin
					

0×3.使用软件中心安装软件

Ubuntu系统自带的软件中心提供了纯图形界面的安装方式,没有太多需要介绍的,唯一值得注意的是,软件中心中的软件版本一般都比较旧。

0×4.使用源码编译安装

有时候,我们在官方的软件仓库或第三方PPA中都找不到的软件,在一些代码托管网站上却实现了其部分功能,虽然有些还未完善并且存在bug,但我们如果想要尝试使用他们,就可能碰到源码的编译和安装。

下面是三个比较推荐的源码托管网站,最后一个是国产的:
Github官方网站
Sourceforge官方网站
Coding官方网站

我们从这些源码网站上获取对应软件的源代码,源代码中大多都包含了README文件,其中会有软件的安装方法,请按照对应项目提供的README文件中的安装方法安装这些软件,下面是安装这些软件的流程演示:

					#1.编译安装前,需要先安装编译所需组件,每个项目所需的编译组件可能都不相同
					qing@qingsword.com:~$ sudo apt-get install build-essential git

					#2.使用git命令从这些代码托管网站上下载软件源代码,以github举例
					qing@qingsword.com:~$ git clone git://github.com/用户自定义名称/软件源码目录名称.git

					#3.进入刚才下载的软件目录
					qing@qingsword.com:~$ cd 软件源码目录名称

					#4.使用文本查看器,查看目录中README文件内容,一般会有三种安装方式
					#4.1.第一种,别人打包好了deb,只需要去指定的页面下载deb包,使用下面的命令安装即可
					qing@qingsword.com:~$ sudo dpkg -i 软件名称.deb

					#4.2.第二种,使用源码编译,在源码目录中使用下面的命令安装
					qing@qingsword.com:~/src$ ./configure
					qing@qingsword.com:~/src$ make
					qing@qingsword.com:~/src$ sudo make install

					#4.3.第三种,自己打包成deb,然后安装,在源码目录中使用下面的命令
					qing@qingsword.com:~/src$ dpkg-checkbuilddeps <-列出编译依赖
					qing@qingsword.com:~/src$ sudo apt-get install <-复制粘贴:上一步列出的缺失的编译依赖到这里
					qing@qingsword.com:~/src$ dpkg-buildpackage  <-在上一级目录中生成deb包
					qing@qingsword.com:~/src$ cd ..
					qing@qingsword.com:~$ sudo dpkg -i 软件包名称.deb
					

对于上面任何命令行安装方式,如果出现包依存提示或错误,下面这条命令是万能的:

					#自动安装未安装的依存包
					qing@qingsword.com:~$ sudo apt-get -f install
					

对第三方和编译安装,我建议先在虚拟机中安装测试,再考虑是否安装到物理环境中。

看到这里,可能有些朋友会问:"我怎么知道想要安装的软件叫什么名字?",这就回到了Windows如何寻找软件的话题,我们如果想要视频播放器,就会经过各种途径去问:"在Ubuntu下面视频播放器有哪些?",之后就会得到这些软件的名称,这些软件要么是在官方的软件仓库中,要么是第三方PPA,要么是提供的deb安装包,要么是需要用源码编译的开发版,那么就可以用上面介绍的方法来安装,去寻找Windows在Ubuntu下替代软件的过程,也是我们学习与提高的过程,最后,Enjoy yourself!