STEP 4 – CONFIG RepoSync/RepoTrack to support multiple OS Distros, Releases, and Architectures:
As of 2019-03-22, on c7pxe, the c7x64 and c7x32 repos take about this much space…
- 4.0G /var/www/html/repos/c7x64/base/ # filter allows for GNOME desktop.
- 206M /var/www/html/repos/c7x64/extras/
- 942M /var/www/html/repos/c7x64/updates/
- 187M /var/www/html/repos/c7x64/epel/
- 3.4G /var/www/html/repos/c7x32/base/ # filter also excludes GUI desktops.
REPOSYNC OPTIONS (not all of them):
-c CONFIG, –config=CONFIG
Config file to use (defaults to /etc/yum.conf).
- CREATE extra YUM config files, one for each {Distro-Release-Arch} being sync’d:
- /etc/yumrsc7x64.conf # configure an exclude= line.
- /etc/yumrsc7x32.conf # configure an exclude= line.
- CREATE extra YUM repo directory, one for each {Distro-Release-Arch} being sync’d:
- /etc/yumrsc7x64.repos.d
- /etc/yumrsc7x32.repos.d
- CREATE matching repo files under each directory:
- /etc/yumrsc7x64.repos.d/c7x64.repo # {base,extras,updates,epel}
- /etc/yumrsc7x32.repos.d/c7x32.repo # {base,extras,updates}
- EDIT each YUM config files to specify where to find it’s “*.repo” files:
- IN “/etc/yumrsc7x64.conf”, add the line “reposdir=/etc/yumrsc7x64.repos.d“
- IN “/etc/yumrsc7x32.conf”, add the line “reposdir=/etc/yumrsc7x32.repos.d“
- define reposync CONFIG OPTION for each {Distro-Release-Arch} being sync’d (for the reposync script(s):
- –config=/etc/yumrsc7x64.conf
- –config=/etc/yumrsc7x32.conf
-a ARCH, –arch=ARCH
Act as if running the specified arch (default: current arch,
note: does not override $releasever. x86_64 is a superset for
i*86.).
- –arch= # can skip this option/flag for the x64 version, default already works.
- –arch= # for the x32… I’m not sure whether it is supposed to be “i386”, “i686”, or something else.
- note: 2019-03-22, seems to working without actually using this flag.
-r REPOID, –repoid=REPOID
Specify repo ids to query, can be specified multiple times
(default is all enabled).
- This flag refers to the [repo name] in the configured “*.repo” files.
- “REPOID” must match a name in the targeted /etc/yum{$}.repos.d/{$}.repo file(s).
- So, if you keep the names simple there, then this flag remains much simpler.
- the options used by my repo configs and reposync/repotrack scripts:
- –repoid=base
- –repoid=extras
- –repoid=updates
- –repoid=epel
-d, –delete
Delete local packages no longer present in repository.
-p DESTDIR, –download_path=DESTDIR
Path to download packages to: defaults to current directory.
- My local repos are being stored/served in these locations (don’t put this syntax in the script):
- /var/www/html/repos/c7x64/{base,extras,updates,epel}
- /var/www/html/repos/c7x32/{base,extras,updates}
- note: the reposync utility will make (or use existing) subfolder(s) matching the repo name, so, my reposync scripts only need:
- –download_path=/var/www/html/repos/c7x64/
- –download_path=/var/www/html/repos/c7x32/
-u, –urls
Just list urls of what would be downloaded, don’t download.
-n, –newest-only
Download only newest packages per-repo.
One thought on “Build a CentOS7 server for: pxe boot, kickstart, reposync, repotrack, nfs, https (STEP 4)”