在班图中附带了丰富的软件,这些软件一般使用图形化的自动方式即可轻松安装,但是对于那些刚刚问世的新软件,班图还未收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些软件。下面就介绍这种手工安装方式的详细步骤。
一、 安装编译程序
因为要编译源代码,所以第一步就是安装编译和构建之类的程序。在班图系统中非常简单,只要执行下面命令就行了:
$ sudo apt-get install build-essential
该命令执行后,从源文件安装软件所需的工具,如gcc、make、g++及其他所需软件就安装好了。
二、下载并编译软件的源代码
当我们下载源文件时,一定要弄清该软件所依赖的库文件和其他程序,并且首先将它们装 好。这些信息,通常都能在该开源项目的主页上查找到。做好这些准备工作后,我们就可以进行下面的工作了。因为,软件的源代码通常以压缩文件形式发布,所以 需要将其解压到指定目录。命令如下所示:
baby@ubuntu:~$ tar xvzf
program.tar.gz
baby@ubuntu:~$ cd
program/
在Linux下从源文件安装程序时,有一个通用模式,即配置--编译--安装。但 是,此前你最好还是阅读源文件中附带的安装说明,因为对于每个程序,其开发者的指示才是最具权威性的。程序开发者通常将安装说明存放在名为INSTALL 或README。到哪里找这些文件呢?它们在项目主页或源代码主目录中都能找到。
1.配置
构建应用的第一步就是执行configure脚本,该脚本位于程序源文件的主目录下:
baby@ubuntu:~/program$ ./configure
该脚本将扫描系统,以确保程序所需的所有库文件业已存在,并做好文件路径及其他所需 的设置工作。如果程序所需的库文件不完全,该配置脚本就会退出,并告诉您还需要哪些库文件或者是哪些版本太旧需要更新。如果遇到这种情况,仅弄到含有该库 文件的软件包还是不够的,同时还要找到具有该库文件所有头文件的开发包,在班图中,这样的包一般以-dev作为文件名的结尾。安装好所有需要的库文件后, 重新运行配置脚本,直到没有错误提示为止,这说明需要的库文件已经全部安装妥当了。
2.编译
当配置脚本成功退出后,接下来要做的就是编译代码了。具体操作为在源文件的主目录中运行make命令:
baby@ubuntu:~/program$ make
这时,您会看到一串编译输出数据迅速从屏幕上滚过,如果正常的话,系统会返回的提示 符状态。然而,如果编译过程中出现错误的话,排错的过程可就不像配置步骤那么简单了。因为,这通常要涉及到源代码的调试,可能源代码有语法错误,或其他错 误等等。怎么办?如果您是编程高手,那就自己调试吧!否则,检查该软件的邮件列表等支持渠道,看看是不是已知的bug,如果是就看看别人是怎么解决的,不 是就提交一份bug报告吧,也许不久就会有解决办法。
3.安装
当软件成功编译后,最后一步就是将它们安装到系统上。大部分程序的makefile文件中都会有一个用于安装
的函数。需要注意的是,大多时候我们必须作为root用户来安装程序,这样程序就把文件安装到/usr或其他
只有超级用户才有写权限的目录中。依旧是在源文件的主目录下,执行如下命令:
baby@ubuntu:~/program$ sudo make install
好了,这样程序就会安装到您的计算机上了。另外,当您不再使用该程序时,可以使用软件所带的卸载功能,一般程序都会具备此功能。切换至源文件的主目录下,执行以下命令即可:
baby@ubuntu:~/program$ sudo make uninstall
多数情况下,利用上面介绍的方法安装的程序,都位于/usr/local下面。若想让安装的程序文件与班图巡视的文件系统隔离开的话,可以为命令添加项,如下所示:
baby@ubuntu:~/program$ ./configure --prefix=
/opt
尽管这样做一般都是有效的,但是也有例外,有些程序根本不理会项;有些程序如含有内核模块的程序,会把它们自己全部放进您的文件系统。
三、小结
上面介绍的手工安装软件的方法虽然是针对班图环境来介绍的,但是各种Linux系统下的从源文件安装应用的
方法基本上都大同小异。只要读者举一反三,触类旁通,在其他系统下遇到从源文件安装软件的情况时,就不会无从下手了。
分享到:
相关推荐
ubuntu安装dnw源文件,测试可以使用
在 Ubuntu 中,虽然有很多软件可以通过图形化的自动方式安装,但是对于刚刚问世的新软件, Ubuntu 的源中还未收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些软件。 安装编译...
ubuntu:ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu20.04图文安装教程ubuntu...
ubuntu20.04安装教程:Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装教程Ubuntu安装...
### Ubuntu 下安装 ESET NOD32 杀毒软件详细指南 #### 一、引言 随着 Linux 系统在服务器领域的广泛应用,安全问题日益受到重视。Ubuntu 作为一款流行的 Linux 发行版,在个人计算机及服务器领域都有广泛的应用场景...
《Ubuntu 14.04原始源文件:sources.list详解》 在Ubuntu操作系统中,`sources.list`是一个至关重要的配置文件,它定义了系统更新、软件安装时所使用的软件源。在Ubuntu 14.04 LTS(长期支持版)中,`sources.list`...
tiny6410板子Ubuntu系统的源文件,烧写进SD卡可用SD卡启动
Ubuntu 11.10/12.04 安装深度软件中心的方法 在 Ubuntu 11.10/12.04 系统中,安装深度软件中心需要满足一些前提条件,并遵循特定的安装步骤。下面将详细介绍安装深度软件中心的方法。 前提条件 在安装深度软件...
Ubuntu离线安装软件的方法 在Ubuntu中,使用apt-get方法安装软件通常都是依赖网络的,但是有时候我们可能面临着网络限制的问题。这时候,我们可以使用离线安装软件的方法来实现软件的安装。在这种方法中,我们可以...
玩转 Ubuntu:如何从源文件安装软件 二、下载并编译软件的源代码 三、小结 给新手Ubuntu爱好者参考的安装日志 一、配置中文环境 二、调整字体大小 三、调整Firefox和一些系统中文字体过度柔化 四、XMMS等Gtk1程序的...
Ubuntu软件安装位置,一般都在/usr/bin下,个别可能会安装到/usr/share和/usr/local里, 一、查看软件安装的所有路径:要知道文件都安装在哪些地方、放在哪些文件夹里, 可以通过whereis 软件名的命令查看所有的...
1. **下载与解压**: 首先,你需要从Ubuntu官方网站下载最新版本的Wubi.exe安装文件。解压缩后,你会得到一个名为wubi.exe的可执行文件以及一份"使用更新说明.txt",请仔细阅读该说明文件以了解详细步骤和注意事项。 ...
在Ubuntu系统上安装Java Development Kit (JDK) 版本1.8是开发Java应用程序的基础步骤。这个免费的安装包提供了必要的环境,让开发者可以在Ubuntu上编写、编译和运行Java程序。本文将详细介绍如何在Ubuntu系统上安装...
- 在BIOS设置中选择USB设备作为启动选项,以便从USB启动安装Ubuntu系统。 2. 安装系统时的注意事项: - 安装过程中拔下网线可以加快安装速度,因为避免了检查更新的步骤。 - 系统分区建议分为三个部分:swap区...
首先,你需要从Ubuntu官方网站下载Ubuntu 8.10的LiveCD安装镜像。你可以选择刻录ISO文件到光盘,或使用虚拟光驱软件如Daemon Tools或Winmount挂载ISO文件。这里推荐免费且易用的Winmount。一旦ISO文件挂载或光盘插入...
### Ubuntu 16.04 常用软件安装指南 #### 一、安装QQ 在 Ubuntu 16.04 上安装 QQ 需要借助 Wine 来运行。Wine 是一个允许用户在 Linux 上运行 Windows 应用程序的兼容层。 1. **下载 QQ 安装文件** - 下载地址...
"Ubuntu22.04安装教程以及Ubuntu下C++环境配置" 本教程旨在指导读者如何安装 Ubuntu 22.04 操作系统,并配置 C++ 编程环境。下面将详细介绍安装和配置过程中的每一步骤。 一、安装 VMware 在开始安装 Ubuntu 之前...
ubuntu20.04离线安装docker的离线安装文件
Ubuntu 16.04 安装 Audio Recorder 录音软件 Ubuntu 16.04 作为一个流行的 Linux 操作系统,许多用户可能会发现系统中缺少一个易用的录音软件。为此,我们将介绍如何在 Ubuntu 16.04 中安装一个强大的录音软件- ...
在Ubuntu操作系统中,安装软件是一项基础且重要的任务。由于Ubuntu在中国的广泛应用,用户们拥有丰富的软件源可供选择,这些软件源就像是一个庞大的软件仓库,包含了各种各样的应用程序,覆盖了日常使用的所有需求。...