3

Я хотел бы удалить ненужные пакеты. Я уже удалил большие файлы (используя k4dirstat), и единственный оставленный бит - это несколько сотен установленных пакетов, но я не использую большинство из них (установка без /home занимает 15 ГБ).

Можно удалить пакет с зависимостями по отдельности, используя «apt-get purge», и увидеть пространство, которое будет освобождено. Однако этот способ увидеть пространство, занимаемое пакетом, является медленным и ручным, что является проблемой.

Как отобразить пакеты с дисковым пространством, очищающим их, освободится в Debian?

4 ответа4

3

Вы также можете следовать той же базовой идее, что и @GeminiDomino, но только для указанных вами пакетов:

sudo apt-get --assume-no --purge remove PACKAGE | grep "will be freed" | 
  awk '{print $4, $5}' 

Вы можете превратить это в функцию, добавив эти строки в ваш ~/.bashrc:

space_freed(){
    sudo apt-get --assume-no --purge remove "$@" | grep "freed.$" | 
      awk '{print $4, $5}' 
}

И тогда вы можете дать несколько имен пакетов из командной строки:

$ space_freed thunderbird firefox chromium
239 MB

Я предполагал, что вы будете знать имена пакетов, так как в противном случае это займет довольно много времени. Тем не менее, вы можете использовать мой подход, чтобы перечислить размеры всех пакетов. Эта команда напечатает имена всех установленных пакетов:

$ dpkg -l | awk '($1=="ii"){print $2}'

Если вы запустите space_freed в каждой строке, выводимой этой командой, вы получите список всех установленных пакетов и освободившегося пространства, удалив их:

for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do  
 echo -e "$i\t"$(space_freed $i); 
done

Самый простой способ - использовать wajig для вывода списка самых крупных установленных пакетов:

wajig large
3

Это был определенно интересный вопрос. Кажется, что единственное, что я когда-либо видел, дает мне вывод "XX будет освобожден" - это «apt-get remove». Еще более странно, это не дает вам эту строку с -s ("сухой ход") параметр командной строки.

ПРЕДУПРЕЖДЕНИЕ [0]: Это означает, что использование apt-get для определения выходных данных должно выполняться от имени пользователя root. Так что, ради любви к Бобу, УБЕДИТЕСЬ, ЧТОБЫ сначала протестировать его на ВМ!

ВНИМАНИЕ [1]: Убедитесь, что вы знаете, что делаете, прежде чем начинать удалять пакеты. Это будет проходить через КАЖДЫЙ пакет в системе и смотреть, сколько места будет восстановлено (как сообщает apt-get), если оно будет удалено. Это не значит, что они безопасны для удаления. Я снимаю с себя всякую ответственность!

Также стоит упомянуть: это, вероятно, будет очень, очень медленно. Надеюсь, это то, что вы хотите запустить ситуативно, по мере необходимости, а не многократно.

Тем не менее, я предлагаю вам мой последний клуге 2013 года. Надеюсь, это поможет.

#!/bin/bash 
for I in `dpkg --get-selections | grep install | grep -v adduser | grep -v apt | awk '{print $1}'`; 
do
    echo -n "$I : "
    apt-get --assume-no --purge remove $I | grep "will be freed" | awk '{print $4, $5}' >> ~/package_script.out
done

Я написал и протестировал его под Ubuntu, поэтому он должен хорошо работать для Debian и соавт.

Обновление: я добавил фильтр для удаления пакетов adduser и apt из рассмотрения. Первое слишком "ядро", чтобы его можно было удалить, и оно уходит навсегда, последнее, по-видимому, навсегда. A Возможно, есть еще такие пакеты ...

2

Отображение размеров упаковки

Синаптика :

Перейдите в «Настройки> Настройки» и выберите "Столбцы и шрифты", затем отметьте "Установленный размер".

dpkg-запрос :

dpkg-query --showformat='${Package}\n${Description}' -W {package-names/patterns}


Отображение крупнейших установленных пакетов (источник)

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

wajig large

dpigs

sed -ne '/^Package: \(.*\)/{s//\1/;h;};/^Installed-Size: \(.*\)/{s//\1/;G;s/\n/ /;p;}' /var/lib/dpkg/status | sort -rn

awk '{if ($1 ~ /Package/) p = $2; if ($1 ~ /Installed/) printf("%9d %s\n", $2, p)}' /var/lib/dpkg/status | sort -n | tail
0

Попробуйте aptitude ... это менеджер пакетов на основе cli с простыми в использовании связками клавиш. Вы можете увидеть, сколько места будет освобождено, очистив набор пакетов в верхнем правом углу интерфейса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .