Linux系统中包的源码安装
本人算是个半吊子linux系统的使用者,之前linux系统的各种环境安装都是用sudo apt-get
指令完成的。
一般使用apt-get
指令都会需要系统权限,要执行sudo
命令。如果在拥有系统权限的情况下,使用apt-get
指令会方便很多,apt-get
在解决包的依赖关系方面有很大的优势,而且安装方便快捷。
但是也会有没有系统权限的时候。比如,你在使用别人的服务器时,出于安全考虑,别人并没有给你系统权限。这个时候就可以需要源码安装了。
源码安装的一般步骤
- 到官方下载源码压缩包,一般用
wget
指令。把压缩包放在随意合适位置即可。 - 接着解压缩这个压缩包得到压缩包里面的源码文件夹
- 进入文件夹,执行
./configure
指令。
./configure
用于检测安装软件包需要的依赖以及完成一些初始化的工作。./configure
比较常见的选项有--prefix
,用于指定软件安装的位置在哪里。
- 执行
make
指令,make
指令用于编译源码 - 执行
make install
指令,make install
用于执行安装操作。 - (非必需)执行
make uninstall
指令,用于卸载
一般而言,如果在执行
./configure
指令不指定--prefix
的话,安装的可执行指令就会在系统的/bin
或者/usr/bin
文件夹中,直接就能使用相应的指令。比如安装了文本编辑工具nano
,那么就可以直接使用nano
指令。
安装在自定义路径的包如何使用(设置环境变量)
但是,在我们是linux普通用户,没有系统权限的时候,一般不要把软件安装到系统默认的位置。因为我们可能只有/bin
和/usr/bin
的访问权限,而没有修改权限,这样就会因为权限不够导致安装失败。
所以我们在安装的时候需要自定义安装位置。例如安装到本用户下的$HOME/bin
文件夹中。
./configure --prefix=home/user1/bin
但是这样安装会有一个问题,系统并不知道我们安装的软件在哪儿。比如在/home/user1/bin
文件夹中安装好了nano
,但是使用nano
指令系统依然会提醒你该软件包没有安装。
这个时候需要设置一下环境变量。
每次在shell中执行bash
指令的时候,系统会从环境变量给的路径中搜索执行的指令,如果没有就会报错。因此,我们需要在环境变量中添加能检索到nano的路径,即/home/user1/bin
。
在用户下设置环境变量
cd
切换到用户目录- 用
ls -ah
指令查看是否有.bashrc或者.profile文件- 使用
vi
或者vim
(任何文本编辑工具都可)编辑上述任一文件(一个就行了)- 在文件中添加如下语句
PATH="$PATH:/home/user1/bin:路径2:路径3"
,保存退出。
:
表示并的意思。一般从$PATH开始,按照添加的先后顺序添加可执行程序的路径。- 修改文件之后并不会立即生效,可以注销用户再登陆使其生效,也可以执行
source
指令。
source ./profile
或者source ./bashrc
如果有系统权限,直接修改/etc/profile
也是可以的,这样全用户都可以使用。
以上就是笔者在学习linux系统源码安装的一些心得,第一次写博客,望坚持~