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

引言

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

文章目录

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

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

a)apt-get是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",如果系统目录空间紧张,可以使用下面的命令清除所有下载的安装包,这不会影响系统安装的这些软件
					qing@qingsword.com:~$ sudo apt-get clean

					#update更新了软件仓库列表后,可以使用下面的命令更新系统中所有安装的软件到最新版
					qing@qingsword.com:~$ sudo apt-get upgrade

					#删除我们刚才安装的uget
					qing@qingsword.com:~$ sudo apt-get remove uget

					#删除aria2并且不保留配置文件
					qing@qingsword.com:~$ sudo apt-get --purge remove aria2

					#清除已经删除了的软件的依赖包
					qing@qingsword.com:~$ sudo apt-get autoremove
					

第三方PPA安装演示:

					#所有第三方PPA在加入到官方源以前,都会提供如下这种安装方式,标准的三条命令

					#1.将第三方PPA源加入软件源列表
					qing@qingsword.com:~$ sudo apt-add-repository ppa:fcitx-team/nightly
					#2.更新软件源列表
					qing@qingsword.com:~$ sudo apt-get update
					#3.安装此PPA源提供的软件
					qing@qingsword.com:~$ sudo apt-get install fcitx
					

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 #安装后大小
					Depends: #依赖包列表

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

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

					#仅卸载,不删除配置文件
					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!