如何检查我的服务器上是否安装了软件包?
我最近安装了Ubuntu Server edition 13.10(Saucy Salamander)。 但我遇到了一些问题。
在安装结束时,它会询问您是否需要几个额外的软件包,如OpenSSH服务器和虚拟机主机。 这是我正在看的东西:
现在,我的问题是我不记得我是否选中了“虚拟机主机”复选框。 如何检查我的服务器是否有相应的软件包?
虚拟机主机附带了哪些软件包?
列出所有已安装的软件包
这里“less”是一个简单的文本阅读器,用于滚动在现有终端窗口中打开的新缓冲区中的包列表。 该列表不会与其他终端命令和输出混合使用。 点击“q”返回终端提示符。 有关详细信息,请参阅“man less”。
dpkg -l | less
要检查是否已安装软件包:
dpkg -l {package_name} dpkg -l vlc
检查软件包是否已安装(例如, vlc
)。 如果已安装,请启动包:
dpkg -l | grep vlc
显示软件包的安装位置。 “-S”(大写字母S)代表“搜索”
sudo dpkg -S {package_name} sudo dpkg -S skype
要使用Grep搜索:
dpkg -l | grep {keywords} dpkg -l | grep pdf
使用dpkg
这个命令是debian包管理器。
您可以列出所有已安装的软件包
dpkg -l
您可以查看特定包的详细信息
dpkg -p packagename
并了解它是否已安装,请使用
dpkg -s packagename | grep Status
您可以了解哪个软件包包含您需要的软件
apt-cache search name*
在您的情况下,您应该使用此命令来搜索所需的包名称
apt-cache search virtual machine host
apt -qq list PACKAGE
也可用于检查PACKAGE是否已安装。
如果安装它会打印像(在行尾的[installed]
):
$ apt -qq list awscli awscli/stable,now 1.4.2-1 all [installed]
如果没有安装,输出将是:
$ apt -qq list awscli awscli/stable 1.4.2-1 all
我找到了一种方法,只用dpkg-query命令检查包安装,没有管道。
我在为ansible playbook编写任务时搜索了这样的解决方案。
所以,哟可以做这样的事情:
/usr/bin/dpkg-query --show --showformat='${db:Status-Status}\n' ''
这只是另一种做事的方式。
我写了一个新的答案,因为Tasksel ‘任务名称’不会出现在dpkg
或apt
查询中。 意思是其他答案不完整(或错误)。
“我不记得我是否检查了’虚拟机主机’复选框..”
重新运行sudo tasksel
后,检查名称是否有星号。
(如果正在运行tasksel --list-tasks
则为’ i ‘)。
如果你没有看到这个,那么你可能没有安装’tasksel 元软件包 ‘。
“..如何查看我的服务器是否有相应的软件包?”
如果要查找虚拟机主机tasksel元数据包下安装的内容:
tasksel --list-tasks
(在你的情况下, tasksel --list-tasks | grep virt
就足够了)
这给出了正确的任务名称以及是否已安装的指示。
在您的情况下,此任务名称是virt-host
。
“虚拟机主机附带了哪些软件包?”
从最后一个命令中,找到tasksel任务名称。
这是下一个命令所必需的:
tasksel --task-packages virt-host
这列出了构成名称的单个Tasksel元包(由附加的’^’表示)。
在你的情况下,它是virt-host^
。
找到合适的元名后,您可以使用apt:
apt show virt-host^ | grep "Package:"
(或apt-cache show
...
如果apt show
不起作用。)
这将显示构成给定元包的所有包。
然后:
dpkg -l {each individual pkg name listed above}
这将告诉您是否安装/卸载了单个软件包(以第二个字母表示:’i’状态表示已安装)。 对task / meta包下列出的所有包执行此操作。
这应该回答原始问题。
附注:/usr/share/tasksel/descs/ubuntu-tasks.desc还包含Tasksel元数据包的说明。 如果您: grep "virt" /usr/share/tasksel/descs/ubuntu-tasks.desc
它将显示正确的APT元包名称。 (在你的情况下,这是ubuntu-virt-server
)。 您还可以将apt
命令与此元名一起使用。
如果你想删除任务包,这会进入杂草。 请查阅https://askubuntu.com/a/88897/169878或其他任何答案。
请注意,“meta”apt包与Tasksel包名称不匹配。 有关详细信息,请参阅Tasksel社区页面 。
使用tasksel( sudo apt-get install tasksel
如果你还没有)并运行tasksel --list-tasks
。
tasksel将打印出一个任务列表,每个安装的任务旁边都有一个i
,并且每个未安装的任务旁边都有一个u
。
如果要安装任务,请使用tasksel install
。 您正在寻找的任务的名称是virt-host
。
软件选择项称为“任务”。