Как предотвратить обновление определенного пакета?

Чтобы chroot каталог SFTP, вы должны

Создать пользователя и заставить root быть его владельцем
cd /home
mkdir john
useradd -d /home/john -M -N -g users john
sudo chown root:root /home/john
sudo chmod 755 /home/john
Измените расположение подсистемы на / etc / ssh / sshd_config:
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
и создайте пользовательский раздел в конце файла (ssh может умереть респаунгом, если он помещен после строки подсистемы):
Match User john
    ChrootDirectory /home/john
    ForceCommand internal-sftp
    AllowTCPForwarding no
    X11Forwarding no
1
задан 4 May 2014 в 18:20

11 ответов

Чтобы положить пакет «foo» в режим удержания:

echo "foo hold" | dpkg --set-selections

В вашем случае мы собираемся удержать винт:

sudo -i
echo "wine hold" | dpkg --set-selections

Чтобы удалить трюм:

sudo -i
echo "wine install" | dpkg --set-selections
43
ответ дан 25 May 2018 в 23:50
  • 1
    Также обратите внимание, что пока пакет находится в режиме ожидания, вы можете установить определенную версию через apt-get install wine=1.2.3. Находясь на удержании, он не позволяет apt-get (dist-)upgrade изменить его. – rcoup 6 January 2015 в 06:24

Я искал одно и то же, и после многих исследований я обнаружил, что используя следующий синтаксис, вы можете запретить одну конкретную версию, но разрешить следующее обновление:

Package: compiz-plugins-main Pin: version 1:0.9.7.0~bzr19-0ubuntu10.1 Pin-Priority: -1

Это входит в / etc / apt / preferences.

27
ответ дан 25 May 2018 в 23:50
  • 1
    Это намного лучший способ, чем предотвращение обновлений на неопределенный срок – Eero Aaltonen 30 September 2013 в 15:31
  • 2
    С помощью этого метода, я думаю, шансы больше, чтобы предотвратить «рекламное ПО» ubuntu, например, ubuntu one или значок Amazon от переустановки с последующим обновлением версии ... – Daniel Alder 11 January 2014 в 03:29

Установите synaptic с помощью sudo apt-get install synaptic.

Запустите с помощью gksudo synaptic и в окне поиска найдите пакет, который вы хотите заблокировать, то есть: gedit

[ ! d2]

Из меню пакета выберите «Блокировка»:

enter image description here

И это все, версия, установленная на момент блокировки будет оставаться установленным даже во время обновлений.

19
ответ дан 25 May 2018 в 23:50
  • 1
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 2
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 3
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 4
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 5
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 6
    Посмотрите на «Версия блокировки» не так умно, как кажется. Он должен делать то, что он говорит на олове, заблокировать версию ... Но он блокирует его только в Synaptic. Все, что делает обновления пакетов (читай: Update Manager, apt-get, aptitude и т. Д.), Игнорирует это. Это, вероятно, ошибочное поведение, поэтому я ожидаю, что это будет исправлено вовремя. & Quot; из askubuntu.com/questions/9607/what-does-lock-version-do . Каково текущее состояние? Если что-то заблокировано в Synaptic, другие менеджеры пакетов и «честь» замок? – user 22 December 2011 в 18:09
  • 7
    vasa1: Начиная с версии 0.75.13, все еще нет :( Такая же проблема с способностью. – syockit 17 November 2012 в 13:25

Предотвращение установки пакета называется «удержание пакета», и это очень просто сделать:

echo package_name hold | dpkg --set-selections

... где * имя_пакета * - это имя пакета, который вы хотите предотвратить от установки.

Примечание: вышеуказанная команда предполагает привилегии root. Другими словами, вам, вероятно, потребуется ввести sudo su перед запуском.

16
ответ дан 25 May 2018 в 23:50

Я синаптик, вы можете заморозить версию определенного пакета. Я не уверен на 100% относительно того, изменяет ли это apt-get, но это определенно остановит диспетчер обновлений.

Чтобы заморозить пакет выберите это в синаптической, затем откройте меню пакета и выберите версию замораживания.

Надеюсь, что это поможет

edit: Этот вопрос 16668 касается аналогичной ситуации

4
ответ дан 25 May 2018 в 23:50

Все, что вам когда-либо хотелось узнать о пакетах «держать» и «привязывать» к конкретным версиям: https://help.ubuntu.com/community/PinningHowto

3
ответ дан 25 May 2018 в 23:50

См. ошибки # 75332, # 158981 и # 72806.

Резюме состоит в том, что удержание на уровне apt-get / aptitude не вызывает статус удержания в dpkg (см., например, ошибку 72806) и update-manager читает статус из dpkg.

обходной путь запускается как root: echo "package hold" | dpkg --set-selections

3
ответ дан 25 May 2018 в 23:50

Поскольку некоторое время apt-get заменяется на apt, поэтому я хочу, чтобы Firefox не обновлялся до версии выше 56, потому что много надстроек, таких как «Группы вкладок», больше не работают с новым Firefox 57 (см. «Обновление WebExtensions»).

Можно хранить несколько пакетов с одной командой и использовать подстановочные знаки.

Предотвратить обновление Firefox [!d3 ]
sudo apt-mark hold firefox firefox-locale-*

Если вы захотите позже их удалить, это будет команда:

sudo apt-mark unhold firefox firefox-locale-*

3
ответ дан 25 May 2018 в 23:50

Если вы установили Synaptic, вы можете выбрать пакет и использовать меню Package -> Lock Version, чтобы предотвратить его обновление.

Вы можете установить Synaptic с sudo apt-get install synaptic. Я лично считаю его более полезным, чем Software Center ... опять же, я довольно старая школа. :

)
1
ответ дан 25 May 2018 в 23:50

Вы можете использовать на aptitude «конкретное переопределение», например:

aptitude reinstall ~i oracle-java8-jre:

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

Если вы используете специфическое переопределение, то на мгновение пакет будет находиться в состоянии сохранения способности не будет пытаться установить его.

Очень хорошая вещь, если вы считаете, что ваша система была скомпрометирована.

1
ответ дан 25 May 2018 в 23:50

Иногда может потребоваться сместить все установленные в данный момент пакеты. Вот как:

Сначала сохраните текущее состояние, поэтому вы можете отменить:

dpkg --get-selections > current_selections.txt

Затем, чтобы сдержать все пакеты:

dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections

Наконец, когда вы хотите вернуться к предыдущему состоянию:

dpkg --set-selections < current_selections.txt

Одним из вариантов использования может быть создание моментального снимка VM или Amazon AMI для перехода от QA к рабочей среде. [!d5 ]

0
ответ дан 25 May 2018 в 23:50

Другие вопросы по тегам:

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