【Ubuntu 16】DEB软件包管理

一、背景介绍

开源软件最早的时候没有软件包和软件包管理器,用户只能下载源码包自行配置 编译 安装。
后来linux各发行版本推出了软件包格式和软件包管理程序
Red Hat、Centos使用RPM格式,Debian、Ubuntu使用DEB格式
Deb包的命名格式 package_ver-rev_arch.deb package包名 ver版本 rev修订版本 arch软件包对应硬件平台如amd64、i386
由于开源软件分散开发和相互继承的特点,DEB包之间存在着Depends(存在依赖)、Conflicts(存在冲突)、Recommends(建议安装)这三种依赖关系
Ubuntu还支持最新的软件包安装方式SNAP软件包,这种是Ubuntu未来的软件包格式,采用.snap作为拓展名,目前与DEB方式共存

二、管理要点

软件包管理程序分为前端程序(图形化界面工具)和后端程序(命令行)
多数Ubuntu应用程序不止一个DEB软件包组成,安装这些应用时,由软件包管理工具计算依赖关系后从软件仓库下载安装。
需要注意Ubuntu和Debian都使用DEB包软件,但它们的软件仓库并不兼容,Ubuntu和其非官方衍生版本也不通用,即使同是Ubuntu发行版,也需要注意硬件架构。
最新的SNAP不存在依赖关系的问题,但仓库中应用太少。
还有一个软件仓库叫PPA(Personal Package Archives) 个人软件仓库,可以作为官方仓库的扩展
add-apt-repository添加PPA软件仓库,成功添加后需要更新本地软件仓库列表。

三、后端自动化软件包管理工具

1.使用apt-cache apt-get
安装一个软件之前,需要知道默认的软件仓库中有没有这个软件,则会用到软件包查找工具apt-cache和apt-file,apt-cache工具在软件包的描述等信息中搜索指定的关键字,其具体使用格式
搜索软件包是否存在远程仓库
  $ sudo apt-cache search keyword
安装软件包
  $ sudo apt-get install package_name
重新安装
  $ sudo apt-get --reinstall install package_name
删除软件包
  $ sudo apt-get remove package_name
删除软件包及配置文件
  $ sudo apt-get --purge remove package_name
仅同步更新软件列表
  $ sudo apt-get update
根据软件列表更新软件本身
  $ sudo apt-get upgrade
更新系统关键软件
  $ sudo apt-get dist-upgrade
2.使用aptitude
安装aptitude
  sudo apt-get install -y aptitude
命令行启动aptitude界面
搜索软件包
  sudo aptitude search package_name
安装软件包
  sudo aptitude install package_name
删除软件包
  sudo aptitude remove package_name
彻底删除软件包
  sudo aptitude purge package_name
更新软件列表
  sudo aptitude update
更新软件包
  sudo aptitude upgrade

四、虚拟终端 Guake

虚拟终端方面,有一个背景透明界面美观的虚拟终端Guake

sudo apt-get install -y guake

安装后,在bash可以直接调用或者按下F12启用隐藏guake,F11进行半屏全屏的切换

原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804583.html