以超级管理员身份运行命令
- su命令
允许使用一个指定账户来开始一个会话,切换用户时会输入密码。 - sudo命令
使用指定用户来执行一个命令,而不建立完整会话,默认是指定超级用户,使用该命令会提示输入当前用户的密码。 - 之所以普通用户可以使用root权限来执行一些命令,是因为在/etc/sudoers配置文件中,指定了允许使用sudo的用户,并且指定了允许执行的命令。默认情况下sudoers文件中没有用户,因此需要以root用户登录,然后再将指定的用户添加到/etc/sudoers文件,这个文件遵循一个严格语法,因此对于它使用专用的编辑工具visudo(扩展了vi)。
- 在sudoers中添加一个新的sudo用户liang,并授予liang所有命令权限。
- visudo :打开sudoers文件
-
在文件末尾加上 liang ALL=(ALL) ALL
- 保存退出。
软件包
软件包管理
- 包管理器是一个工具,方便对系统上软件进行管理:下载安装、更新、卸载等。
- Linux世界中有很多不同的安装包系统,往往与特定的发布有关,其中RPM用于基于Red Hat系统的发布,APT用于基于类Debian的系统发布。
- 对于RPM系统,yum是使用最多的包管理工具,对于APT,则是apt-get工具。
- 显示使用yum和apt-get安装php
yum install php
apt-get安装
apt-get install php
- 这种安装的好处:所有需要的组成部分,如库文件或其他软件都将首先下载和安装,然后在处理请求的软件包,不需要你做任何别的事情确认即可。同样可以使用该工具来进行审核和移除操作。
下载和手动安装软件包
- 原因:目前只有有限数量的软件包可以通过这些包管理器来进行管理,这依赖与它们的仓库(repositories)“存放”的数据包数量。该仓库来自Linux发行,其规范比较严格,软件开发人员不能始终使用它来发布自己的软件。因此许多应用程序在默认仓库中找不到,在仓库中找不到的软件也就意味着你不能使用包管理器来安装他们。
- 两种解决方案:1.从网上找一个安装包进行安装。2.从源代码编译安装(推荐)
方案一:从网上找一个安装包进行安装(因为不会解决依赖所以不推荐)
- 操作步骤说明:访问你要安装软件的网站,下载发布的RPM安装包(或用于Debian系统的DEB包),再下载安装。
- 对于RPM安装包:使用wget下载工具下载,然后使用rpm -ivh命令安装。
wget ftp://example2.com/mysqlclient.rpm
sudo rpm -ivh mysqlclient.rpm
- 对于DEB安装包:使用wget下载工具下载,然后使用rpm -ivh命令安装。
wget ftp://example2.com/mysqlclient.deb
sudo dpkg -i mysqlclient.deb
- 缺点:这种方法不会处理依赖性,如果需要的库文件无法在系统中找到,则应用程序无法正确安装,在这种情况下,只能自己安装它们(库文件)。其次安装包依赖特定的Linux发行版本。
方案二:从源代码编译安装
- 始终有效方法,即不管Linux发行版本,下载应用程序的源代码并且编译它。
- 注,但它需要安装许多开发包(编译器和库),如果没有需要的库,则需要自己安装。
- 操作步骤:下载源码包*.tar.gz,然后解压该文件,进入解压后的目录,在执行三个命令为:./configure 、make 、 make install。有些应用程序的需要跟具体的编译命令和程序,通常在一个readme文件中,在编译一个应用程序之前,应该好好读一下。
- 从源码安装nano编辑器案例:
下载源码:weget https://www.nano-editor.org/dist/v2.8/nano-2.8.1.tar.gz
解压 tar zxvf nano-2.8.1.tar.gz
进入 nano-2.8.1目录 cd nano-2.8.1
执行命令 ./configure
执行命令 make
执行命令 sudo make install
- 注:在执行make时出错,因为缺少curses.h库,所以需要先执行
# yum install ncurses-devel ncurses
命令,然后再从./configure重新开始编译。
- 编译完成后输出的二进制可能被复制到/usr/bin目录(或者是PATH环境变量中找到的其他目录)