Альтернатива опции '--update' в команде BSD 'mv'

rpmfind не может сопоставить некоторые зависимости, но все файлы взяты из одного репозитория CentOS 7.

Если у вас есть система с доступом к Интернету, в которой есть команда rpm , то вы можете скопировать все зависимые RPM из репозитория CentOS, а затем переместить их rpms к вашей цели и установите их все, хотя большинство из них уже будет установлено.

Создайте файл /etc/yum.repos.d/my.repo (от имени пользователя root) с содержимым:

[mycentos]
name=my centos
enabled=0
baseurl=http://mirror.centos.org/centos/7.1.1503/os/x86_64/

Предполагается, что значение baseurl - это версия CentOS, которую вы уже установлены. Затем (больше не root) создайте в нем каталог ~ / centosrpm , cd и загрузите все 106 зависимых оборотов в минуту для нужный пакет:

yumdownloader --rootinstall=$PWD  --disablerepo=* --enablerepo=mycentos --resolve wpa_supplicant

Скопируйте эти rpms в целевой и установите их все одной командой:

rpm -Uvh *.rpm

У вас уже будет установлено большинство из них.


Если у вас нет rpm , загрузите (например, с помощью wget ) все rpms в подкаталоге Packages из указанного выше baseurl в каталог, скопируйте их, чтобы сказать / tmp / p на цели, , а затем начните заново с цели с my.repo из baseurl = file: /// tmp / p .

1
28.03.2018, 11:24
2 ответа

Вы можете использоватьrsyncвместо mv, комбинируя эти две опции:

-u, --update                skip files that are newer on the receiver
--remove-source-files       sender removes synchronized files (non-dir)
2
27.01.2020, 23:18

Альтернативой BSD может быть

[ "$target" -nt "$source" ] || mv "$source" "$target"

Это выполняет mv, если $targetне существует или если он не новее, чем $source.

2
27.01.2020, 23:18

Теги

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