nexus搭建yum仓库

最近帮公司做项目尽然没有镜像仓库,简直无语。几千人的公司没有maven、rpm镜像仓库,问同组的老员工说一直都没有都是手工下载,然后拷贝到内网虚拟机。

我有些受不了这样的效率,然后就有了搭建maven和rpm镜像仓库的想法。

这里就不说下载nexus3和安装启动的事情了,直接进入yum仓库的创建和上传软件。

1.创建一个本地的yum镜像存储空间(方便后续迁移到其他服务器)

2.创建yum仓库 

3.下载依赖rpm包

[root@830bb90bd2b6 down]# ls
erlang-19.0.4-1.el7.centos.x86_64.rpm  rabbitmq-server-3.6.6-1.el7.noarch.rpm  wget-1.14-18.el7_6.1.x86_64.rpm
[root@830bb90bd2b6 down]# du -sh rabbitmq-server-3.6.6-1.el7.noarch.rpm
5.3M    rabbitmq-server-3.6.6-1.el7.noarch.rpm
[root@830bb90bd2b6 down]# yum -y install rabbitmq-server-3.6.6-1.el7.noarch.rpm --downloadonly --downloaddir=/down 
Loaded plugins: fastestmirror, ovl
Examining rabbitmq-server-3.6.6-1.el7.noarch.rpm: rabbitmq-server-3.6.6-1.el7.noarch
Marking rabbitmq-server-3.6.6-1.el7.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package rabbitmq-server.noarch 0:3.6.6-1.el7 will be installed
--> Processing Dependency: logrotate for package: rabbitmq-server-3.6.6-1.el7.noarch
Loading mirror speeds from cached hostfile
--> Processing Dependency: socat for package: rabbitmq-server-3.6.6-1.el7.noarch
--> Running transaction check
---> Package logrotate.x86_64 0:3.8.6-17.el7 will be installed
---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
--> Processing Dependency: libwrap.so.0()(64bit) for package: socat-1.7.3.2-2.el7.x86_64
--> Running transaction check
---> Package tcp_wrappers-libs.x86_64 0:7.6-77.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================== Package                    Arch            Version                  Repository                                    Size
========================================================================================================================Installing:
 rabbitmq-server            noarch          3.6.6-1.el7              /rabbitmq-server-3.6.6-1.el7.noarch          5.9 M
Installing for dependencies:
 logrotate                  x86_64          3.8.6-17.el7             nexus                                         70 k
 socat                      x86_64          1.7.3.2-2.el7            nexus                                        290 k
 tcp_wrappers-libs          x86_64          7.6-77.el7               nexus                                         66 k

Transaction Summary
========================================================================================================================Install  1 Package (+3 Dependent packages)

Total size: 6.3 M
Total download size: 426 k
Installed size: 7.2 M
Background downloading packages, then exiting:
(1/3): logrotate-3.8.6-17.el7.x86_64.rpm                                                         |  70 kB  00:00:01
(2/3): tcp_wrappers-libs-7.6-77.el7.x86_64.rpm                                                   |  66 kB  00:00:00
(3/3): socat-1.7.3.2-2.el7.x86_64.rpm                                                            | 290 kB  00:00:01
------------------------------------------------------------------------------------------------------------------------Total                                                                                   260 kB/s | 426 kB  00:00:01
exiting because "Download Only" specified
[root@830bb90bd2b6 down]# ls
erlang-19.0.4-1.el7.centos.x86_64.rpm  rabbitmq-server-3.6.6-1.el7.noarch.rpm  tcp_wrappers-libs-7.6-77.el7.x86_64.rpm
logrotate-3.8.6-17.el7.x86_64.rpm      socat-1.7.3.2-2.el7.x86_64.rpm          wget-1.14-18.el7_6.1.x86_64.rpm

 

 

yum -y install rabbitmq-server-3.6.6-1.el7.noarch.rpm --downloadonly --downloaddir=/down 

#下载rabbitmq-server-3.6.6-1.el7.noarch.rpm包的依赖包到/down目录下

 

 

4.编写批量上传脚本

[root@830bb90bd2b6 down]# ll
total 24508
-rw-r--r-- 1 root root 18580960 Aug 15  2016 erlang-19.0.4-1.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root    71372 Nov 12  2018 logrotate-3.8.6-17.el7.x86_64.rpm
-rw-r--r-- 1 root root       46 Jul 21 09:53 lst.sh
-rw-r--r-- 1 root root  5487706 Nov 22  2016 rabbitmq-server-3.6.6-1.el7.noarch.rpm
-rw-r--r-- 1 root root   296632 Aug 10  2017 socat-1.7.3.2-2.el7.x86_64.rpm
-rw-r--r-- 1 root root    67868 Jul  4  2014 tcp_wrappers-libs-7.6-77.el7.x86_64.rpm
-rw-r--r-- 1 root root   560272 May 16 15:48 wget-1.14-18.el7_6.1.x86_64.rpm
[root@830bb90bd2b6 down]# find ./*.rpm
./erlang-19.0.4-1.el7.centos.x86_64.rpm
./logrotate-3.8.6-17.el7.x86_64.rpm
./rabbitmq-server-3.6.6-1.el7.noarch.rpm
./socat-1.7.3.2-2.el7.x86_64.rpm
./tcp_wrappers-libs-7.6-77.el7.x86_64.rpm
./wget-1.14-18.el7_6.1.x86_64.rpm
[root@830bb90bd2b6 down]# find ./*.rpm|awk -F "/" 'print{$2}'
awk: cmd. line:1: print{$2}
awk: cmd. line:1: ^ syntax error
[root@830bb90bd2b6 down]# find ./*.rpm|awk -F "/" '{print $2}'
erlang-19.0.4-1.el7.centos.x86_64.rpm
logrotate-3.8.6-17.el7.x86_64.rpm
rabbitmq-server-3.6.6-1.el7.noarch.rpm
socat-1.7.3.2-2.el7.x86_64.rpm
tcp_wrappers-libs-7.6-77.el7.x86_64.rpm
wget-1.14-18.el7_6.1.x86_64.rpm
[root@830bb90bd2b6 down]# clear
[root@830bb90bd2b6 down]# find ./*.rpm|awk -F "/" '{print $2}'
erlang-19.0.4-1.el7.centos.x86_64.rpm
logrotate-3.8.6-17.el7.x86_64.rpm
rabbitmq-server-3.6.6-1.el7.noarch.rpm
socat-1.7.3.2-2.el7.x86_64.rpm
tcp_wrappers-libs-7.6-77.el7.x86_64.rpm
wget-1.14-18.el7_6.1.x86_64.rpm
[root@830bb90bd2b6 down]# vi lst.sh
[root@830bb90bd2b6 down]# chmod +x lst.sh
[root@830bb90bd2b6 down]# ./lst.sh

< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Date: Sun, 21 Jul 2019 10:24:05 GMT
< Server: Nexus/3.17.0-01 (OSS)
< X-Content-Type-Options: nosniff
< Content-Security-Policy: sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts allow-top-navigation
< X-XSS-Protection: 1; mode=block
< Content-Length: 0
<
* Connection #0 to host 192.168.1.100 left intact
* About to connect() to 192.168.1.100 port 8089 (#0)
*   Trying 192.168.1.100...
* Connected to 192.168.1.100 (192.168.1.100) port 8089 (#0)
* Server auth using Basic with user 'admin'
> PUT /repository/yum_local/libaio-0.3.109-13.el7.x86_64.rpm HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.29.0
> Host: 192.168.1.100:8089
> Accept: */*
> Content-Length: 24744
> Expect: 100-continue
>

5.脚本内容

[root@830bb90bd2b6 down]# cat lst.sh

!#/bin/bash
file_rpm=`find ./*.rpm|awk -F "/" '{print $2}'`
for itm in ${file_rpm};do
        curl -v --user 'admin:admin' --upload-file ./${itm} http://192.168.1.100:8089/repository/yum_local/${itm}
done
 

 

在此感谢https://blog.csdn.net/qq_22059611/article/details/86466725博客,这里参考该博客上传命令

转载于:https://my.oschina.net/u/3484671/blog/3077013

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上搭建yum仓库,需要按照以下步骤进行操作: 1. 安装httpd和createrepo软件包,这两个软件包是搭建yum仓库的基础。 2. 创建一个目录,用于存放rpm软件包,例如/var/www/html/yum。 3. 将需要添加到yum仓库的rpm软件包复制到该目录下。 4. 运行createrepo命令,生成repodata目录和相关文件,例如:createrepo /var/www/html/yum。 5. 配置httpd服务,将/var/www/html/yum目录设置为httpd服务的根目录,并启动httpd服务。 6. 在客户端上配置yum仓库,将仓库的baseurl设置为http://<yum服务器IP>/yum。 7. 完成上述步骤后,就可以使用yum命令从yum仓库中安装软件包了。 需要注意的是,搭建yum仓库需要一定的Linux基础知识和操作经验,建议在操作前先备份重要数据,以免造成不必要的损失。 ### 回答2: yum是一种用于在Linux操作系统中,自动从互联网上下载安装的软件包的软件工具。在Linux系统中,Yum仓库是用于存储Linux软件包和相关依赖关系的仓库。通过搭建自己的Yum仓库,可以更方便地管理软件包、集中控制软件版本,提高软件部署效率和安全性。 首先需要在服务器上安装httpd服务,以便于其他客户端可以通过http协议访问yum仓库。 接着需要安装createrepo工具,用于创建软件仓库的元数据。首先将准备好的软件包上传到web服务器指定的目录下,执行以下命令: $ createrepo --database /path/to/my_repo/ 注意:此处的/path/to/my_repo/指的是存储软件包的目录。 然后修改httpd服务的配置文件httpd.conf,将软件仓库的目录加入到httpd服务中: Alias /my_repo /path/to/my_repo/ <Directory /path/to/my_repo/> Options Indexes FollowSymLinks MultiViews Require all granted </Directory> 接着保存并重启httpd服务: $ systemctl restart httpd 最后,在客户端的yum配置文件(/etc/yum.repos.d)中添加新的仓库。例如,创建一个新的仓库文件my_repo.repo: [my_repo] name=My Repo baseurl=http://server_ip/my_repo enabled=1 gpgcheck=0 注意:此处的server_ip指的是Yum仓库所在服务器的实际IP地址。 现在可以使用yum命令来从你自己的仓库中安装软件包了: $ yum install package_name 通过以上步骤,就可以成功地搭建自己的Yum仓库了,方便地进行软件包管理、版本控制和软件部署。 ### 回答3: Linux是一种非常流行的操作系统,拥有一个强大的社区和开源生态系统。Linux搭建yum仓库是一种在Linux上管理软件包的常用方法。yum仓库是一种软件库,用于安装、更新和卸载软件包。在yum仓库中,您可以找到和下载大量的软件包。以下是如何搭建一个yum仓库的步骤。 1.准备环境 在搭建yum仓库之前,需要准备一个Linux机器,此处以CentOS为例。还需要一个HTTP服务器,这里使用Apache。确保系统已经安装了必要的软件包,如:httpd、createrepo和yum-utils。 2.配置HTTP服务器 yum使用HTTP和FTP来获取和安装软件包,因此需要配置一个HTTP服务器。可以使用Apache来搭建一个HTTP服务器。打开Apache配置文件,位置在/etc/httpd/conf/httpd.conf,搜索DocumentRoot,将其修改为所需目录,例如/var/www/html。 在此之后,启用Apache服务,这可以通过执行以下命令实现:systemctl enable httpd.service systemctl start httpd.service 3.创建yum仓库 将需要的rpm包拷贝到一个目录中,模拟一个yum仓库服务器。使用createrepo来创建仓库,这个工具会扫描指定目录中的所有rpm包并生成仓库的索引信息。 在httpd的DocumentRoot目录下,创建一个子目录yum,然后将rpm包放在这个目录下。使用createrepo工具来生成仓库索引。命令为createrepo /var/www/html/yum。 4.配置yum仓库文件 yum使用repo文件来指定软件源,新建一个*.repo文件,例如:centos7.repo,将其保存在/etc/yum.repos.d/目录下。编辑文件,添加如下内容: [base] baseurl=http://localhost/yum/ gpgcheck=0 enabled=1 在这个文件里,baseurl是yum仓库服务器的地址,gpgcheck是指是否检查GPG密钥,enbled设置为1表示该软件源可用。 5.测试yum仓库 现在,yum仓库已经配置好了,可以测试yum是否连接到了这个新的软件源。执行以下命令: yum clean all yum list 如果您可以看到新安装的rpm包,说明yum已经成功连接到了新的yum仓库服务器。 总结: 搭建yum仓库是非常方便的,您可以使用已有的HTTP服务器来构建,然后使用createrepo对rpm包进行索引。通过配置*.repo文件,您可以轻松地将新的软件源添加到yum,并使用yum命令来获取、安装和卸载rpm包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值