精华内容
下载资源
问答
  • linux下非root用户安装软件

    千次阅读 2019-05-23 17:20:24
    从windows转移到Linux用户最开始有各种不适,因使用习惯水土不服而放弃Linux的不在少数。还没有领略到Linux的美好就退却,对于这类人只能说可惜。还有部分人在个人电脑上用Linux,总体感觉还不错;工作时只能使用...

    从windows转移到Linux的用户最开始有各种不适,因使用习惯水土不服而放弃Linux的不在少数。还没有领略到Linux的美好就退却,对于这类人只能说可惜。还有部分人在个人电脑上用Linux,总体感觉还不错;工作时只能使用无特权的普通账户,会遇到“没root权限 -> 出现问题 -> 找答案 -> 提示用root”的死循环,不免感到沮丧和抓狂。本文主要面向对象第二类人,简要介绍没有root权限时,如何安装所需软件推动正常工作。

    推荐阅读:程序的运行流程

    =分割线========

    许多人都非常熟悉Windows,毫无疑问是目前桌面操作系统的王者。随着高富帅和土豪种群的增长,Mac OS的份额也逐步提升。无论是windows还是Mac OS,用户接触的都是图形界面(Graphical User Interface,GUI)。转向Linux之后,大部分人会优先使用带图形界面的系统作为过渡。比如本人最开始使用Ubuntu,熟悉后才慢慢转向CentOS和Fedora。许多优秀的Linux桌面图形发行版,如Debian/Ubuntu/Mint,Fedora,OpenSUSE等,图形界面华美,桌面体验良好,可以给Windows用户很好的过渡。这些Linux系统基本都开源且可免费使用(支持服务可能要付费),是Linux入门级操作系统的首选。

    Windows上安装软件相当傻瓜化,下载exe后双击运行,点击鼠标一直next就完事。安装过程中,小白用户一般不会看引导页面种的内容(估计字都认识,连在一块不知道什么意思),附带安装其他软件或者对系统做了额外改动也毫不知情。当有人(一般是女生)说电脑开机后反应很慢/失去响应,过去一看电脑上瑞星、360、金山毒霸、腾讯安全管家等各种软件都在右下角托盘刷着存在感。对于这种情形,只能表示理解,进入安全模式把不用的软件都卸载掉,电脑基本上就正常了。

    回到Linux安装软件,情况稍有不同。首先是软件一般从软件仓库中获取,即现在熟悉的应用市场;再次基本上用命令行安装软件,不是双击安装包(Mac OS可以这样做)。熟悉命令行安装软件,是迈向Linux世界基础的一步。apt/yum/dnf等软件包管理工具,会自动解决依赖问题,让用户一行命令就获取到所需软件。例如安装g++,执行sudo apt-get install g++/sudo yum install -y gcc-c++即可。

    有些软件是别人自行写的,给的源代码,也没有提交到仓库,apt-get/yum/dnf的安装方式就行不通。这时需要先下载源代码,解压(不能点右键解压,对不少人是个难题),然后按照说明文档make && make install。不管是从软件仓库,还是手工编译源代码的方式,对有root权限的用户问题都不大(问题常出现在依赖)。倒霉的是没有root权限,还不得不安装软件才能正常工作的普通账号。对这些普通账号,需要额外的软件或依赖库时,该如何自救解脱?

    问题在权限,有必要先了解一下Linux中文件和用户的权限。对任意一个文件(Linux下一切皆文件,包括目录、CPU内存等设备),可以使用ls -l查看其权限。命令的每行首列输出类似(d|-)rwxrwxrwx,这就是文件的权限标志。第一个字母是文件类型,d表示目录,-表示普通文件,s套接字,l链接文件,等等;接下来有9列,每3列一组,总共3组,对应文件属主(owner)、属主组员(group)和其他用户(other)对该文件的权限。每组的标志类似rwx。rwx是读(read),写(write)和执行(execute)三种权限的缩写。如果没有某种权限,对应标志位是-。例如某个文件foo.txt,只有属主可读写,其权限标志就是:-rw——-。注意,非root用户下,文件夹必须要有执行(x)权限才能进入。

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

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

    下面是Linux下非root用户安装软件的一般流程:

    获取源代码,常用wget方式直接从url下载,ubuntu可以用apt-get source来获取仓库中软件源代码;

    解压源代码安装包,多为gzip过的tar包,一般使用tar -zxvf xxx.tar.gz即可;

    切换到解压后的目录,运行 ./configure。./configure –help可以列出配置项,非root用户最重要的配置项是安装目录prefix,例如 ./configure –prefix=/path/to/bin。在无法自动找到依赖库位置的情况下,用 –with-xx-dir=xxx 的形式配置依赖库位置;

    编译源代码并复制可执行文件到指定的安装目录: 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下非root用户安装Apache、PHP和MySQL

    后记
    Nodejs的出现改变了JavaScript写程序的方式,为前后端开发注入了新鲜的血液。Node开发人员可以使用npm(Node默认的包管理器)方便的安装依赖包和可执行程序。确实,非root人员可以用npm安装软件,但并不影响上文内容的正确性。非root用户,安装依赖包或程序时,不能使用-g选项,默认安装到家目录或项目的node_modules目录下,依然受权限控制。brew、composer等包管理器同理。


    转载自:https://www.cnblogs.com/taolusi/p/9240870.html
    推荐阅读:《程序的运行流程》:https://www.tlanyan.me/program-execution-process/

    展开全文
  • Linux上普通用户安装软件

    千次阅读 2019-08-02 23:18:37
    安装deb包 a. 安装 i. sudo dpkg -i <package.deb> b. 移除 i. sudo dpkg -r <package>(注意不是清除+deb文件的名字,不明白看下面) 移除一个已安装的包裹。 ii. sudo dpkg -P <package> 完全...
    1. 安装deb包
      a. 安装
      i. sudo dpkg -i <package.deb>
      b. 移除
      i. sudo dpkg -r <package>(注意不是清除+deb文件的名字,不明白看下面)
      移除一个已安装的包裹。
      ii. sudo dpkg -P <package>
      完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
    2. 编译安装(非root用户)
      a. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码;
      b. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可;
      切换到解压后的目录,运行 ./configure。其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure --prefix=/path_to_bin, 对于一些依赖库,可能还需要使用 ./configure  --prefix=xxx –with-xx-dir=xxx这种形式
      c. 接着是编译源代码和安装软件: make && make install。这两条命令可以分开来用,因为编译的时候可以指定参数 -j来并行编译,这样能够加快编译进度;
      d. 更新path路径。使用 export PATH=/path/to/bin:$PATH,将其写到 .bashrc 或者 .bash_profile 里面使其对当前用户有效;
      e. 如果安装的是动态链接库,则需要更新动态链接库路径:export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH ,同样是 export 命令,最好将其写在 .bashrc 这类文件下面以便登陆的时候自动调用
    展开全文
  • linux下非root用户安装软件入门

    万次阅读 2017-03-13 23:16:10
    本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章...从windows转移到Linux用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数。对于这类人只能说可惜,还没有领略到linux的美好就过早

    本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:

    http://www.tlanyan.me/work-with-linux-without-root-permission

    从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数。对于这类人只能说可惜,还没有领略到linux的美好就过早放弃了。还有就是用着Linux还不错,但是因为熟悉了在个人电脑上使用,有着各种权限。突然发现工作的时候只能使用普通账户,许多sudo命令都不能再使用,然后各种不适应和各种纠结。本文主要面向对象是第二类人群,简要的介绍在没有root权限的情形下良好的使用Linux来工作。

    推荐阅读:程序的运行流程

    ===============昏割线======================

    windows毫无疑问是PC操作系统的王者,许多人都非常熟悉。当然随着高富帅和土豪的普及,Mac OS的份额正在加重。无论是windows还是Mac OS,用户接触的都是图形界面(GUI)。转向Linux之后,大部分会优先使用带有图形界面的系统作为过渡。比如我最开始使用的就是Ubuntu,折腾熟悉了之后才慢慢转向RHEL和CentOS。有许多优秀的Linux桌面图形发行版,如Ubuntu,fedora,opensuse等,图形界面华美,提供了类似的桌面体验,可以给windows用户很好的过渡。这些Linux系统一般都是开源且可免费使用,如果需要支持服务可能要付费。

    这类图形界面操作系统一般安装在个人电脑上,用户都能轻易拿到所有权限(切换到root用户即可)。这诚然是让用户从GUI(Graphical User Interface)转向CLI(Command Line Interface)的一个很好的开始,但是如果仅限于这种形式将会在后续的非root用户的日常使用上带来很大的困惑。windows上安装软件那是相当的傻瓜,点击鼠标一直next就OK。稍微高级一点的用户可能会看看中间出现的选项,然后做一些自定义。小白用户一般不会看,一路next下去,在这个过程中安装了其他软件也不知道。当有人(一般是女生)告诉你开机电脑就失去响应,你过去一看电脑上瑞星,360,金山毒霸,腾讯安全管家等各种软件都安装了,对于这种情形你应该能过给予理解。对于这种情形,我只能默默的在安全模式下把这些软件删了,然后表示系统太久没清理,多喝点热水重启一下就好了。

    嗯,现在回到Linux安装软件上来。Linux刚入门的用户能够使用命令行安装软件是一个很大的进步。但是由于使用的是易用的Linux桌面发行版,并且有着所有的权限,所以一般人安装软件提示权限不够的时候二话不说立马切换到root模式,然后一切问题就OK了。想当年我在Ubuntu下那也是毫不犹豫直接sudo过去,权限什么都是浮云了。

    另外就是安装形式问题,Ubuntu,opensuse,debian这类的系统提供了软件仓库,里面有直接编译好的软件包可用。要安装g++?没问题!sudo apt-get install g++,两分钟见效,效果杠杠的。依赖问题自动帮你解决了,至于版本估计就不再考虑范围之内,能用才是王道!话说当年我也这样使用Linux好多年。这么看来,Linux安装软件也不是那么难的嘛,安装完之后直接敲命令就可以运行了。

    但是不是所有的软件都是能在软件仓库里找到的。难免有些软件是别人写的,给出的是源代码。这种情形下需要下载下来,解压(对很多人也是一个难题,不能点右键直接解压!)之后,按照里面说make && make install就可以了。如果碰到权限问题,咱有root权限咱怕谁啊?如果稍微高级一点的,可能还需要在make之前执行./configure,这个也还是很简单吗,一切都没问题的。虽然暂时不知道这几句代表了什么,但是只要程序没有错误,依赖的软件或者包都有,事情进展还是很顺利的。

    首先需要解释一下程序是怎样运行的。在Linux下,用户在终端下输入一个命令,比如ls,这个命令是怎样被执行的呢?大致流程为:在当前用户的path路径文件夹下查找名为ls的可执行文件名,如果找到,则执行ls文件;如果找不到,则提示未安装或者找不到。这里很重要的就是path路径的内容,如果没有指定路径,则会在path路径里寻找。可以echo $PATH看看里面的内容。在以冒号分割的文件夹下,你会发现你平时执行的程序都在。所以要执行一个程序,首先要保证这个文件存在,然后:1.如果告诉了程序的路径,系统会到指定目录下寻找该程序并执行,如 ./helloworld 就是执行当前目录下的helloworld程序;2.如果没有指明路径,则需要保证需要执行的程序在path变量里面的任意一个目录下。在windows上也是同样的,不过windows一般是以鼠标点击方式,因而关注的人很少。在任意一个快捷方式上点右键,属性里面有个“目标”,指明的就是该程序的位置(一般给出的都是绝对位置)。

    接着要说明的是如果不是root用户,会拥有哪些权限。对任意一个目录,可以使用ls -l查看对其的权限。会看到(d|-)rwxrwxrwx这样的权限说明,其中d代表这是一个目录,-则表示是文件,rwx分别对应读写和执行。一般的目录都有r和x权限,正常情况下非root用户只对 主目录和/tmp创建的目录有写的权限。当然/tmp指明了其属性,里面都应该只能放临时性的东西,重要的东西都不应该放里面,说不定什么时候就被清走了,或者系统一重启就清除了。综上所述:用户可以执行很多目录下的程序,但是其工作目录(一般程序都有输出)应该只限于用户的家目录

    再回过头来看为什么安装软件一般都需要root权限。软件默认的安装路径是 /usr/bin,普通用户对这个目录是没有写权限的。安装的时候需要将文件copy到该目录下,所以会提示无权限而操作失败。如果不使用root权限,只能而且应该将软件安装在自己的目录下。为了方便,可以将执行程序所在目录加入到path环境变量里。如果不更新path变量,则运行程序的时候需要指明路径。

    下面简要说一下Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码。

    2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可

    3. 切换到解压后的目录,运行 ./configure。其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要使用 ./configure  –prefix=xxx –with-xx-dir=xxx这种形式。

    4. 接着是编译源代码和安装软件: make &&  make install。这两条命令可以分开来用,因为编译的时候可以指定参数 -j来并行编译,这样能够加快编译进度。。

    5. 更新path路径。使用export PATH=/path/to/bin:$PATH,这句话在shell窗口运行只在本次会话中有效,可以将其写到.bashrc或者.bash_profile里面使其对当前用户有效。

    6.如果安装的是动态链接库,则需要更新动态链接库路径: export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH,同样是export命令,最好将其写在.bashrc这类文件下面以便登陆的时候自动调用。

    示例可参考: http://www.tlanyan.me/install-apache2-php-mysql-with-none-root/

    展开全文
  • Kali Linux 2020切换root用户

    千次阅读 2021-01-25 15:06:48
    安装Kali Linux 2020.1系统后,需要使用root用户权限安装软件。由于root用户的默认密码未知,所以需要在单用户模式下重新设置root用户密码。 方法一: sudo passwd root //进行root密码修改 su root// 切换root...

    Kali Linux 2020切换root用户

    安装Kali Linux 2020.1系统后,需要使用root用户权限安装软件。由于root用户的默认密码未知,所以需要在单用户模式下重新设置root用户密码。

    • 方法一:

    sudo passwd root //进行root密码修改
    
    su root// 切换root用户
    
    • 方法二:

    (1)启动Kali Linux,进入启动界面。

    在这里插入图片描述

    (2)选择Kali GNU/Linux项,并按下e键,进入Grub编辑界面。

    在这里插入图片描述

    (3)选择到Linux行,将ro修改为rw,并在末尾添加init=/bin/bash。

    在这里插入图片描述

    (4)按下Ctrl+X或F10重新启动系统,即可进入单用户模式。

    在这里插入图片描述

    (5)执行passwd命令,输入两次密码。注意,输入的密码是不显

    在这里插入图片描述
    这样就可以了

    • 方发也适用于Ubuntu

    展开全文
  • Oracle Linux 7.5安装oracle 12cR2数据库

    千次阅读 2018-12-27 16:53:01
    Oracle Linux 7.5安装oracle 12cR2数据库 1 安装Oracle之前的环境准备 1.1 预先准备安装oracle所需的RPM包(本次yum安装12cR2的基础环境RPM包进行全部基础包安装和参数设置,需要能访问外网且配置DNS) ...
  • Linux

    千次阅读 多人点赞 2020-02-11 21:22:11
    Linux 安装2.1 安装虚拟机2.2 安装 CentOS3. 远程操作 Linux3.1 SecureCRT 介绍3.2 SecureCRT 登录 Linux4. Linux 的目录结构5. Linux 常用命令5.1 列出文件列表 ls5.2 切换目录命令 cd5.3 目录操作5.3....
  • 普通用户不使用sudo安装多个版本CUDA和cuDNN确定安装软件版本下载CUDA Toolkit下载cuDNN安装CUDA配置cuDNN配置用户环境变量安装多个版本的CUDA,然后在不同的CUDA版本之下进行切换。 一、确定安装软件版...
  • linux安装软件的几种方法

    万次阅读 多人点赞 2018-03-11 14:45:53
     2、打开一个终端,su -成root用户; 3、cd soft.version.rpm所在的目录; 4、输入rpm -ivh soft.version.rpm详细介绍:1. 安装: 我只需简单的一句话,就可以说完。执行: rpm –ivh rpm的软件包名 更高级的...
  • Linux下非root用户如何安装软件

    千次阅读 2018-05-15 19:49:50
    Ubuntu,opensuse,debian这类的系统提供了软件仓库,里面有直接编译好的软件包可用。要安装g++?...这么看来,Linux安装软件也不是那么难的嘛,安装完之后直接敲命令就可以运行了。但是不是所有的软...
  • Linux系统中安装软件的三种方法

    万次阅读 多人点赞 2019-04-22 18:44:53
    这篇来说一下Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1、文件位置 系统命令:一般在/bin和/sbin目录中,或为shell内部指令 应用程序:通常在/usr/bin和/usr/sbin目录中 2、主要用途 ...
  • Linux安装NVIDIA显卡驱动的正确姿势

    万次阅读 多人点赞 2018-08-20 21:05:58
    Linux安装NVIDIA显卡驱动的正确姿势 什么是nouveau驱动? 检测NVIDIA驱动是否成功安装 集显与独显的切换 使用标准仓库进行自动化安装 使用PPA仓库进行自动化安装 使用官方的NVIDIA驱动进行手动安装 Linux...
  • Kali Linux添加、切换用户

    万次阅读 2018-08-14 15:26:58
    ...   3.将我们创建的用户添加到sudo用户组。(这样我们创建的用户才能进行安装软件,允许打印。使用特权模式等操作。不然我们创建的用户就只能进行浏览。没有实际意义) 输入:usermod -a -G s...
  • linux下 如何切换到root用户

    万次阅读 2016-11-21 16:34:00
    ubuntu如何切换到root用户 默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令 xzm@ubuntu:~$ sudo 这样输入当前管理员用户密码就可以得到超级用户的权限。但默认的情况下5...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 (3)install -d [选项]... 目录... 在前两种格式中,会...
  • Linux下如何从用户切换到内核态?

    万次阅读 多人点赞 2018-10-18 19:39:10
    首先我们得明白什么是用户态和内核态? 明白这两个概念之前,我们得知道...不管对于Linux还是Windows, 他们都具有自己用户空间和内核空间。当一个程序运行时,如果它是在用户空间下执行,我们把此时运行得程序的这...
  • Linux内核态和用户态的切换

    千次阅读 2017-08-11 11:24:26
    当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态...
  • Linux安装VNC远程控制软件

    千次阅读 2019-01-30 12:35:02
    Linux Centos6.8安装oracle11.0.4.0数据库 在安装Linux操作系统中,我们首先对linux的内存配置。 1.Linux安装Centos6.8操作系统
  • linux安装软件和卸载的几种方法

    万次阅读 2017-11-19 08:31:06
    一、rpm包安装方式步骤...2、打开一个终端,su -成root用户;  3、cd soft.version.rpm所在的目录;  4、输入rpm -ivh soft.version.rpm 详细介绍: 1. 安装:  我只需简单的一句话,就可以说完。执行:  rpm
  • Linux总结

    千次阅读 多人点赞 2020-01-14 20:36:45
    一 、从认识操作系统开始 1.1 操作系统简介 1.2 操作系统简单分类 二 、初探Linux 2.1 Linux简介 2.2 Linux诞生简介 ...4.1 目录切换命令 4.2 目录的操作命令(增删改查) 4.3 文件的操作命令(增删...
  • 由于实验室需要,准备配置新的服务器,之前一直使用windows比较多,linux比较少,于是开始重新学习linux各种环境的搭建. 1. 系统选择 在选择使用centos和ubuntu上,参考了一下网上的建议,大多认为服务器上...
  • Linux 面试题 1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2、怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3、怎么清屏?怎么退出当前命令?...
  • Linux安装软件的几种方法

    千次阅读 2018-03-01 16:09:48
    原文地址:http://blog.csdn.net/u010509774/article/details/50593231一、rpm包安装... 2、打开一个终端,su -成root用户; 3、cd soft.version.rpm所在的目录; 4、输入rpm -ivh soft.version.rpm详细介绍:...
  • Linux安装普通用户JDK环境

    千次阅读 2018-06-11 16:23:42
    二个月不弄,就忘了,记一下吧,...1.切换到自己用户如xiaoming 2.进入用户根目录,编辑.bash_profile文件 &gt; vim .bash_profile 修改内容: # .bash_profile # Get the aliases and functions if [ -f...
  • Linux 命令面试题

    万次阅读 多人点赞 2019-07-24 09:40:04
    Linux面试题: 1.Linux常用系统安全命令 sudo // 超级用户 su // 用于切换当前用户身份到其他身份,变更时需输入所要变更的用户账号与密码。 chmod // 用来变更文件或目录的权限 setfacl // 设置文件访问控制列表 2....
  • 下载一个xshell的文件,安装时直接下一步下一步。安装好后就是直接运行,如下界面。怎样远程连接虚拟机里的Linux系统,首先在虚拟机的终端界面输入 ifconfig 找到系统的ip地址。然后按下 win + R 键打开cmd命令窗口...
  • 关于Kali Linux安装中文输入法不能使用的问题总结1.关于Kali Linux系统中文输入法无法使用的问题描述1.1安装中文输入法1.2问题重现1.3解决问题 1.关于Kali Linux系统中文输入法无法使用的问题描述 现在有很多人...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,865
精华内容 62,346
关键字:

linux安装软件切换用户

linux 订阅