如何从命令行使用Apt-Get在Ubuntu中安装程序
Ubuntu有很多基于GUI的方法来安装应用程序,但是它们需要一些时间来搜索和查找。由于键盘通常比鼠标快,因此通过命令行管理软件可以节省大量时间。
apt
Linux通过软件包,包含用户界面,模块和库的单个软件单元来管理软件。大多数应用程序将几个相互依赖的程序包链接在一起,还有一些应用程序允许我们自行选择安装哪些程序包和忽略哪些程序包。这可能会造成混淆,因此我们可以使用包管理器来提供帮助
每个Linux发行版都有其自己的软件包管理系统。对于我们自己亲爱的Ubuntu,它是高级打包工具。它具有一系列命令,可用于添加存储库。搜索,安装和删除软件包;甚至模拟升级等。这些命令非常容易记住和使用,因此我们可以立即管理系统软件!
APT需要超级用户权限,因为它涉及系统的核心方面,因此在Ubuntu中,我们需要使用sudo作为大多数命令的开头。
搜索包
搜索软件的命令是:
apt-cache search [search term 1] [search term 2] … [search term n]
替换[搜索词],但不要使用方括号。我们将获得如下输出:
我们可以在包装说明中搜索术语,例如单人纸牌游戏或者按包装名称搜索。某些搜索可能会产生大量结果,因此我们可以使用以下命令滚动浏览列表:
apt-cache search [search terms] | less
该命令中间有一个管道(它与\共享一个密钥)。 less命令将允许我们使用箭头键,上一页/下一页键和空格b滚动浏览列表,然后输入。按q退出列表并返回提示。
添加存储库
我们可以在网上找到的存储库中找到更多软件。以Ubuntu Tweak为例,该程序可让我们更改系统的某些隐藏设置或者其他难以更改的设置。它托管在另一个存储库中。如果我们添加存储库而不是仅下载和安装软件包,系统将通知我们更新并自动为我们更新。我们可以通过编辑APT源文件来手动添加和更改存储库:
sudo nano /etc/apt/sources.list
但是Ubuntu 9.10 Karmic Koala改变了这一点。有一个更简单的方法!
sudo add-apt-repository [repository name here]
让我们看一下Ubuntu Tweaks存储库,以了解实际情况:
sudo add-apt-repository ppa:tualatrix/ppa
更新来源
添加存储库后,我们必须更新软件包列表。
sudo apt-get update
这将一次性更新所有存储库中的软件包列表。请记住在每个添加的存储库之后执行此操作!
安装
现在我们已经添加了软件仓库并更新了软件包列表,并找到了所需的软件包名称,就可以安装它了。
sudo apt-get install [package name 1] [package name 2] … [package name n]
这将下载并安装所有列出的软件包。如果存在依赖关系,还需要安装其他必备软件包。有时,我们还会看到一系列推荐但可选的软件包以及我们选择的软件包。有时,我们也会看到确认提示,尽管并非总是如此。
通常,我们会看到一个核心程序包以及其他链接的程序包,因此安装该程序包会自动安装依赖项,有时还会自动安装相关的程序包。
移除安装包
如果要删除程序,则可以卸载其关联的程序包。
sudo apt-get remove [package name 1] [package name 2] … [package name n]
如果要删除配置文件和关联的目录(通常在用户的主目录中),则需要添加清除选项:
sudo apt-get remove purge [package name 1] [package name 2] … [package name n]
那里有两个破折号。如果程序不能正常工作,这将派上用场。通过清除后清除,我们可以进行全新安装。
在大多数情况下,我们只需选择核心软件包,相关的软件包也将被删除。如果没有,则可以使用以下命令:
sudo apt-get autoremove
这将自动删除任何已使用或者与任何已安装程序关联的软件包。例如,如果我们放弃了一个核心软件包,则只要没有其他程序正在使用它们,autoremove就会摆脱它的关联软件包及其所具有的任何依赖关系。这是清理我们不需要的任何未使用的库和包的好方法。
升级软件
那么,如果软件包需要升级怎么办?我们可以使用以下命令升级单个程序:
sudo apt-get upgrade [package name 1] [package name 2] … [package name n]
或者,我们可以通过没有其他参数来升级所有软件包:
sudo apt-get upgrade
这将告诉我们需要更新的软件包数量和数量,并在继续之前要求确认。
请记住,我们可能需要先进行更新。升级会将程序的旧版本替换为新版本。这是一个替换过程;必须使用相同的软件包名称,并且旧版本将替换为新版本。没有安装全新的软件包,也没有卸载软件包。
有些程序不能完全那样工作。他们需要删除名称稍有不同的软件包,并安装名称不同的新软件包。有时程序的新版本具有新的必需程序包。在这些情况下,我们将需要使用dist-upgrade。
sudo apt-get dist-upgrade [package name 1] [package name 2] … [package name n] sudo apt-get dist-upgrade
现在,无论如何都将满足所有依赖性。如果我们不打算对软件包进行微管理,那么这就是我们要使用的命令。
如果仅假设要运行该命令,则仅想查看要升级的软件包,可以使用s选项模拟升级。
sudo apt-get –s upgrade
如果我们不确定某个软件包的升级是否会破坏其他程序,这将很有用,这有时会发生在PHP和邮件服务器库等事件中。
清理软件库
下载软件包时,Ubuntu会缓存它们,以防需要进一步引用它们。我们可以使用以下命令删除此缓存并获取一些硬盘空间:
sudo apt-get clean
如果要摆脱缓存,但保存所拥有软件包的最新版本,请改用以下方法:
sudo apt-get autoclean
这将摆脱几乎没有用的旧版本,但仍然会留下缓存。
检查安装了什么
我们可以使用dpkg查看所有已安装软件包的列表。
sudo dpkg list
我们也可以使用更少的内容滚动浏览此列表。
sudo dpkg list | less
我们也可以使用grep命令搜索列表。
dpkg list | grep [search term]
如果安装了某些内容,则会看到软件包名称和说明。
我们还可以搜索更紧凑的方法:
dpkg –l ‘search term’
该选项是小写字母L,并且搜索词必须在单引号内。我们也可以使用通配符来更好地进行搜索。