首页 > 系统服务 > 详细

Linux-构建yum源仓库

时间:2021-07-23 23:38:36      阅读:46      评论:0      收藏:0      [点我收藏+]

5.构建YUM仓库实践

5.0 yum缓存软件包

1.方式一:通过修改 dnf/yum 全局配置文件 ;

2.方式二:通过 dnf/yum 下载该软件包至本地,不进行安装;

[root@oldxu ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1   # 启动缓存
[root@oldxu ~]# yum install lrzsz -y
[root@oldxu ~]# find /var/cache/yum/ -type f -name "*.rpm"
[root@oldxu ~]# yum install httpd -y --downloadonly --downloaddir=/opt

yum clean all #清理所有缓存;

yum clean packages #清除下载的rpm包;

 

5.1 搭建本地yum仓库

方式一:光盘挂载上=rpm -ivh /path/xx.rpm;

方式二:将光盘制作为一个本地仓库,提供本地使用,自动解决依赖问题;

  1. mount /dev/cdrom /mnt  =挂载镜像
  2. mv /etc/yum.repos.d/* /tmp =备份原有仓库
  3. 编辑一个 vim /etc/yum.repos.d/xxx .repo =将仓库信息存储至该文件
  4. 生成缓存信息,dnf/yum 安装软件测试

 

5.2 搭建企业yum仓库

vim  /etc/yum.repos.d/cdrom.repo  
[cdrom]   #仓库名称
name=This is local cdrom   #仓库描述信息
baseurl=file:///mnt   #仓库url地址 ,可以是 file:// ftp:// http:// 等协议
enabled=1    #是否使用该YUM源 (0代表禁用, 1代表激活)
gpgcheck=0   #是否验证软件签名 (0代表禁用, 1代表激活)

yum makecache #把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存;

 

5.2.1 环境准备

centos7 10.0.0.100 yum仓库服务端 ;

centos7 10.0.0.99 yum仓库客户端;

本地光盘提供基础软件包:  Base;

yum缓存提供常用软件包:  nginx、zabbix、docker;

5.2.2 服务端操作

1.关闭 iptables 防火墙、与 selinux;

2.安装 ftp 服务,启动并加入开机启动 ;

3.首先提供基础 base 软件包;

4.提供第三方源的 rpm 软件包;

[root@yum_server ~]# yum -y install vsftpd   
[root@yum_server ~]# systemctl start vsftpd 
[root@yum_server ~]# systemctl enable vsftpd
[root@yum_server ~]# mkdir -p /var/ftp/centos7
[root@yum_server ~]# mount /dev/cdrom /mnt
[root@yum_server ~]# cp -rp /mnt/Packages/*.rpm  /var/ftp/centos7/

#必会:命令拼接方式下载软件包;

[root@yum_server ~]#curl -s https://mirrors.aliyun.com/zabbix/zabbix/5.4/rhel/7/x86_64/ |
grep "<a href" | awk -F‘"‘ ‘{print $2}‘ |
grep "rpm" | sed -r ‘s#(.*)# wget -O /var/ftp/zabbix/\1 https://mirrors.aliyun.com/zabbix/zabbix/5.4/rhel/7/x86_64/\1#g‘ | bash
  1. 提供第三方源的  rpm 软件包,采用  Rsync 同步科大源方式实现,后期结合定时任务,定点同步互联网最新软件包;
# rsync同步方式
[root@yum_server ~]# rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/nginx /var/ftp/
  1. 将软件包目录创建为 yum 仓库,安装  createrepo ;
[root@yum_server ~]# yum -y install createrepo
[root@yum_server ~]# createrepo /var/ftp/jenkins
[root@yum_server ~]# createrepo /var/ftp/nginx
#PS:如果此仓库每次新增软件则需要重新生成一次

5.2.3 客户端操作

所有客户端仅需将  yum 源指向本地服务端,即可使用本地服务器提供的软件包。

  1. 客户端配置并使用  base 基础源;
[root@yum_client ~]# gzip /etc/yum.repos.d/*   =关闭或者先把原有的源
[root@yum_client ~]# vim /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7_base
baseurl=ftp://10.0.0.99/centos7
gpgcheck=0
  1. 客户端配置并使用  nginx、jenkins、zabbix 等源;
[root@yum_client ~]# vim /etc/yum.repos.d/ops.repo
[nginx]
name=local ftpserver
baseurl=ftp://10.0.0.99/nginx
gpgcheck=0
[zabbix]
name=local ftpserver
baseurl=ftp://10.0.0.99/zabbix
gpgcheck=0
[jenkins]
name=local ftpserver
baseurl=ftp://10.0.0.99/jenkins
gpgcheck=0

 

6.源码包管理实践

6.1 概念

源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的二进制工具,例如 C 语言;

源码包可以在软件包官网获取;

6.2 优缺点

优点:可以自行修改源代码,定制需要的功能,需要会编程语言;

缺点:安装复杂,自动化实施困难;

6.3 编译安装过程

  1. tar 解包 =解压并释放源代码包至指定目录;
  2. ./configure =设置安装目录、安装模块等选项,生成makefile
  3. make编译 =根据Makefile文件,将软件编译为可执行的二进制程序(Linux所能识别的文件),make clean 清空编译文件;
  4. make install安装 =正式开始安装软件,将编译好的二进制文件拷贝至对应的目录;

 

7.centos和Ubuntu的区别

操作内容

centos6/centos7

ubuntu/debian

软件包后缀

*.rpm

*.deb

原配置文件

/etc/yum.conf

/etc/apt/sources

网卡配至文件

/etc/sysconfig/networkscripts/ifcfgeth0

/etc/netplan/00-installer-config.yaml

创建用户

默认创建用户家目录、解释器bash

默认不创建用户家录、解释器为 sh

防火墙规则

默认规则

默认没有任何规则

权限

root或者普通用户

默认普通用户权限

ssh

默认允许root登录

默认不允许 root 登陆

selinux

/etc/selinux/config

没有 selinux

更新软件包列表

yum makecache

apt update

安装软件

yum install package

apt install packag

安装已下软件包

rpm -ivh pkg.rpm

dpkg -i pkg.deb

安装软件包

yum localinstallpkg.rpm

apt install

删除软件包

yum remove package

apt remove

?

?

?

7.1 Ubuntu软件包管理工具

dpkg

apt

可以实现安装、删除,但无法解决依赖项;

功能强大的软件管理工具,类似于 dnf/yum ;

-i   安装软件包

apt install   安装

-r   删除软件包(不建议,不自动卸载依赖它的包)

apt remove   删除

-P   删除软件包的同时,删除其配置文件

apt purge   移除软件包及配置文件

-l   显示已安装的软件包列表,类似于rpm -qa

apt update   刷新存储库索引

-L   列出该包中所包含的文件,类似于rpm -ql

apt upgrade   升级所有可升级软件包

-S   查看文件所属哪个包,类似于rpm -qf

apt autoremove   自动删除不需要的包

?

apt full-upgrade   在升级软件包时自动处理依赖关系

?

apt search   搜索应用程序

?

apt show   显示安装细节

7.2 apt使用范例

root@example:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal

根据 Ubuntu 版本配置国内仓库地址阿里仓库配置指南

root@example:~# vim /etc/apt/sources.list 
(focal 版本、其余是软件包存储的位置)   #删除文件内所有原有内容,然后上到阿里云官网,复制源配置文件内容,粘贴到文件中;
apt update   #更新yum源
apt install xxx xxx   #安装测试

??

Linux-构建yum源仓库

原文:https://www.cnblogs.com/zhangzk2021/p/15043416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!