1 问题描述
在安装某些软件时,可能我们并没有root权限而只有管理员才有root密码,那么此时安装就不能直接sudo
来安装了,但是不用sudo
又会导致权限不够。
2 解决办法
- 如果我们直接
sudo
安装,那么会默认执行文件安装到/usr/local/bin
中,这样所有用户都可以使用这个软件。linux是将每个用户独立开的,在我们没有sudo
权限的情况下就需要指定安装到自己的目录下,这个时候需要修改Makefile或者config这样类似的安装文件。以安装am
为例,直接使用make install
会导致权限不够,使用sudo make install
需要管理员的密码,个人用户没有。因此修改Makefile,将安装文件改到自己的目录。
- 或者通常情况安装的时候都可以在命令行中指定安装路径,如
./configure --prefix=~/bin/ #如果不行,则~用绝对路径,即/home/xxx/bin
或者修改Makefile文件中的路径
以安装m4为例,
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz #下载
tar -xvf m4-1.4.9.tar.gz
cd m4-1.4.9
./configure --prefix=/home/xxx/bin #没有bin文件夹需要自己创建一个
make
make install
值得提醒的是,安装完如果通过(以m4为例)
m4 --version
没有发现版本,则要将m4通过export在.bashrc中导入到环境变量中,并source。