Как переместить несколько файлов и добавить расширение .pgp?

РЕДАКТИРОВАТЬ: Я думаю, что приведенный ниже код на самом деле не работает, он продолжает выдавать ошибку транзакции 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


Я решил это, выполнив следующие действия (на самом деле это довольно просто)

  1. Создайте символическую ссылку в / 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

  2. Затем вам нужно обновить переменную media_path в кикстарте. Вы можете сделать это через веб-интерфейс Spacewalk WebUI.

    Детали кикстарта -> Переменные

    и измените media_path на centos7 (или имя вашей символической ссылки)

spacewalk webui

  1. Сохраните свой кикстарт и снова загрузитесь

  2. Вы также можете проверить, что он работает, попробовав вытащить squashfs.img.

    curl -o squashfs.img /centos7/LiveOS/squashfs.img

Почему это работает

Если вы посмотрите на конфигурацию выхода в открытый космос apache по умолчанию /etc/httpd/conf.d/ zz-spacewalk-www.conf . У него такая конфигурация:


    Options Indexes FollowSymLinks

Так что в основном следуйте любым символическим ссылкам в / var / www / html /, который по умолчанию открыт для открытого доступа.

1
24.07.2017, 19:24
3 ответа

Не единственный способ, но лучший и самый простой способ — это действительно цикл и предпочтительно цикл for. Это тривиально:

cd /test    
for file in test*; do
    mv "$file" /test/dir/"$file".pgp
done

Вот именно.

1
27.01.2020, 23:18

Вы можете сначала переименовать файлы, а затем переместить их:

rename 's/(.*)/$1.pgp/' test*; mv test*.pgp /test/dir
2
27.01.2020, 23:18

Да, следует использовать цикл for.

В два простых шага:

set -- test-{1..4}
for f; do mv "$f" "dir/$f.pgp"; done
1
27.01.2020, 23:18

Теги

Похожие вопросы