Мій хмарний сервер Ubuntu залишив лише 900 Мб дискового простору.
Я просто спорожню каталог / tmp і цікавлюсь, чи є якесь інше місце для очищення.
sudo docker container prune -f && sudo docker image prune -f
Мій хмарний сервер Ubuntu залишив лише 900 Мб дискового простору.
Я просто спорожню каталог / tmp і цікавлюсь, чи є якесь інше місце для очищення.
sudo docker container prune -f && sudo docker image prune -f
Відповіді:
sudo apt-get autoremove
Це може очистити багато guff (старі ядра тощо), які були замінені. Ви можете зробити аналогічну річ у Synaptic (завантажте її та виберіть кнопку статусу, а потім опцію Auto-removable).
aptitude
замість цього apt-get
, він може очищатись, коли ви йдете, але для старих установок досить часто збирати плот встановлених ядер, коли з’являються оновлення безпеки.
dpkg --get-selections | grep linux-image
).
Щоб видалити завантажені пакети (.deb), які вже встановлені (і більше не потрібні)
sudo apt-get clean
Щоб видалити всі збережені архіви з кешу для пакетів, які вже не можна завантажити (таким чином, пакунки, які вже не знаходяться в сховищі або мають новішу версію в сховищі).
sudo apt-get autoclean
Щоб видалити непотрібні пакунки (Після видалення програми можуть з’явитися пакунки, які вам більше не потрібні)
sudo apt-get autoremove
Щоб видалити старі версії ядра
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Якщо ви не знаєте, яку версію ядра видалити
dpkg --get-selections | grep linux-image
Джерело: Limpiando Ubuntu: comandos y programas (actualización) ( перекладено Google )
clean
звільнив зовсім небагато місця. Відразу після цього я побіг autoclean
і вільний простір зменшився на 45 Мб. Біг clean
знову випустив цей додатковий простір.
dpkg --get-selections | grep linux-image
яке у мене виникли помилки завантаження - ubuntu зник із меню завантаження grub - ця відповідь усунула проблему - спробуйте не видалити останнє зображення
sudo apt-get clean
це -просто- видалить з усіх пакетів копію пакетів, які у вас можуть бути завантажується під час встановлення + оновлення. Це майже спорожнить каталог / var / cache / apt / archives. ... Так що наступного разу , коли ви запустите sudo apt-get update
його буде повторно завантажити все (вже є). Просто голова! .. :)
покажіть топ 10 найбільших підрозділів у поточному режимі.
du -sk * | sort -nr | head -10
скористайтеся файловим світлом або kDirStat, щоб побачити, куди візуально збирається місце на диску
перевірте, чи є у вас старі ядра для видалення
ls -lh /boot
пакети для чищення
sudo apt-get autoremove
sudo apt-get autoclean
переглянути список усіх встановлених пакетів, відсортованих за розміром. Якщо ви бачите щось велике і не використовуєте його - видаліть його
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
очистити невикористані файли мови з перекладами (їх є багато)
sudo apt-get install localepurge
перевірити вміст / var / tmp /
du -sh /var/tmp/
перевірити також
man deborphan
Пошук великих файлів:
find / -type f -size +1024k
або
find / -size +50000 -exec ls -lahg {} \;
великі встановлені пакети
dpigs
це частина пакету: debian-goodies
ncdu
, що забезпечує швидкий спосіб дізнатися, які каталоги використовують ваш дисковий простір
kDirStat
замінено наbaobab
Я просто випустив майже 2 концерти, видаливши старі файли ядер і заголовки:
використання
uname -r
щоб перевірити поточну версію
dpkg -l linux-image-* linux-headers-*
щоб побачити всі старі файли ядер та заголовків,
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
apt-get remove
команда підтримує символи узагальнення, так що ви можете зробити apt-get remove linux-image 3.0.* linux-headers-3.0.*
, наприклад, позбутися від багатьох відразу.
Переконайтеся, що ви, звичайно, не знищите видалення поточного ядра! І, можливо, збережіть одну-дві старі версії, про всяк випадок ... але не 10 чи 20!
Я дуже рекомендую вам програму BleachBit, яка очищає все на Ubuntu.
Встановіть його за допомогою наступної команди:
sudo apt-get install bleachbit
Деякі пакети можуть бути досить великими. Зручний спосіб їх пошуку - це використання dpigs
. Він не встановлений за замовчуванням, але його можна знайти debian-goodies
( проект GitHub )
sudo apt-get install debian-goodies
Тоді:
$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev
Є кілька варіантів:
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
Увага: Якщо ви тільки що оновили ядро, перезавантажтесь перед тим, як видалити старіші версії!
Не забудьте перевірити, яке ядро ви використовуєте:
uname -r
Потім як корінь:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
прочитайте цей потік, щоб бути безпечним, щоб не видаляти потрібні ядра за допомогою цієї команди!
Якщо ви використовуєте UFW, перевірте папку журналів. На одній із моїх машин UFW генерував 8Gb журналів за пару днів.
Ви також можете спорожнити підходящий кеш за допомогою:
sudo apt-get clean
Спробуйте скористатися BleachBit ( розташований у sourceforge ). Це чудова програма. основна ідея полягає в тому, що він швидко звільняє місце на диску і видаляє багато сміття, прихованого в системі. Існує близько 70 програм, які можна розпізнати та витерти. Також є можливість використовувати його для «витирання» вільного місця на диску. Я думаю про це як CCleaner з Windows тільки для Linux.
Перевірте також велику кількість файлів журналів:
sudo du -h /var/log
Або як rubo77 зазначає у коментарях, ви можете використовувати інструмент використання диска NCurses:
sudo ncdu /var/log
sudo ncdu /var/log
По-перше, є інструмент для переліку всіх великих папок і файлів. Просто введіть "Baobab" у пускову установку. Видаляючи папки та файли, які вам не потрібні, ви отримуєте більше місця.
Потім є програма для видалення подвійних файлів. Програма називається fslint
. Встановіть його, ввівши
sudo apt-get install fslint
у Терміналі.
або графічно
Ви також можете очистити кеш пакетів за допомогою
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
Четвертий крок - видалення старих записів ядра. Це можна зробити, встановивши та відкривши Synaptic. У Synaptic знайдіть старі записи в ядрі (кожен запис у ядрі, який відображається в GRUB, за винятком новітнього) та видаліть його.
Хорошим кроком є видалення кешу програми. Зробіть це, встановивши та запустивши bleachbit
:
sudo apt-get install bleachbit
або графічно
Важливо: Видалений кеш не можна відновити!
Останній крок - дефрагментація файлової системи. Зробіть для цього наступне:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
За допомогою цих команд ви завантажуєте та компілюєте e2fsprogs. (Якщо у вас чи спільноти є кращий спосіб встановити програму, відредагуйте!)
Також переконайтеся, що git-core
встановлено. Якщо ні, виконайте:
sudo apt-get install git-core
або за допомогою програмного центру
Тепер ви можете запустити програму за допомогою:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
Замініть / dev / sda1 на потрібну файлову систему або папку / файл. Зауважте, що для дефрагментації пристрою (наприклад, жорсткого диска) вам потрібні кореневі привілеї, але не для власних файлів.
Джерело (німецька): тут
sudo apt-get install ncdu
Цей сценарій виконає найбільші фрагменти на консолі:
--purge
комутатор apt-get
)створіть файл із цим вмістом і надайте йому права на виконання:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
Адаптовано з 71529-ubucleaner.sh
Деякі інструменти, які допоможуть вам знайти великі папки та пакети:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
Використовуйте localepurge для видалення невикористаних мов у вашій системі:
sudo apt-get install localepurge
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
Чудовий графічний інструмент для графічного інтерфейсу, який відповідає всім потребам:
sudo apt-get install bleachbit
Крім того, ви можете видалити керівництво та документацію, як описано в Ubuntu Wiki :
Створіть файл /etc/dpkg/dpkg.cfg.d/01_nodoc, який визначає потрібні фільтри. Приклад:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
Видаліть один і той же набір файлів і каталогів у постінструванні проекту-config. Приклад:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
uname -a
. Якщо ви тільки що раніше зробили apgra-get ugrade раніше і отримали нове ядро, це може бути причиною того, що поточний курнел, який ви використовуєте, не є найновішим, що встановлений? Зробіть перезавантаження, перш ніж розпочати цей сценарій
Каталог '/ tmp' ніколи не слід очищати вручну, якщо це абсолютно не потрібно (тобто закрита програма не очистилася після себе).
Ви можете шукати, де простір може заповнюватися, використовуючи команду 'du'; зазвичай цікаві місця знаходяться всередині '/ var'. Назвати двох звичайних підозрюваних '/ var / log' та '/ var / cache'. Хоча у мене були деякі користувачі, які встановлюють утиліту для резервного копіювання і ніколи не розуміють, що вона створює ГБ інкрементальних резервних копій у '/ var / backup', які збираються протягом тижня чи місяця, щоб заповнити весь простір на диску.
Для очищення використовуйте ubuntu-tweak .
він очищає всі * .deb, які завантажуються в інсталяційні програми.
Якщо ви вже видалили багато сміття, але дисковий простір, здається, не очищено, просто перезавантажте ubuntu. Або якщо ви не хочете перезавантажувати, просто запустіть команду, як у подібному питанні .
sudo service rsyslog restart
Коли мені потрібно зробити більше вільного місця на серверах, я використовую цю команду. Він знайде всі файли більше 50 Мб, а "du -h" покращить список файлів, а "сортувати -n" після труби скласти список числовим чином, відсортований за розміром файлу.
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
замість цього
du -h
, використовуйте sort -h
також.