ubuntu包管理命令apt和dpkg的用法
apt-get命令:
apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。apt-get在安装包的时候是根据/etc/apt/sources.list文件中指定的源来寻找的安装包,你可以根据自己的需要对这个文件进行修改。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
- sudo apt-get install package 安装包
- sudo apt-get install package - - reinstall 重新安装包
- sudo apt-get -f install 修复安装"-f = ——fix-missing"
- sudo apt-get remove package 删除包
- sudo apt-get remove package - - purge 删除包,包括删除配置文件等
- sudo apt-get autoremove package 删除包及其依赖的软件包
- sudo apt-get update 更新源
- sudo apt-get upgrade 更新已安装的包
- sudo apt-get dist-upgrade 升级系统
- sudo apt-get dselect-upgrade 使用 dselect 升级
- sudo apt-get build-dep package 安装相关的编译环境
- sudo apt-get source package 下载该包的源代码
- sudo apt-get clean && sudo apt-get autoclean 清理无用的包
- sudo apt-get check 检查是否有损坏的依赖
apt-get
包含的常用的一些工具:
工具 | 说明 |
---|---|
install |
其后加上软件包名,用于安装一个软件包 |
update |
从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表 |
upgrade |
升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update |
dist-upgrade |
解决依赖关系并升级(存在一定危险性) |
remove |
移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件 |
autoremove |
移除之前被其他软件包依赖,但现在不再被使用的软件包 |
purge |
与remove相同,但会完全移除软件包,包含其配置文件 |
clean |
移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/ |
autoclean |
移除已安装的软件的旧版本软件包 |
apt-get
常用的参数:
参数 | 说明 |
---|---|
-y |
自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用 |
-s |
模拟安装 |
-q |
静默安装方式,指定多个q 或者-q=# ,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用 |
-f |
修复损坏的依赖关系 |
-d |
只下载不安装 |
--reinstall |
重新安装已经安装但可能存在问题的软件包 |
--install-suggests |
同时安装APT给出的建议安装的软件包 |
apt-cache命令:
apt-cache主要用于搜索包。
- sudo apt-cache search package 搜索包
- sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
- sudo apt-cache showpkg package 显示软件包信息,包括包的依赖关系,包的提供者,
- sudo apt-cache pkgnames 打印软件包列表中所有包的名字
- sudo apt-cache dumpavail 打印软件包列表中所有包的简介信息
- sudo apt-cache depends package 了解使用依赖
- sudo apt-cache rdepends package 是查看该包被哪些包依赖
dpkg命令:
dpkg是Debian系统的后台包管理器,类似RPM。也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包。由于ubuntu和Debian乃一脉相承,所以很多命令是不分彼此的。
Ubuntu中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.不同后缀名代表不同类型的文件,如:
.conffiles 记录了软件包的配置文件列表。
.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置。
.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的。
.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成。
.postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动。
/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包。
命令:
- dpkg –l | grep package 查询deb包的详细信息,没有指定包则显示全部已安装包
- dpkg -s package 查看已经安装的指定软件包的详细信息
- dpkg -L package 列出一个包安装的所有文件清单
- dpkg -S file 查看系统中的某个文件属于哪个软件包,搜索已安装的软件包
- dpkg -i 安装指定deb包
- dpkg -R 后面加上目录名,用于安装该目录下的所有deb安装包
- dpkg -r remove,移除某个已安装的软件包
- dpkg -P 彻底的卸载,包括软件的配置文件
- dpkg -c 查询deb包文件中所包含的文件
- dpkg -L 查看系统中安装包的的详细清单,同时执行 -c
ubuntu包管理命令apt和dpkg的用法的更多相关文章
- Ubuntu包管理命令 dpkg、apt和aptitude
起初GNU/Linux系统中仅仅有.tar.gz.用户 必须自己编译他们想使用的每个程序.在Debian出现之後,人们觉得有必要在系统 中加入一种机 制用来管理 安装在计算机上的软件包.人们将这套系统 ...
- 笔记-Linux包管理命令
一.apt, apt-get, dpkg命令 apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统.使用apt-ge ...
- Linux各主要发行版的包管理命令对照
Linux各主要发行版的包管理命令对照 Debian使用的是apt和dpkg,Gentoo则用的是emerge,Redhat的yum.Suse的zypper.Arch的pacman.Slackware ...
- ubuntu包管理机制
1 ubuntu包管理机制 跟大家分享一下ubuntu的软件管理机制.如果你们有过: apt-get install 或者 apt-get update 失败的经历. 在众多的apt命令中迷失. 疑惑 ...
- visual studio NuGet 常用包管理命令
visual studio NuGet 常用包管理命令 查找包 Find-Package [包名] Find-Package [包名] -AllVersions 安装包 Install-Package ...
- Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]
0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...
- ubuntu软件管理工具的使用——dpkg和apt
deb.rpm.tar.gz三种Linux软件包的区别在哪里呢,这种区别可能使安装进行不下去,那么我们应该下载什么格式的包呢?下面具体讲解一下. rpm包是在Redhat.Suse和Fedora可以直 ...
- 常用包管理三类工具:dpkg、apt和aptitude
常用的包管理包含三类工具:dpkg.apt和aptitude.人们总是对前面的两个工具用得比较多,而对 aptitude 用得比较少,事实上 aptitude 是很强大的. 在这里,对这三个工具做一点 ...
- ubuntu包管理
查看某个文件属于哪个包dpkg -S add-apt-repository 包名software-properties-common命令名/usr/bin/add-apt-repository/usr ...
随机推荐
- POJ2975:Nim(Nim博弈)
Nim Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7279 Accepted: 3455 题目链接:http://p ...
- python练习1--用户登入
python版本为python3.51.要求 1)输入用户名密码 2)认证成功后显示欢迎信息 3)输错三次后锁定 2.需求分析 1)用户信息存储在文件中(login/config/user_login ...
- [Java多线程]-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- ThinkPHP+Memcache的缓存方案总结
简介: ThinkPHP用S()方法可以缓存数据,这在访问数据库时非常有用,可以在有限时间内当数据库无变化时从缓存取数据,有变化时从数据库取数据. Memcached+Memcache是一个将数据保存 ...
- [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...
- 分享 koa + mysql 的开发流程,构建 node server端,一次搭建个人博客
前言 由于一直在用 vue 写业务,为了熟悉下 react 开发模式,所以选择了 react.数据库一开始用的是 mongodb,后来换成 mysql 了,一套下来感觉 mysql 也挺好上手的.re ...
- centos 7 pdo
在windows本机上测试好的Thinkphp5代码部署到centos7阿里云主机上面就提示class pdo not found,网上搜索了一大堆终于解决了.不过隔了这么几个小时详细的步骤就有些忘记 ...
- 面向对象 ( OO ) 的程序设计——继承
本文地址:http://www.cnblogs.com/veinyin/p/7608282.html 仅支持实现继承,且主要依靠原型链来实现,不过一般会混合构造函数一起实现继承 1 原型链 继承使用 ...
- 51Nod - 1127 最短的包含字符串
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度.如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution. Inp ...
- 【leetcode 简单】 第五十三题 删除重复的电子邮箱
编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+------------------+ | Id | Email | +-- ...