任何操作系统的一个主要功能是扩展它的能力——随着时间的推移添加新软件以改善您的工作流程或只是为了娱乐价值。 Linux 作为一种开源操作系统,提供了数以千计的软件产品来满足几乎所有需求。 但是在找到理想的软件名称之后,只有一个障碍需要克服: 实际将其安装在您的系统上. 在我们之前的文章中,我们向用户展示了一种方法 保持 Ubuntu 系统干净. 在本文中,我们将与您分享一种在 Ubuntu Linux 中安装软件并删除不需要的软件的方法。
在 Ubuntu Linux 下安装软件 与 Windows 不同。 用户有权决定他们的系统会发生什么,但这需要花一点时间来理解术语和技术。
在 Windows 上安装程序相对容易。 例如,任何愿意使用 VLC 媒体播放器的人都可以浏览网站、下载 .exe 文件并安装软件。 尽管用户可能没有意识到这一点,但要使这个看似简单的任务成为可能,需要做很多工作。 一旦程序员创建了原始软件,就必须将其制成我们作为最终用户可以使用的形式。
由于 Ubuntu 基于 Debian 项目 Ubuntu 下使用的包管理系统也是从 Debian 项目借用的。 大多数人将其简称为 Debian 软件包管理系统。 为了安装软件,Ubuntu 依赖于软件包。 Ubuntu CD 包含数百个,如下图所示。
了解一个包究竟是什么以及它包含什么是至关重要的。 对于 Windows,安装 .exe 文件实际上是一个与文件存档相结合的软件。 运行可执行文件后,它会触发可执行文件中的一个小程序,然后解压缩文件的内容并将它们安装到硬盘上。
这不是一个案例 Ubuntu Debian 软件包(.deb 文件) 它只包含程序文件,以及一些配置文件,以确保正确安装和设置软件。 如果没有用于操作它们并构成 Debian 包管理系统的各种软件,Debian 包文件就毫无用处。 这种方法有很多好处。 包管理软件建立自己的数据库,因此它可以准确地知道在任何特定时间安装了哪些程序。 它还跟踪版本号。 因此,用户可以更好地控制其系统上的软件。 这也意味着如果程序开始出现异常行为,可以使用包管理器简单地刷新其配置文件。 最终,卸载然后重新安装软件的需求消失了,而 Windows 程序则不然。
依赖管理
除了实际安装程序,一个重要的组成部分 包管理软件 正在处理依赖项。 总而言之,包管理器必须确保如果您安装一个软件,它依赖于正常工作的任何软件要么已经存在于系统中,要么同时安装。 有时,您要安装的软件可能依赖于系统上的其他程序,但更多时候,依赖项采用系统库的形式。 如果您意识到并非所有软件包都包含您作为用户将直接使用的软件,这会有所帮助。 有些包只包含库文件,这些文件是共享的代码片段,相当于 Windows 下的 .dll 文件。 Ubuntu 系统上的关键库是 GNU C 库,没有它 Linux 内核就无法运行,这是由 libc6 包提供的。 但实际上每个程序在库文件方面都有自己的需求,而这些需求必须由包管理器处理。
请注意: Windows 安装文件通常如此之大的一个原因是,它们通常带有所需的所有系统文件,以防系统中尚未存在这些文件。 在这方面,Windows 并不孤单。 Apple Macintosh 的安装文件类似。
依赖管理,有时被称为依赖项解析是 Debian 包管理系统的一个关键特性。 您可能已经看到了这一点:当您在 Synaptic 软件包管理器中标记要安装的程序时,您可能会被告知需要安装其他软件包。 如果您拒绝此请求,程序将被取消选择。 除非您让它处理依赖项,否则包管理器不会让您安装某个软件。 让您安装该软件毫无意义,因为它可能无法运行。 但是依赖管理不仅仅意味着添加一个软件需要的包。 这也可能意味着删除系统上已经存在的软件包。 如果其他软件包与您要安装的软件不兼容,则可能会发生这种情况,这称为软件包冲突解决方案。 此外,有时您可能希望删除其他包所依赖的包,这种情况称为反向依赖。 在这种情况下,包管理器要么阻止您删除该软件,要么也删除反向依赖包。
请注意: 您可以通过在 Synaptic 包管理器中右键单击包的条目,单击属性,然后单击依赖项选项卡来查看包具有哪些依赖项。
打开程序(系统 -> 管理 -> Synaptic Package Manager),点击菜单上的 Settings Repositories,然后看看出现了什么。 列表中的标题是您可以访问的存储库。 任何与它们一起检查的都是 APT 和 Synaptic Package Manager 使用的那些。 那些没有检查的将被忽略。 每个存储库标题下方是该服务器上您可以访问的部分。
在 Ubuntu Linux 上搜索软件
在搜索软件之前,刷新软件包数据库几乎总是一个好主意。 只需单击 Synaptic Package Manager 工具栏上的 Reload 按钮,即可从您的各种存储库中获取最新的软件包列表 sources.list文件. 在慢速连接上重新加载可能需要几分钟,但它可以确保您可以访问存储库中的最新软件。 要搜索软件,您可以单击软件包列表中的任何条目并开始输入。 这将匹配您键入的内容与列表中的包名称。 或者,您可以单击工具栏上的搜索按钮。 默认情况下,这会搜索包名称和描述,以获得更高的匹配机会。 您可以键入特定的程序名称或可能在说明中的关键字。 例如,如果您正在为您的 ATI Radeon 卡寻找图形驱动程序,但您不知道包含它们的软件包的名称,您可以键入 radeon。
在 Ubuntu Linux 上安装软件
当您单击搜索结果中某个软件旁边的复选框并选择 安装标志,您将被告知程序需要的任何已卸载的依赖项,并要求您确认将它们添加到要安装的软件包列表中。 如果您右键单击该文件并选择“标记建议安装”或“标记建议安装”,您将看到一个程序列表,这些程序虽然对相关程序的运行不是必需的,但会在一定程度上增强其功能。 比如你选择安装mutt邮件程序,同样建议你安装locales和mime-support,这样Mutt就会有多语言支持,能够更好的处理文件附件。 您不必安装这些推荐的程序; 没有它们,软件也能正常运行。 但是,如果您这样做,通常会有所回报。 在您选择了软件后(请记住,您可以一次安装多个软件),单击工具栏上的应用按钮。
在这里,您再次被要求确认需要安装什么。 如果需要删除任何软件以满足依赖性问题,您也会被告知这一点。 此外,您将看到将下载的文件的总大小,以及安装程序后对硬盘大小的预期影响。 在“摘要”对话框的最底部,您将看到一个标记为仅下载包文件的复选框。 正如它所暗示的那样,这将下载但不安装软件包。 如果您以后再次选择该软件包进行安装,则不需要下载它,并且安装将是即时的(除非该软件包的更新版本已发布;在这种情况下,将下载更新的版本并安装)。
在 Ubuntu Linux 上删除软件
至 去掉 一个软件,按名称搜索它,然后单击它旁边的复选框,然后选择 删除标记. 这将删除软件,但留下它创建的任何配置文件。 这意味着您可以在将来再次安装它,并且它会像删除前一样运行。 但是,您也可以选择 标记为完全删除,这将删除配置文件。 与安装软件一样,当您删除软件时,Synaptic Package Manager 将尝试管理依赖项,但在这种情况下,它将强制删除任何明确依赖该软件的软件。 大多数情况下这不是问题,但不幸的是,某些包具有主要的反向依赖关系。 例如,如果您确定您已经拥有足够多的 Base 数据库程序并想要删除它,您会发现您还需要删除整个 OpenOffice.org 套件以及 ubuntu-desktop 元数据包裹。 有时,包具有看似奇怪的依赖项。 例如,如果您尝试删除 Firefox Web 浏览器,您将看到您需要删除看似无关的 gnome-app-install 软件包,以及 yelp(GNOME 在线帮助系统)。 原因是这两个包都以某种方式使用了 Firefox 的一部分,没有它就无法运行。 对于这种情况,没有硬性的解决方案。 但是,通常情况下,您可能只是选择不删除该软件并将其留在您的系统中。
命令提示符下的包管理:
突触 是包管理程序的最佳示例之一,几乎没有理由避开它并选择从命令行安装包。 但是,您可能会发现有时会使用 dpkg 或 APT 工具。 例如,如果您已经在命令行上工作,那么此方法是 比 启动 Synaptic Package Manager。
使用 dpkg
最基本的包操作命令是 dpkg。 dpkg 允许您执行许多与包相关的任务,例如从头开始构建包。 在这里,我们只看简单的包安装、删除和查询功能。
请注意: dpkg 需要超级用户权限才能安装或删除软件,因此必须以 sudo 开头。 但如果您只是想查询包数据库,它可以在没有超级用户权限的情况下运行。 APT 工具也是如此。
安装包
当您已经下载了一个特定的.deb 包并想安装它时,dpkg 很有用。 这是命令:
须藤 dpkg -i 包名.i386.deb
您必须指定整个文件名,而不仅仅是程序的名称。 dpkg 又快又脏,虽然它会警告你任何依赖问题,但它仍然会继续安装包。 安装后,它将运行包的配置脚本。 但是如果缺少依赖项,它将无法配置程序以在您的系统上运行,因为它可能不会处于可用状态。
如果出现这种情况,则由您来安装 dpkg 列出的依赖项。 当然,其中一些将有自己的依赖项,也需要安装它们。 这种级联情况被非正式地称为依赖地狱,并且是 APT 系统被发明的主要原因。 正如您将在下一节中看到的,APT 可以毫不费力地处理这样的依赖问题。 如果安装 dpkg 后依赖项没有得到满足,那么每当您运行 Synaptic Package Manager 或尝试使用 APT 工具时,您都会被告知“损坏的”软件包或未满足的依赖项。 在问题解决之前,APT 将拒绝安装任何其他软件。
提示: 在 Synaptic Package Manager 中,您可以单击左下角的 Custom 按钮,然后单击过滤器列表中的 Broken 条目,以查看任何具有未满足依赖项的包。 要修复损坏,请单击相关软件包的复选框,然后单击重新安装标记。 在控制台中,您可以键入 sudo apt-get -f install。 这将在系统上安装所有缺少的依赖项。
卸载软件包
要删除包,请键入以下内容:
须藤 dpkg -r 包名
请注意,您只需要键入程序的名称,而不需要它的版本号或 .i386.deb 文件扩展名。 在这种情况下,dpkg 的表现略好于安装软件时。 如果存在任何反向依赖项(其他依赖于您尝试删除的包的包),您将被阻止并显示一些错误消息。 您需要先解决反向依赖关系,当然,它们也可能有自己的反向依赖关系。
使用 APT 工具:
如果您想安装刚刚下载的软件包文件,dpkg 是唯一的选择。 但是,如果您希望使用软件存储库,则需要使用 APT 工具。 它们仍然在后台使用 dpkg 来安装和删除软件包,但它们也具有处理依赖项管理的智能功能。
安装和删除软件包:
最基本的 APT 命令是 apt-get。 您可以使用此命令安装或删除存储库中包含的包,如下所示:
sudo apt-get 安装包名 sudo apt-get 删除包名
您应该指定不带版本号的程序名称。 例如,要安装链接 Web 浏览器,您只需键入以下命令:
sudo apt-get 安装链接
请注意: 您可以指定同时安装和/或删除两个或多个程序。 只需用空格分隔包名:apt-get install package1 package2 package3,依此类推。
更新系统
apt-get 还可以执行各种类型的系统更新。 要将系统上的所有软件包更新到存储库中包含的最新版本,请键入以下内容:
sudo易于得到升级
这是使用 Ubuntu 桌面软件更新功能的命令行等效项。 要将系统升级到最新版本的 Ubuntu,如果有,请输入:
sudo易于得到的dist-upgrade
也许不用说,更新系统可能需要很长时间,具体取决于要下载的文件的数量和大小。 此外,每个包在安装过程中都需要自行配置,这也需要很长时间。
我们希望您喜欢这篇长而足智多谋的文章。 如果您喜欢它,请转推,并在 Facebook 上与您的朋友分享。
菲莱西亚·英格拉姆
非常有趣的条目,我期待下一个!
Ganesh神
非常好的作品!!!!!!!!!!!!!!!
格兰特山羊
内容写得很完美,读完真的很享受。
沙拉布·戈尔
写得很好,安排得很好,涵盖了所有的基础知识
HKR
谢谢。 但我不是很明白。 这是我的问题:
• 我以前使用过 Ubuntu,我可以通过 Internet 从应用程序菜单中的安装程序下载东西。 现在我切换到 Windows XP(我正在学习,所以我显然不能将 Ubuntu 用于所有事情)。 现在我把 Ubuntu 传给了我的朋友,他将它安装到了他的系统中。 但不幸的是,他没有互联网。 所以我猜他不能从安装菜单安装任何东西。 但他需要一些用于音乐和电影的编解码器。 那么我可以用 Windows 下载一个 .deb 安装程序包并通过 USB 将其复制到他的系统中吗? 如果是这样怎么办?
拉杰什·纳姆塞
是的,下载 .deb 文件并通过 USB 将其复制到他的系统,然后只需双击该 .deb 文件(安装与 Windows 相同)
巴德拉卡马哈茂德
我正在尝试通过 USB 安装软件,但在安装时发生了一些错误,所以我不知道如何通过 USB 或闪存驱动器安装软件
傲慢的
总而言之,始终建议从存储库或软件中心安装软件。 这样,您将始终获得稳定版本和最有可能的更新版本。
从源代码编译可能会安装任何测试版,并且可能包含错误。