【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进行半屏\全屏的切换
【Ubuntu 16】DEB软件包管理的更多相关文章
- ubuntu系统的软件包管理工具
ubuntu系统的软件包管理工具有两种,一种是离线管理,另一种是在线管理 1.离线管理 dpkg工具可以对本地存放的deb安装包进行安装,卸载,查看状态等. dpkg -i app_name_vers ...
- Ubuntu下Deb软件包相关安装与卸载
安装deb软件包 sudo dpkg -i xxx.deb 删除软件包 sudo dpkg -r xxx.deb 连同配置文件一起删除 sudo dpkg -r --purge xxx.deb 查看软 ...
- ubuntu 安装 deb 软件包
参考链接地址 blog.csdn.net/kevinhg/article/details/5934462 sudo dpkg -i xxxx.deb 安装一个 Debian 软件包,如你手动下载的文件
- ubuntu 命令行软件包管理
安装软件包 apt-get install vim 卸载 apt-get remove/autoremove vim autoremove 会顺便卸载未使用,未被依赖的软件包 查询或者搜索软件包:: ...
- 【Ubuntu 16】显示管理器lightdm
lightdm是一个全新的轻量级的显示管理器,在Ubuntu16.04上面已经使用. 从图形界面进入到命令行界面 systemctl disable lightdm.service 从命令行进入到图形 ...
- Ubuntu安装deb软件包错误(依赖关系问题)解决
执行命令 sudo dpkg -i XXX.deb 返回依赖关系错误提示 执行 sudo apt-get -f install 这条命令将自动安装需要的依赖包. 再次执行命令 sudo dpkg -i ...
- Ubuntu 16 PPA源管理(查询、添加、修改、删除)
查询 在Ubuntu中,每个PPA源是单独存放在/etc/apt/sources.list.d/文件夹中的,进入到该文件夹,使用ls命令查询即可列出当前系统添加的PPA源. 添加 sudo add-a ...
- liunx 平台下软件包管理
RPM/DPKG 两大阵营简介 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行 ...
- 【Linux基础】Linux下软件包管理(rpm-deb-yast-yum)
软件包管理是指系统中一种安装和维护软件的方法.通常软件以包的形式存储在仓库(repository)中,能满足许多人所有需要的软件. 在GNU/Linux(以下简称Linux)操作系统中,RPM和DPK ...
随机推荐
- 基于pytorch实现word2vec
一.介绍 word2vec是Google于2013年推出的开源的获取词向量word2vec的工具包.它包括了一组用于word embedding的模型,这些模型通常都是用浅层(两层)神经网络训练词向量 ...
- KMP算法(研究总结,字符串)
KMP算法(研究总结,字符串) 前段时间学习KMP算法,感觉有些复杂,不过好歹是弄懂啦,简单地记录一下,方便以后自己回忆. 引入 首先我们来看一个例子,现在有两个字符串A和B,问你在A中是否有B,有几 ...
- Luogu 2756 飞行员配对方案问题(二分图最大匹配)
Luogu 2756 飞行员配对方案问题(二分图最大匹配) Description 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞 ...
- Android后门GhostCtrl,完美控制设备任意权限并窃取用户数据
Android系统似乎已经成为世界各地病毒作者的首选目标,每天都有新的恶意软件在感染更多的设备. 这一次,安全公司趋势科技发布警告,他们发现了一个新的Android后门--GhostCtrl Ghos ...
- 20170721_python字符串操作_《python语言及其应用》
str = 'abcde...wxyz' [num]提取指定字符 str[0] == 'a' str[1] == 'b' str[-1] == 'z' [start:end:step]分片/切片,一定 ...
- bzoj1012: [JSOI2008]最大数maxnumber [单调队列]
Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...
- 提交到APPStore出现ERROR ITMS-90474
解决的方案是:在工程的targets--->General----->Develoment Info ------->Status BarStyle
- 史上最易懂——ReactNative分组列表SectionList使用详情及示例详解
React Native系列 <逻辑性最强的React Native环境搭建与调试> <ReactNative开发工具有这一篇足矣> <解决React Native un ...
- linux c++如何学习
最近有人问我,linux c++工资这么高,怎么学习才能入门,只要有个项目经验能进入一个公司即可. 然后我就说了linux c++开发的整个流程,然后用项目作为目标进行学习,这其实是一种以目的为主导的 ...
- dubbo-zookeeper(续)
本篇为继上一篇的续篇,主要内容分为以下几点: 1.zookeeper集群 2.web管理平台 3.dubbo配置说明 接下来我们开始继续吧. 一.zookeeper集群 顾名思义也就是多台zookee ...