配置openEuler 22.03 LTS SP1本地/内部yum软件仓库

您所在的位置:网站首页 简易版鸡尾酒制作方法 配置openEuler 22.03 LTS SP1本地/内部yum软件仓库

配置openEuler 22.03 LTS SP1本地/内部yum软件仓库

#配置openEuler 22.03 LTS SP1本地/内部yum软件仓库| 来源: 网络整理| 查看: 265

有些时候,内部服务器禁止连接Internet,安装或更新软件包就必须配置本地软件仓库。下面利用openEuler 22.03 LTS SP1的完整ISO镜像文件为例进行演示说明。

OS版本:openEuler 22.03 LTS

openEuler 22.03 LTS SP1系统完整镜像下载地址如下:https://repo.openeuler.org/openEuler-22.03-LTS-SP1/ISO/x86_64/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso

利用下载的ISO镜像创建本地软件仓库

一、配置仅用于本主机的本地软件仓库

如果软件仓库仅用于本主机,则可按以下步骤实现:

1、将下载好的ISO镜像文件存放在指定位置,比如/data目录

[root@myEuler ~]# ls /data openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso

2、挂载ISO镜像文件

[root@myEuler ~]# mkdir /mnt/openEuler [root@myEuler ~]# mount -o loop /data/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso /mnt/openEuler/ mount: /mnt/openEuler: WARNING: source write-protected, mounted read-only.

从上面的提示可看到,挂载后的/mnt/openEuler文件系统为只读,而且这种挂载是临时的,重启后就会失效,需要重新挂载。这就需要设置永久挂载,或者将其中的文件复制到自定义的目录,然后再自己创建repodata。

以下两种方式可以自由选择其中一种:

(1)选项一:设置永久挂载

可通过编辑/etc/fstab文件将ISO镜像文件永久挂载。

#先卸载前面的挂载 [root@myEuler ~]# umount /mnt/openEuler #编辑文件 [root@myEuler ~]# vim /etc/fstab ……此处省略文件原有内容,添加下面一行内容…… /data/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso /mnt/openEuler/ iso9660 defaults,loop 0 0 #测试自动挂载,若只提示以下警告,则表示配置正确,否则核查前面的配置 [root@myEuler ~]# mount -a mount: /mnt/openEuler: WARNING: source write-protected, mounted read-only.

(2) 选项二:自定义本地目录

若需要拥有可写权限,则可用本地目录来作为软件仓库目录。

#创建本地目录 [root@myEuler ~]# mkdir /data/openEuler #将文件复制到本地的目录,这个过程需耐心等候几分钟 [root@myEuler ~]# cp -r /mnt/openEuler/* /data/openEuler/ # 安装createrepo软件包,这需要连接网络,或者利用选项一配置的本地软件仓库 [root@myEuler ~]# dnf -y install createrepo #利用本地目录创建软件仓库,这个过程也需耐心等候几分钟 [root@myEuler ~]# createrepo --update --workers=8 /data/openEuler

 上面的createrepo参数说明如下:

--update:表示更新元数据--workers:指定工作线程数

3、创建本地repo文件

#备份并移除原有repo仓库配置文件 [root@myEuler ~]# mkdir /etc/yum.repos.d/backup [root@myEuler ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup #创建repo仓库配置文件 [root@myEuler ~]# vim /etc/yum.repos.d/local.repo [local_repo] name=local repository baseurl=file:///mnt/openEuler/ #若采用选项二,则baseurl=file:///data/openEuler/ gpgcheck=1 enabled=1 gpgkey=file:///mnt/openEuler/RPM-GPG-KEY-openEuler

注:repo仓库配置文件中常见的选项含义如下:

[local_repo]:方括号中的文字为repo仓库ID,这个值在该配置文件中是唯一的name:该仓库的描述信息baseurl:存储该仓库repodata目录所在的位置gpgcheck:是否校验此仓库GPG签名,1为开启,0为禁止。若开启校验,则需要使用gpgkey指定签名文件所在的位置enabled:是否启用此仓库,1为开启,0为禁止gpgkey:GPG签名密钥文件所在的位置

4、验证测试

#清空仓库缓存 [root@myEuler ~]# dnf clean all #生成仓库元数据缓存 [root@myEuler ~]# dnf makecache #查看仓库列表及其状态 [root@myEuler ~]# dnf repolist all repo id repo name status local_repo local repository enabled #在指定仓库中查找软件包 [root@myEuler ~]# dnf search httpd --disableexcludes local_repo #指定使用仓库local_repo安装软件包 [root@myEuler ~]# dnf -y install httpd --disableexcludes local_repo #卸载软件 [root@myEuler ~]# dnf -y remove httpd

5、附:常用dnf命令

dnf clean all:清除软件仓库缓存dnf makecache:生成仓库元数据缓存dnf repolist all:列出所有软件仓库及其状态dnf list all:列出软件仓库中所有软件包dnf search 软件包名:搜索软件库中的软件包dnf install 软件包名:安装软件包,可加选项-y自动确认dnf remove 软件包名:移除软件包,可加选项-y自动确认dnf info 软件包名:查看软件包信息dnf update 软件包名:升级软件包dnf check-update:检查可更新的软件包 二、配置内网共享的软件仓库

若需要将为内网其它主机提供软件仓库服务,则可以通过构建Web或FTP服务实现,下面将以共享目录/mnt/openEuler/为例予以说明。

2.1 通过Apache Web服务实现共享

若想要通过Apache软件包实现Web服务,则可按以下步骤实现。

1、安装Apache软件包

[root@myEuler ~]# dnf -y install httpd --disableexcludes local_repo

2、配置防火墙

[root@myEuler ~]# firewall-cmd --permanent --zone=public --add-service=http success [root@myEuler ~]# firewall-cmd --reload success

3、配置Apache配置文件

Apache的主配置文件为/etc/httpd/conf/httpd.conf,但通常无需修改该配置文件,以免影响原有配置,推荐做法是在/etc/httpd/conf.d/目录下添加一个子配置文件,然后在该子配置文件中添加配置信息即可,这里创建一个repo.conf子配置文件,并在其中将/mnt/openEuler目录配置为虚拟目录。

[root@myEuler ~]# vim /etc/httpd/conf.d/repo.conf Options Indexes AllowOverride None Require all granted Alias /repo "/mnt/openEuler/"

4、重启httpd服务,并将httpd服务设置为开机自启动

[root@myEuler ~]# systemctl enable httpd.service [root@myEuler ~]# systemctl restart httpd.service

5、测试访问

在内网的其他主机上,打开浏览器,访问Web服务器,如下图所示。

 6、创建内部软件仓库配置文件

在内网其它主机上创建内部软件仓库配置文件

#备份并移除原有repo仓库配置文件 [root@client ~]# mkdir /etc/yum.repos.d/backup [root@client ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup #创建repo仓库配置文件 [root@client ~]# vim /etc/yum.repos.d/internal.repo [internal_repo] name=internal repository baseurl=http://192.168.18.80/repo/ gpgcheck=1 enabled=1 gpgkey=http://192.168.18.80/repo/RPM-GPG-KEY-openEuler

7、测试验证 

在内网其它主机上,测试内部软件仓库是否可用。

#清空仓库缓存 [root@client ~]# dnf clean all #生成仓库元数据缓存 [root@client ~]# dnf makecache #查看仓库列表及其状态 [root@client ~]# dnf repolist all #在指定仓库中查找软件包 [root@client ~]# dnf search httpd --disableexcludes internal_repo #指定使用仓库internal_repo安装软件包 [root@client ~]# dnf -y install httpd --disableexcludes internal_repo #卸载软件 [root@client ~]# dnf -y remove httpd 2.2 通过nginx Web服务实现共享

若要通过nginx实现Web服务,则可按以下操作步骤实现:

1、安装nginx软件包

[root@myEuler ~]# dnf -y install nginx --disableexcludes local_repo

2、配置防火墙

[root@myEuler ~]# firewall-cmd --permanent --zone=public --add-service=http success [root@myEuler ~]# firewall-cmd --reload success

3、配置nginx配置文件

nginx的主配置文件为/etc/nginx/nginx.conf,但通常无需修改该配置文件以免影响原有配置,推荐做法是在/etc/nginx/conf.d/目录下添加一个子配置文件,然后在该子配置文件中添加配置信息即可,这里创建一个repo.conf子配置文件,并在其中将/mnt/openEuler目录配置为虚拟目录。

[root@myEuler ~]# vim /etc/nginx/conf.d/repo.conf server { location /repo { autoindex on; autoindex_exact_size on; autoindex_localtime on; alias /mnt/openEuler/; } }

注:上面几个选项解释如下:

autoindex:是否开启目录浏览,开启则为on,否则为off,默认为off。autoindex_exact_size:是否开启显示文件确切大小(单位为字节),否则为off,显示文件大概大小,单位为KB、MB、GB等。默认为onautoindex_localtime:是否显示文件时间为GMT时间,默认为off。设置为on则显示的文件时间为文件的服务器时间。

4、重启nginx服务,并将nginx服务设置为开机自启动

[root@myEuler ~]# systemctl restart nginx.service [root@myEuler ~]# systemctl enable nginx.service

5、测试访问

同Apache

6、创建内部软件仓库配置文件

同Apache

7、验证测试

同Apache

2.3 通过FTP服务实现共享

若要通过vsftpd软件实现FTP服务,则可按以下操作步骤实现:

1、安装vsftpd软件包

[root@myEuler ~]# dnf -y install vsftpd --disableexcludes local_repo

2、配置防火墙

[root@myEuler ~]# firewall-cmd --permanent --zone=public --add-service=ftp success [root@myEuler ~]# firewall-cmd --reload success

3、配置FTP配置文件

#开启匿名服务 [root@myEuler ~]# sed -i 's/anonymous_enable=NO/anonymous_enable=YES/' /etc/vsftpd/vsftpd.conf #修改匿名用户根目录,默认值为/var/ftp/pub [root@myEuler ~]# echo "anon_root=/mnt/openEuler/" >> /etc/vsftpd/vsftpd.conf

4、配置SELinux,开启ftpd_full_access规则

由于默认受SELinux保护,ftpd_full_access规则为off状态,这个状态将导致无法访问FTP服务,因此需要开启该规则开关,同时建议将/data目录属主更改为ftp。

#开启ftpd_full_access规则,选项-P表示永久有效 [root@myEuler ~]# setsebool -P ftpd_full_access on #更改共享目录属主 [root@myEuler ~]# chown -R ftp /data/

5、重启vsftpd服务,并设置为开机自启动

[root@myEuler ~]# systemctl restart vsftpd.service [root@myEuler ~]# systemctl enable vsftpd.service

6、测试访问

在内网的其它任何主机上,打开浏览器,浏览FTP站点地址,如下图所示。 

7、 创建内部软件仓库配置文件

在内网其它主机上创建内部软件仓库配置文件

#备份并移除原有repo仓库配置文件 [root@client ~]# mkdir /etc/yum.repos.d/backup [root@client ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup #创建repo仓库配置文件 [root@client ~]# vim /etc/yum.repos.d/internal.repo [internal_repo] name=internal repository baseurl=ftp://192.168.18.80/ gpgcheck=1 enabled=1 gpgkey=ftp://192.168.18.80/RPM-GPG-KEY-openEuler

8、测试验证 

同Apache



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3