Linux下的软件安装

Linux下的软件安装,实质上有如下四种,“正规”程度依次递减:

  • 使用标准的yum/apt/yast包管理程序安装
    比如:sudo apt-get install g++/sudo yum install -y gcc-c++
  • 使用标准rpm/deb或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装
  • 直接解压软件开发者的tar.gz包
  • 自源码编译。有些软件是别人自行写的,给的源代码,也没有提交到仓库,apt-get/yum/dnf的安装方式就行不通。这时需要先下载源代码,解压(不能点右键解压,对不少人是个难题),然后按照说明文档make && make install。不管是从软件仓库,还是手工编译源代码的方式,对有root权限的用户问题都不大(问题常出现在依赖)

非root用户安装

在linux系统下,软件包安装一般需要root权限,因为都是安装到绝对路径,需要往系统文件夹写文件。但是源码编译就看情况了,适合咱这种没有root权限的孩子……下面是Linux下非root用户安装软件的一般流程:

  • 获取源代码,常用wget方式直接从url(一般都有官网,去官网看看啦)下载
  • 解压源代码安装包,多为gzip过的tar包,一般使用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中文件权限查看

对任意一个文件(Linux下一切皆文件,包括目录、CPU内存等设备),可以使用ls -lh查看其权限。命令的每行首列输出类似(d|-)rwxrwxrwx,这就是文件的权限标志。

  • 第一个字母是文件类型,d表示目录,-表示普通文件,s套接字,l链接文件,等等
  • 接下来有9列,每3列一组,总共3组,对应文件属主(owner)、属主组员(group)和其他用户(other)对该文件的权限。每组的标志类似rwx。rwx是读(read),写(write)和执行(execute)三种权限的缩写。如果没有某种权限,对应标志位是-
  • 例如某个文件foo.txt,只有属主可读写,其权限标志就是:-rw-------。注意,非root用户下,文件夹必须要有执行(x)权限才能进入。

root用户是bug,电脑上所有的文件都是它的,权限位设置对其无效。非root用户默认 只对自己的home目录有完全的控制权限,对/tmp目录有读写的权限。/tmp目录如其名,应该只在其中存放临时性文件,该目录在系统重启时会被清空。/var、/usr、/bin、/opt等常见文件夹及子目录,几乎所有用户都能访问其中的文件和内容,执行可执行程序,但只有root用户和属主有写入的权限。

了解完权限,再看普通账户安装软件困难的原因。大部分软件默认安装路径是 /usr/bin 或 /usr/local/bin,安装时需要将可执行文件复制到这些目录下。普通用户没有目录的写权限,于是提示无权限导致安装失败。切换到root模式后,一切又都好使了。根据普通账号的权限,可以得出结论:非root用户,(几乎)只能安装软件到自己的家目录下。

Linux下软件安装 非root用户安装软件的一般流程相关推荐

  1. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  2. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  3. 手机安装python3.5_zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

  4. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  5. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  6. linux上验证cudnn是否安装成功_非root用户安装cuda与cudnn

    很多小伙伴都和我抱怨(其实我自己也是)服务器上管理员已安装好显卡驱动或已安装的CUDA版本无法满足自己要求(要么太高要么太低),与自己需要的TensorFlow或者Pytorch版本不兼容,急的头皮发 ...

  7. linux非root用户安装jdk1.8

    # linux非root用户安装jdk1.8 如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录) ...

  8. Linux 非root用户安装CUDA,CUDNN

    Linux 非root用户安装CUDA,CUDNN 网上很多是root权限下的安装,这篇是利用非root权限进行安装 1.安装显卡驱动(决定CUDA安装的最高版本) 服务器上已安装好了显卡驱动,检查已 ...

  9. linux 非root tomcat,Linux非root用户安装jdk和tomcat

    创建一个用户 sgmm,并在其用户目录里面安装 jdk和tomcat,安装过程如下. 一.增加 sgmm 用户和 sgmm 组 [root@lnx_test ~]# groupadd sgmm [ro ...

最新文章

  1. ICLR认知科学@AI workshop一览
  2. 电脑账户头像怎么删掉_电脑用户账户头像在哪里更改?怎么更改?
  3. python第二天练习题
  4. 思考一个问题:如何重现主从备份失败的案例
  5. 快速入门 TensorFlow2 模型部署
  6. C/C++线程基本函数
  7. [kubernetes] kubectl proxy 让外部网络访问K8S service的ClusterIP
  8. java打开文件(Windows exe,应用文件exe,以及其他任何格式的文件)
  9. oracle 主键列创建自增长,powerdesigner创建oracle 数据库表,设置表主键列为自动增长。 ....
  10. 算法导论-堆排序习题解
  11. oracle 远程tns配置
  12. 复杂网络代码_据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?...
  13. 粒子滤波算法matlab代码,粒子滤波算法原理及Matlab程序(专题).ppt
  14. 阿里巴巴校招笔试题整理
  15. 【OpenGrok代码搜索引擎】四、OpenGrok使用指南
  16. Linux gpio 接口
  17. 使用EXCEL绘制三维地图(超简单的五分钟绘制地图方法,妈妈再也不用担心我不会画地图啦~)
  18. 推荐一款广告过滤软件
  19. CentOS6-yun install wget失败
  20. bzoj5197:[CERC2017]Gambling Guide

热门文章

  1. 2022第十三届蓝桥杯大赛软件赛省赛JavaC组真题
  2. JAVA 调用 DLL 文件 TSCLIB.DLL TSC打印机
  3. 饥荒联机版与服务器中断,饥荒联机版主机与主机断开 | 手游网游页游攻略大全...
  4. 关于uni-app的资源热更新!!!
  5. 望远镜物镜or光学系统分类
  6. AVI解码器,使用OPenCV可以打开中科院步态数据库的AVI文件
  7. 智能家居-3.基于esp8266的语音控制系统(软件篇)
  8. Ubuntu永久修改USB设备操作权限
  9. ABBYY15免费照片识别文字识别软件
  10. grub命令编译出错,求解救!