РЕДАКТИРОВАТЬ: Я думаю, что приведенный ниже код на самом деле не работает, он продолжает выдавать ошибку транзакции annaconda при установке пакетов. Чтобы полностью исправить мою проблему, я установил для своего media_path следующее:
/ks/dist/org/1/CentOS-7.3-Base
Переменная media_path в «раздаче кикстарта» и фактический файл кикстарта были разными.
Распространение кикстарта -> Переменные: media_path = / ks / dist / org / 1 / CentOS-7.3-Base
Профили кикстарта -> Переменные: media_path = / var / satellite / rhn /kickstart/1/CentOS-7.3-Base
Я решил это, выполнив следующие действия (на самом деле это довольно просто)
Создайте символическую ссылку в / var / www / html
, которая указывает на ваш носитель. каталог. (Я только что назвал здесь свою символическую ссылку centos7
, и ваша символическая ссылка будет указывать на / var / satellite / rhn / kickstart / sl_netinst /
)
ln -s / var / satellite / rhn / kickstart / 1 / CentOS-7.3-Base / var / www / html / centos7
Затем вам нужно обновить переменную media_path в кикстарте. Вы можете сделать это через веб-интерфейс Spacewalk WebUI.
Детали кикстарта -> Переменные
и измените media_path
на centos7 (или имя вашей символической ссылки)
Сохраните свой кикстарт и снова загрузитесь
Вы также можете проверить, что он работает, попробовав вытащить squashfs.img.
curl -o squashfs.img
Почему это работает
Если вы посмотрите на конфигурацию выхода в открытый космос apache по умолчанию /etc/httpd/conf.d/ zz-spacewalk-www.conf
. У него такая конфигурация:
Options Indexes FollowSymLinks
Так что в основном следуйте любым символическим ссылкам в / var / www / html /, который по умолчанию открыт для открытого доступа.
Не единственный способ, но лучший и самый простой способ — это действительно цикл и предпочтительно цикл for. Это тривиально:
cd /test
for file in test*; do
mv "$file" /test/dir/"$file".pgp
done
Вот именно.
Вы можете сначала переименовать файлы, а затем переместить их:
rename 's/(.*)/$1.pgp/' test*; mv test*.pgp /test/dir
Да, следует использовать цикл for.
В два простых шага:
set -- test-{1..4}
for f; do mv "$f" "dir/$f.pgp"; done