Как удалить репозиторий apt, который появляется после обновления sudo apt в терминале, но отсутствует в /etc/apt/sources.list.d?

В идеальной ситуации? Перепишите это как правило udev, чтобы оно срабатывало автоматически при подключении. Его нужно будет оценивать после других правил, так что любое переименование интерфейса уже произошло к тому времени, когда оно будет оценено (/etc/udev/rules.d/99-x-local.conf, вероятно, это место для его размещения ), но основное правило должно выглядеть примерно так:

SUBSYSTEM=="net", ENV{ID_BUS}=="usb", ENV{ID_USB_DRIVER}=="rndis_host", ACTION=="add", RUN{program}+="/bin/sh -c 'echo $env{INTERFACE} > /var/tmp/myfile'"

Первые четыре части точно соответствуют событию, генерируемому при подключении устройства, а точнее:

  • SUBSYSTEM=="net"соответствует сетевым устройствам
  • ENV{ID_BUS}=="usb"соответствует только тем сетевым устройствам, которые подключены через USB.
  • ENV{ID_USB_DRIVER}=="rndis_host"соответствует только USB-устройствам, которые используют драйвер хост-устройства RNDIS (, стандартный драйвер, используемый телефонами Android (, и я думаю, что Windows и Blackberry также )для USB-модема.
  • ACTION=="add"соответствует только событиям горячего подключения (, поэтому это запускается только при подключении устройства, хотя вы можете так же легко добавить второе подобное правило, соответствующее действию «удалить», чтобы что-то делать, когда телефон отключается ).

Последний элемент добавляет команду в очередь вещей, которую udev вызовет, когда обработка правила будет завершена. В этом случае добавляется вызов оболочки, который запишет имя интерфейса в нужное место (udev сам заменит $env{INTERFACE}фактическое имя интерфейса ).

Я не могу гарантировать, что это будет работать во всех случаях, но, по крайней мере, похоже, что это работает на моем Nexus 6P и теоретически должно работать на большинстве телефонов Android.

0
15.09.2019, 22:16
2 ответа

Согласно справочной странице вы можете использовать ту же команду с параметром -rдля удаления репозитория:

sudo add-apt-repository -r "deb http://archive.canonical.com/ $(lsb_release -sc) partner"

Я не совсем понял, в каком случае новый файл репозитория добавляется в каталог /etc/apt/sources.list.d, но если его там нет, то он должен быть добавлен в ваш /etc/apt/sources.listи его также можно удалить вручную из там.

2
28.01.2020, 02:29

На справочной странице (man add-apt-repository)сказано, что он управляет репозиториями не только в каталоге /etc/apt/sources.list.d/, но и в файле /etc/apt/sources.list.

Если вы не можете найти ссылку на нежелательный репозиторий в разделе /etc/apt/sources.list.d, проверьте также файл /etc/apt/sources.list.

Как упоминалось уже , документация также описывает флаг-r(--remove-)для удаления существующего репозитория.

2
28.01.2020, 02:29

Теги

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