Linux学习笔记31——linux本地yum源方式安装gitlab

2023-05-16

联网环境下安装gitlab还是很轻松的,但是生产环境往往不能联网,为了部署个gitlab还得花点力气!

本文采取的是,先制作本地yum源,然后再通过自定义yum源将gitlab-ce纳入yum源的方式,再通过yum install进行安装

一、本地yum源制作

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

1,YUM的作用

在Linux上使用源码的方式安装软件非常满分,使用yum可以简化安装的过程

2,YUM的常用命令

安装httpd并确认安装

yum instll -y httpd,

列出所有可用的package和package组

yum list

清除所有缓冲数据

yum clean all

列出一个包所有依赖的包

yum deplist httpd

删除httpd

yum remove httpd

3,制作本地YUM源

YUM源虽然可以简化我们在Linux上安装软件的过程,但是生成环境通常无法上网,不能连接外网的YUM源,说以接就无法使用yum命令安装软件了。为了在内网中也可以使用yum安装相关的软件,就要配置yum源。

YUM源的原理

YUM源其实就是一个保存了多个RPM包的服务器,可以通过http的方式来检索、下载并安装相关的RPM包

1,准备一台Linux服务器,用最简单的版本CentOS-6.7-x86_64-minimal.iso   (其他的iso包也可以,和本机linux版本相匹配)

,2,配置好这台服务器的IP地址

,3,上传CentOS-6.7-x86_64-bin-DVD1.iso到服务器

这里说明下,要上传文件,可以通过sftp,默认情况下,SFTP 协议采用和 SSH 传输协议一样的方式建立到远程服务器的安全连接。

再secureCRT中用ALT+P,调出SFTP,然后用pwd 和 cd 找到需要下载到的位置,再将iso拖动过来即可。生成如下命令:

put -r "D:\software\rhel-server-6.5-x86_64-dvd.iso"

4,将CentOS-6.7-x86_64-bin-DVD1.iso镜像挂载到某个目录

mkdir /var/iso

mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /var/iso

-o 是mount命令的一个参数,Options的首字母,后面跟着mount选项喽

loop:用来把一个文件当成硬盘分区mount到目录

ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device)或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。
在使用之前,一个 loop 设备必须要和一个文件进行连接
。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。

5,修改本机上的YUM源配置文件,将源指向自己

备份原有的YUM源的配置文件

cd /etc/yum.repos.d/

rename .repo .repo.bak *

vi CentOS-Local.repo

[base]

name=CentOS-Local

baseurl=file:///var/iso

gpgcheck=1

enabled=1   #很重要,1才启用

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

添加上面内容保存退出,这里我没有填写gpgkey,也是可以的

6,清除YUM缓冲

yum clean all

7,列出可用的YUM源

yum repolist

我还喜欢用 yum list 看下能安装哪些东西

不过博主用的主机是redhat enterprise 6.8的,到了这一步直接报了错~~

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository 'redhat-6.8': Error parsing config: Error parsing "enabled = '1\xc2\xa0\xc2\xa0'": invalid boolean value

第一句话是说:这个系统还没有再红帽订阅管理里面注册(红帽企业版的要收费!)。你能够用订阅管理来注册!

第二句话,注意哦,特指 redhat-6.8 这个仓库文件里面存在格式问题。读取"enabled = '1\xc2\xa0\xc2\xa0'": 这一段存在转换问题,有无效的布尔值。查的网上结论是注释的问题。

8,安装相应的软件

yum install -y httpd

9.开启httpd使用浏览器访问http://192.168.0.100:80(如果访问不通,检查防火墙是否开启了80端口或关闭防火墙)

service httpd start

10.将YUM源配置到httpd(Apache Server)中,其他的服务器即可通过网络访问这个内网中的YUM源了

cp -r /var/iso/ /var/www/html/CentOS-6.7

11.取消先前挂载的镜像

umount /var/iso

12.在浏览器中访问http://192.168.0.100/CentOS-6.7/

 

13,让其他需要安装RPM包的服务器指向这个YUM源,准备一台新的服务器,备份或删除原有的YUM源配置文件

cd /etc/yum.repos.d/

rename .repo .repo.bak *

vi CentOS-Local.repo

[base]

name=CentOS-Local

baseurl=http://192.168.0.100/CentOS-6.7

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

添加上面内容保存退出

 

14,在这台新的服务器上执行YUM的命令

yum clean all

yum repolist

 

15,安装相应的软件

yum install -y gcc

 

16,加入依赖包到私有yumrepository

进入到repo目录

执行命令:  createrepo  .

 

二,自定义YUM源

上面的办法实际上是处理类似于iso文件的办法,如果想要安装任意的rpm文件,则要采取以下的办法:

 

[root@min-base yum.repos.d]# yum -y install createrepo

准备rpm包

(需要自己确定依赖包)、目录。我这里用gitlab-ce-10.0.0-ce.0.el6.x86_64.rpm 直接做演示

[root@min-base ~]# mkdir -p /yum/yum-custom/packages
[root@min-base ~]# cp gitlab-ce-10.0.0-ce.0.el6.x86_64.rpm /yum/yum-custom/packages/

创建repo

[root@min-base ~]# createrepo -u -d  /yum/yum-custom/
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@min-base ~]# ll /yum/yum-custom/
总用量 8
drwxr-xr-x 2 root root 4096 1月   7 20:21 packages
drwxr-xr-x 2 root root 4096 1月   7 20:22 repodata
[root@min-base ~]# 

三、局域网YUM源

局域网YUM源可以配成:本地YUM源 + FTP服务器

这里使用自定义源yum-custom(见上面) + VSFTP演示。

 

下载vsftpd

[root@min-base ~]# yum -y install vsftpd

 

配置vsftpd

编辑vsftp.conf

[root@min-base ~]# vi /etc/vsftpd/vsftpd.conf

并增加匿名用户root目录(默认已经启用匿名访问)

anon_root=/yum/

注意目录权限如下

[root@min-base ~]# ll -a /yum/
total 8
drwxr-xr-x.  4 root root   37 Dec 20 07:37 .
dr-xr-xr-x. 18 root root 4096 Dec 20 06:32 ..
drwxr-xr-x.  4 root root   36 Dec 20 07:08 yum-custom
dr-xr-xr-x.  8 root root 4096 Dec 10  2015 yum-iso

 

 关闭selinux

临时

[root@min-base ~]# setenforce 0

或者,永久:

编辑config

[root@min-base ~]# vi /etc/selinux/config

设置

SELINUX=disabled

重启

[root@min-base ~]# reboot

 

启用vsftp

[root@min-base ~]# systemctl start vsftpd
[root@min-base ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@min-base ~]# 

 

局域网使用

局域网另外一台机器min-client,

 

配置repo

编辑repo

[root@min-client ~]# vim /etc/yum.repos.d/CentOS-Media.repo

内容如下

[c7-media]
name=CentOS-$releasever - Media
baseurl=ftp://192.168.118.133/yum-custom
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其中192.168.118.133为上面vsftp服务器地址

 

启用这个局域网的repo

[root@min-client ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
[root@min-client ~]# yum makecache
Loaded plugins: fastestmirror
c7-media                                                                                                         | 3.0 kB  00:00
(1/3): c7-media/filelists_db                                                                                     |  880 B  00:00
(2/3): c7-media/other_db                                                                                         | 1.3 kB  00:00
(3/3): c7-media/primary_db                                                                                       | 1.8 kB  00:00
Determining fastest mirrors
Metadata Cache Created
[root@min-client ~]# 

 

使用

 

[root@min-base ~]# yum -y install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
--> Finished Dependency Resolution

 

目前差不多这些就够用了。以后有时间把163的YUM源爬下来,当本地源用。

四、rpm安装gitlab

由于yum源的问题,rpm方式安装gitlab我也进行了尝试。

先来个下载官网:

https://packages.gitlab.com/gitlab/gitlab-ce/

当时就想着版本的话选稍微老一点的,毕竟公司的虚机也就6.8

因此我选了10.08这个版本

这里有个问题,以后再来探讨:怎么选软件的版本?

1,下载rpm版gitlab  

下载 gitlab-ce-10.8.0-ce.0.el6.x86_64.rpm

注意el6指的是 redhat 6版本,el7就是7版本咯

EL是Red Hat Enterprise Linux的简写 
- EL6软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 
- EL5软件包用于在Red Hat 5.x, CentOS 5.x, CloudLinux 5.x的安装 
- EL7 软件包用于在Red Hat 7.x, CentOS 7.x, and CloudLinux 7.x的安装

rpm -ivh  gitlab-ce-10.8.0-ce.0.el6.x86_64.rpm   安装

选项与参数:

-i :install 的意思

-v :察看更细部的安装信息画面

-h :以安装信息列显示安装进度

安装完之后再/opt/gitlab可以看到gitlab的目录。

ls后的目录结构:

bin                       etc      LICENSES  var
dependency_licenses.json  init     service   version-manifest.json
embedded                  LICENSE  sv        version-manifest.txt

2,启动gitlab服务

有一点奇怪的地方,gitlab-ctl 命令没有注册成全局变量,不能直接启动。

我是在bin目录下采用 ./gitlab-ctl   启动相关服务

后来重新安装:rpm -e之后再安装就可以了!

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux学习笔记31——linux本地yum源方式安装gitlab 的相关文章

  • 如何用ps将图片修改成指定大小

    这篇文章主要介绍如何用ps将图片修改成指定大小 xff1a 一 按原像素比例 修改图片的尺寸 1 先来看看它原来的尺寸 xff0c 如图所示 500X481px 2 首先用ps将图片文件打开 xff0c 使用ps菜单命令 xff1a lt
  • docker 安装rabbitMQ(最详细)

    docker 安装rabbitMQ 1 rabbitMQ介绍 RabbitMQ是一套开源 xff08 MPL xff09 的消息队列服务软件 xff0c 是由 LShift 提供的一个 Advanced Message Queuing Pr
  • 阿里云-ECS云服务器跨地域部署k8s集群

    阿里云 ECS云服务器跨地域部署k8s集群 一 背景介绍二 环境准备2 1 ECS云服务资源清单2 2 K8s软件列表 三 阿里云ECS服务器网络问题3 1 问题阐述3 2 解决方案 四 服务节点调整 xff08 master xff0c
  • 代码命名规范是一种责任也是一种精神(工匠精神)

    代码命名规范之美 规范概述命名规范管理类命名BootstrapProcessorManagerHolderFactoryProviderRegistrarEngineServiceTask 传播类命名ContextPropagator 回调
  • Kubernetes集群搭建(高可用)附全自动脚本

    高可用Kubernetes集群搭建 一 前言介绍 1 1 重要概念 二 系统架构 2 1 架构基本需求 2 2 架构图 三 环境准备 3 1 云服务或虚拟机清单 3 2 网络配置 针对使用vmware虚拟机用户需要操作 3 3 虚拟机网络设
  • k8s 集群部署ingress-nginx

    k8s 集群部署ingress nginx 环境准备 helm方式安装ingress nginx master边缘节点 创建命名空间和部署ingress 第一个ingress 例子 查看ingress controller配置 其实就是对应
  • k8s 集群部署traefik

    k8s 集群部署traefik k8s 集群部署traefik 环境准备 下载traefik helm方式安装traefik master边缘节点 执行安装 查看安装结果 安装traefik dashboard dashboard安装和查看
  • Linux系统(Centos)安装tomcat和部署Web项目

    文章结构 1 准备工作 2 在Linux下安装Tomcat8 0 3 Linux中配置tomcat的服务器启动和关闭和配置tomcat的开机启动 4 给tomcat配置用户名和密码登录 5 使用IDEA打包Maven托管的WEB项目 6 将
  • 如何判断蓝牙设备类型

    我们在开发Android的蓝牙应用时 xff0c 可能需要知道扫描到的蓝牙设备是什么类型 xff0c 然后过滤掉不符合要求的设备 xff0c 只保留符合要求的设备 xff0c 例如我们在车载系统上开发蓝牙电话应用时 xff0c 我们希望只显
  • Aspose.Words for Java 体验

    公司中要做一些导出word的工作 xff0c 经别人推荐 xff0c 使用了Aspose Words for Java xff0c 感觉很好用 xff0c 美中不足的地方就是 xff0c 它是收费软件 原理吗 xff1f 比较常规 xff0
  • 汽车制造行业OEM Tier1 Tier2指代什么?

    OEM OEM是Original Equipment Manufacturer的缩写 xff0c 通常指设备厂商 主机厂 整车厂 例如 xff1a 宝马 奔驰 奥迪 大众 丰田 国内汽车主机厂排名前十分别是上汽集团 东风汽车 北京汽车 长安
  • Android应用系统签名方法

    1 应用配置sharedUserId 在AndroidManifest xml文件根节点中加入属性 xff1a android sharedUserId 61 34 android uid system 34 2 找到系统签名文件 plat
  • Android 读取CPU/GPU运行参数(MTK平台)

    一 使用场景 Android运行一段世时间后 xff0c 系统出现卡顿 二 分析 amp 定位问题 系统卡顿 xff0c 同时又发现芯片温度很高 xff0c 怀疑是温度过高导致CPU降频 xff0c 因此我们要将一段时间内CPU的运行信息打
  • Android签名 (二) 制作签名文件

    你可能想知道 通过这篇博客可以解决哪些问题以及学到什么 xff1a 1 公司开发一个新的app xff0c 如何创建一个应用签名 xff1f 2 为了安全性 xff0c Android系统不想使用Google给的原生签名 xff0c 如何定
  • Android签名 (一) 查看签名信息

    你可能想知道 通过这篇博客可以解决哪些问题以及学到什么 xff1a 1 如果我们有一个应用 xff0c 如何查看应用的签名信息 xff1f 2 如果我们有签名原始文件 xff0c 如何查看签名文件中的签名信息 xff1f 这篇博客介绍了如何
  • L8 U3 职业生涯

    Module 1 谈论你最近的工作 1 描述工作 描述工作的形容词 让我们来看一下可以用来描述工作 xff0c 项目和客户的形容词 用enjoyable 和 engaging来描述你觉得有意思的工作或者项目 For me sales is
  • L8 U4 商务旅行

    Module 1 计划商务旅行 1 处理信息 You mean with Lindstrom 你是说和林特罗姆 xff1f Yes with Lindstrom 是的 xff0c 和林特罗姆 Exactly 完全正确 You mean yo
  • L8 U5 产品和创新

    Module 1 产品特点 1 产品特点 询问产品特性 在询问商店中的产品时 xff0c 您可能首先想询问其质量水平 top of the range 高档的middle of the range 中档的good value for mon
  • Android打包jar的两种方法

    方法一 xff1a 使用Android Studio打包 方法二 xff1a 使用Android Build System打包 一 Android Studio打包 1 新建Android Library xff0c 取名为opensdk
  • LCS 下载插件

    难度简单2收藏分享切换为英文接收动态反馈 小扣打算给自己的 VS code 安装使用插件 xff0c 初始状态下带宽每分钟可以完成 1 个插件的下载 假定每分钟选择以下两种策略之一 使用当前带宽下载插件将带宽加倍 xff08 下载插件数量随

随机推荐

  • 调用webservice异常总结

    发布和调用Webservice很简单 xff0c 但小问题依然不断 xff0c 特总结如下 xff1a 一 Java调用 net的webService产生 服务器未能识别 HTTP 标头 SOAPAction 的值 错误 解决方案 xff1
  • 去除Evaluation Warning : The document was created with Spire.PDF for Java.

    去除Evaluation Warning The document was created with Spire PDF for Java 最近项目中有一个需求需要把PDF文件添加页码 xff0c 最终在网上找到了用Spire去添加的方法
  • 第二章 简单网页的爬取与Xpath、Json使用 2021-09-09

    爬虫系列总目录 本章节介绍爬虫中使用的基础库用于选择 xff0c 过滤页面信息 包括requests xff0c bs4 xff0c xpath xff0c 正则表达式re xff0c json 等内容 xff0c 能够实现对简单页面的获取
  • 解决crontab定时任务多次执行

    今天使用linux crontab定时任务时 xff0c 可能由于配置不妥 xff0c 任务多执行一次 xff0c 如下是我程序的日志记录 xff08 执行了两次 xff0c 我设置的是每分钟执行1次 xff09 解决如下 重启cronta
  • ruoyi对接CAS统一身份认证

    暂定逻辑如下 xff1a 搭建CAS服务器端 xff1a 项目地址 xff1a https gitee com weigang wu cas server webapp git 项目里有二开的说明文档 xff0c 如 xff1a 按照自定义
  • Linux 系统启动过程

    简介 Linux 系统启动过程大致分为5个阶段 xff1a 1 内核的引导 2 运行 init 3 系统初始化 4 建立终端 5 用户登录系统 内核引导 计算机通电后 xff0c 首先会进行 BIOS 开机自检 xff0c 然后根据BIOS
  • Ubuntu 修改$PS1 自定义命令提示符

    文章更新于 xff1a 2020 03 25 文章目录 一 自定义命令提示符1 可修改的是那部分 xff1f 2 修改 PS1 变量3 PS1 变量格式4 如何修改背景颜色5 修改字体 二 Enjoy xff01 一 自定义命令提示符 1
  • C#byte类型

    byte类型的范围是0 255 转换为二进制是00000000 11111111 C 中对byte类型的处理还是很特殊的 下面用几行简单的代码来说明问题 byte x 61 1 byte y 61 2 byte z 61 x 43 y er
  • JVM内存分配机制详解

    目录 1 对象创建流程 TODO 1 1 jvm分配内存 1 2 设置对象头 1 2 1 对象头实例 1 2 2 指针压缩 2 JVM对象内存分配 2 1 逃逸分析和标量替换 2 1 1 逃逸分析和标量替换实战 2 2 eden区分配内存过
  • 【已解决】Windows10安装报:Windows检测到EFI系统分区格式化为NIFS,将EFI系统分区格式化为FAT32,然后重新启动安装

    手动擦除驱动器并将其转换为 GPT 关闭电脑 xff0c 然后放入 Windows 安装 DVD 或 USB 密钥 在 UEFI 模式下将电脑启动到 DVD 或 USB 密钥 有关详细信息 xff0c 请参阅 启动到 UEFI 模式或传统
  • SpringBoot系列之【启动流程详解】

    文章目录 前言一 SpringBoot特点二 SpringBoot启动流程图三 SpringBoot启动类入口1 注解 xff1a 64 SpringBootApplication 64 SpringBootConfiguration 64
  • word文档转html利器

    有需求 xff0c 就会有相应的技术出现 xff0c 以前知道word可以用来书写html网页 xff0c 那自然就可以转成html页面 xff0c 难道我们要用word开发html页面吗 xff1f 你可能会问 xff0c 我为什么要把w
  • Windows Terminal - 好物分享,真香~

    微情景 xff1a x1f482 xff1a 咦 xff0c 你的windows电脑还在使用默认的PowerShell cmd呀 xff1f x1f64b xff1a 对啊 x1f482 xff1a 你不觉得它们很丑又不好用吗 xff1f
  • oh-my-zsh - Linux/Git Bash个性化工具 - 好物分享,真香~

    一 什么是oh my zsh oh my zsh 是一个开源的zsh配置工具 xff0c 正如它主页上说的 xff0c oh my zsh基于zsh命令行 xff0c 提供了主题配置 xff0c 插件机制 xff0c 内置的便捷操作 让我们
  • python+Appium实现手机移动端自动化 - 模拟器 或 真机【有线】

    有线连接真机 xff0c 实现真机自动化 xff1f 实现模拟器自动化 xff1f 在这里 xff0c 都能满足你的需求 xff01 什么都不说了 xff0c 直接上干货吧 xff0c 亲测可用哦 x1f447 一 环境准备 首先 xff0
  • Linux 在终端中打开新的终端:gnome-terminal

    原文 xff1a gnome terminal技巧 xff08 1 xff09 Ubuntu中在桌面按下ctrl 43 alt 43 t即可打开终端 xff0c 这时候会进入用户的主目录 xff08 2 xff09 在一个终端中输入gnom
  • 微信公众号爬虫

    GitHub bowenpay wechat spider 微信公众号爬虫 https github com bowenpay wechat spider 虚拟机VMware下CentOS6 6安装教程图文详解 Linux教程 Linux公
  • win10你没有权限在此位置中保存文件

    首先进入Win10系统的hosts文件所在位置 xff0c 我们直接输入C Windows System32 Drivers etc后回车就可以打开了 xff0c 右键hosts文件 xff0c 选择属性 xff0c 如下图所示 点击hos
  • 设计模式6——建造者模式(builder)

    1 xff0c 盖房项目需求 盖房项目需求 1 需要建房子 xff1a 这一过程为打桩 砌墙 封顶 2 房子有各种各样的 xff0c 比如普通房 xff0c 高楼 xff0c 别墅 xff0c 各种房子的过程虽然一样 xff0c 但是要求不
  • Linux学习笔记31——linux本地yum源方式安装gitlab

    联网环境下安装gitlab还是很轻松的 xff0c 但是生产环境往往不能联网 xff0c 为了部署个gitlab还得花点力气 xff01 本文采取的是 xff0c 先制作本地yum源 xff0c 然后再通过自定义yum源将gitlab ce