赞
踩
Linux下的软件安装,实质上有如下四种,“正规”程度依次递减:
yum/apt/yast
包管理程序安装sudo apt-get install g++/sudo yum install -y gcc-c++
rpm/deb
或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装apt-get/yum/dnf
的安装方式就行不通。这时需要先下载源代码,解压(不能点右键解压,对不少人是个难题),然后按照说明文档make && make install
。不管是从软件仓库,还是手工编译源代码的方式,对有root权限的用户问题都不大(问题常出现在依赖)在linux系统下,软件包安装一般需要root权限,因为都是安装到绝对路径,需要往系统文件夹写文件。但是源码编译就看情况了,适合咱这种没有root权限的孩子……下面是Linux下非root用户安装软件的一般流程:
tar -zxvf xxx.tar.gz
即可./configure
。./configure –help
可以列出配置项,非root用户最重要的配置项是安装目录prefix,例如 ./configure –prefix=/path/to/bin
make && make install
。这两条命令可以分开执行,make
时指定 -j
参数并行编译,能显著减少编译耗时(单进程编译GCC需要几个小时,开启并行编译后可缩短到十几分钟)export PATH=/path/to/bin:$PATH
更新PATH
变量。命令行窗口运行此命令只对本次会话中有效,可将其写到~/.bashrc
或者~/.bash_profile
中;export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH
。最好将此命令写在.bashrc文件中,用户下次打开会话时自动执行。对任意一个文件(Linux下一切皆文件,包括目录、CPU内存等设备),可以使用ls -lh
查看其权限。命令的每行首列输出类似(d|-)rwxrwxrwx
,这就是文件的权限标志。
-rw-------
。注意,非root用户下,文件夹必须要有执行(x)权限才能进入。root用户是bug,电脑上所有的文件都是它的,权限位设置对其无效。非root用户默认 只对自己的home目录有完全的控制权限,对/tmp目录有读写的权限。/tmp目录如其名,应该只在其中存放临时性文件,该目录在系统重启时会被清空。/var、/usr、/bin、/opt等常见文件夹及子目录,几乎所有用户都能访问其中的文件和内容,执行可执行程序,但只有root用户和属主有写入的权限。
了解完权限,再看普通账户安装软件困难的原因。大部分软件默认安装路径是 /usr/bin 或 /usr/local/bin,安装时需要将可执行文件复制到这些目录下。普通用户没有目录的写权限,于是提示无权限导致安装失败。切换到root模式后,一切又都好使了。根据普通账号的权限,可以得出结论:非root用户,(几乎)只能安装软件到自己的家目录下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。