如果你是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