如何确定是否已安装包?
我在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