如果你是root用户,安装软件包非常简单,直接使用

sudo apt-get install packagename

但如果你是非root用户(例如,使用实验室的服务器),将不能采用这种方法安装软件包。

这种情况下,可以采用下面三种方法:

一、源码安装

1、获取压缩包。

比如,当你要安装libssl可以直接去官网,下载你所需版本的压缩包。

wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz

2、解压,进入文件

tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l

3、设置安装路径,并编译,安装

例如,你想安装在自己的目录/home/yourname/software下,用配置文件configure(不同软件包名字可能不同,但多为config或configure)生成makefile,然后编译,安装

./configure --prefix=/home/yourname/software
make
make install

4、配置环境变量

手动安装之后,一定要配置环境,不然系统还是找不到你刚刚安装的软件。

根据第3步你设置的安装路径,他会自动生成一个bin目录,只需把bin目录的绝对路径添加进bashrc文件中即可

vim ~/.bashrc

进入vim后,按i进入编辑模式,然后输入

export PATH=$PATH:/home/yourname/software/bin

按ESC退出编辑模式,输入:wq,自动保存并退出vim,然后输入

source ~/.bashrc

大功告成,你可以输入echo $PATH查看刚刚添加的环境变量。

二、通过apt-get获取到deb软件包

例如在安装kaldi的时候,会显示要安装gfortran或者subversion,提示采用

apt-get install gfortran subversion

但是没有root权限这样做是行不通的,可以按如下步骤:

1、获取deb软件包

deb软件包不同于tar.gz,它是通过apt-get指令获取的,我们手动安装的话,要把依赖的包一个一个全找到,是比较麻烦的。首先,输入:

apt-get install gfortran

 会显示类似下面的报错,我们可以看到有四个软件包的下载被禁止了,原因是没有权限打开 /var/cache/apt/archives/partial/目录。但是我们可以看到他们的下载地址,直接复制链接,在本地把这四个软件包下载好,然后再上传到服务器即可。

 本机下载好后,上传到服务器

scp /home/yourpath/gfortran-9_9.4.0-1ubuntu1~20.04.1_amd64.deb libgfortran-9-dev_9.4.0-1ubuntu1~20.04.1_amd64.deb yourname@ip_address:/yourpath/

 2、解压到安装目录

dpkg -X libapr1_1.6.5-1ubuntu1_amd64.deb /home/yourname/software

 3、添加环境变量

和方法一第4步一样

三、conda install

1、进入你的conda环境

conda activate your_env_name

2、conda install packaege_name

参考:

非Root用户安装libssl - 知乎

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐