如何在Ubuntu上检查一个软件包是不是安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Ubuntu上检查一个软件包是不是安装相关的知识,希望对你有一定的参考价值。

1、列出当前安装的所有安装包,执行以下命令:
dpkg -l这个命令的输出会很多,因此一般不用。
2、要查询特定的软件包是否已经被安装,应该将输出通过管道输送给 grep 命令:
dpkg -l | grep apache2上述命令查看 apache2 包是否安装。
3、要查看某安装包安装了哪些文件到系统上,使用:
dpkg -L ufw上述命令查看 ufw 包安装了哪些文件。
4、要查看某个文件是由哪个安装包安装的,使用:
dpkg -S /etc/host.confbase-files: /etc/host.conf上述第一行查询 /etc/host.conf 文件是由哪个包安装的,第二行输出显示,该文件属于 base-files 这个包。
参考技术A 要检查特定的包,比如firefox是否安装了,使用这个命令:
dpkg -s firefox
示例输出:
Package: firefox
Status: install ok installed
Priority: optional
Section: web
Installed-Size:93339
Maintainer:UbuntuMozillaTeam<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:Safeand easy web browser fromMozilla
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)
||/NameVersionArchitectureDescription
+++-====================================-=======================-=======================-=============================================================================
ii firefox 35.0+build3-0ubuntu0.14 amd64 Safeand easy web browser fromMozilla
要列出你系统中安装的所有包,输入下面的命令:
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
上面的输出可能会非常长,这依赖于你的系统已安装的包。本回答被提问者采纳

如何通过 ssh 检查 ubuntu 服务器上是不是存在 php 和 apache

【中文标题】如何通过 ssh 检查 ubuntu 服务器上是不是存在 php 和 apache【英文标题】:How to check the presence of php and apache on ubuntu server through ssh如何通过 ssh 检查 ubuntu 服务器上是否存在 php 和 apache 【发布时间】:2010-12-19 01:53:19 【问题描述】:

如何通过 ssh 在 Ubuntu 服务器上检查 apache 是否安装了 php 和 mysql?

还有如果是安装在哪个目录下?

如果安装了其他包,比如 lighttpd,那在哪里。

【问题讨论】:

【参考方案1】:

试试这个。

dpkg -s apache2 | grep Status 

dpkg -s php5 | grep Status

【讨论】:

【参考方案2】:

确定程序是否已安装的另一种方法是使用which 命令。它将显示您正在搜索的程序的路径。例如,如果您在搜索 apache 时可以使用以下命令:

$ which apache2ctl
/usr/sbin/apache2ctl

如果你搜索 PHP,试试这个:

$ which php
/usr/bin/php

如果which 命令没有给出任何结果,则表示该软件未安装(或不在当前$PATH 中):

$ which php
$

【讨论】:

我尝试这个时没有响应 这意味着这些程序未安装或以不同的名称调用。但是如果你使用 Ubuntu,这应该可以。此外,如果第一个(用于 apache)不起作用,则可能第二个也不起作用。 我认为这是@PeterStuifzand 最简单和最好的方法【参考方案3】:

如何在 Ubuntu 上判断 apache2 是否正在运行:

sudo service apache2 status

/etc/init.d/apache2 status

ps aux | grep apache

【讨论】:

【参考方案4】:

键入aptitude 以启动包管理器。在那里你可以看到安装了哪些应用程序。

使用/ 搜索包。尝试搜索apache2php5(或您想使用的任何版本)。如果它们已安装,它们应该是粗体并且在它们前面有一个i。如果它们没有安装(p 在该行前面)并且您想要安装它们(并且您有 root 权限),请使用 + 选择它们,然后使用 g(两次)安装它。

警告:在此之前,最好先快速浏览一下网络上的一些 aptitude 教程。

【讨论】:

它显示 perl python 等但不显示 php 和 apache 这是否意味着它没有安装? 见上文,我已经扩展了我的答案。 非常感谢 apache 没有安装。我会找到一些关于设置 ubuntu 服务器的教程【参考方案5】:

您可以检查可用的 apache2 模块:

$ ls /usr/lib/apache2/modules/

或者尝试启用 php 模块,如果您有适当的访问权限:

$ a2enmod
Which module would you like to enable?
Your choices are: actions alias asis ...
... php5 proxy_ajp proxy_balancer proxy_connect ..

【讨论】:

尝试后我没有得到这样的文件或目录 这意味着 apache2 没有安装。使用 sudo aptitude install apache2 进行安装。

以上是关于如何在Ubuntu上检查一个软件包是不是安装的主要内容,如果未能解决你的问题,请参考以下文章

如何在Ubuntu上检查一个软件包是不是安装

如何在Ubuntu上检查一个软件包是不是安装

Linux 基础:如何在Ubuntu上检查一个软件包是否安装

如何检查ubuntu上已经安装的工具链

如何在Ubuntu上卸载软件包

如何检查一个包是不是已经安装在 ubuntu 上?