软件的类型
源码包
需要编译
二进制包
已编译
常见二进制包
RedHat/Centos
RPM
工具
rpm
yum(在线安装,自动解决依赖关系)
Ubuntu/Debain
DPKG
工具
dpkg
apt(在线安装,自动解决依赖关系)
注意!不管是源码包,还是二进制包,安装时都可能会有依赖关系
yum官方源
阿里云
https://developer.aliyun.com/mirror/
中科大
http://centos.ustc.edu.cn/
网易
http://mirrors.163.com/
[root@localhost ~]# yum repolist # 查看默认的源仓库标识 仓库名称AppStream CentOS-8 - AppStreamBaseOS CentOS-8 - Baseextras CentOS-8 - Extras
加入阿里云软件仓库,下面的是centos8的添加命令
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backuprm -rf /etc/yum.repos.d/*.repocurl -o /etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-8.repoyum makecache
EPEL(Extra Packages for Enterprise Linux)为“红帽系”的操作系统提供额外的软件包
yum -y install epel-release
yum常用命令
查看可用仓库
[root@localhost ~]# yum clean all # 清空缓存及其他文件[root@localhost ~]# yum makecache # 重建缓存[root@localhost ~]# yum repolist # 查询可用的仓库
软件包安装
[root@localhost ~]# yum -y install httpd vsftpd *vnc[root@localhost ~]# yum -y reinstall httpd[root@localhost ~]# yum update httpd[root@localhost ~]# yum update[root@localhost ~]# yum -y install /root/httpd-2.4.6-93.el7.centos.x86_64.rpm # 从本地安装[root@localhost ~]# yum -y installhttp://centos.ustc.edu.cn/centos/7/os/x86_64/Packages/httpd-2.4.6-93.el7.centos.x86_64.rpm # 从URL安装[root@localhost ~]# yum grouplist # 安装环境Available Environment Groups: 可用环境组Minimal Install 最小安装Compute Node 计算节点Infrastructure Server 基础结构服务器File and Print Server 文件和打印服务器Basic Web Server 基本Web服务器Virtualization Host 虚拟化主机Server with GUI GUI服务器GNOME Desktop 桌面桌面KDE Plasma Workspaces KDE等离子工作区Development and Creative Workstation 开发创意工作站Available Groups: 可用组 (表示还未安装的)Compatibility Libraries 兼容性库Console Internet Tools 控制台Internet工具Development Tools 开发工具Graphical Administration Tools 图形管理工具Legacy UNIX Compatibility 传统的Unix兼容性Scientific Support 科学支持Security Tools 安全工具Smart Card Support 智能卡支持System Administration Tools 系统管理工具System Management 系统管理[root@localhost ~]# yum groupinstall "GNOME 桌面"[root@localhost ~]# yum -y remove httpd[root@localhost ~]# yum -y groupremove "GNOME 桌面"
查询软件包是否存在
[root@localhost ~]# yum list httpd[root@localhost ~]# yum list |grep httpd[root@localhost ~]# yum list installed[root@localhost ~]# yum info httpd[root@localhost ~]# yum groupinfo "GNOME 桌面"
卸载
[root@localhost ~]# yum -y remove httpd[root@localhost ~]# yum -y groupremove "GNOME 桌面"
history
[root@localhost ~]# yum history[root@localhost ~]# yum history info 4[root@localhost ~]# yum history undo 4
扩展查询
从包名和包描述中根据关键字查找
[root@localhost ~]# yum list |grep locate[root@localhost ~]# yum search locate
根据配置文件查找软件包
[root@localhost ~]# yum provides /etc/ssh/sshd_config[root@localhost ~]# yum provides */sshd_config
查找命令 ifconfig 属于哪个包
[root@localhost ~]# yum provides ifconfig
yum自建源
Base源[centos7光盘文件]
第三方软件源[yum缓存]
- 提供基础软件包Base[光盘]
2. 提供update软件包[yum缓存]
3. 提供其他软件包如 nginx , zabbix , docker [yum缓存]
配置防火墙
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp[root@localhost ~]# firewall-cmd --reload
关闭selinux
[root@localhost ~]# setenforce 0[root@localhost ~]# sed -i "s/=enforcing/=disabled/g" /etc/sysconfig/selinux
FTP
[root@localhost ~]# yum -y install vsftpd[root@localhost ~]# systemctl start vsftpd[root@localhost ~]# systemctl enable vsftpd
替换为阿里源
[root@server yum.repos.d]# pwd/etc/yum.repos.d[root@server yum.repos.d]# rm -rf *wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo[root@server yum.repos.d]# yum clean all[root@server yum.repos.d]# yum makecache
实验一:提供update
[root@localhost ~]# yum clean all# 清理缓存和下载的包[root@localhost ~]# yum update --downloadonly # 仅下载更新包[root@localhost ~]# ls /var/cache/yum/x86_64/7/base/packages/ # 查看下载的包=====上述方法仅下载,本身不安装,最佳做法如下========[root@localhost ~]# vim /etc/yum.confkeepcache=1 # 开启yum缓存[root@localhost ~]# yum update -y[root@localhost ~]# mkdir /var/ftp/update[root@localhost ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/update/ \;[root@localhost ~]# yum -y install createrepo[root@localhost ~]# createrepo /var/ftp/update/ # 创建源的数据库
客户端测试(另外一台centos7上)
[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo[root@localhost ~]# vi /etc/yum.repos.d/update.repo[update]name=centos updatebaseurl=ftp://192.168.72.134/updategpgcheck=0 # 关闭软件包校验enabled=1 # 启用这个仓库
实验二:提供特定软件源
提供update源仅限环境一致的情况下,不然不同环境更新包不一样,无法完成
在yum服务器上
[root@localhost ~]# yum clean all[root@localhost ~]# mkdir /var/ftp/nginx[root@localhost ~]# vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enable=1[root@localhost ~]# yum -y install nginx --downloadonly[root@localhost ftp]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp-rf {} /var/ftp/nginx \;[root@localhost ~]# createrepo /var/ftp/nginx/
客户端测试
[root@localhost ~]# vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=ftp://192.168.72.134/nginxgpgcheck=0enbale=1[root@localhost ~]# yum -y install nginx
实验三:搭建本地yum仓库
挂载本地光盘:[root@localhost ~]# mount /dev/cdrom /media/cdrom备份yum配置:[root@localhost ~]# mv /etc/yum.repos.d/* /mnt/配置本地yum[root@localhost ~]# cat > /etc/yum.repos.d/local.repo <<EOF[base]name=Centos 7 Release 7.1.1503baseurl=file:///media/cdromenabled=1gpcheck=0EOF
