Ubuntu18.04软件包管理

dpkg

    SYNOPSIS

        dpkg [option...] action

    EXAMPLE

        1、查询相关

            dpkg -l    查询所有已安装的deb软件包(=rpm -qa),语法中的action这里指'-l'。dpkg -l 类似于dpkg-query --list [软件包包名(支持通配符)],也类似于apt list [软件包包名(支持通配符)]

            dpkg -l 'vi' 查询vi相关的已安装的软件包(类似rpm -q '软件包包名')

            dpkg -s vim-common 查看指定软件包的状态,是否安装,包版本,包描述...(=rpm -qi '软件包包名')

查看vim-common包的状态


查看httpd包的状态

            dpkg -L apache2    列出已安装软件包相关文件 (=rpm -ql '软件包包名')          

            dpkg -S /etc/apache2/apache2.conf  查看指定文件由哪个软件包提供(=rpm -qf 文件名)

查看apache2.conf文件是由哪个软件包提供的

            apt-cache show '软件包包名'     查看安装的或未安装且可用的软件包

nginx尚未安装,通过apt-cache看是否存在可用安装包
apt-get下载Nginx软件包
查看已下载软件包的information

2、安装deb包(以emacs为例)

  dpkg -i '软件包名'  安装*.deb包。安装之前需要查询一下网络仓库中是否有可用的deb包(apt-cache show emacs);如果有,可通过 apt-get download 'emacs'下载到_apt用户具有写入权限的目录,之后运行dpkg -i emacs即可安装;安装过程大多被依赖关系不满足cause失败,则可通过apt-get -f install来解决依赖关系。可参考:https://jingyan.baidu.com/article/fc07f9894a913212ffe519be.html

 3、卸载

-r 卸载软件包


apt

update

    从configured source(/etc/apt/source.list)中下载可更新的软件包信息,执行apt update之后可结合apt list --upgradable可查看所有可更新的软件包信息    

upgrade

    安装可升级的所有软件包。通过先执行apt update一下,得到可升级软件包列表后再执行apt upgrade。注意:已经安装过的包不会被删除,另,如果一个软件包的升级依赖于一个已删除的软件包,升级不会执行。

full-upgrade

    调用upgrade,即升级软件包。会删除已经安装过的包。

install, remove, purge

    安装,卸载,清除。remove时为了避免你的误卸载,会保留你关于软件包修改过的文件(便于你重新安装回来继续使用相关文文件--多是配置文件和依赖包),如果你想连这些文件也干掉,使用purge。

autoremove

    卸载为满足依赖关系而安装的依赖包。具体指那些曾经被某软件包所依赖,但现在不被任何包依赖了的包。例如,我们用apt remove packagename卸载了packagename,但是它依赖的包还留在系统中,这时我们可以用命令apt autoremove来卸载这些依赖包。

search

    搜索给定regexp匹配的可用软件包并显示出来。

show

     Show information about the given package(s) including its dependencies, installation and download size, sources the package is available from, the description of the packages content and much more. It can e.g. be helpful to look at this information before allowing apt(8) to remove a package or while searching for new packages to install.

list

    类似dpkg-l ,也类似dpkg-query --list的用法

查看samba有没有安装

edit-sources

    编辑/etc/apt/sources.list,如果你忘记了这个文件名,用sudo edit-sources也可以打开编辑


使用apt过程中遇到的问题:

1、报错1:E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

报错2:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

处理过程大致如下:

    1)找到使用apt或dpkg的程序,kill掉

    2)如果1)没能解决问题,删除相应锁文件


最后,来感受一下三种查询软件包有没有安装的命令输出情况:

三种查看deb包安装的命令-已安装
三种查看deb包安装命令-未安装


https://www.debian.org/doc/manuals/apt-howto/index.en.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容