![如何查看 Debian 上已安装哪些软件](https://linux22.com/image/1399010/%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%20Debian%20%E4%B8%8A%E5%B7%B2%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%E8%BD%AF%E4%BB%B6.png)
我刚刚在一家托管公司注册,自动创建了 Debian 虚拟机并通过 PuTTy 以 root 身份登录。但是我还不知道是否安装了 PHP、MySQL 或 Apache。
从我(初学者)的角度来看,Apache 应该作为守护进程运行并监听端口 80。因此,我认为列出所有正在使用的端口是一个好主意:netstat -lntu
命令给了我 5 行简短的列表:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:65000 0.0.0.0:* LISTEN
udp 0 0 my.ip.add.res:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
好的,看起来好像没有任何东西监听第 80 个端口。
我尝试了另一种方法:使用 查找正在运行的守护进程ps aux
。有一个大约 40-50 行的列表我看不懂。
有什么建议吗?
答案1
在基于 Debian 的发行版上,您只需运行
dpkg --get-selections
查看已安装软件包的列表。当然,这个列表不包括你手动编译和安装的任何内容,但只要你使用apt-get
(或aptitude
等)来管理软件,它就会显示在dpkg
列表中。
如果您想要检查某个特定的包,请通过管道传输输出grep
:
dpkg --get-selections | grep apache
答案2
答案3
您可以netstat -lnp
以 root 用户身份运行,它将显示正在监听服务器上套接字的进程名称。