Я работаю над Phidgets SBC2. У него есть emdebian grip, но grip имеетконченои поэтому я получаю 404 на этих репозиториях, когда apt-get пытается получить списки пакетов. Я могу заставить вещи устанавливаться с помощью apt-get, если я закомментирую строку grip в файле /etc/apt/sources.list.d/multistrap-debian.list. Однако этот файл продолжает пересоздаваться, о чем предупреждает комментарий в самом файле. Вот содержимое:
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
deb http://www.emdebian.org/grip squeeze main dev java doc
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
Что вызывает перезапись и как ее остановить?
(Правка: Я предполагаю, что multistrap выполняет перезапись, но я не могу найти файл conf, который этим управляет. У меня нет каталога /usr/share/multistrap. Я думаю, что он пересоздает файл каждый раз, когда я выполняю обновление apt-get, может быть?)
решение1
Если вы не можете понять это из конфигурации вашей системы или из онлайн-поиска, используйте loggedfs или auditd для мониторинга доступа к файлу. СмотритеКак определить, какой процесс создает файл?
Например, сподсистема аудита:
auditctl -a exit,always -w /etc/apt/sources.list.d/multistrap-debian.list
и посмотрите журналы в /var/log/audit/audit.log
. Это скажет вам имя процесса, который изменяет файл. Вы можете захотеть увидеть, что его вызывает; вы можете сделать это, установив наблюдение за исполняемым файлом, например
auditctl -a exit,always -w /usr/lib/somewhere/strange/apt-source-list-editor
и вы получите запись для execve
системного вызова, который выполняет программу.