emm嵌入式事件管理器_linux软件包管理

一.命令终端(terminal)

常用操作:

ctrl +shift +t,在终端上打开多个标签

ctrl +alt +t,在终端上打开另外一个终端

 

二.deb软件包管理

1.

Debian 软件包的管理机制 Deb软件包

redhat Linux提出的软件包管理机制—Rpm软件包

2.

为什么用软件包管理?

之前的阶段,linux没有考虑到系统中软件包间复杂的依赖关系,导致用户有很多麻烦。

怎么解决?

Debian linux开发出了apt软件包管理器

(1)检查修复软件包依赖关系

(2)利用internet 网络帮助用户主动获取软件包

软件包类型:二进制软件包和源码包

3.

软件包的命名:

emm嵌入式事件管理器_emm嵌入式事件管理器_02

4.

常见的软件包管理工具

命令行(dpkg-deb dpkg apt)

文本窗口界面(dselect aptitude tasksel)

图形界面(synaptic)

5.

dpkg 命令

dpkg -i <package>安装一个在本地文件系统存在的debian软件包(已经下载下来的)
dpkg -r … //移除一个已经安装的软件包
dekg -P ..//移除已经安装软件包及配置文件
dpkg -L ..//列出安装的软件包清单
dpkg -s .. //显示软件包的安装状态

 

例:sudo dpkg -i rxvt_.....i386.deb //安装

rxvt(包名称) 来查看安装情况。

或者使用dpkg -s 包名

 

dpkg和apt都是命令行包管理工具,区别:(依赖性和网络)

dpkg没有考虑软件包依赖,例如在安装gcc,安装gcc之前还要安装它的依赖文件

(适合没有网络的时候,离线安装),所有软件都要提前下载好

apt 在线安装,直接安装。

 

6.

apt工作原理

ubuntu 采用了集中式的软件仓库机制

通俗的说就是建立了很多个服务器,每个服务器放了很多个软件,每个服务器可以称为软件源,利用软件源配置文件/etc/apt/sources.list列出最合适的站点。

遍历每一个服务器得到最合适的软件效率低,所以为这些软件资源列清单(建立索引)

来方便本地主机查询。(软件源 sources.list站点位置 建立索引 最终得到合适的软件)这个就是apt的原理。

/etc/apt/sources.list //放置了很多的网站地址,可编辑添加软件源(比如说阿里,腾讯啊等服务器软件源比较全比较稳定可以添加进入list,并为软件包资源建立索引文件(apt-get update),默认存放在本地的/var/lib/apt/lists目录中)

软件源从开源程度划分四类:

核心(main):官方维护开源软件

公共(universe):社区维护的开源软件

受限(restricted):官方维护的非开源软件

多元化(multiverse):非ubuntu官方维护的非开源软件

 

软件管理相关命令:

 

emm嵌入式事件管理器_开源软件_03

修复软件包依赖关系(优点)

apt-get check //检查软件包依赖关系
apt-get -f install //修复包依赖关系
 
sudo apt-get install rxvt//安装rxvt软件和上面的离线方式最终结果是一样的。

 

 

apt-get install //下载软件内部执行大体分为四步

  1. 扫描本地存放的软件包更新列表
  2. 进行软件包依赖关系检查
  3. 从软件源所指向的镜像站点中,下载相关软件包
  4. 解压软件包,并自动完成应用程序的安装和配置。

 

sudo apt-get –reinstall install //重新安装(软件升级,重装)

不完全卸载

sudo apt -get remove

完全卸载(文件及配置文件)

sudo apt-get –purge remove

 

清除软件包缓冲区的文件(/var/cache/apt/archives/)

sudo apt-get clean

 

按照依赖关系清理缓冲区软件包(保留最新,删除多余)

sudo apt-apt autoclean

 

7.查询软件包信息

emm嵌入式事件管理器_开源软件_04

常用

apt-cache show  gcc//获取指定软件包详细信息(安装状态,优先级,架构,版本等)
apt-cache policy rxvt //查询rxvt软件包安装状态。
apt-cche depends gcc //专门查看依赖的信息