ням симулировать установить

39

Исходя из перспективы Ubuntu, если я хочу проверить, какие дополнительные пакеты будут установлены / обновлены, я могу использовать apt-get --simulate install <package name>

Есть ли что-то похожее на ням? Наша Red Hat Box (yum) - это наш производственный сервер, поэтому я бы хотел точно знать, что произойдет, прежде чем я на самом деле установлю какой-нибудь пакет.

Не могу найти хорошее решение, кто-то предложил:

yum --assumeno install <package name>

но это вернулось:

Command line error: no such option: --assumeno

ням версия: 3.2.22

Версия ОС: Red Hat Enterprise Linux Server release 5.6 (Tikanga)

Любые идеи или предложения будут приветствоваться.

Майкл Ирей
источник

Ответы:

32

вы можете выполнить установку yum без ключа -y (если вы его используете):

yum install <package>

это позволит получить список необходимых пакетов и зависимостей. Перед установкой он спросит вас, хотите ли вы установить или нет, просто ответьте «нет», и никаких изменений не будет.

В качестве альтернативы вы можете сделать

yum deplist <package>

перечислить все зависимости пакета и посмотреть, что нужно установить, не загружая и не устанавливая ничего.

LloydOliver
источник
1
yum installне является надежным способом проверки зависимостей, так как он выйдет в случае конфликта.
Тако
это не работает, если пакет уже находится в системе
трансанг
Это не работает, если другой экземпляр yum уже запущен.
Филипп Людвиг
14

Вы можете использовать check-updateопцию yum, чтобы увидеть, доступно ли обновление для пакета. Он сообщит вам, есть ли доступное обновление (и до какой версии) для указанного пакета.

Таким образом, вы можете сделать что-то вроде:

yum check-update <package> 

чтобы увидеть информацию для конкретного пакета, и:

yum check-update

чтобы увидеть информацию для всей системы.

Zypher
источник
1
Ну, в этом случае пакет еще не установлен.
Майкл Ирей,
3

yum install --assumeno packagename

johnshen64
источник
Все еще получаю:Command line error: no such option: --assumeno
Майкл Ирей
может быть, вам нужно обновить свою версию ням. какая у тебя ОС?
johnshen64
1
Отметим, что yum на CentOS6 - это 3.2.29, и он не поддерживает опцию --assumeno. Если он работает 3.2.22, это может быть CentOS5 (или эквивалент).
cjc
ОС это:Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Майкл Ирей
2
чтобы полностью имитировать его, вы можете также рассмотреть возможность его установки в альтернативный каталог, например в среду chroot с --installroot = root. я бы создал vm (kvm, virtualbox, vmplayer и т. д.) с точным os и выполнил бы тестирование таким образом, прежде чем модифицировать реальную производственную ОС. другие уже предположили, что по умолчанию yum не выполняет установку, пока вы не ответите да, но я думаю, что это немного рискованно.
johnshen64
3

Поведение yum по умолчанию спрашивает вас yes / on перед установкой. Есть - --assumeyes, главным образом потому, что он вызывает ошибки с подсказками «да / нет».

Например:

# yum install s3cmd
# stuff removed
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package s3cmd.noarch 0:1.0.1-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================
 Package                    Arch                        Version                          Repository                 Size
=========================================================================================================================
Installing:
 s3cmd                      noarch                      1.0.1-1.el6                      epel                       94 k

Transaction Summary
=========================================================================================================================
Install       1 Package(s)

Total download size: 94 k
Installed size: 320 k
Is this ok [y/N]: n

Точно так же только для "ням-обновления".

CJC
источник
Простой, но эффективный ...
NcA
Ваш ответ тоже работает.
Майкл Ирей,
3

Вы можете сделать пробный прогон, используя

yum -y update --setopt tsflags=test

если ты

укажите необязательные флаги транзакций (tsflags) в командной строке yum с добавленной опцией --tsflags.

Duno
источник