如果你正在管理Debian或者ubuntu服务器,你也许会经常使用dpkg 或者 apt-get命令。这两个命令用来安装、卸载和更新包。

在本篇中,让我们看下如何在基于DEB的系统下检查是否安装了一个包。

要检查特定的包,比如firefox是否安装了,使用这个命令:

dpkg -s firefox

示例输出:

Package: firefox Status: install ok installed Priority: optional
Section: web Installed-Size: 93339 Maintainer: Ubuntu Mozilla Team
ubuntu-mozillateam@lists.ubuntu.com Architecture: amd64 Version:
35.0+build3-0ubuntu0.14.04.2 Replaces: kubuntu-firefox-installer Provides: gnome-www-browser,iceweasel,www-browser Depends:
lsb-release,libasound2 (>= 1.0.16),libatk1.0-0 (>= 1.12.4),libc6
(>= 2.17),libcairo2 (>= 1.2.4),libdbus-1-3 (>= 1.0.2),
libdbus-glib-1-2 (>= 0.78),libfontconfig1 (>= 2.9.0),libfreetype6
(>= 2.2.1),libgcc1 (>= 1:4.1.1),libgdk-pixbuf2.0-0 (>= 2.22.0),
libglib2.0-0 (>= 2.37.3),libgtk2.0-0 (>= 2.24.0),libpango-1.0-0 (>=
1.22.0),libpangocairo-1.0-0 (>= 1.14.0),libstartup-notification0 (>= 0.8),libstdc++6 (>= 4.6),libx11-6,libxcomposite1 (>= 1:0.3-1),libxdamage1 (>= 1:1.1),libxext6,libxfixes3,libxrender1,libxt6
Recommends: xul-ext-ubufox,libcanberra0,libdbusmenu-glib4,
libdbusmenu-gtk4 Suggests: ttf-lyx Conffiles:
/etc/firefox/syspref.js 09e457e65435a1a043521f2bd19cd2a1
/etc/apport/blacklist.d/firefox ee63264f847e671832d42255912ce144
/etc/apport/native-origins.d/firefox 7c26b75c7c2b715c89cc6d85338252a4
/etc/apparmor.d/usr.bin.firefox f54f7a43361c7ecfa3874abca2f292cf
Description: Safe and easy web browser from Mozilla Firefox delivers
safe,easy web browsing. A familiar user interface,enhanced security
features including protection from online identity theft,and
integrated search let you get the most out of the web. Xul-Appid:
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

如上所见,firefox已经安装了。

同样,你可以使用dpkg-query 命令。这个命令会有一个更好的输出,当然,你可以用通配符。

dpkg-query -l firefox

示例输出:

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 firefox 35.0+build3-0ubuntu0.14 amd64
Safe and easy web browser from Mozilla

要列出你系统中安装的所有包,输入下面的命令:

dpkg --get-selections

示例输出:

abiword install abiword-common
install accountsservice install acl
install adduser install alsa-base
install alsa-utils install anacron
install app-install-data install apparmor
install … zeitgeist install zeitgeist-core
install zeitgeist-datahub install zenity
install zenity-common install zip
install zlib1g:amd64 install zlib1g:i386
install

上面的输出可能会非常长,这依赖于你的系统已安装的包。

你同样可以通过grep来过滤割到更精确的包。比如,我想要使用dpkg命令查看系统中安装的gcc包:

dpkg --get-selections | grep gcc

示例输出:

gcc install gcc-4.8
install gcc-4.8-base:amd64 install gcc-4.8-base:i386
install gcc-4.9-base:amd64 install gcc-4.9-base:i386
install libgcc-4.8-dev:amd64 install libgcc1:amd64
install libgcc1:i386 install

此外,你可以使用“-L”参数来找出包中文件的位置。

dpkg -L gcc-4.8

示例输出:

/. /usr /usr/share /usr/share/doc /usr/share/doc/gcc-4.8-base
/usr/share/doc/gcc-4.8-base/README.Bugs
/usr/share/doc/gcc-4.8-base/NEWS.html
/usr/share/doc/gcc-4.8-base/quadmath
/usr/share/doc/gcc-4.8-base/quadmath/changelog.gz
/usr/share/doc/gcc-4.8-base/gcc …
/usr/bin/x86_64-linux-gnu-gcc-4.8 /usr/bin/x86_64-linux-gnu-gcc-ar-4.8
/usr/bin/x86_64-linux-gnu-gcov-4.8

就是这样了。希望这篇对你有用。

如何在Ubuntu上检查一个软件包是否安装的更多相关文章

  1. Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统

    http://blog.csdn.net/column/details/15111.html1.安装ssh服务器(可通过网络远程登录系统,如putty、xshell)sudoapt-getinstallopenssh-server2.安装ftp服务器(默认已安装)windows可使用leapFTP工具登录sudoapt-getinstallvsftpd需配置ftp服务(修改/etc/vsftpd.

  2. Ubuntu16.04安装Qt+qwt+fftw

    本次操作环境为:Ubuntu16.04x64安装QT版本:前提:执行以下命令,保证安装所需的库,主要原因是:QT5系统缺少lGL图形链接库QT从5.8开始,编译工具就必须要支持C++11标准的才行,而GCC版本4.8以上才支持这个标准。

  3. CentOS-6.x系统基于python-3.5安装tensorflow-1.4

    简介编译安装python3.5(tensorflow要求python版本至少是2.7或者3.3)1.1安装编译工具1.2安装依赖库1.3编译安装2安装tensorflow2.1安装tensorflow2.2卸载TensorFlow#重装时使用2.3安装附属包2.4需安装的包3编译升级GLIBC到2.17(glibc>=2.16)4编译升级GCC到4.8.3(因为需要用到CXXABI_1.3.7,所

  4. CentOS安装redis

    解决方式:这是由于新安装的Linux系统没有安装gcc环境,需要安装gcc,为了方便,这里我选择用yum进行安装。

  5. ubuntu – 相当于dpkg -s的CentOS

    我正在调整以前为Ubuntu编写的CentOS准备脚本.在Ubuntu脚本中,经常调用命令dpkg-s{someprogram}.例如,一个这样的命令是dpkg-ssnmpd来检查是否安装了SNMP守护程序.CentOS中的等价物是什么?我知道RPM是包管理器.命令rpm-q类似,但它查找包而不是程序.例如,运行rpm-qsnmpd会返回:我的问题是,CentOS相当于Ubuntu命令dpkg-s是什么?

  6. 如何在Ubuntu上检查一个软件包是否安装

    如果你正在管理Debian或者ubuntu服务器,你也许会经常使用dpkg或者apt-get命令。在本篇中,让我们看下如何在基于DEB的系统下检查是否安装了一个包。要检查特定的包,比如firefox是否安装了,使用这个命令:示例输出:Package:firefoxStatus:installokinstalledPriority:optionalSection:webInstalled-Size:93339Maintainer:UbuntuMozillaTeamubuntu-mozillateam@lis

  7. CentOS上安装分布式文件系统FastDFS & 配置和问题解决

    FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问等,解决了大容量存储和负载均衡的问题。FastDFS服务端有两个角色:跟踪器和存储节点。存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的Metadata进行管理。文件Metadata是文件属性列表,可以包含多个键值对。可以重命名sample文件或者是复制sample配置文件,并完成参数配置即可。

  8. zumy_mbed无法编译解决办法

    sudotar–xvfgcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2–C/usr/bin解压后,修改/etc/profile中的内容,使其每次启动都生效。/etc/profile文件的作用,参考:linux的etc/profile文件的作用是什么exportPATH=exportPATH=/usr/bin/gcc-arm-none-eabi-4_9-2015q1/bin:$PATH这里要注意目录要设置为自己的解压目录,且为bin目录,目录内即为arm

  9. Ubuntu16.04安装RTEMS4.12-4.11 RSB及BSP

    出处一定要多读文档!!!

  10. Ubuntu16.04 + cuda8.0 + GTX1080 + matlab14.04a + Opencv3.0 + caffe 安装教程

    一、安装Ubuntu16.041、先上官网下载Ubuntu16.04的镜像iso2、再用UltraISO制作引导盘3、U盘按照Ubuntu16.04在这里发现如果显示器接的是独显1080的话,会出现分辨率问题而无法进行安装界面,屏幕显示“输入不支持”。

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部