系列笔记指路
红帽挑战赛训练营:01Linux系统基础命令
红帽挑战赛训练营:02Linux-grep匹配
红帽挑战赛训练营:03Linux系统权限管理
前言
本篇文章记录红帽挑战赛,赛前辅导的笔记,文章来源于教案:
赛前辅导笔记04
这次教的东西看起来很多,其实主要就是用在Linux进行软件包管理的yum命令的学习;没咋看教案,看下面链接大佬的,我精炼了最常用最简洁的小白也能看懂的笔记!
Linux的软件包管理
一、rpm
软件包就是将应用程序、配置文件和数据打包的产物,类似电脑上的软件,手机上的app;
软件包管理就是类似电脑中的控制面板下的程序与功能,通俗一点就是应用商店,小米商城;
rpm软件包管理器作用就是:1.制作软件包 .rpm 2.安装、卸载、升级、查询、校验
# 下载
wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
# 安装
rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
# 查询
rpm -q lrzsz #查询lrzsz是否安装
rpm -qi lrzsz #查询lrzsz包的说明信息
rpm -ql lrzsz #查询lrzsz包生成的文件列表
rpm -qc nginx #查询nginx安装生成后的配置文件路径
rpm -qf /etc/nginx/fastcgi.conf #查看这个文件由哪个rpm包安装
# 升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE #如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE #如果装有老版本的,则升级;否则,退出;
# 卸载 需要手动解决依赖不如 yum remove
rpm -e PACKAGE_NAME
rpm存在的问题:
1、难以删除
删除一个软件需要解决很多依赖问题,否则报错;
2、难以安装
安装一个软件需要解决安装很多依赖的问题,否则报错;
有这样的需求,自然就会解决的方法,于是yum它来了!
关于rpm和yum的问题放一段专业一点的话在下面:
尽管 RPM 能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决, 而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。 Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以 根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。
二、yum(Yellow dog Updater, Modified)
yum命令是基于rpm的软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
Yum 软件仓库中的 RPM 软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
自动搜索最快镜像插件 yum install yum-fastestmirror
yum repolist all 列出所有仓库
yum list all 列出仓库所有软件包
yum info 软件包名 查看软件包信息
yum install 软件包名 安装软件包
yum reinstall 软件包名 重新安装软件包
yum update 软件包名 升级软件包
yum remove 软件包名 移除软件包
yum clean all 清楚所有仓库缓存
yum check-update 检查可以更新的软件包
yum grouplist 查看系统中已安装的软件包
yum groupinstall 软件包组 安装软件包组
什么是yum源?
由于linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
#进入yum源目录
cd /etc/yum.repos.d/
#查看yum源文件
ls -l
以.repo
结尾的都是yum源配置文件,Base.repo是主文件,下面来配置腾讯的或者阿里的yum源
#1.好习惯,备份yum源
mkdir repo_bak
mv *.repo repo_bak/
#2.下载阿里云repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
# 或者腾讯的也可以
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
#3.清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache
# 其他:到这里yum源已经配置完了,但是如果你是官方的源有时找不到的可以下epel也相当于一个第三方源
# 1.下载epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
# 2.安装软件扩展源
yum install -y epel-release
# 3.清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache
三、扩展知识:系统服务管理命令(可略过)
如果大家之前学习或者使用过RHEL6系统,应该已经习惯了service、chkconfig
等命令来管理系统服务,但是在RHEL7系统中改变了systemctl
来管理系统服务。
总结
到这里已经差不多了,用简洁而又好记的yum命令,足以愉快的在Linux的世界里进行软件包管理然后冲浪啦!