Ubuntu 安装软件(一)

常见安装方式

  • apt-get安装
  • dpkg安装
  • 编译安装

apt安装

通常我们使用apt安装软件可能出现的步骤(通常我们只需要执行最后一句):
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xxx
下面我会解释一下这几句命令的意思

apt-get update

这句命令做了什么呢?

这句命令会去扫描**/etc/apt/sources.list**,并根据这个文件中的软件源服务器配置去扫描每个服务器,寻找每个服务器list中Packages/Sources/Release列表文件,如果发现有更新则下载之,然后为这些需要更新的软件包资源建立或更新索引文件,这些索引文件会保存在**/var/lib/apt/lists**文件夹下。apt-get安装软件的命令都是根据这些索引去寻找软件包资源的。

  • 这句命令在我们安装软件的时候不是一定要运行的,但是我们安装软件的时候有时会发现安装的软件版本太低或者找不到软件,这个时候我们可以使用这个命令更新软件索引。
  • 当然,安装有些软件的时候我们需要先配置软件源,然后执行apt-get update
配置软件源

通常来说由于长城防火墙的缘故,我们在安装部分软件的时候会很慢,所以需要使用国内的镜像源,这个时候我们就需要更新软件源了,无论用什么方式更新软件源,实际上都是在更新**/etc/apt/sources.list**文件,格式大概如下:

deb http://mirrors.163.com/ubuntu/ trusty main restricted
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted

这里我故意提供了两个例子,是因为软件源的配置都遵循:

deb/deb-src [ options ] uri suite [component1] [component2] [...]
  • 第一个字段只有两种可能: debdeb-srcdeb表示指向的是binary(二进制预编译软件包) 格式软件,deb-src表示指向的是sources(用于编译二进制软件包的源代码) 格式软件。
  • uri 指的就是软件套件来源路径,这里不一定是链接,也可以是系统文件路径或者CD-ROM之类,uri主要为file 、 cd-rom 、 http 、 ftp 、copy 、rsh 、ssh 等类型参数,最常见的是网络远程路径(http/https/ftp)。
  • suite是访问到uri链接路径下dists目录的linux发行版的套件名称目录(每个发行版对应的名称各不相同,ubuntu14.04为trusty),而后面跟的参数则是suite目录下的组件库目录。

deb http://mirrors.163.com/ubuntu/ trusty main restricted来说,指向的是http://mirrors.163.com/ubuntu/dists/trusty/main/http://mirrors.163.com/ubuntu/dists/trusty/restricted/目录下的二进制格式软件。

apt-get upgrade

从上面的解释上看,单纯的执行apt-get update并不能达到更新软件的作用,它只是扫描所有软件源并更新软件包索引。真正的更新需要通过其他命令,apt-get upgrade会将系统中的所有软件包一次性升级到最新版本。具体步骤:

  • 根据apt-get update所产生的软件包索引分析本地软件是否需要升级,并建立依赖关系,分析出需要更新的软件包列表。
  • 依据上一步所产生的更新列表,从网上下载所需更新(其实这一步用的就是apt-get install)。

apt-get install

我们用apt-get install的时候,实际上是从/var/lib/apt/lists中扫描的得到该软件的最新版本地址,并通过该地址下载该软件包,软件包将会被保存在临时文件夹**/var/cache/apt/archives**下,最后开始安装该软件。

dpkg安装

区别于apt安装方式, dpkg只是用来安装本地软件包(deb包),但不解决模块的依赖关系。而apt是从网络服务器下载并安装软件包的,它会解决依赖关系。

安装命令
dpkg -i package.deb

dpkg的一些其他操作命令:

dpkg -r package				#删除软件
dpkg -P package         	#删除软件(连同软件配置一起删除)
dpkg -L package				#列出与该包关联的文件
dpkg -l packag				#显示该包的版本
dpkg -l						#列出当前已安装的包
dpkg -S keyword				#搜索所属的包内容
dpkg -c package.deb			#列出deb包的内容
dpkg --configure package	#配置软件包
dpkg --unpack package.deb	#解开deb包的内容

dpkg软件包相关文件如下:

/etc/dpkg/dpkg.cfg 			#dpkg包管理软件的配置文件
/var/log/dpkg.log 			#dpkg包管理软件的日志文件
/var/lib/dpkg/available 	#存放系统所有安装过的软件包信息
/var/lib/dpkg/status 		#存放系统现在所有安装软件的状态信息
/var/lib/dpkg/info 			#记安装软件包控制目录的控制信息文件

由于dpkg的安装方式不会解决依赖的问题,所以经常会出现安装过程中依赖未安装的情况,可以通过

sudo apt install -f			#apt相较于apt-get更新,两者目前兼容

来修复依赖。


编译安装方式传送门

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值