Как установить два приложения / пакета одновременно?

Вы можете добавить что-то вроде этого в свой / etc / ssh / sshd_config :

AllowUsers mobileuser1 mobileuser2 *@10.0.0.0/8

Выше предполагается, что разрешенные удаленные пользователи имеют имена mobileuser1 и mobileuser2 ], и что ваша доверенная сеть - 10.0.0.0 с маской подсети 255.0.0.0.

Это позволяет двум мобильным пользователям входить в систему из любого места, а всем - из доверенной сети. Любому пользователю, который не соответствует ни одному из этих шаблонов (например, пользователю foo , входящему удаленно), будет отказано в доступе.

7
11.04.2018, 17:49
3 ответа

Вы не можете; APT, как и большинство других менеджеров пакетов, использует блокировку, чтобы гарантировать выполнение одной операции управления пакетами в любой момент времени. Это делается для обеспечения согласованности :. Важно поддерживать состояние базы данных пакетов и состояния пакетов согласованными, и самый простой способ сделать это — гарантировать, что они никогда не подвергаются нескольким одновременным модификациям.

Замки всегда находятся в фиксированном месте (, иначе они не были бы такими полезными ), так что вы можете использовать их самостоятельно, чтобы поставить работу в очередь, используя что-то вродеlockf:

lockf /var/lib/dpkg/lock apt-get update

будет ждать освобождения блокировки (, если необходимо ), прежде чем запускать apt-get update.

16
27.01.2020, 20:14

Как сказал Стивен Китт, вы не можете попросить менеджера пакетов установить пакет, в то время как он уже занят установкой других пакетов, потому что это вызывает проблемы согласованности в системе. Однако, как сказал psusi в комментарии, если ваш менеджер пакетов все еще находится на этапе загрузки пакета, это можно прервать. Вы можете нажать Ctrl+C, установить udftools, а затем повторно вызвать apt, чтобы продолжить установку вашего большого пакета. Он должен был сохранить частично загруженный пакет и продолжить загрузку с того места, где она была прервана.

Причина, по которой вы не можете вызвать менеджер пакетов для установки или удаления вещей, когда он уже изменяет систему в другом процессе, заключается в том, что это добавит слишком много сложности и не принесет мало пользы, чтобы процессы взаимодействовали друг с другом и координировали свои действия. действия, обеспечивающие согласованность системы. Например,что, если вы попросите его установить пакет, конфликтующий с пакетом, который находится в процессе установки другого процесса? Что, если вы попросите его удалить пакет, который уже был проверен другим процессом, потому что пакеты, которые он собирается установить, зависят от него? Что, если вы попросите его установить пакет, который зависит от пакета, который прямо сейчас устанавливается другим процессом, но зависимый пакет в конечном итоге будет установлен первым, потому что он выиграл условие гонки и запускает сценарий установки, который зависит от пакета, который не закончили установку?

Просто проще и безопаснее использовать блокировку для ограничения одного процесса за раз.

2
27.01.2020, 20:14

Учитывая ваш пример,Разумно предположить, что какой-нибудь обычный -или -садовый симулятор полета, даже огромный, не будет вносить изменения в те же части файловой системы, что и udftools.

Я знаю, что если yumзанят какой-то более крупной транзакцией, тоrpmвсе равно можно использовать для установки, обновления или удаления пакетов , потому что yumсоздает блокировку, которую другие yumобрабатывают. должен уважать, но rpmне должен.

Точно так же dpkgможно использовать для установки пакетов .debбез согласования с apt, хотя они могут быть более тесно интегрированы, и в этом случае, если вы готовы пойти на риск, продолжайте и удалить /var/lib/dpkg/lock. Я имею в виду, какого черта? это всего лишь целостность всей базы данных пакетов ОС!

0
27.01.2020, 20:14

Теги

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