Я пытался установить пакет, и он сделал, и это, кажется, работает просто великолепно. Однако, когда я установил его, я получил несколько предупреждений о пакетах, являющихся недостающим.
dpkg: warning files list file for package '...' missing, assuming package has no files currently installed.
Так как это - просто предупреждение, и это, кажется, работает так или иначе, я предположил, что это не имеет значения, но я хотел бы, чтобы кто-то подтвердил это.
Пакеты, которые отсутствуют, являются, которые я удалил нарочно, потому что они были несущественны и подняли много комнаты.
Править: Пакет является tzdata. Используя dpkg -i
на a .deb
файл для установки. И вышеупомянутое является по существу всем предупреждением. Только вместо... этого перечисляет пакеты. python2.7-minimal
, libsqlite3-0
, libaprutill-dbd-sqlite3
, минимальный Python'
Править: "Что точно Вы делали?" Я выполнил команду
dpkg -i tzdata_2017b-2_all.deb
устанавливать пакет tzdata.
"Чего Вы хотели достигнуть?" Я хотел, чтобы пакет установил.
"Что произошло вместо этого? Вы встречались с какими-либо предупреждающими сообщениями или сообщениями об ошибках?" Установленный пакет и хорошо работал. Однако вышеупомянутое предупреждение появилось для вышеупомянутых пакетов.
Я не могу скопировать и вставить, так как это происходит на отдельном сервере. Но я перепишу его здесь:
dpkg: warning files list file for package python2.7-minimal missing, assuming package has no files currently installed.
dpkg: warning files list file for package libsqlite3-0 missing, assuming package has no files currently installed.
dpkg: warning files list file for package libaprutill-dbd-sqlite3, assuming package has no files currently installed.
dpkg: warning files list file for package python-minimal, assuming package has no files currently installed.
Я не ищу фиксацию. Мне просто любопытно, если dpkg предоставление мне предупреждение в этом типе ситуации на самом деле имеет значение. Снова работы программы так или иначе и ничему иному в моей системе не были нужны те пакеты.
] Взгляните на этот вопрос об ошибке сервера .
Вы можете попробовать что-то вроде этого:
для пакета в $ (apt-get upgrade 2> & 1 | \ grep "предупреждение: файл списка файлов для пакета '" | \ grep -Po "[^ '\ n] +'" | grep -Po "[^ '] +"); делать apt-get install -переустановите "$ package"; сделанный
Копирование и вставка в одну строку:
для пакета в $ (apt-get upgrade 2> & 1 | grep "предупреждение: файл списка файлов для пакета '" | grep -Po "[^' \ n] + '"| grep -Po" [^'] + "); выполните apt-get install --reinstall "$ package"; сделанный
Имейте в виду, что выполнение этой команды занимает некоторое время, поскольку она циклически повторяется. через каждый пакет.
Я хотел предложить что-то похожее на принятый там ответ, прежде чем я нашел это. И у меня недостаточно репутации, чтобы добавить это в качестве комментария.
К сожалению, я не могу ответить, почему это происходит. У меня возникла эта проблема после dist-upgrade, и я решил ее переустановкой пакетов.
У нас был сбой RAID5, который, похоже, сопровождался некоторым повреждением базы данных списка dpkg
, поэтому недавно я столкнулся с этой проблемой, однако вышеописанное решение не сработало, так как apt-get install --reinstall xxx
приводил к большему количеству ошибок в файлах сомнительного списка. Но в моем случае мне все же удалось решить эту проблему, поэтому вот процесс, который я использовал.
В конце концов, процесс, который работал для меня, заключался в том, чтобы удалить все файлы, соответствующие этому пакету в базе данных, и переустановить после обновления самого dpkg
.
В качестве примера, вот одна такая ошибка (замените antlr
на ваше отсутствующее имя пакета):
dpkg: warning files list file for package antlr, assuming package has no files currently installed.
Каким для меня было решение:
sudo mv /var/lib/dpkg/info/antlr* ~/var # Backup in case of any other issues
# Alternatively: sudo rm /var/lib/dpkg/info/antlr*
Затем,
sudo dpkg --configure -a
Ключом, казалось, был запуск команды configure каждый раз, когда удалялся список пакетов (в отличие от некоторых других предложений, которые я видел, чтобы взломать все файлы списка, а затем запустить apt-get update/upgrade
).
Затем, наконец, sudo apt-get install --reinstall antlr
завершится корректно.
Если это не вызывает никаких реальных проблем, не беспокойтесь об этом. Если это так, попробуйте исправления, которые уже опубликовали люди.
У меня была такая же проблема на одном из моих экземпляров, и исправлением для меня была переустановка ошибочных пакетов с помощью apt:
sudo apt reinstall <package_name_1> <package_name_2>
После успешного переустановите, повторно запустите ту же команду, и ошибка исчезла