Как я могу отключить автоматическое обновление для единственного снимка в Ubuntu?

Рекомендуемый путь к установке в масштабе всей системы идеи Intellij состоит в том, чтобы использовать снимок. То, когда я делаю это, привязываюсь, обновляет установку IDE, которая является большой проблемой для меня, потому что обновление среды разработки вызывает проблемы для меня, и как разработчик я хотел бы строгий контроль над своей средой разработки.

Если я отключаю снимок, то я не могу даже запустить IDE. Google ищет возврат только бессмысленные долгие войны пламени или полная приостановка/отключение снимка.

Есть ли какой-либо способ простого сообщения снимка не обновить часть программного обеспечения при совершенствовании всего остального?. Я использую Ubuntu 18.04

5
задан 4 April 2019 в 05:27

3 ответа

Вы не можете. Единственная вещь, которую можно сделать, задержать обновление.

Из руководства:

Автоматическое обновление

Дизайном, non-devmode снимки, установленные от хранилища, автоматически обновляются на регулярном тактовом сигнале. По умолчанию snapd демон проверяет на обновления 4 раза каждый день.

Управление частотой обновления

Иногда пользователь хочет иметь обновление снимков в известные времена, а не значение по умолчанию. Это может быть достигнуто с поспешной системой набора refresh.timer команда. Пользователь может указать диапазон дней или времен, когда они предпочли бы, чтобы обновления произошли. Следующий пример устанавливает snapd демона для обновления снимков только между 4:00 и 7:00 и между 19:00 и 22:10.

snap set system refresh.timer=4:00-7:00,19:00-22:10

В теории Вы могли изменять частоту обновления когда-либо день, где Вы продолжаете движение момент обновления в будущее, но это не будет работать. Снимок будет обновлен в какой-то момент (и просто проигнорирует Вашу частоту обновления).

Посмотрите это обсуждение и темы от niemeyer.

В том же самом сообщении ссылки № 9 от mwinter (2017) предложил бы 2 вещи:

Меня (лично) мог сделать это. Но затем мне скорее не нравится делать любую [дополнительную] фильтрацию на маршрутизаторе, поскольку это могло вызвать проблемы в будущем …, Это также блокирует другой снимок и потенциал больше (не уверенный, чем все были бы в том же местоположении) Другой (по-моему, более простой), решение состоит в том, чтобы загрузить снимок и установить его локально - не от хранилища.

  1. блок с помощью правила брандмауэра. Это уничтожило бы все поспешные обновления. Ни один.
  2. удалите снимок, установленный из хранилища, и используйте локально установленное.
5
ответ дан 23 November 2019 в 09:20

Есть два варианта:

Вариант 1: --devmode

Хотя Все снэпы регулярно обновляются, снэпы, установленные с --devmode не будет обновляться, потому что это потенциально уничтожит изменения, над которыми вы якобы работаете в снапе.

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

snap install package
snap list package
snap refresh --devmode --channel 2019.3/stable package

Первая загружает его в вашу систему. Во второй перечислены доступные версии. Третий устанавливает конкретную версию, которую вы хотите, и включает --devmode, чтобы она не обновлялась автоматически.

Вариант 2: refresh.hold

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

sudo snap set system refresh.hold="2030-01-01T01:00:00-01:00"

а затем также:

sudo crontab -e

и добавить следующее:

# prevent snap updates entirely:
1 1 1 * * /usr/bin/snap set system refresh.hold="2030-01-01T01:00:00-01:00"  

Это предотвратит автоматические обновления моментальных снимков до начала 20:30 по Гринвичу.

Плюс этого метода в том, что вы можете использовать ограничение. Недостатком является то, что вам нужно обновлять все свои снимки вручную.

8
ответ дан 23 May 2020 в 22:10

Некромантия.
Нет опции для одного снимка, только для всех снимков.

A) Вы можете настроить snap так, чтобы он не обновлялся при измеренных соединениях

sudo snap set system refresh.metered=hold

B) Вы можете указать snap обновлять только в определенное время

sudo snap set system refresh.timer=sat,23:00~23:59,,sun,23:00~23:59
snap refresh --time

синтаксис см. в документации по синтаксису на snapcraft.io .

C) Вы можете установить фиктивный прокси для snapd:

snap set system proxy.http="http://127.0.0.1:1111"
snap set system proxy.https="http://127.0.0.1:1111"

D) Вы можете заблокировать snapcraft на брандмауэре

iptables -F
iptables -A OUTPUT -d api.snapcraft.io -j DROP
iptables-save

синтаксис iptables

E) Вы можете отключить snap-refresh, установив следующее обновление далеко в будущее

sudo snap set system refresh.hold="2999-01-01T01:00:00-01:00"

Чтобы обновить снап вручную

sudo snap refresh

Чтобы просто перечислить, какие снапы будут обновлены:

sudo snap refresh --list

Чтобы получить информацию о конкретном пакете, например Chromium:

sudo snap info chromium

И отменить блокировку:

sudo snap set system refresh.hold="$(date --date='today-30 days' +%Y-%m-%dT%H:%M:%S%:z)"

Просто приостановить обновления до завершения презентации (например, обновление только на 30 дней)

sudo snap set system refresh.hold="$(date --date='today+30 days' +%Y-%m-%dT%H:%M:%S%:z)"


Примечание.

Максимальное количество дней, в течение которых вы можете хранить обновления, — 60.
1
ответ дан 26 August 2020 в 10:21

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

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