Centos7上源码安装git2.x

1. 背景介绍

由于运行gitlab pipeline job遇到如下错误

1
2
fatal: git fetch-pack: expected shallow list
ERROR: Job failed: exit status 1

网上搜索原因, 是因为git的版本过低, 经查询确认, 确实很低还是1.x的git版本. 想通过yum源升级, 发现yum源上的最新版也才1.8.3.1
到目前2021-12-14为止要在centos7上安装2.x的 git还是要通过源码安装, 以下是源码安装git的全过程.

阅读更多

Centos7上搭建git服务器

1. 说明

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
虽然git不必依赖一个中心化的仓库来工作, 但是中心化的仓库也能带来很多好处, 比如方便团队写作, 本文主要讲述, 如何配置git服务器, 让多人通过ssh协议的方式访问服务器端的代码仓库.

阅读更多

Linux文件目录结构详解

1. FHS是什么?

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

通俗的讲就是解决哪些鸡蛋应该放在哪些篮子的问题.

阅读更多

Tmux使用说明

1. Tmux的作者

Tmux的作者是Nicholas Marriott, 网上关于Nicholas Marriott的介绍很少, 但是本人对创建如此复杂而功能强大的Tmux的开源开发者十分感兴趣, 希望知道的能补充一些关于Tmux的信息.

2. Tmux 是什么?

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。
打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与称为一次”会话”(session) 。
口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话不管有没有运行完。
登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候.

阅读更多

cygwin install and configuration

1. cygwin 介绍

Cygwin 是一个在 windows 平台上运行的类 UNIX 模拟环境,是 cygnus solutions 公司开发的自由软件(该公司开发的著名工具还有 eCos,不过现已被 Redhat 收购)。它对于学习 UNIX/Linux 操作环境,或者从 UNIX 到 Windows 的应用程序移植,或者进行某些特殊的开发工作,尤其是使用 GNU 工具集在 Windows 上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对 Cygwin 产生了兴趣
Cygwin 提供一个 UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin 主要由 Red Hat 及其下属社区负责维护。

阅读更多

Linux expect 详解

1. Expect简介

  • Expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl(Tool Command Language)脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,passwd,fsck,rlogin,tip,ssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面中。
  • Expect含有利用正则表达式进行模式匹配以及通用的编程功能,允许简单的脚本智能地管理如下工具:telnet,ftp和ssh(这些工具都缺少编程的功能),宏以及其它程序。Expect脚本的出现使得这些老的软件工具有了新的功能和更多的灵活性。
阅读更多

gitlab安装升级及迁移

1. gitlab简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

阅读更多

gitlab-runner安装与配置

1. 安装前准备工作

1.1. 配置yum源

网上大部分教程是介绍如何安装gitlab-ci-multi-runner如何安装,我也按这些教程中的一种安装了,最终发现,不能和最新的gitlab兼容,网上也很少有文章介绍gitlab-ci-multi-runner和gitlab-runner的区别, 实际上gitlab-ci-multi-runner是一个被废弃了的项目, 最新版本只到9.5.1, 而gitlab-runner已经到14.4.0了,在其gitliab仓库上已经说明 Project ‘gitlab-org/gitlab-ci-multi-runner’ was moved to ‘gitlab-org/gitlab-runner’. Please update any links and bookmarks that may still have the old path.
关于gitlab-runner与gitlab的兼容性原则,gitlab和gitlab-runner在主版本和小版本(major.minor)保持同步,具有相同主版本和小版本号的gitlab和gitlab-runner兼容性最好, 较老的runner可能可以兼容比較新的gitlab,反之亦然,但是不能完全保证.详情请参考官网关于兼容性原文

阅读更多

javascript 内置对象

1. BOM对象概述

BOM:浏览器对象模型(Browser Object Model)
BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构.

阅读更多

Hexo中插入mermaid图表

1. mermaid简介

mermaid是一种基于文本的格式生成图表和流程图的工具,是markdown文本很好的补充。
可以生成各种图表,其中包括流程图, 时序图, 甘特图等等.

阅读更多

Hexo命令详解

1. 背景介绍

本文主要讲解 hexo cli 的使用和详细信息,以及相关示例.

阅读更多

运维自动化之Ansible

1. 介绍

1.1. Ansible 发展和起源

Ansible 是一款开源的 IT 配置管理工具,常被 IT 界的小伙伴们用于服务部署、配置管理等工作。配置文件采用最常见的 yaml 格式,学习起来也是比较容易,并且不像 SaltStack,Ansible 并不需要也没有 agent,只有一个控制端。该工具使用简单但功能非常强大,可以解决众多工作中繁琐的服务安装、配置等问题。

阅读更多

在Windows上安装Ansible

1. 前言

Ansible是一种无代理自动化工具,可安装在单个主机(称为控制节点)上。从控制节点,Ansible可以通过SSH、Powershell远程处理和许多其他传输远程管理整个机器和其他设备(称为托管节点),所有这些都是通过一个简单的命令行界面实现的,不需要数据库或守护程序。

本教程是安装环境为Windows, 在windows上要运行Ansible还需要安装Msys2, 主要用于运行 GNU 软件的开发和运行环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从”MinGW-生成”)基础上产生的,追求更好的互操作性的 Windows 软件.

阅读更多

linux环境下创建rpm仓库

1. 环境说明

centos 7.7

2. 简要说明

第一步:首先配置本地可以安装的rpm仓库

第二步:然后安装apache将仓库export出去,

第三步:让局域网上其他计算机其他计算机可以使用自己创建的rpm仓库,也可以称为yum源。

第四步:如果能让internet上其他计算机可以访问该yum源,需要公网IP,如果方便用户记忆需要配置dns解析。(本文由于篇幅所限,不讲解此步骤, 可自行百度了解, 如何配置DNS解析)

阅读更多