المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

المشكلة

مزامنة تنزيل طلب إعادة الشراء من Ubuntu 16.04 إلى جهاز إعادة الشراء المحلي

الحل

المقدمة

يصف هذا وثيقة كيف أن يتزامن محلي repo جهاز مع ال repo.cliqrtech.com in order to جلبت Ubuntu 16.04 repo إلى ال repo جهاز مع إستعمال ال cloudrepo.key SHA256 تشفير.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- واجهة Linux

- بيئة الجهاز الظاهري

- جهاز إعادة الشراء

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:

- CloudCenter، الإصدار 4.8.1.1

- جهاز إعادة الشراء

معلومات أساسية

بدأ CloudCenter في دعم Ubuntu 16.04 مع إصدار 4.8.1.1. ومع ذلك، لا تتوفر إعادة توجيه Ubuntu 16.04 في جهاز CloudCenter Repo.

لذلك، إذا كنت ترغب في تنزيل Ubuntu 16.04 repo، فقم بمزامنة جهاز Repo المحلي مع repo.ciqrtech.com.

المشكلة

مزامنة تنزيل طلب إعادة الشراء من Ubuntu 16.04 إلى جهاز إعادة الشراء المحلي

إذا كان جهاز Repo المحلي يتزامن مع repo.cliqrtech.com، فلن يتمكن من الحصول على إعادة توجيه Ubuntu 16.04 بشكل صحيح بسبب أن تشفير CloudDrepo.key هو SHA1 وأن Ubuntu 16.04 يتطلب SHA256 على الأقل.

الحل

للحصول على cloudDrepo.key، سيتم إنشاء مفتاح GnuPrivacyGuard (GPG) جديد باستخدام SHA256، والذي يقوم بتنزيل إعادة توجيه Ubuntu 16.04 بشكل فعال إلى جهاز Repo المحلي.

الخطوة 1. تأكد من أن repo.cliqrtech.com هو المستودع الرئيسي.

/usr/bin/repo_config_wizard.sh

الخطوة 2. في الدليل /tmp للجهاز المحلي لإعادة التوجيه، انسخ هذا البرنامج النصي والصقه واسمه creating_gpg_key.sh (تم إرفاق برنامج نصي بالمقالة TechZone هذه).

#!/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

الخطوة 3.قم بتغيير إذن creating_gpg_key.sh.

chmod 755 recreate_gpg_key.sh

الخطوة 4. قم بتنفيذ creating_gpg_key.sh كجذر.

./recreate_gpg_key.sh

الخطوة 5. تأكد من إضافة Ubuntu 16.04 repo إلى جهاز إعادة التوجيه المحلي.

ls /repo/debRepo/