linux上的rsync命令详解

1. rsync 简介

rsync 就是远程同步的意思remote sync.
rsync 被用在UNIX / Linux执行备份操作操作.
rsync 工具包被用来从一个位置到另一个位置高效地同步文件和文件夹. rsync可以实现在同一台机器的不同文件直接备份,也可以跨服务器备份.

2. rsync的重要特性

  • 速度快: 初次同步时, rsync会全量拷贝从源文件或目录到目标位置. 第二次往后同步时, rsync 仅仅会拷贝变化的数据块或字节到目标位置这将使得文件传输非常迅速.
  • 安全: rsync 可以使用ssh协议加密传输.
  • 占用带宽少: rsync 在发送时会压缩数据块, 接收后再解压缩数据块. 所以和其他文件传输协议比起来, rsync在跨主机传输文件时会占用较小的带宽.
  • 不需要特殊权限: 安装和运行rsync 不需要特殊权限.
阅读更多

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 会话已经终止了,里面的进程也随之消失了。
窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候.

阅读更多

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脚本的出现使得这些老的软件工具有了新的功能和更多的灵活性。
阅读更多

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解析)

阅读更多

如何制作RPM安装包

1. 原文

原文how to build RPM

Author: Chris Negus

Editor: Allison Pranger

Date: 09/16/2011

译者:philoenglish.com 团队

2. 概览

您已经创建了一些要安装在Red Hat Enterprise Linux系统上的软件。现在的问题是,“软件编写完成后,如何打包该软件以使其他人易于安装和管理?”

答案是将其打包成RPM安装包。

尽管有其他方式,可以将软件打包成特定格式的压缩包(通过压缩包或其他类型的存档文件)通过解压缩的方式安装到Linux系统,但是将Linux软件打包为RPM,可以为您带来一下好处:

  • 在包中包括描述其组件,版本号,大小,包的元数据, 组,项目网址等待信息。

  • 将软件包添加到yum存储库,以便客户可以轻松找到您的软件

  • 让客户端使用常见的Linux工具(yum,rpm和PackageKit)来安装,删除和管理您的软件。

  • 使用相同的Linux安装工具轻松更新和部署软件的新版本

您无需成为程序员即可创建RPM:只需了解如何创建SPEC文件并使用命令来构建该SPEC文件, 并将内容打包到RPM中。如何打包RPM格式的安装包是本文要详述的内容。创建RPM安装包不仅对管理公司的软件有用,而且也被列为红帽认证工程师(RHCE)考试技能测试范畴。

阅读更多