【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 ...
随机推荐
- GCD使用汇总
本文目录 dispatch_queue_t.dispatch_block_t dispatch_sync.dispatch_async dispatch_set_target_queue.dispat ...
- ajax知识点总结
一.JSON JSON是JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...
- poj_2104: K-th Number 【主席树】
题目链接 学习了一下主席树,感觉具体算法思路不大好讲.. 大概是先建个空线段树,然后类似于递推,每一个都在前一个"历史版本"的基础上建立一个新的"历史版本",每 ...
- python之基本内容
这里提供在使用python进行开发中常使用到的方法技巧,如有不对欢迎批评指正. 要点:开发中类.变量特性查询,类型就是类,断言的使用,深浅复制判断等 python脚本文件是使用UTF-8编码的,所以在 ...
- (转)Java多线程之Lock的使用 (待整理)
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...
- HDOJ2012-素数判定
Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数. I ...
- [COGS 1752] 摩基亚Mokia
照例先上题面 1752. [BOI2007]摩基亚Mokia 输入文件:mokia.in 输出文件:mokia.out 时间限制:1.5 s 内存限制:128 MB [题目描述] 摩尔瓦多的移 ...
- FaceRank-人脸打分基于 TensorFlow 的 CNN 模型
FaceRank-人脸打分基于 TensorFlow 的 CNN 模型 隐私 因为隐私问题,训练图片集并不提供,稍微可能会放一些卡通图片. 数据集 130张 128*128 张网络图片,图片名: 1- ...
- akoj-1059-Picture
Description 给你一个矩形的宽度和高度,要求按sample output样例输出此矩形. Input 输入包含多组数据,每一组包含两个数N和M( 0 < N ,M , < 75 ...
- Vue.js安装
环境 操作系统:window7 虚拟机:centos7 vue.js: 2.8 安装nodejs 参考我得文章: http://blog.csdn.net/u013066244/article/det ...