如何确定是否已安装包?

我在Windows主机上安装了Ubuntu 14.04.1作为访客。
在安装GCC之前,我需要确保安装了以下软件包:

GMP,MPFR和MPC

我检查了Ubuntu软件包网站,我认为它们对应于:

libgmp10,libmpfr4和libmpc3

如何确定软件包是否已安装? 如果尚未安装,我该如何安装它们?

谢谢。

在Ubuntu中有很多方法可以找到是否安装了软件包。 例如,如果我们想要查找是否在Ubuntu中安装了vim ,我们可以使用以下任何命令:

 dpkg -s vim dpkg --get-selections | grep 'vim' #I always prefer this one as it shows other packages that has the pattern `vim` in their names, very useful in some cases dpkg -l vim apt-cache policy vim 

现在如果想要在找到它尚未安装后安装包,只需执行以下操作(这里我们正在安装vim ,只需将vim替换为您想要的任何包):

 sudo apt-get update #It will update the local cache of repositories, not mandatory but recommended sudo apt-get install vim 

这是一个简单的bash脚本来检查是否安装了包,如果没有,那么它将安装包。 它会要求您输入包的名称。

 #!/bin/bash echo "What's the name of the package you want to check?" read package check=$(dpkg -s $package 2>/dev/null | sed -n '2,3p' | grep -o 'installed') if [[ "$check" == 'installed' ]] then echo -e "$package is already Installed\n\n" else echo -e "$package is Not installed\n\n" sudo apt-get install $package fi 

您可以通过dpkg列出所有已安装的软件包

 dpkg -l 

然后你可以通过grep管道,只找到你感兴趣的东西:

 dpkg -l | grep libgmp10 

或者你可以在你的grep中不那么具体

 dpkg -l | grep libgmp 

Grep将在输出中找到该字符串的任何行。

安装也很容易

 sudo apt-get install  

不确定包名? 选项卡也可以在apt-get install命令中完成,或者您可以使用:

 sudo apt-cache search  

使用sudo apt-get install $package-name1 $package-name2 $package-name3 ,尽可能多的包。 如果它们已经安装,它会说$package-name is already the newest version.

您可以安装GMP

  sudo apt-get install libgmp3-dev 

MPFR

  sudo apt-get install libmpfr-dev 

MPC

  sudo apt-get install MPC 

用于将dpkg -l的整个输出保存到文件:

 dpkg -l > ~/Desktop/packages 

并使用文本编辑器打开:

 nano ~/Desktop/packages