Spiegeln von Reops ohne Verzeichnisauflistung über http

49e89761d021472eb3040bce347dea44

Ich hab mal wieder meinen mrepo Server zu Hause neu eingerichtet. Eine Kleinigkeit die mich störte ist das einige Repository leider keinen Directorylisting haben (z.B. Google und Adobe). Dadürch kann mrepo diese Repos nicht einbinden. Naja, hie ein kleines Script das es ermöglicht die rpm-Dateien aus einem yum-Repo (Repomd) zu speichern, auch wenn keine Verzeichnisanzeige, bzw. keine index-Datei vorhanden ist.

#! /bin/bash
# written by Fabian Niesen 2009-09-16 http://kb.lowfyr.de
# No warranties, no copyright, just use it if you want.
# If you find english typos, just use them to, if you want ;)
# Script to mirror 3rd Partyrepositories
# Requirements: xmllib2
# Syntax for the Repositories:
# REPOnumber=reponame!repourl
TARGETDIR=/var/mrepo/3rdparty
REPO1=google-i386!http://dl.google.com/linux/rpm/stable/i386
REPO2=google-x86_64!http://dl.google.com/linux/rpm/stable/x86_64
REPO3=adobe-i386!http://linuxdownload.adobe.com/linux/i386
REPO4=adobe-x86_64!http://linuxdownload.adobe.com/linux/x86_64
if [ ! -d $TARGETDIR ] ; then
echo "Targetdir did not exist! Change TARGETDIR or try: mkdir "$TARGETDIR
exit 42
fi
### If you add REPOs, remember to adjust the for-statement ###
for REPO in $REPO1 $REPO2 $REPO3 $REPO4
###############################################
### do not change something below this line ###
###############################################
do
REPONAME=`echo $REPO |cut -f1 -d !`
REPOURL=`echo $REPO |cut -f2 -d !`
if [ ! -d $TARGETDIR/$REPONAME ]; then
mkdir $TARGETDIR/$REPONAME
fi
cd $TARGETDIR/$REPONAME
rm -f rpm.list primary.xml primary.xml.gz
wget -nc $REPOURL/repodata/primary.xml.gz
gunzip primary.xml.gz
xmllint primary.xml --format | grep "<location href" | cut -f2 -d """ >rpm.list
wget -i rpm.list -c -N --base=$REPOURL/
rm -f rpm.list primary.xml primary.xml.gz
done

Und in die mrepo-conf werden  diese Repos so eingebunden (Wenn das Repo nach /var/mrepo/3rdparty/test gespeichert wird):

reponame = mrepo:///path-without-mrepopath
test = mrepo:///3rdparty/test

Eingetragen sind bereits die Repositories für Google und Adobe.

Veröffentlicht:

New articles in english

Werbung

Themen

Active Directory Administrative Vorlagen Anleitung AppV5 Autopilot Azure Azure AD ConfigMgr Deployment GPO Gruppenrichtlinien Guide How-To Linux Microsoft Microsoft Intune Office Office365 PowerShell Public Preview SCCM2012R2 SCSM2012R2 ServiceMgr Sicherheit TechNet Windows Windows 10 Windows10 Windows Server 2012 Windows Server 2012R2

Hinweise zum Affiliate-Marketing

Auf diesen Seiten werden auch Affiliate Marketing Links angezeigt. Diese sind meistens an dem kleinen „€“ oder einem „*“ dahinter zu erkennen. Der Betreiber dieser Seite erhält beim Kauf über diesen Link eine Provision, ohne das es den Verkaufspreis beeinflusst. Diese Einnahmen tragen zur Finanzierung der Seite bei.