Barman离线安装(一步到位)

article/2025/9/23 19:02:59
  • 软件版本信息
软件版本
CentOS Linux release 7.8.2003 (Core)
Python 3.6.8
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
psql (PostgreSQL) 13.6

安装postgresql客户端

1. 配置yum源,安装依赖

# vim /etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
gpgcheck=0
enabled=1yum install gcc-c++ -y
yum install perl-ExtUtils-Embed -y
yum install readline-devel -y
yum install zlib-devel -y
yum install python-devel -y

2. 编译安装

编译安装world会编译安装所有组件

tar -xvf postgresql-13.6.tar.gz
./configure --prefix=/usr/local/pgsql13.6 --with-perl --with-python
make world && make install-worldln -sf /usr/local/pgsql13.6 /usr/local/pgsql

3. 配置环境变量

在最后添加如下信息

# vim /etc/profile
MANPATH=/usr/local/pgsql/share/man:$MANPATH
LD_LIBRARY_PATH=/usr/local/pgsql/lib
PG_HOME=/usr/local/pgsql
PATH=$PATH:$HOME/bin:$PG_HOME/bin
export PATH PG_HOME LD_LIBRARY_PATH MANPATH
# source /etc/profile

Barman安装

下面是需要的所有包的信息,如果还有其他需要的包可以直接通过python官方下载https://pypi.org/search/

# ls -lrt
total 5104
-rw-r--r-- 1 root root   11053 Feb 25 15:10 six-1.16.0-py2.py3-none-any.whl
-rw-r--r-- 1 root root  247702 Feb 25 15:10 python_dateutil-2.8.2-py2.py3-none-any.whl
-rw-r--r-- 1 root root   30872 Feb 25 15:10 argh-0.26.2-py2.py3-none-any.whl
-rw-r--r-- 1 root root   37734 Feb 25 15:10 argcomplete-2.0.0-py2.py3-none-any.whl
-rw-r--r-- 1 root root    5313 Feb 25 15:10 zipp-3.6.0-py3-none-any.whl
-rw-r--r-- 1 root root   26844 Feb 25 15:10 typing_extensions-4.1.1-py3-none-any.whl
-rw-r--r-- 1 root root   17978 Feb 25 15:10 importlib_metadata-4.8.3-py3-none-any.whl
-rw-r--r-- 1 root root 2953158 Feb 25 17:18 psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl
-rw-r--r-- 1 root root 1263676 Feb 25 17:20 barman-2.18.tar.gz

1. 软件依赖下载

  • 搜索软件包
    在这里插入图片描述
  • 下载发行包
    在这里插入图片描述
  • 兼容信息

    确保软件版本与当前环境python及pip版本兼容,当前环境python为3.6版本,没有问题
    在这里插入图片描述

  • 小彩蛋,提前备好的软件包

链接:https://pan.baidu.com/s/1ilBq8u5xYcf2o-JsbklZGA
提取码:4qto

2. 安装barman相关依赖

依赖下载好,放在同一个目录,通过pip进行安装

# pip3 install *.whl
# pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
argcomplete (2.0.0)
argh (0.26.2)
importlib-metadata (4.8.3)
pip (9.0.3)
psycopg2-binary (2.8.6)
python-dateutil (2.8.2)
setuptools (39.2.0)
six (1.16.0)
typing-extensions (4.1.1)
zipp (3.6.0)

3. 安装barman

编译barman,编译前修改setup.py,可以确保软件顺利安装,主要为解决psycopg2的问题。

# tar -xvf barman-2.18.tar.gz修改setup.py文件:
vim setup.py
修改前:
install_requires = ["psycopg2 >= 2.4.2","python-dateutil","argcomplete",
]
修改后:
install_requires = ["psycopg2-binary >= 2.4.2","python-dateutil","argcomplete",
]# python3 setup.py build
# python3 setup.py install
# barman --version
# cp barman.conf /etc/
# cp -r barman.d/ /etc/2.18 Barman by EnterpriseDB (www.enterprisedb.com)

4. 关于psycopg2

barman编译前修改setup.py中的依赖信息,将psycopg2修改为psycopg2-binary,关于这个操作,下面的连接做出了解释:
https://timothyqiu.com/archives/psycopg2-warning/

老版本中自带的预编译 wheel 二进制可能会造成崩溃问题,官方决定 psycopg2 从 2.8 版本开始将不再包含预编译二进制,必须通过编译安装。为此还作出了两个调整:

  • 2.7.4 ~ 2.8 之间为过渡期,使用 psycopg2 的预编译二进制时会生成警告
  • 新增了 psycopg2-binary 包,除了仍旧提供预编译二进制外,与 psycopg2 完全一致(即与老版本行为一致)。

开发人员的看法

  • 推荐 psycopg2-binary 实际上是个换汤不换药的解决方案,什么问题都没有解决;
  • 虽然 psycopg2-binary 的包名没变(还是 import psycopg2),但一些第三方库可能因此产生依赖问题;
  • 由于目前 Python 的包管理机制,psycopg2 和 psycopg2-binary 虽然可以共存,但删的时候会同时删掉,很滑稽。

http://chatgpt.dhexx.cn/article/V6bVQOQF.shtml

相关文章

barman

拓扑: 注意: 1.barman的安装需要使用postgresql的模块,尽量保证pg1 ,barman-server,backup-pg上的postgresql版本一致。 步骤: 1 在pg1上安装postgresql-11 yum install https://download.postgresql.org/…

Barman备份方案介绍

Barman 是一款开源的基于Python开发的集备份和恢复为一体的优秀PG数据库备份工具,它可以对单个/多个PG数据库进行远程/本地备份,用以增强业务数据的安全性,为DBA提供恢复数据库提供可靠的帮助。 Barman 优点 支持对多版本PG的备份, 已知支持…

PostgreSQL 备份恢复工具之 Barman

文章目录 Barman 简介Barman 与 pg_dump 对比 Barman 简介 Barman(Backup and Recovery Manager,备份与恢复管理器)是一个用于 PostgreSQL 数据库灾难恢复的开源管理工具,使用 Python 编写。Barman 使得企业能够执行多个关键业务…

使用 barman的备份和归档PostgreSQL

1 前言 1.1 Barman简介 barman(备份和恢复管理器)是用于PostgreSQL服务器进行灾难恢复的开源管理工具,是以Python编写的。它支持对多台服务器执行远程备份,以降低风险并帮助DBA进行数据库恢复。 1.2 Barman的备份方式 本文假定…

github删除某个项目流程

1.进入网站 2.找到要删的项目,点进去 3.进去之后往下拉,拉到这里 接下来就点它按提示操作就删除了。

GitLab删除项目操作(亲测)

刚开始找了半天没找到删除按钮在哪,现在记录一下,分享。 第一步:点进入项目 第二步:进入项目Settings 第三步:往下拉,找到Remove,删除即可。 所有内容皆为个人总结或转载别人的文章,只为学习技…

删除gitlab上的分支

好久没有更新了, 今天记录一下删除gitlab上的分支的操作 登录仓库后, 依次点击: project --> home --> Readme --> repository --> branches 会看到所有master和所有分支, 点击右侧删除即可; 看到右边的红色垃圾桶了没, 删除按钮, 想要删除那个就点那个即可; 最近很…

GitLab如何删除已有项目

一。点击进入你需要删除的项目: 二。选择Settings,点击General,找到Advanced settings,点击Expand: 三。往下翻,找到Remove Project,点击: 四。根据提示,输入test&#x…

gitlab中如何删除Group,删除项目

删除自己创建的组: 一、首先查看自己的组,然后edit group,点击进入; 二、点击Settings中的General,然后点击Path, transfer, remove的Expend按钮; 3、滑到最下边,点击“Remove group”; 4、在弹出框中输入…

删除git、gitlab的分支

1.使用命令 删除本地分支 git branch -d dev 【git branch -参数 本地分支名称】删除远程分支 git push origin --delete dev 【git push origin --参数 远程分支名称】 2.在gitlab上删除分支 进入某个项目,例bootdo这个项目,bootdo->左右菜单Repos…

gitlab删除仓库文件夹

如图: 要删除router 首先进入项目master文件夹下, Git Bash Here ,打开命令窗口 $ git pull origin master # 将远程仓库里面的项目拉下来 $ dir # 查看有哪些文件夹 $ git rm -r --cached target # 删除target文件夹 $ git commit -m ‘删除了target’ # 提交…

gitlab 创建、修改、删除项目

一、创建用户组 1、setting --> Groups --> New group 2、填写用户组信息,点击 "Create group"。 3、选择需要加入改组的 用户和角色,点击 "Add users to group" 二、创建项目 1、点击 "New project" 2、填写项…

github上如何删除一个项目(仓库)

最近在学习使用git来管理项目,在学习管理远程库时,使用github来管理,创建的项目后来发现不需要这个项目了,想删除,找了好久都没找到在哪删除,在这里特意记录下来 首先创建一个Repositories 点击New reposi…

GitLab删除项目的操作步骤

1.进入项目首页 2.选择Settings-General 3.划至底部找到Advanced,点击右侧"Expand" 4.往下划可看到删除项目的按钮,点击后按操作提示即可

gitlab上删除项目

最近公司打算把不用svn而是git来托管代码. 然后我自己在公司的gitlab上建立了一个测试项目,这时候删除很容易直接在本页面上.一旦我上传了一些东西之后再删除就隐藏的比较深了.然后上网查的百度教程,发现不行.原因可能是git版本更新完之后,位置变了. 摸索了一通之后终于找到了…

如何删除gitlab上的文件夹

参考:如何删除gitlab上的文件夹 1.在本地新建一个文件夹,进入文件夹,右键git bash here。 2.在命令行窗口输入拉去gitlab仓库的命令,git clone "仓库地址",然后查看是否拉取成功。 3.在本地把需要删除的文件…

gitlab怎么删除项目

首先点击setting–general–advanced-expand展开 滑到最下面找到remove project 将要删除的项目名称输入到框里,删除

怎样删除Github中的项目

我们在GitHub上创建项目的时候,如果想要删除当前项目,怎样进行操作呢,下面就简单介绍一下怎样去删除GitHub中的项目 1、选择要删除的项目 2、进入项目中的setting(设置)中 3、一直下拉,看到有红色字体出现&…

如何在GitLab与GitHub中删除项目(仓库)

文章目录 一、GitLab中删除项目1、进入Projects找到要删除的项目2、选中左下角Settings中的General3、点击Advanced栏下的Expand4、然后滑到最下面的Remove project5、输入要删除项目的名字,确认删除 二、GitHub中删除仓库1、找到要删除的仓库,点击右上方…