В идеальной ситуации? Перепишите это как правило 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.
Согласно справочной странице вы можете использовать ту же команду с параметром -r
для удаления репозитория:
sudo add-apt-repository -r "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
Я не совсем понял, в каком случае новый файл репозитория добавляется в каталог /etc/apt/sources.list.d
, но если его там нет, то он должен быть добавлен в ваш /etc/apt/sources.list
и его также можно удалить вручную из там.
На справочной странице (man add-apt-repository
)сказано, что он управляет репозиториями не только в каталоге /etc/apt/sources.list.d/
, но и в файле /etc/apt/sources.list
.
Если вы не можете найти ссылку на нежелательный репозиторий в разделе /etc/apt/sources.list.d
, проверьте также файл /etc/apt/sources.list
.
Как упоминалось уже , документация также описывает флаг-r
(--remove-
)для удаления существующего репозитория.