Ubuntu基本命令--apt, dpkg
一、Ubuntu中软件安装方法
1、APT方式
(1)普通安装:apt-get install softname1 softname2 …;
(2)修复安装:apt-get -f install softname1 softname2... ;(-f Atemp to correct broken dependencies)
(3)重新安装:apt-get --reinstall install softname1 softname2...;
2、Dpkg方式
(1)普通安装:dpkg -i package_name.deb
3、源码安装(.tar、tar.gz、tar.bz2、tar.Z)
首先解压缩源码压缩包然后通过tar命令来完成
a.解xx.tar.gz:tar zxf xx.tar.gz
b.解xx.tar.Z:tar zxf xx.tar.Z
c.解xx.tgz:tar zxf xx.tgz
d.解xx.bz2:bunzip2 xx.bz2
e.解xx.tar:tar xf xx.tar
然后进入到解压出的目录中,建议先读一下README之类的说明文件,因为此时不同源代码包或者预编译包可能存在差异,然后建议使用ls -F --color或者ls -F命令(实际上我的只需要 l 命令即可)查看一下可执行文件,可执行文件会以*号的尾部标志。
一般依次执行./configure
make
sudo make install
即可完成安装。
二、Ubuntu中软件包的卸载方法
1、APT方式
(1)移除式卸载:apt-get remove softname1 softname2 …;(移除软件包,当包尾部有+时,意为安装)
(2)清除式卸载 :apt-get --purge remove softname1 softname2...;(同时清除配置)
清除式卸载:apt-get purge sofname1 softname2...;(同上,也清除配置文件)
2、Dpkg方式
(1)移除式卸载:dpkg -r pkg1 pkg2 ...;
(2)清除式卸载:dpkg -P pkg1 pkg2...;
三、Ubuntu中软件包的查询方法
Dpkg 使用文本文件来作为数据库.通称在 /var/lib/dpkg
目录下. 通称在 status 文件中存储软件状态,和控制信息. 在 info/ 目录下备份控制文件, 并在其下的 .list 文件中记录安装文件清单, 其下的 .mdasums 保存文件的 MD5 编码.
$ dpkg -l | more
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=====================================================-===================================================-============-===============================================================================
ii account-plugin-aim 3.8.-0ubuntu9. amd64 Messaging account plugin for AIM
ii account-plugin-facebook 0.11+14.04.20140409.1-0ubuntu2 all GNOME Control Center account plugin for single signon - facebook
ii account-plugin-flickr 0.11+14.04.20140409.1-0ubuntu2 all GNOME Control Center account plugin for single signon - flickr
ii account-plugin-google 0.11+14.04.20140409.1-0ubuntu2 all GNOME Control Center account plugin for single signon
ii account-plugin-jabber 3.8.-0ubuntu9. amd64 Messaging account plugin for Jabber/XMPP
ii account-plugin-salut 3.8.-0ubuntu9. amd64 Messaging account plugin for Local XMPP (Salut)
ii account-plugin-twitter 0.11+14.04.20140409.1-0ubuntu2 all GNOME Control Center account plugin for single signon - twitter
ii account-plugin-yahoo 3.8.-0ubuntu9. amd64 Messaging account plugin for Yahoo!
ii accountsservice 0.6.-0ubuntu7. amd64 query and manipulate user account information
ii acl 2.2.- amd64 Access control list utilities
ii acpi-support 0.142 amd64 scripts for handling many ACPI events
ii acpid :2.0.-1ubuntu2 amd64 Advanced Configuration and Power Interface event daemon
每条记录对应一个软件包, 注意每条记录的第一, 二, 三个字符(Desired, Status, Err?). 这就是软件包的状态标识, 后边依此是软件包名称, 版本号, 和简单描述.
- 第一个字符为期望值(Desired),它包括:
- u 状态未知,这意味着软件包未安装,并且用户也未发出安装请求.
- i 用户请求安装软件包.
- r 用户请求卸载软件包.
- p 用户请求清除软件包.
- h 用户请求保持软件包版本锁定.
- n 软件包未安装.
- i 软件包安装并完成配置.
- c 软件包以前安装过,现在删除了,但是它的配置文件还留在系统中.
- u 软件包被解包,但还未配置.
- f 试图配置软件包,但是失败了.
- h 软件包安装,但是但是没有成功.
- 第三个字符标识错误状态(Err),可以总结为四种状态. 第一种状态标识没有问题,为空. 其它三种符号则标识相应问题.
- h 软件包被强制保持,因为有其它软件包依赖需求,无法升级.
- r 软件包被破坏,可能需要重新安装才能正常使用(包括删除).
- x 软包件被破坏,并且被强制保持.
第二个字符(Status),是软件包的当前状态.此列包括软件包的六种状态.
以下中的软件即指软件包package(也可以安装apt-file,apt-get install apt-file)
1. 搜索相关软件:
apt-cache seach [keyword]
2. 获取软件的相关信息,如说明、大小、版本等
apt-cache show [package]
3. 查找已安装或已卸载(但是配置文件还在,即remove时没用--purge)的软件
dpkg -l (小写的L),dpkg -l | grep 'someone' or dpkg -l [one software]
4. 查看已安装或已卸载(但是配置文件还在,即remove时没用--purge)软件的详细信息
dpkg -s [installed software]
5. 查看某个文件的归属(属于模糊查找)(也可以用apt-file,需要安装,apt-get install apt-file)
$ dpkg -S faq.html
nano: /usr/share/doc/nano/faq.html
python-chardet: /usr/share/doc/python-chardet/faq.html
6. 查看软件安装位置(像eclipse这种非安装软件,查不出来)
dpkg -L python
7. 更新镜像列表
apt-get update
8. 软件更新,内核升级(升级到更高的小版本,大版本不变。大版本升级只能重装),有包依赖冲突问题时,停止更新升级
apt-get upgrade (运行前需要apt-get update)
9. 软件更新,内核升级,并解决依赖性,具有风险
apt-get dist-upgrade (运行前需要apt-get update)
Ubuntu基本命令--apt, dpkg的更多相关文章
- Ubuntu——apt && dpkg参考
一.apt apt-cache search # ------(package 搜索包) apt-cache show #------(package 获取包的相关信息,如说明.大小.版本等) sud ...
- VMwareWorkstations中安装ubuntu,apt install报E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
ubuntu中apt安装软件python时报: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily un ...
- 关于Ubuntu下apt的一些用法及和yum的比较
Fedora和Red Hat有yum安装软件,Ubuntu有apt工具. apt简单的来说,就是给Ubuntu安装软件的一种命令方式. 一.apt的相关文件 /etc/apt/sources.list ...
- 使用apt-fast 来加速你的Ubuntu 的apt
使用apt-fast 来加速你的Ubuntu 的apt sudo add-apt-repository ppa:apt-fast/stable sudo apt-get update sudo apt ...
- ubuntu 配置 apt 使用代理
ubuntu 配置 apt 使用代理 仅配置系统代理是无法使 apt 也使用代理的,我们需要给 apt 独立配置代理. 方法 ubuntu 官方说明 :https://help.ubuntu.com/ ...
- Ubuntu 通过APT安装Tomcat
Ubuntu 通过APT安装Tomcat 安装 sudo apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin # s ...
- 修改Ubuntu默认apt下载源
修改Ubuntu默认apt下载源 默认下载源很慢,改成阿里的下载速度超快 sudo vim /etc/apt/sources.list 将文件内容替换成 deb http://mirrors.aliy ...
- Ubuntu配置apt安装源为清华源[含自动配置脚本]
Ubuntu配置apt安装源为清华源[含自动配置脚本] 一.备份原配置文件 Ubuntu 的软件源配置文件是/etc/apt/sources.list.将系统自带的该文件做个备份,以防万一. sudo ...
- ubuntu 使用apt命令时报错 E: Could not get lock /var/lib/dpkg/lock - open...
问题描述: 刚刚安装好Ubuntu16.04.使用apt命令时,提示报错信息: abc@pc:~$ sudo apt-get install openssh-server E: Could not g ...
随机推荐
- iOS上传AppStore被拒原因及处理方案
1.后台运行GPS 1.1 原文: Performance - 2.5.4 Your app declares support for location in the UIBackgroundMode ...
- 图片的 base64 编码
图片的 base64 编码就是将一幅图片编码成一串字符串,使用该字符串代替图像地址.我们所看到的网页上的图片,都是需要消耗一个 http 请求下载而来的:(所有才有了 csssprites 技术< ...
- Entitlements (授权机制) 延伸
授权机制 (Entitlements) 到目前为止,我们都假设所有的证书起到的作用都是一样的,并且假设如果我们有了一个有效的证书代码签名也就相应的有效.然而这当然不是唯一的规则.操作系统有许多标准来检 ...
- UML类图几种关系总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
- Failed to read candidate component class包冲突解决方法
该类问题出现错误有两个可能,第一JAR包错误,第二就是我们的System library版本不正确导致的问题.
- 大数据时代之hadoop(三):hadoop数据流(生命周期)
了解hadoop,首先就需要先了解hadoop的数据流,就像了解servlet的生命周期似的.hadoop是一个分布式存储(hdfs)和分布式计算框架(mapreduce),但是hadoop也有一个很 ...
- [妙味JS基础]第十课:日期对象、时钟倒计时
知识点总结 时间.年.月.日.时.分.秒 new Date() ->当前系统的时间对象 数字类型: getFullYear().getYear().getUTCFullYear() getYea ...
- iOS二维码条形码的制作
- (IBAction)creatQRImage:(id)sender { [self.textField resignFirstResponder]; //这里是我放了个TextField的控件,但 ...
- 《JS权威指南学习总结--第九章 类和模板》
内容要点: 一. 1.第六章详细介绍了JS对象,每个JS对象都是一个属性集合,相互之间没有任何联系.在JS中也可以定义对象的类,让每个对象都共享某些属性,这种"共享"的特性是非常有 ...
- 【Sort】希尔排序
希尔排序(ShellSort),缩小增量排序,使用希尔增量时最坏运行时间O(n^2),不同的增量会对运行时间产生显著影响. void shellsort(int *nums,int n) { int ...