yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。
yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
搭建软件仓库的方式: 本地源:file:// 网络源 FTP服务:ftp:// HTTP服务:http://
/etc/yum.conf
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo
#显示可用的安装包 [root@localhost ~]# yum list httpd #显示安装包详细信息[root@localhost ~] #yum info [软件名] #根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来 [root@localhost ~]#yum search <关键词> #你知道某个命令却不知道具体的包可以用此命令查找 [root@localhost ~]#yum whatprovides <关键词>
#安装包组的查询 不加包组名 就是显示所有 [root@localhost ~]#yum grouplist [包组名] #不加包组名显示全部 [root@localhost ~]# yum groupinfo <包组名>
#安装软件包 [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
#卸载已安装的软件必须加软件名 [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 (反悔卸载等于重新安装一遍)
[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
[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
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