第五章、Linux网络服务之yum仓库

2022/3/29 7:27:55

本文主要是介绍第五章、Linux网络服务之yum仓库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 一、yum仓库简介
  • 二、yum配置文件
    • 1yum主配置文件
    • 2日志文件
  • 三、yum命令详解
    • 1查询软件包命令
    • 2查询软件包组命令
    • 3yum安装升级
    • 4 软件卸载
  • 四、搭建yum仓库
    • 本地仓库
    • http 搭建
    • ftp搭建

一、yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

搭建软件仓库的方式:
本地源:file://
网络源
FTP服务:ftp://
HTTP服务:http://

二、yum配置文件

1yum主配置文件

/etc/yum.conf

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo

2日志文件

  • 位置:/var/log/yum.log

三、yum命令详解

1查询软件包命令

#显示可用的安装包
[root@localhost ~]# yum list httpd 
#显示安装包详细信息[root@localhost ~]
#yum info  [软件名] 
#根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
[root@localhost ~]#yum search  <关键词> 
#你知道某个命令却不知道具体的包可以用此命令查找
[root@localhost ~]#yum whatprovides  <关键词>

2查询软件包组命令

#安装包组的查询 不加包组名 就是显示所有
[root@localhost ~]#yum grouplist  [包组名] 
#不加包组名显示全部
[root@localhost ~]# yum groupinfo  <包组名>

3yum安装升级

#安装软件包
[root@localhost ~]# yum install httpd 
#安装包组名
[root@localhost ~]# yum groupinstall gnome desktop 
#更新安装包,可以单个也可以全部 后面加具体名称就是单个更新,不加就是全部更新。但是首先你要有更新的包组库否则也无法更新。
[root@localhost yum.repos.d]# yum upgrade  
#组包更新
[root@localhost yum.repos.d]# yum groupupdate 

4 软件卸载

#卸载已安装的软件必须加软件名
[root@localhost yum.repos.d]# yum remove httpd 
#查看历史的使用记录,选择ID 1,2,3,4,5,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
[root@localhost yum.repos.d]# yum history 
[root@localhost .ssh]#  yum history undo 3 //3代表id号 
#如果后悔 卸载 可以使用两种方式 
yum history redo 4 (重新安装一遍) 
yum history undo 6 (反悔卸载等于重新安装一遍)

四、搭建yum仓库

本地仓库

[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/

[root@localhost named]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim ww.repo

[ww]
name=Centos7
baseurl=file:///mnt
gpgcheck=0
enabled=1


[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
        https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
        https://mirrors.huaweicloud.com/epel/$releasever/x86_64
        https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
gpgcheck=0

[root@localhost yum.repos.d]# yum clean all && yum makecache 


[root@localhost yum.repos.d]# yum install nginx -y
[root@localhost yum.repos.d]# rpm -q nginx

http 搭建

[root@localhost yum.repos.d]# rpm -q httpd
未安装软件包 httpd 
[root@localhost yum.repos.d]# yum install httpd -y
[root@localhost yum.repos.d]# systemctl start httpd
[root@localhost yum.repos.d]# systemctl stop firewalld.service
[root@localhost yum.repos.d]# setenforce 0
    [root@localhost ~]# rpm -ql httpd
[root@localhost yum.repos.d]# cd /var/www/html/
[root@localhost html]# mkdir centos7
[root@localhost centos7]# mount /dev/sr0 /var/www/html/centos7/
[root@localhost ~]# cd /var/www/html/centos7/
http://192.168.154.50/centos7/

2号机
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo

[local]
name=centos7
baseurl=http://192.168.154.50/centos7/
gpgcheck=0
[root@localhost yum.repos.d]# systemctl stop firewalld
[root@localhost yum.repos.d]# setenforce 0
[root@localhost yum.repos.d]# yum clean all && yum makecache

[root@localhost yum.repos.d]# rpm -q tree
未安装软件包 tree 
[root@localhost yum.repos.d]# yum install tree -y

ftp搭建

1号机服务端
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start vsftpd
2号机客户端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install ftp -y
[root@localhost ~]# ftp 192.168.154.50
Connected to 192.168.154.50 (192.168.154.50).
220 (vsFTPd 3.0.2)
Name (192.168.154.50:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>                         ftp用户的家目录是ftp服务器的根目录

1号机
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir xiu
[root@localhost ftp]# cd xiu/
[root@localhost xiu]# cp /etc/passwd ./
[root@localhost xiu]# ls
passwd
2号机
bye退出重新连
cd xiu
get passwd  
quit       退出
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  passwd  公共  模板  视频  图片  文档  下载  音乐  桌面
1号机
[root@localhost ftp]# chmod 777 xiu  权限
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
anon_upload_enable=YES   开启匿名用户
[root@localhost ftp]# systemctl restart vsftpd


2号机
[root@localhost ~]# cd /opt/
[root@localhost opt]# cp /etc/shadow ./
quit重连
bye退出重连
cd xiu
put shadow

1号机
[root@localhost ftp]# cd /var/ftp/xiu/
[root@localhost xiu]# ls
passwd  shadow



搭建一个ftp的yum
1号机
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
[root@localhost ftp]# ls centos7/
2号
ftp> cd centos7
ftp> ls
ftp> quit
[root@localhost opt]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
[root@localhost yum.repos.d]# vim local.repo
[local]
name=centos7
baseurl=ftp://192.168.154.50/centos7
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all && yum makecache
[root@localhost yum.repos.d]# yum install tree -y





这篇关于第五章、Linux网络服务之yum仓库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程