linux安装软件的三种方式
1.rpm安装 用于离线安装
2.yum安装 用于大部分的在线安装
3.源代码编译安装
yum
YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题
依赖关系最简单的一个理解就是 Windows 上你玩游戏结果提示 directx 版本过低无法运行。以及常见的运行某个程序之后提示 .dll 未找到。还有就是用个软件结果安装说明上让你先去安装 .net
基本安装
yum install 软件名
yum install 软件名 -y # 自动确认
常见用法表
命令 | 功能 |
---|---|
yum check-update | 检查可更新的所有软件包 |
yum update | 下载更新系统已安装的所有软件包 |
yum upgrade | 大规模的版本升级,与yum update不同的是,连旧的被淘汰的包也升级 |
yum install | 安装软件包 |
yum update | 更新指定软件包 |
yum remove | 移除指定软件包 |
yum localinstall | 安装本地的RPM包(与rpm -i命令不同,可同时安装依赖的包) |
yum localupdate | 更新本地的RPM包(与rpm -U命令不同,可同时安装依赖的包) |
yum list | 列出资源库中所有可以安装或更新的rpm包,以及已经安装的rpm包 |
yum search | 检测所有可用的软件的名称,描述,概述和已列出的维护者,查找与正则表达式匹配的值 |
yum换源
Linux系统默认的yum源是国外的,下载时速度非常慢,或者有些软件无法下载。所以要更换yum源来加快软件下载速度。
手动换源
#安装wget软件 如果没有安装wget命令
yum install -y wget
#备份旧的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#更新yum缓存
yum clean all
yum makecache
使用第三方工具换源
#安装yum-utils
yum -y install yum-utils
#更改yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/repo/Centos-7.repo
#更新yum缓存
yum makecache
常见的yum源
# 阿里云
http://mirrors.aliyun.com/repo/Centos-7.repo
# 清华大学
http://mirrors.tuna.tsinghua.edu.cn/help/centos/
# 163
http://mirrors.163.com/.help/CentOS7-Base-163.repo
删除软件
检查软件包是否存在
yum list installed | grep packagename
删除软件包
yum remove packagename
卸载依赖包
yum autoremove
强制卸载
yum remove packagename –nodeps
离线安装
首先我们需要在可以上网的服务器上将需要安装软件的rpm离线包下载下来,然后拷贝到不能上网的服务器上安装
例如下载pkg的rpm包
yum install --downloadonly --downloaddir=./pkg vim
然后离线安装
yum localinstall pkg/vim-enhanced-7.4.629-8.el7_9.x86_64.rpm
环境变量
- 按生效的范围分类
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。
- 按生存周期分类
永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时环境变量:使用时在Shell中临时定义,退出Shell后失效。
查看环境变量
env
echo $环境变量名
常用的环境变量
PATH
可执行程序的搜索目录
LANG
Linux系统的语言、地区、字符集
HOSTNAME
服务器的主机名
SHELL
用户当前使用的Shell解析器
USER
当前登录用户的用户名
HOME
当前登录用户的主目录
PWD
当前工作目录
设置环境变量
变量名='值'
export 变量名
或export 变量名='值'
如果环境变量的值没有空格等特殊符号,可以不用单引号包含。
示例:
export ORACLE_HOME=/oracle/home
export ORACLE_BASE=/oracle/base
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置
如果希望环境变量永久生效,需要在登录脚本文件中配置
系统环境变量
系统环境变量对全部的用户生效,设置系统环境变量有三种方法
- 在/etc/profile文件中设置
用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量
- 在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。
/etc/profile在每次启动时会执行 /etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除 /etc/profile.d下对应的 shell 脚本即可
- 在/etc/bashrc文件中设置环境变量
该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量
用户环境变量
用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。
在用户的主目录,有几个特别的文件,用ls是看不见的,用ls .bash_*可以看见。
- .bash_profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
- .bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
- .bash_logout
当每次退出系统(退出bash shell)时执行该文件。
- .bash_history
保存了当前用户使用过的历史命令。
PATH环境变量
可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录
- PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。
export PATH=目录1:目录2:目录3:......目录n:.
- 在用户的.bash_profile文件中,会对PATH进行扩充,如下:
export PATH=PATH:PATH:PATH:HOME/bin
- 如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径
环境变量的生效
在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。
在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:
source /etc/profile