ошибка записи: На устройстве не осталось места. Удаление «лишних» пакетов. Попытка восстановления

ошибка записи: На устройстве не осталось места. Удаление «лишних» пакетов. Попытка восстановления

Проблема:

Когда я печатаю:

dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1

Я получаю список всех установленных пакетов на моем компьютере, например:

...
raspberrypi-artwork                     extra
raspberrypi-bootloader                  extra
raspberrypi-ui-mods                     extra
raspi-config                            extra
rpi-update                              extra
sonic-pi                                extra
ssh                                     extra
triggerhappy                            extra
wireless-tools                          extra
xkb-data                                extra
adduser                                 important
apt                                     important
apt-utils                               important
aptitude                                important
aptitude-common                         important
bsdmainutils                            important
...

Недавно я запустил скрипт, который установил много вещей, и теперь моя машина отвечает: /usr/bin/mandb: can't write to /var/cache/man/2694: No space left on device(пути меняются, но мне всегда говорят, что места не осталось.)

Возможные метки, которые я вижу:

  • стандартный
  • дополнительный
  • важный
  • необязательный
  • необходимый

У меня есть незафиксированные изменения в различных репозиториях, и я хочу иметь возможность опубликовать свои локальные изменения, но при попытке опубликовать я постоянно получаю эту ошибку:

$ git push
fatal: write error: No space left on device
error: Couldn't write .git/refs/remotes/origin/master.lock
error: Cannot update the ref 'refs/remotes/origin/master'.
Everything up-to-date

Я также должен сказать, что я знаю, что не все данные актуальны.

Система:

Это на Raspberry Pi с запущенным «хриплым» Raspbian.

Вопрос:

У меня установлено несколько сотен пакетов. Как удалить все пакеты с меткой «extra»? Это лучший способ освободить место на моей машине? У меня есть незафиксированные изменения в различных репозиториях, и я хочу иметь возможность отправлять свои локальные изменения.

Я бы также принял ответ, который удаляет все, кроме необходимого и важного. Git помечен как необязательный, и я бы предпочел сохранить его (хотя я всегда могу установить его снова, удалив все ненужные пакеты).

Заранее спасибо!!

решение1

Для удаления всех дополнительных и необязательных пакетов можно использовать следующую команду: sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | awk '$2 ~ /optional|extra/ { print $1 }')

Флаг --simulateпозволяет вам увидеть, что будет удалено, не удаляя все на самом деле. Снимите флаг, чтобы действительно удалить пакеты.

Вам придется переустановить git, так как он будет удален вместе с другими необязательными и дополнительными пакетами.

Вам могут понадобиться некоторые дополнительные и дополнительные пакеты, поэтому удаляйте их осторожно. Подробнее здесь:https://askubuntu.com/questions/79665/keep-only-essential-packages

решение2

Вам придется проверитьгдеу вас закончилось место. df(1)Команда сообщает, какие файловые системы заполнены.

Распространенной причиной нехватки места являются большие файлы журналов (проверьте в разделе /var/log, в вашей системе должны быть команды для очистки устаревших журналов). Обратите внимание, что sort(1)использует временные файлы, либо в var/tmp, /tmpесли любой из них содержит слишком много хлама, он может выйти из строя из-за нехватки места.

решение3

Поскольку у вас установлен aptitude, он может вам помочь здесь. Запустите aptitudeи ограничьте (ярлык: l) вид пакетами, соответствующими

~i ~pextra

Видетьонлайн-руководствоили /usr/share/doc/aptitude/READMEдля ссылки на поисковый запрос.

Теперь вы можете выбрать удаление всех пакетов: нажмите -под каждым заголовком верхнего уровня, чтобы отметить пакеты для удаления (сохраняет файлы конфигурации) или _отметить их для очистки (удаляет файлы конфигурации), затем gпродолжить. У вас есть возможность просмотреть список, если вы хотите сохранить некоторые пакеты.

Связанный контент