教你分分钟搞定Linux下yum源配置

教你分分钟搞定Linux下yum源配置

Linux操作系统对于我们技术人员,不管是开发,测试还是运维都应该是耳熟能详的一个操作系统。既然如此,那么就绕不开在Linux操作系统下安装软件包。在Linux下安装软件包的方式有三种,分别是rpm安装、源码编译安装、yum安装。接下来我们就重点介绍一下最常用、最好用的一种安装方式,即yum方式安装,因为它能够帮助我们解决软件包之间的依赖关系来提高工作效率哦

一、yum知多少

1. yum是如何安装软件的

 

  • yum仓库(也称yum源)用于存放各种rpm的软件包以及软件包之间的依赖关系(repodata目录)
  • 需要安装软件的计算机连接到指定yum仓库来安装软件包

2. yum源作用

软件包管理器,类似Windows下的软件管家。

3. yum源优势

解决软件包之间的依赖关系,提高运维人员的工作效率。

4. yum源分类

① 本地yum源

所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件。

② 网络yum源

所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装。

  • 国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
  • 国外较知名的网络源(centos源、redhat源、红帽扩展epel源等)
  • 特定软件相关的网络源(Nginx、MySQL、Zabbix等)

二、yum源配置

说明:以下操作系统以Centos 6.5为例,其他Linux系统类似。

1. 本地yum源配置

① 挂载镜像到本地操作系统

手动挂载光盘到指定目录
[root@Heima ~]# mount -o ro /dev/sr0 /mnt
开机自动挂载
[root@Heima ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
或者
[root@Heima ~]# echo "/dev/sr0 /mnt iso9660 defaults,ro 0 0" >> /etc/fstab

说明:

1. /etc/rc.local文件是操作系统开机最后读取的一个文件,该文件需要有可执行权限,开机时系统会帮你自动挂载,建议使用该方式。

2. /etc/fstab文件也可以,但是如果修改错误可能会导致系统起不来。

② 通过配置文件指定yum仓库

进入到指定目录里,清空操作系统默认的Centos源
[root@Heima ~]# cd /etc/yum.repos.d/
[root@Heima yum.repos.d]# rm -f ./*
在该目录下创建以.repo结尾的文件
[root@Heima yum.repos.d]# vim local.repo 
[local]					仓库的名字,不要有特殊符号(自定义)
name=local yum			仓库描述,可以不写
baseurl=file:///mnt		指定yum仓库的路径(重要),file://表示本地仓库
enabled=1					表示启用该仓库,1表示启用;0表示不启用
gpgcheck=0				不用校验仓库里软件包的签名,0表示不校验;1表示校验

2. 网络yum配置

① 方法1:

直接通过修改配置文件来指定yum仓库即可。

特定软件的网络源:

[root@Heima yum.repos.d]# cat nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

基本软件的网络源:
[root@Heima yum.repos.d]# cat 163.repo 
[163]
name=163 network yum
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

[root@Heima yum.repos.d]# cat aliyun.repo 
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

② 方法2:

通过安装软件包,自动创建.repo文件(自动配置)。

配置epel源为例:

1)下载epel源软件包

[root@Heima ~]# wget -P /tmp https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm --no-check-certificate
--2019-02-20 09:42:41--  https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
Resolving mirrors.aliyun.com... 119.96.206.232, 116.211.153.230, 116.211.153.236, ...
Connecting to mirrors.aliyun.com|119.96.206.232|:443... connected.
WARNING: certificate common name “img.ucdl.pp.uc.cn” doesn’t match requested host name “mirrors.aliyun.com”.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-redhat-package-manager]
Saving to: “/tmp/epel-release-6-8.noarch.rpm”

100%[================================================================================>] 14,540      --.-K/s   in 0.03s   

2019-02-20 09:42:41 (538 KB/s) - “/tmp/epel-release-6-8.noarch.rpm” saved [14540/14540]

2)安装软件包

[root@Heima ~]# rpm -ivh /tmp/epel-release-6-8.noarch.rpm 
warning: /tmp/epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

3)检查配置文件

[root@Heima ~]# ls /etc/yum.repos.d/epel*
/etc/yum.repos.d/epel.repo  /etc/yum.repos.d/epel-testing.repo

三、yum工具相关命令

# yum install package -y
默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)
# yum install ./xxx.rpm
或者
# yum localinstall ./xxx.rpm
安装来自本地指定路径下的rpm包,而不是来自仓库
# yum remove 或者 erase package
卸载软件包
# yum update
更新仓库里所有比本机已经安装过的软件要的软件	
# yum update package
指定升级的软件
# yum search mysql
搜索出所有软件名字“mysql”关键字的软件
# yum provides  "libaudiofile.so.0"
找出模块由哪些软件包提供
# yum clean all
清空之前的yum列表缓存
# yum makecache
创建新的缓存
# yum list
列出仓库里的所有软件包
# yum repolist
列出已配置的软件仓库
# yum list |grep 关键字
@代表已经安装成功
# yum list installed
查看已安装的包
# yum grouplist
查看包组
# yum groupinstall  "包组"
安装包组
# yum groupremove "包组"

四、总结

1. yum是Linux下用于安装rpm软件包的一个工具,要使用它安装软件包,必须提前配置yum源。

2. yum源分为本地yum源和网络yum源。本地yum源指软件仓库在本地;网络yum源指软件仓库在远程。

3. 软件仓库里既有软件包也要有repodata目录,即存放软件之间的依赖关系

4. yum工具安装rpm软件包的最大优势就是解决软件包的依赖关系,提高工作效率

### CentOS 7 命令行常用命令及操作指南 #### 文件和目录管理 切换到指定目录的操作可以通过`cd`命令完成,例如要进入名为`Documents`的文件夹可输入`cd Documents`[^1]。 查看当前所在的工作路径可以使用`pwd`命令,在终端中执行该命令会显示完整的绝对路径[^1]。 列出目录下的内容通过`ls`实现;如果想要看到隐藏文件,则加上参数-a即`ls -a`。 创建新目录利用`mkdir`指令,如需建立一个叫做NewFolder的新文件夹则键入`mkdir NewFolder`。移除空目录采用`rmdir`,而非空目录连同内部文件一起删除应运用带有-r选项的rm命令,比如`rm -r NonEmptyDir`。 复制文件或目录借助于`cp`命令,移动则是由`mv`负责处理。假设存在源文件source.txt以及目标位置destination/,那么分别对应着如下两条语句:`cp source.txt destination/` 和 `mv source.txt destination/`。 ```bash # 创建并立即进入新建的目录 mkdir new_directory && cd $_ ``` #### 文件查看与编辑 为了阅读文本型文件的内容,有多种方法可供选择:直接用cat一次性展示整个文件;less适合分页浏览大尺寸文档;head仅呈现开头部分,默认前十行;tail相反作用于结尾处的数据片段[^3]。 针对简单的修改任务而言,nano是一个易于上手的选择之一。启动方式很简单——只需给出待编辑的目标文件名作为参数传递给它即可,像这样打开example.conf进行更改:nano example.conf。对于更加复杂的场景下推荐vim这类功能强大的工具。 ```bash # 使用 less 浏览日志文件 less /var/log/messages ``` #### 系统信息与管理 获取有关硬件架构、内核版本等方面的信息可通过uname命令达成目的,附加不同的标志位能够获得特定类型的详情报告,譬如说运行`uname -m`得到机器类型说明,而`uname -r`用来查询正在使用的Linux核心编号[^2]。 实时监测CPU负载状况、内存占用比例等情况依靠top程序十分便捷有效。此应用程序提供了动态刷新界面让用户直观了解各项资源消耗情况,并支持按列排序等功能特性以便更好地分析性能瓶颈所在之处。 用户账户增删改查等权限管理工作离不开useradd,usermod,passwd,deluser这几个关键组件的支持。其中新增加成员账号时就要调用前者,格式化表达为:useradd username;设置初始登录密码环节紧接着后面一步走: passwd username。 ```bash # 显示系统基本信息 uname -a ``` #### 软件包管理 YUM(Yellowdog Updater Modified)曾经是Red Hat系操作系统默认依赖解析引擎兼安装卸载机制的核心部件。随着时代发展演进到了DNF(Dandified Yum),两者都遵循RPM(RedHat Package Manager)体系结构来进行软件部署工作流程自动化作业。 更新现有已装套件集合至最新稳定版发布版本号,只需要简单一句:yum update 或者 dnf upgrade 就能搞定全部事情。当面临需要单独下载某个应用的情况之下,记得带上确切名称一同提交请求:yum install package_name 或者dnf install package_name。 ```bash # 更新所有已安装的软件包 yum update ``` #### 网络配置与管理 要想知道本机IP地址分配详情以及其他联网属性设定的话ifconfig是个不错的选择,不过现在ip addr show也逐渐成为主流趋势替代品。另外netstat -tulnp用于列举监听端口列表非常实用,特别是排查服务是否正常开启方面具有很大帮助价值。 调整网卡参数设置或者激活停用接口状态均可以在/etc/sysconfig/network-scripts/ifcfg-ethX这样的配置脚本里边找到入口点。重启networking service使改动生效也是必不可少的一个步骤 systemctl restart network.service。 ```bash # 查看网络连接和服务的状态 ss -tnlp ``` #### 进程管理 ps aux可用于罗列目前活跃进程中每一个实例的相关元数据记录,配合grep过滤器还能精准定位某类特定条目。kill信号发送函数允许强制终止不响应的任务进程,一般情况下SIGTERM(15)是比较温和的做法,只有遇到顽固分子才考虑动用SIGKILL(9)。 jobs命令有助于追踪后台挂起未决事务进展程度,fg/bg组合拳可以让前台后台之间灵活转换控制权归属关系。nohup守护模式启动长期运行的应用程序防止因TTY断开而导致意外退出现象发生 nohup command &> output.log&。 ```bash # 终止指定PID对应的进程 kill -9 12345 ``` #### 计划任务 cron daemon提供了一种周期性的调度框架来安排重复性工作的执行时机表单规划方案。crontab -e进入编辑模式后按照固定语法格式录入规则定义,保存退出之后变更就会被自动加载识别出来等待触发条件满足之时付诸行动。 每分钟执行一次测试脚本的例子写成* * * * * sh /path/to/test.sh > /dev/null 2>&1的形式存放在个人用户的crontab文件当中就万事俱备只欠东风啦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值