远程服务器中编译安装tmux
在工作当中,公司出于安全考虑,部署的远程Linux服务器总有一些限制(没网,Shell指令有限),而且员工作为普通用户,无法安装软件到除用户目录以外的目录。当我们需要下载安装一些常用工具时,因为没网,所以无法使用apt-get
等下载指令,只能先在本地PC下载软件源码,然后传入服务器进行编译安装。本文以tmux
为例说明服务器中编译安装软件的流程。
安装路径:~/lib/software/tmux
Download
tmux
的下载地址 : https://github.com/tmux/tmux/releases/download/2.5/tmux-2.5.tar.gz
依赖库libevent
:https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
下载后的文件通过一定方式(scp,共享服务,...)可以传入服务器中。
Move files (optional)
在服务器中执行以下指令,将文件放入~/lib
文件夹。
cd
mkdir lib
cp sharedir.git/*.tar.gz lib/
Edit .profile
编辑.profile
,添加全局变量SWDIR
(存放用户手动编译安装的软件);更新依赖库LD_LIBRARY_PATH
和环境变量PATH
,分别添加tmux
的依赖路径和安装路径。
$ vim ~/.profile
# ...
export SWDIR=/home/<username>/lib/software
export LD_LIBRARY_PATH=$LD_LIBRARY:$SWDIR/libevent/lib
PATH=$PATH:${SWDIR}/tmux/:${SWDIR}/tmux/bin/
Complie libevent
配置好环境变量后,首先编译tmux
的依赖库libevent
cd ~/lib
tar -xvzf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./autogen.sh
./configure --prefix=$SWDIR/libevent && make
make install
说明:默认安装路径是没有访问权限的,所以需要使用--prefix
选项手动指定安装路径至用户目录中的某个文件夹。
Complie tmux
cd ~/lib
tar -xvzf tmux-2.5.tar.gz
cd tmux-2.5
./configure --prefix=$SWDIR/tmux CFLAGS="-I$SWDIR/libevent/include" LDFLAGS="-L$SWDIR/libevent/lib" && make
make install
说明:CFLAGS
和LDFLAGS
用于指定编译tmux
所需的依赖库文件。
至此,tmux
便安装完成了。在shell
中输入tmux
即可启动,通过man tmux
可以查看帮助文档。
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 litreily的博客!