关于Ubuntu下apt的一些用法及和yum的比较
Fedora和Red Hat有yum安装软件,Ubuntu有apt工具。
apt简单的来说,就是给Ubuntu安装软件的一种命令方式。
一、apt的相关文件
| /etc/apt/sources.list | 设置软件包的获取来源 |
| /etc/apt/apt.conf | apt配置文件 |
| /etc/apt/apt.conf.d/ | apt的零碎配置文件 |
| /etc/apt/preferences | 版本参数 |
| /var/cache/apt/archives/ | 存放已经下载的软件包 |
| /var/cache/apt/archives/partial | 存放正在下载的软件包 |
| /var/lib/apt/lists/ | 存放已经下载的软件包详细信息 |
| /var/lib/apt/lists/partial/ | 存放正在下载的软件包详细信息 |
二、apt-get命令的子命令
| update | 更新软件包列表 |
| upgrade | 升级系统中的所有软件包 |
| install | 安装软件包 |
| remove | 卸载软件包 |
| autoremove | 仅删除不需要再次下载的软件包 |
| purge | 彻底删除软件包(包括配置文件) |
| source | 下载源代码 |
| build-dep | 自动下载安装编译某个软件所需要的软件包 |
| dist-upgrade | 升级整个发行版 |
| dselect-upgrade | 安装dselect的选择进行升级 |
| clean | 删除本地缓存的所有升级包 |
| autoclean | 删除本地缓存中无用的软件包 |
| check | 检查是否存在有问题的依赖关系 |
| 例:$ sudo apt-get install php5-mysql apache2
$ sudo apt-get update && sudo apt-get upgrade |
|
三、apt-get命令选项
| -d,--download-only | 仅下载,不安装 |
| -f,--fix-broken | 修复依赖问题(用于install和remove子命令) |
| -m,--ignore-missing,--fix-missing | 忽略缺失的软件包。遇到无法下载的软件包,自动忽略 |
| --no-download | 禁止下载软件包。与-m配合,可以使apt只使用已经下载的软件包 |
| -q,--quiet | 静默模式,输出的信息适合做日志 |
| -s,--simulate,--just-print | 模拟测试,不做出实际操作,不改变系统 |
| -y,--yes,--assume-yes | 在系统提问时,自动应答yes |
| -u,--show-upgraded | 显示已升级的软件包 |
| -V,--verbose-versions | 显示已安装和已升级的软件包的完整版本号 |
| -b,--compile,--build | 在源码包下载完成后进行编译 |
| --ignore-hold | 忽略被保留的软件包 |
| --no-upgrade | 不要升级软件包 |
| --force-yes | 强制回答yes |
| --print-uris | 仅答应软件包地址,不安装 |
| --purge | 彻底删除,包括配置文件 |
| --reinstall | 重新安装软件包 |
四、apt-cache命令
| 功能:搜索某个软件包的名字或显示某个软件包的详细信息 | |
| 搜索mysql的软件包 | $ apt-cache search mysql |
| 查看ssh软件包的详细版本号 | $ apt-cache show ssh |
五、Red Hat、Fedora和Ubuntu软件包操作对比
| 任务 | Red Hat、Fedora | Ubuntu |
| 基本信息 | ||
| 软件包后缀 | *.rpm | *.deb |
| 软件源配置文件 | /etc/yum.conf | /etc/apt/sources.list |
| 安装、删除、升级软件包 | ||
| 更新软件包列表 | 每次运行yum时自动执行 | apt-get update |
| 从软件仓库软件安装软件 | yum install package | apt-get install package |
| 安装一个已下载的软件包 | yum install pkg.rpm
rpm -i pkg.rpm |
dpkg -i pkg.deb
pkg --install pkg.deb |
| 删除软件包 | rpm -e package | apt-get remove package |
| 软件包升级检查/测试 | yum check-update | apt-get -s upgrade
apt-get -s dist-upgrade |
| 升级软件包 | yum update
rpm -Uvh [args] |
apt-get upgrade |
| 升级整个系统 | yum upgrade | apt-get dist-upgrade |
| 软件包信息 | ||
| 获取某软件包的信息 | yum search package | apt-cache show package |
| 获取所有软件包的信息 | yum list available | apt-cache dumpavail |
| 显示所有已安装的软件 | yum list installed
rpm -qa |
dpkg -l
dpkg --list |
| 获取某个已安装软件包的信息 | yum info package
rpm -qi package |
dpkg --status package |
| 列出某个已安装软件包所包含的文件列表 | rpm -ql package | |
| 列出某个已安装软件包所包含的文档 | rpm -qd package | 无 |
| 列出某个已安装软件包所包含的配置文件 | rpm -qc package | 无 |
| 显示某个软件包所依赖的软件包列表 | rpm -qR package | apt-cache depends package |
| 显示某个软件包的反向依赖关系 | rpm -q -whatrequires [args] | apt-cache rdepends package |
| 软件包文件信息 | ||
| 获取某个软件包文件的信息 | rpm -qpi pkg.rpm | dpkg --info pkg.deb |
| 获取某个软件包文件所包含的文件列表 | rpm -qpl pkg.rpm | dpkg --contents pkg.deb |
| 获取某个软件包文件所包含的文档 | rpm -qpd pkg.rpm | 无 |
| 获取某个软件包文件所包含的配置文件 | rpm -qpc pkg.rpm | 无 |
| 软件包解压 | rpm2cpio pkg.rpm | cpio -vid | dpkg-deb --extract pkg.deb |
| 搜索某个文件是由哪个软件包安装的 | rpm -qf /file/name | dpkg -S /file/name
dpkg --search /file/name |
| 搜索所有提供某个文件的软件包 | yum provides /file/name | apt-file search /file/name |
| 杂项 | ||
| 显示本地软件包缓存的状态 | 无 | apt-cache stats |
| 校验所有已安装的软件包 | rpm -Va | debsums |
| 删除本地缓存的所有软件包 | yum clean packages | apt-get clean |
| 仅删除本地缓存中过时的软件包 | 无 | apt-get autoclean |
| 删除所有软件包信息 | yum clean headers | apt-file purge |
关于Ubuntu下apt的一些用法及和yum的比较的更多相关文章
- ubuntu 下 apt /apt-get command not found 命令找不到
简介:apt 命令在ubuntu下找不到.(针对云平台,等可联网的ubuntu 如果是虚拟机,请确认能否联网 (如是虚拟机且不能联网请参考其他文章,大致方向是先挂载系统镜像再安装)) (ps:一般的 ...
- Ubuntu下crontab命令的用法
cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效,但其他系统应该也差不多. 想要让cron执行你指定的任务 ...
- Ubuntu下apt方式安装与更新Git
本人使用的系统 Ubuntu 18.04.1 ,使用apt安装Git: sudo apt insatll git 安装后发现不是最新的版本,更新方法: sudo add-apt-repository ...
- Ubuntu下,grep的用法
grep(Global search Regular Expression and Print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.U ...
- 转载:ubuntu 下的dpkg 的用法
dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...
- ubuntu下,apt的参数使用,很实用呦
ubuntu下apt-get 命令参数 常用的APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版 ...
- 转:关于rename命令ubuntu下的用法
下面是我的遭遇:上午想批量改几个文件的名字,觉得mv在批量方面不够方便,百度到了rename这个命令,原谅我吧,我总是在百度不到结果时才去看google,以后还是少去百度的好国内很多贴子都在说linu ...
- 2010-01-20 12:09 ubuntu下minicom的安装及使用
转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...
- Ubuntu下使用UFW配置防火墙(简化iptables的操作)
UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则. 但是,UFW是 ...
随机推荐
- CSS BFC(Block Formatting Context)
BFC是 W3C CSS 2.1 规范中的一个概念Block Formatting Context的缩写即格式化上下文,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.简单讲,它是提 ...
- 【第三篇】学习 android 事件总线androidEventbus之list数据事件的传递,发送list数据事件到另外一个Activity
这个和普通的事件总线的发送接收一样. package com.example.mysimpleeventbus; import java.util.ArrayList; import java.uti ...
- Python实战:爬虫的基础
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...
- 解决Xcode 9.2系统真机测试时出现 could not find developer disk image问题
解决Xcode在ipad/iphone 9.2 系统真机测试时出现could not find developer disk image问题 第一种方法:拷贝这个文件(http://download. ...
- crontab如何设置秒级别的定时【转载】
* * * * * date > /home/gamester88/test/nihao.txt * * * * * (sleep 10 && date >> /ho ...
- /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序
1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 ...
- MySQL的数据类型【总结】
1.时间类型 MySQL的DateTime,TimeStamp,Date和Time数据类型. DATETIME类型用在你需要同时包含日期和时间信息的值时.MySQL检索并且以'YYYY-MM-DD H ...
- SQL添加表字段以及SQL查询表,表的所有字段名
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...
- IOS 中常用站位符
CGPoint.CGRect等可以转化为字符串打印出来 如: NSLog(@"-------------%@",NSStringFromCGPoint(point)); ...
- 直接用request.setAttribute()会报错,在这之前应该先让request获取ServletActionContext.getRequest();方法 // request.getAttribute同理
正确流程应该是 import javax.servlet.http.HttpServletRequest; HttpServletRequst request = ServletActionConte ...