0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在 Linux 上安装程序?

Linux爱好者 来源:未知 作者:邓佳佳 2018-03-29 15:22 次阅读

怎样在 Linux 上安装应用程序?因为有许多操作系统,这个问题不止有一个答案。应用程序可以可以来自许多来源 —— 几乎不可能数的清,并且每个开发团队都可以以他们认为最好的方式提供软件。知道如何安装你所得到的软件是成为操作系统高级用户的一部分。

仓库

十多年来,Linux 已经在使用软件库来分发软件。在这种情况下,“仓库”是一个托管可安装软件包的公共服务器。Linux 发行版提供了一条命令,以及该命令的图形界面,用于从服务器获取软件并将其安装到你的计算机。这是一个非常简单的概念,它已经成为所有主流手机操作系统的模式,最近,该模式也成为了两大闭源计算机操作系统的“应用商店”。

不是应用程序商店

从软件仓库安装是在 Linux 上安装应用程序的主要方法,它应该是你寻找想要安装的任何应用程序的首选地方。

从软件仓库安装,通常需要一个命令,如:

$sudo dnf install inkscape

实际使用的命令取决于你所使用的 Linux 发行版。Fedora 使用 dnf,OpenSUSE 使用 zypper,Debian 和 Ubuntu 使用 apt,Slackware 使用 sbopkg,FreeBSD 使用 pkg_add,而基于 lllumos 的 Openlndiana 使用 pkg。无论你使用什么,该命令通常要搜索你想要安装应用程序的正确名称,因为有时候你认为的软件名称不是它官方或独有的名称:

$sudo dnf search pyqt

PyQt.x86_64 : Python bindings forQt3

PyQt4.x86_64 : Python bindings forQt4

python-qt5.x86_64 : PyQt5 isPython bindings forQt5

一旦你找到要安装的软件包的名称后,使用 install 子命令执行实际的下载和自动安装:

$sudo dnf install python-qt5

有关从软件仓库安装的具体信息,请参阅你的 Linux 发行版的文档。

图形工具通常也是如此。搜索你认为你想要的,然后安装它。

与底层命令一样,图形安装程序的名称取决于你正在运行的 Linux 发行版。相关的应用程序通常使用“软件(software)”或“包(package)”等关键字进行标记,因此请在你的启动项或菜单中搜索这些词汇,然后你将找到所需的内容。 由于开源全由用户来选择,所以如果你不喜欢你的发行版提供的图形用户界面(GUI),那么你可以选择安装替代品。 你知道该如何做到这一点。

额外仓库

你的 Linux 发行版为其打包的软件提供了标准仓库,通常也有额外的仓库。例如,EPEL服务于 Red Hat Enterprise Linux 和 CentOS,RPMFusion服务于 Fedora,Ubuntu 有各种级别的支持以及个人包存档(PPA),Packman为 OpenSUSE 提供额外的软件以及SlackBuilds.org为 Slackware 提供社区构建脚本。

默认情况下,你的 Linux 操作系统设置为只查看其官方仓库,因此如果你想使用其他软件集合,则必须自己添加额外库。你通常可以像安装软件包一样安装仓库。实际上,当你安装例如GNU Ring视频聊天,Vivaldiweb 浏览器,谷歌浏览器等许多软件时,你的实际安装是访问他们的私有仓库,从中将最新版本的应用程序安装到你的机器上。

安装仓库

你还可以通过编辑文本文件将仓库手动添加到你的软件包管理器的配置目录,或者运行命令来添加添加仓库。像往常一样,你使用的确切命令取决于 Linux 发行版本。例如,这是一个dnf命令,它将一个仓库添加到系统中:

$sudo dnf config-manager --add-repo=http://example.com/pub/centos/7

不使用仓库来安装应用程序

仓库模型非常流行,因为它提供了用户(你)和开发人员之间的链接。重要更新发布之后,系统会提示你接受更新,并且你可以从一个集中位置接受所有更新。

然而,有时候一个软件包还没有放到仓库中时。这些安装包有几种形式。

Linux 包

有时候,开发人员会以通用的 Linux 打包格式分发软件,例如 RPM、DEB 或较新但非常流行的 FlatPak 或 Snap 格式。你不是访问仓库下载的,你只是得到了这个包。

例如,视频编辑器 Lightworks 为 APT 用户提供了一个 .deb 文件,RPM 用户提供了 .rpm 文件。当你想要更新时,可以到网站下载最新的适合的文件。

这些一次性软件包可以使用从仓库进行安装时所用的一样的工具进行安装。如果双击下载的软件包,图形安装程序将启动并逐步完成安装过程。

或者,你可以从终端进行安装。这里的区别在于你从互联网下载的独立包文件不是来自仓库。这是一个“本地”安装,这意味着你的软件安装包不需要下载来安装。大多数软件包管理器都是透明处理的:

$sudo dnf install ~/Downloads/lwks-14.0.0-amd64.rpm

在某些情况下,你需要采取额外的步骤才能使应用程序运行,因此请仔细阅读有关你正在安装软件的文档。

通用安装脚本

一些开发人员以几种通用格式发布他们的包。常见的扩展名包括 .run 和 .sh。NVIDIA 显卡驱动程序、像 Nuke 和 Mari 这样的 Foundry visual FX 软件包以及来自 GOG 的许多非 DRM 游戏都是用这种安装程序。(LCTT 译注:DRM 是数字版权管理。)

这种安装模式依赖于开发人员提供安装“向导”。一些安装程序是图形化的,而另一些只是在终端中运行。

有两种方式来运行这些类型的安装程序。

1、 你可以直接从终端运行安装程序:

$sh./game/gog_warsow_x.y.z.sh

2、 另外,你可以通过标记其为可执行文件来运行它。要标记为安装程序可执行文件,右键单击它的图标并选择其属性。

给安装程序可执行权限

一旦你允许其运行,双击图标就可以安装了。

GOG 安装程序

对于其余的安装程序,只需要按照屏幕上的说明进行操作。

AppImage 便携式应用程序

AppImage 格式对于 Linux 相对来说比较新,尽管它的概念是基于 NeXT 和 Rox 的。这个想法很简单:运行应用程序所需的一切都应该放在一个目录中,然后该目录被视为一个“应用程序”。要运行该应用程序,只需双击该图标即可运行。不需要也要不应该把应用程序安装在传统意义的地方;它从你在硬盘上的任何地方运行都行。

尽管它可以作为独立应用运行,但 AppImage 通常提供一些系统集成。

AppImage 系统集成

如果你接受此条件,则将一个本地的.desktop文件安装到你的主目录。.desktop文件是 Linux 桌面的应用程序菜单和 mimetype 系统使用的一个小配置文件。实质上,只是将桌面配置文件放置在主目录的应用程序列表中“安装”应用程序,而不实际安装它。你获得了安装某些东西的所有好处,以及能够在本地运行某些东西的好处,即“便携式应用程序”。

应用程序目录

有时,开发人员只是编译一个应用程序,然后将结果发布到下载中,没有安装脚本,也没有打包。通常,这意味着你下载了一个 TAR 文件,然后解压缩,然后双击可执行文件(通常是你下载软件的名称)。

下载 Twine

当使用这种软件方式交付时,你可以将它放在你下载的地方,当你需要它时,你可以手动启动它,或者你可以自己进行快速但是麻烦的安装。这包括两个简单的步骤:

  1. 将目录保存到一个标准位置,并在需要时手动启动它。

  2. 将目录保存到一个标准位置,并创建一个.desktop文件,将其集成到你的系统中。

如果你只是为自己安装应用程序,那么传统上会在你的主目录中放个bin(“二进制文件binary” 的简称)目录作为本地安装的应用程序和脚本的存储位置。如果你的系统上有其他用户需要访问这些应用程序,传统上将二进制文件放置在/opt中。最后,这取决于你存储应用程序的位置。

下载通常以带版本名称的目录进行,如twine_2.13或者pcgen-v6.07.04。由于假设你将在某个时候更新应用程序,因此将版本号删除或创建目录的符号链接是个不错的主意。这样,即使你更新应用程序本身,为应用程序创建的启动程序也可以保持不变。

要创建一个.desktop启动文件,打开一个文本编辑器并创建一个名为twine.desktop的文件。桌面条目规范FreeDesktop.org定义。下面是一个简单的启动器,用于一个名为 Twine 的游戏开发 IDE,安装在系统范围的/opt目录中:

[Desktop Entry]

Encoding=UTF-8

Name=Twine

GenericName=Twine

Comment=Twine

Exec=/opt/twine/Twine

Icon=/usr/share/icons/oxygen/64x64/categories/applications-games.png

Terminal=false

Type=Application

Categories=Development;IDE;

棘手的一行是 Exec 行。它必须包含一个有效的命令来启动应用程序。通常,它只是你下载的东西的完整路径,但在某些情况下,它更复杂一些。例如,Java 应用程序可能需要作为 Java 自身的参数启动。

Exec=java -jar /path/to/foo.jar

有时,一个项目包含一个可以运行的包装脚本,这样你就不必找出正确的命令:

Exec=/opt/foo/foo-launcher.sh

在这个 Twine 例子中,没有与该下载的软件捆绑的图标,因此示例.desktop文件指定了 KDE 桌面附带的通用游戏图标。你可以使用类似的解决方法,但如果你更具艺术性,可以创建自己的图标,或者可以在 Internet 上搜索一个好的图标。只要Icon行指向一个有效的 PNG 或 SVG 文件,你的应用程序就会以该图标为代表。

示例脚本还将应用程序类别主要设置为 Development,因此在 KDE、GNOME 和大多数其他应用程序菜单中,Twine 出现在开发类别下。

为了让这个例子出现在应用程序菜单中,把twine.desktop文件放这到两个地方之一:

  • 如果你将应用程序存储在你自己的家目录下,那么请将其放在~/.local/share/applications。

  • 如果你将应用程序存储在/opt目录或者其他系统范围的位置,并希望它出现在所有用户的应用程序菜单中,请将它放在/usr/share/applications目录中。

现在,该应用程序已安装,因为它需要与系统的其他部分集成。

从源代码编译

最后,还有真正的通用格式安装格式:源代码。从源代码编译应用程序是学习如何构建应用程序,如何与系统交互以及如何定制应用程序的好方法。尽管如此,它绝不是一个点击按钮式过程。它需要一个构建环境,通常需要安装依赖库和头文件,有时还要进行一些调试。

现在你明白了

有些人认为安装软件是一个神奇的过程,只有开发人员理解,或者他们认为它“激活”了应用程序,就好像二进制可执行文件在“安装”之前无效。学习许多不同的安装方法会告诉你安装实际上只是“将文件从一个地方复制到系统中适当位置”的简写。 没有什么神秘的。只要你去了解每次安装,不是期望应该如何发生,并且寻找开发者为安装过程设置了什么,那么通常很容易,即使它与你的习惯不同。

重要的是安装器要诚实于你。 如果你遇到未经你的同意尝试安装其他软件的安装程序(或者它可能会以混淆或误导的方式请求同意),或者尝试在没有明显原因的情况下对系统执行检查,则不要继续安装。

好的软件是灵活的、诚实的、开放的。 现在你知道如何在你的计算机上获得好软件了。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11222

    浏览量

    208890
  • 程序
    +关注

    关注

    116

    文章

    3775

    浏览量

    80836

原文标题:如何在 Linux 上安装应用程序

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Linux安装和使用Checkmk工具

    设备。Checkmk 工具 Linux 中以混合方式工作。 Linux 机器安装该工具后,
    发表于 10-14 11:52 1688次阅读

    请问linuxprimetime怎么安装呢?

    请问linuxprimetime怎么安装呢?
    发表于 09-24 02:10

    怎么Linux安装Harmony

    嗨,所有,试图安装任何版本的MPLAB和谐惠普笔记本电脑。产品编号D1E81UA-阿巴莫德尔No.2000 2C29 WMIT已经切换到Linux Ubuntu 16.04,64位
    发表于 03-19 14:15

    Linux安装eclipse的详细步骤

    用gcc,gdblinux上进行编译调试实在是麻烦,安装一个集成开发环境来简化操作。linuxc/c++集成开发环境很多,熟悉的可以使用
    发表于 07-05 06:12

    请问怎样Galileo板子运行C语言程序

    请问怎样Galileo板子运行C语言程序。。Galileo板子运行自带的linux系统。。。
    发表于 07-29 05:56

    fs4412开发板怎样安装驱动程序

    如何对Linux系统进行编程?fs4412开发板怎样安装驱动程序
    发表于 08-03 07:13

    Windows安装Qt程序需要注意哪些事项呢

    怎样将Qt程序从Windows移植到Linux呢?Windows
    发表于 02-11 07:34

    为什么cubeprogrammerLinux使用GUI安装程序!?

    windows 10 ,想使用 linux 子系统 (WSL) 交叉编译 OpenST。到目前为止,我完成了所有步骤……直到我看到立方体程序员正在使用 GUI
    发表于 01-31 07:39

    几步Windows安装桌面化Linux

    ,会自动安装。第三步安装Windows Subsystem for Linux这个不是WSL,而是桌面化程序。同样商店里搜索Windows
    发表于 02-17 17:17

    关于怎样Red Hat Linux 6.5线上安装部署简要方法

    关于怎样Red Hat Linux 6.5线上安装部署简要方法
    发表于 09-05 14:28 13次下载
    关于<b class='flag-5'>怎样</b>Red Hat <b class='flag-5'>Linux</b> 6.5线上<b class='flag-5'>安装</b>部署简要方法

    如何在linux操作系统的机器安装Qt图形开发环境安装手册免费下载

    一般来说, 居于Qt/Embedded开发的应用程序最终会发布到安装有嵌入式Linux 操作系统的小型设备, 所以使用装有Linux 操作
    发表于 11-16 11:43 18次下载
    如何在<b class='flag-5'>linux</b>操作系统的机器<b class='flag-5'>上</b><b class='flag-5'>安装</b>Qt图形开发环境<b class='flag-5'>安装</b>手册免费下载

    怎样安装和使用Kali Linux

    KALI Linux安装教程:如何在USB驱动器安装Kali Linux
    的头像 发表于 08-01 10:31 2.2w次阅读

    如何在Linux系统安装软件

    在任何操作系统中,我们都需要安装应用程序来完成日常任务。Windows世界中,每个程序都有一个简单的Setup.exe或program.zip文件。
    的头像 发表于 02-15 15:36 7812次阅读

    Qt如何安装Linux

    Qt作为一款C++的跨平台开发框架,不懂Linux系统安装怎么行呢?本文带大家详细的走一遍流程,如有不懂欢迎留言交流哦~
    的头像 发表于 02-27 14:59 2598次阅读
    Qt如何<b class='flag-5'>安装</b>在<b class='flag-5'>Linux</b><b class='flag-5'>上</b>

    怎样codeblocks编写程序

    如何在CodeBlocks编写程序,并提供一些有用的技巧和建议。 要在CodeBlocks编写程序,首先需要下载和安装它。你可以从官方网
    的头像 发表于 11-26 09:26 1508次阅读