Green 发表于 2021-8-9 11:40:20

CentOS7.9同步Ubuntu18.04.5软件仓库配置

1、安装Debmirror同步软件
yum install debmirror -y2、配置debmirror.conf
# cat /etc/debmirror.conf
# Default config for debmirror

# The config file is a perl script so take care to follow perl syntax.
# Any setting in /etc/debmirror.conf overrides these defaults and
# ~/.debmirror.conf overrides those again. Take only what you need.
#
# The syntax is the same as on the command line and variable names
# loosely match option names. If you don't recognize something here
# then just stick to the command line.
#
# Options specified on the command line override settings in the config
# files.

# Location of the local mirror (use with care)
# $mirrordir="/path/to/mirrordir"

# Output options
$verbose=0;
$progress=0;
$debug=0;

# Download options
$host="mirrors.tuna.tsinghua.edu.cn";
$user="anonymous";
$passwd="anonymous@";
$remoteroot="ubuntu";
$download_method="sync";
#@dists="bionic,bionic-updates,bionic-security";
#@sections="main,restricted,universe,multiverse";
#@arches="amd64";
# @ignores="";
# @excludes="";
# @includes="";
# @excludes_deb_section="";
# @limit_priority="";
$omit_suite_symlinks=0;
$skippackages=0;
# @rsync_extra="doc,tools";
$i18n=0;
$getcontents=0;
$do_source=1;
$max_batch=0;

# @di_dists="dists";
# @di_archs="arches";

# Save mirror state between runs; value sets validity of cache in days
$state_cache_days=0;

# Security/Sanity options
$ignore_release_gpg=1;
$ignore_release=1;
$check_md5sums=0;
$ignore_small_errors=1;

# Cleanup
$cleanup=0;
$post_cleanup=1;

# Locking options
$timeout=300;

# Rsync options
$rsync_batch=200;
$rsync_options="-aIL --partial --bwlimit=800";

# FTP/HTTP options
$passive=0;
# $proxy="http://proxy:port/";

# Dry run
$dry_run=0;

# Don't keep diff files but use them
$diff_mode="use";

# The config file must return true or perl complains.
# Always copy this.
1;
3、调整同步脚本
#### Start script to automate building of Ubuntu mirror #####
## THE NEXT LINE IS NEEDED THE REST OF THE LINES STARTING WITH A # CAN BE DELETED

#!/bin/bash

## Setting variables with explanations.

#
# Don't touch the user's keyring, have our own instead
#
export GNUPGHOME=/root/.gnupg

# Arch=         -a      # Architecture. For Ubuntu can be i386, powerpc or amd64.
# sparc, only starts in dapper, it is only the later models of sparc.
#
arch=i386,amd64

# Minimum Ubuntu system requires main, restricted
# Section=      -s      # Section (One of the following - main/restricted/universe/multiverse).
# You can add extra file with $Section/debian-installer. ex: main/debian-installer,universe/debian-installer,multiverse/debian-installer,restricted/debian-installer
#
section=main,restricted,universe,multiverse

# Release=      -d      # Release of the system (...Hardy, Intrepid... Lucid, Precise, Quantal, Saucy, bionic ), and the -updates and -security ( -backports can be added if desired)
# List of updated releases in: https://wiki.ubuntu.com/Releases
#

release=bionic,bionic-security,bionic-updates,bionic-backports,bionic-proposed

# Server=       -h      # Server name, minus the protocol and the path at the end
# CHANGE "*" to equal the mirror you want to create your mirror from. au. in Australiaca. in Canada.
# This can be found in your own /etc/apt/sources.list file, assuming you have Ubuntu installed.
#
server=mirrors.tuna.tsinghua.edu.cn

# Dir=          -r      # Path from the main server, so http://my.web.server/$dir, Server dependant
#
inPath=:ubuntu

# Proto=      --method=       # Protocol to use for transfer (http, ftp, hftp, rsync)
# Choose one - http is most usual the service, and the service must be available on the server you point at.
#
proto=rsync

# Outpath=            # Directory to store the mirror in
# Make this a full path to where you want to mirror the material.
#
outPath=/yum_data/ubuntu

# The --nosource option only downloads debs and not deb-src's
# The --progress option shows files as they are downloaded
# --source \ in the place of --no-source \ if you want sources also.
# --nocleanupDo not clean up the local mirror after mirroring is complete. Use this option to keep older repository
# Start script
#
if [ ! -e "/opt/ubuntu-sync/.ubuntu.sync" ];then
touch /opt/ubuntu-sync/.ubuntu.sync;
echo "">/opt/ubuntu-sync/sync.log;
debmirror       --no-check-gpg \
                --ignore-small-errors \
                --ignore-missing-release \
                --precleanup \
                -a $arch \
                --no-source \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                --progress \
                --method=$proto \
                --rsync-options "-aIL --partial --bwlimit=800" \
                $outPath >>/opt/ubuntu-sync/sync.log;
rm "/opt/ubuntu-sync/.ubuntu.sync";
else
echo "ubuntu mirror is going on";
fi


#### End script to automate building of Ubuntu mirror ####
4、添加计划任务
# crontab -l
0 */2 * * * /opt/ubuntu-sync/ubuntu-mirrorbuild.sh 


文档来源:51CTO技术博客https://blog.51cto.com/coolsky/3314569
页: [1]
查看完整版本: CentOS7.9同步Ubuntu18.04.5软件仓库配置