一聚教程网:一个值得你收藏的教程网站

热门教程

ubuntu软件包安装与卸载命令详解

时间:2022-06-30 19:28:09 编辑:袖梨 来源:一聚教程网

一,软件包安装命令

.bin 格式软件安装    ./test.bin     (执行)

.deb格式软件安装(安装到指定目录)    dpkg –i aa.deb –instdir=目录

apt-get install在线软件安装 如 apt-get install vsftpd

dpkg –r aa.deb卸载软件

dpkg –l aa.deb卸载软件(不保留配置文件)

二,一些软件安装例子

一、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
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name       Version           Description
+++-===========-================-========================================
ii  aalib1     1.4p5-28          ascii art library - transitional package
ii  adduser    3.85              Add and remove users and groups
ii  alien      .63               install non-native packages with dpkg
... ...

 


每条记录对应一个软件包, 注意每条记录的第一, 二, 三个字符. 这就是软件包的状态标识, 后边依此是软件包名称, 版本号, 和简单描述.
第一字符为期望值,它包括:
u 状态未知,这意味着软件包未安装,并且用户也未发出安装请求.
i 用户请求安装软件包.
r 用户请求卸载软件包.
p 用户请求清除软件包.
h 用户请求保持软件包版本锁定.
第二列,是软件包的当前状态.此列包括软件包的六种状态.
n 软件包未安装.
i 软件包安装并完成配置.
c 软件包以前安装过,现在删除了,但是它的配置文件还留在系统中.
u 软件包被解包,但还未配置.
f 试图配置软件包,但是失败了.
h 软件包安装,但是但是没有成功.
第三列标识错误状态,可以总结为四种状态. 第一种状态标识没有问题,为空. 其它三种符号则标识相应问题.
h 软件包被强制保持,因为有其它软件包依赖需求,无法升级.
r 软件包被破坏,可能需要重新安装才能正常使用(包括删除).
x 软包件被破坏,并且被强制保持.
也可以以统配符模式进行模糊查询, 比如我要查找以nano字符开始的所有软件包:
$ dpkg -l nano*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  nano           1.3.10-2       free Pico clone with some new features
pn  nano-tiny               (no description available)

 

 


un  nanoblogger             (no description available)

 


以上状态说明: 系统中安装了 nano 版本为 1.3.10-2 ;安装过 nano-tiny , 后来又清除了; 从未安装过nanoblogger .
如果觉得 dpkg 的参数过多, 不利于记忆的话, 完全可以使用 dpkg-query 进行 dpkg 数据库查询.
应用范例:
查询系统中属于nano的文件:
$ dpkg --listfiles nano
or
$ dpkg-query -L nano
查看软件nano的详细信息:
$ dpkg -s nano
or
$ dpkg-query -s nano
查看系统中软件包状态, 支持模糊查询:
$ dpkg -l
or
$dpkg-query -l
查看某个文件的归属包:
$ dpkg-query -S nano
or
$ dpkg -S nano


一些常用的apt命令参数(更具体的可参见相关的帮助文档):

    apt-cache search package 搜索包
    apt-cache show package 获取包的相关信息,如说明、大小、版本等
    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 update 更新源
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    sudo apt-get dselect-upgrade 使用 dselect 升级
    apt-cache depends package 了解使用依赖
    apt-cache rdepends package 是查看该包被哪些包依赖
    sudo apt-get build-dep package 安装相关的编译环境
    apt-get source package 下载该包的源代码
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get check 检查是否有损坏的依赖

热门栏目