Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Probleem

Synchronisatie van Ubuntu 16.04 Repo Download naar lokale Repo applicatie

Oplossing

Inleiding

Dit document beschrijft hoe u een lokaal Repo-applicatie met de repo.cliqrtech.com kunt synchroniseren om Ubuntu 16.04 Repo naar het Repo-applicatie te downloaden met behulp van de SHA256-encryptie van cloudrepo.key.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Linux-interface

- Virtuele machinemodaliteit

- Repo-applicatie

Gebruikte componenten

De informatie in dit document is gebaseerd op deze softwareversies:

- Cloud Center versie 4.8.1.1

- Repo-applicatie

Achtergrondinformatie

CloudCenter heeft Ubuntu 16.04 ondersteund met de release 4.8.1.1. Maar Ubuntu 16.04-repo is niet beschikbaar in het CloudCenter Repo-applicatie.

Daarom, als u de Ubuntu 16.04 repo wilt downloaden, synchroon het lokale Repo-applicatie met repo.ciqrtech.com.

Probleem

Synchronisatie van Ubuntu 16.04 Repo Download naar lokale Repo applicatie

Als het lokale Repo-applicatie synchroon loopt met de repo.cliqrtech.com, kan het niet naar behoren de Ubuntu 16.04 repo verkrijgen omdat de cloudrepo.key-encryptie SHA1 is en voor Ubuntu 16.04 minimaal een SHA256 nodig is.

Oplossing

Om cloudrepo.key te hebben, moet er een nieuwe GnuPrivacyGuard (GPG) toets worden gecreëerd met het gebruik van SHA256, dat het Ubuntu 16.04-rapport effectief naar het lokale Repo-applicatie downloads.

Stap 1. Zorg ervoor dat repo.cliqrtech.com de hoofdgegevensbank is.

/usr/bin/repo_config_wizard.sh

Stap 2. In de lokale folder van Repo Appliance /Tmp, kopieer en plak dit script en noem het recreate_gpg_key.sh (het script is toegevoegd aan dit Techzone artikel).

#!/bin/bash

REPO_DIR='/repo'

# Move gnupg folder to recreate keys

if [[ -d '/home/repo/.gnupg' ]]; then

su repo -c "mv -f /home/repo/.gnupg /home/repo/gnupg_bkp"

fi

# Create gpg.conf file and add sha256 algorith to it

gpg_conf_file='/home/repo/.gnupg/gpg.conf'

su repo -c "gpg --list-keys"

if [[ ! -f ${gpg_conf_file} ]]; then

echo "Gpg.conf file not created. Failing in gpg install/configure"

exit 1

fi

echo cert-digest-algo SHA256 >> ${gpg_conf_file}

echo digest-algo SHA256 >> ${gpg_conf_file}

gpg_txt='/tmp/gpg.txt'

cat  << EOF > ${gpg_txt}

%echo Generating a basic OpenPGP key

Key-Type: RSA

Key-Length: 4096

Name-Real: CloudRepo

Name-Comment: GPG key for Cloud Repo

Name-Email: foo@foo.bar

Expire-Date: 0

Passphrase: cloudrepo

# Do a commit here, so that we can later print "done" :-)

%commit

%echo done

EOF

su repo -c "gpg --batch --gen-key ${gpg_txt}"

rm -f ${gpg_txt}

# Remove cloudrepo key before recreating it

cloud_repo_key=${REPO_DIR}'/cloudrepo.key'

if [[ -f ${cloud_repo_key} ]]; then

rm -f ${cloud_repo_key}

fi

gpg_key_val=$(su repo -c "gpg --list-keys" | grep "^pub"  | tail -n 1 |  awk '{print $2}'  | cut -d '/' -f 2 )

gpg_tmp_file='/tmp/gpg.tmp'

echo cloudrepo > ${gpg_tmp_file}

su repo -c "cat ${gpg_tmp_file} |  gpg --no-tty --batch --passphrase-fd 0 --output ${cloud_repo_key} --armor --export ${gpg_key_val}"

rm -f ${gpg_tmp_file}

# Run rebuild metadata script to recreate ubuntu1604 metadata with the new key

touch /repo/debRepo/ubuntu1604/amd64/binary/tmp_file

touch /repo/debRepo/ubuntu1404/amd64/binary/tmp_file

touch /repo/debRepo/ubuntu1204/amd64/binary/tmp_file

su repo -c "/repo/scripts/rebuild_repo_metadata.sh"

rm -f /repo/debRepo/ubuntu1604/amd64/binary/tmp_file

rm -f /repo/debRepo/ubuntu1404/amd64/binary/tmp_file

rm -f /repo/debRepo/ubuntu1204/amd64/binary/tmp_file

exit 0

Stap 3.Verander de toestemming voor het opnieuw genereren van_gpg_key.sh.

chmod 755 recreate_gpg_key.sh

Stap 4. Execute release_gpg_key.sh als root.

./recreate_gpg_key.sh

Stap 5. Controleer dat Ubuntu 16.04 repo wordt toegevoegd aan het lokale Repo-applicatie.

ls /repo/debRepo/