在Debian系的Linux中检查软件包是否被安装的方法

如果你正在管理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
(0)

相关推荐

  • linux下查看yum/rpm/dpkg某软件是否已安装的方法

    前言 因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了. 总结起来就是这样几类: 一.rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字" . [root@hexuweb102 ~] rpm -qa | grep ruby 二.以deb包安装的,可以用dpkg -l能看到.如果是查找指定软件包,用dpkg -l | grep "软件或者包的名字" : [root

  • 在Debian系的Linux中检查软件包是否被安装的方法

    如果你正在管理Debian或者Ubuntu服务器,你也许会经常使用dpkg 或者 apt-get命令.这两个命令用来安装.卸载和更新包. 在本篇中,让我们看下如何在基于DEB的系统下检查是否安装了一个包. 要检查特定的包,比如firefox是否安装了,使用这个命令: dpkg -s firefox 示例输出: Package: firefox Status: install ok installed Priority: optional Section: web Installed-Size:

  • 在Debian系的Linux中编译并安装ixgbe驱动的教程

    Intel的10G网卡(比如,82598. 82599. x540)由ixgbe驱动支持.现代的Linux发行版已经带有了ixgbe驱动,通过可加载模块的方式使用.然而,有些情况你希望在你机器上的自己编译安装ixgbe驱动,比如,你想要体验ixbge驱动的最新特性时.同样,内核默认自带的ixgbe驱动中的一个问题是不允许你自定义驱动的参数.如果你想要一个完全定制的ixgbe驱动(比如 RSS.多队列.中断阈值等等),你需要手动从源码编译ixgbe驱动. 这里是如何在Ubuntu.Debian或者

  • 在Linux中如何轻松删除源安装的软件包

    第1步:安装Stow 在这个例子中,我们使用的是CentOS,因此我们需要扩展的EPEL库.您可以使用以下命令安装它们: yum install epel-release 然后,下面这段命令: yum install stow 按Y确认安装: 现在已经安装了stow,我们必须选择存储包文件的位置. 第2步:选择存储包文件的位置 正常的"make install"命令将包文件复制到各种位置.Stow的工作原理是将它们全部放在一个目录中的一个位置,然后创建符号链接到它们原本应该去的位置.

  • Linux 中不输入密码运行 sudo 命令的方法

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户.如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一. 通常,要授予sudo访问权限,请将用户添加到sudoers文件中定义的sudo组.在Debian,Ubuntu及其衍生产品上,sudo组的成员在基于RedHat的发行版(如CentOS和Fedora)上获得sudo权限,sudo组的名称是wheel. 在运行sudo命令之前,系统将提示该组的每个成员输入密码.这增加了额外的安全层,是向用户授予su

  • Linux 中Tomcat远程调试代码的实现方法

    Linux 中的tomcat远程调试代码 1,是要编辑catalina.sh文件.  而且要改成这 样: CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp :transport=dt_socket,server=y,suspend=n,address=5888" 2.eclipse 中设置: 第一步: 第二步: 第三步: 以上就是Linux 中Tomcat远程调试代码的实现方法,如有疑问请留言

  • Linux中scp命令获取远程文件的方法

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的: 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

  • 基于Linux中vnc配置端口号的修改方法

    vnc的默认端口是自己配置的,并不是这有一个端口号. 通过打开/etc/sysconfig/vncservers. 这里就配置了2个桌面,一个桌面号是1, 一个是2. 这里的配置的参数 VNCSERVERS="2:root" VNCSERVERARGS[2]="-geometry 1280x800" 就可以看出,这里就配置了2个桌面,一个桌面号是1, 一个是2.还有远程桌面的分辨率 想要修改vncserver的配置,先找配置文件路径 [root@jtsyb01 lo

  • Linux中的awk数组的基本使用方法

    1.awk数组描述 在其他的编程语言中,数组的下标都是从0开始的,也就是说,如果想反向引用数组中 的第一个元素,则需要引用对应的下标[0],在awk中数组也是通过引用下标的方法,但是在awk中数组的下标是从1开始的,在其他语言中,你可能会习惯于先"声明"一个数组,在awk中,则不用这样,直接为数组的元素赋值即可(其实如果自己给数组赋值,下标从1或者从0开始那就无所谓了!) 2.在声明数组时,可能值很多,命令太长,降低命令可读性,所以使用反斜杠"\",来进 行换行,效

  • Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址

    使用Windows命令行cmd可以指定浏览器打开网址.在node.js中使用start即可: 比如分别用Chrome和IE打开网址 start chrome http://www.google.cn start iexplore http://www.google.cn 但是当用户没有安装Chrome时使用start则会报错,并会弹出错误对话框: [Window Title] chrome [Content] Windows 找不到文件 'chrome'.请确定文件名是否正确后,再试一次. 如果

  • Linux中的进程守护supervisor安装配置及使用

    supervisor是一个很好的守护程序管理工具,配置方面自动启动,日志输出,自动切割日志等等一系列强大功能,下面是在CentOS下安装使用supervisor的记录. 安装 # epel源 yum install epel-release # 安装supervisor yum install -y supervisor # 开机自启动 systemctl enable supervisord # 启动supervisord服务 systemctl start supervisord Bash

随机推荐