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/