Я обычно настраивал туннель IPv6 (от sixxs.net или he.net), если у них еще нет IPv6, а затем таким образом компьютер имеет статический адрес, и мне не нужно возиться с NAT. Я также хотел бы настроить проверку подлинности на основе ключей (тогда они не должны сообщать вам свой пароль).
У Sixxs есть собственный клиент, который вы используете. Он работает практически для любого NAT и автоматически обновляется при изменении IPv4-адреса. У них есть инструкции по настройке и он упакован для Ubuntu.
Hurricane Electric использует туннель, в который пакеты IPv6 отправляются как полезная нагрузка пакета IPv4. В отличие от Sixxs, TCP / UDP не используется. Это означает, что NAT, за которым вы находитесь, должен поддерживать пересылку PROTOCOL 41 (не порт), и только один компьютер за NAT может его использовать. Программное обеспечение для использования такого туннеля встроено в Ubuntu.
Для HE я использую что-то подобное в /etc/network/interfaces:
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
endpoint 216.218.226.238
address 2001:470:a29f::2
netmask 64
ttl 64
up ip -6 route add default dev he-ipv6
down ip -6 route del default dev he-ipv6
Другое дело, что вам нужно сделать обновляет конечную точку вашего туннеля. Поскольку вы не знаете, когда меняется внешний IP-адрес, вам нужно просто попытаться обновить конечную точку каждые несколько минут. Вы можете использовать что-то вроде этого и запускать его из cron:
#!/bin/sh
echo -n "Hurricane Electric Proto-41 tunnel endpoint update: "
#(C) 2010 Erik B. Andersen This script is licensed under the latest version of the
# AGPL published by the Free Software Foundation at http://www.gnu.org/licenses/ .
####Set these for each different site#########
pass="passwordhere"
user_id="a765b8e2f474667dcb56e08c5f1aa05b"
tunnel_id="97817"
####Past here doesn't need to be changed######
wget -4 "https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=$(echo -n "${pass}" | md5sum | grep -o -E "[0-9a-fA-F]{32}")&user_id=${user_id}&tunnel_id=${tunnel_id}" -O /dev/null -o /dev/null --no-check-certificate
echo " Done"
Как всегда в Linux, есть более чем один способ выполнить работу. Однако, если вам нужно сделать это из CLI, это мой предпочтительный метод:
Я запускаю его как root или sudo:
du -cha --max-depth=1 / | grep -E "M|G"
Grep должен ограничивать возвращающие строки к тем, которые возвращаются со значениями в диапазоне мегабайт или гигабайт. Если ваши диски достаточно большие, вы можете добавить |T, чтобы включить количество терабайт. Вы можете получить некоторые ошибки на /proc, /sys и / или /dev, так как они не являются реальными файлами на диске. Тем не менее, он должен по-прежнему предоставлять действительный вывод для остальных каталогов в корне. После того, как вы найдете самые большие, вы можете запустить команду внутри этого каталога, чтобы сузить свой путь до преступника. Например, если /var был самым большим, вы могли бы сделать это следующим образом:
du -cha --max-depth=1 /var | grep -E "M|G"
Это должно привести к проблемам детей!
Дополнительные соображения [!d4 ]
Хотя приведенная выше команда, безусловно, сделает трюк, у меня была некоторая конструктивная критика в комментариях ниже, в которой были указаны некоторые вещи, которые вы также могли бы включить.
Предоставленный мной grep может привести к случайное значение «K» возвращается, если имя каталога или файла имеет значение G или M. Если вы абсолютно не хотите, чтобы какой-либо из отображаемых каталогов K отображался, вы хотите, чтобы ваша регулярная игра была более креативной и сложный. например grep -E "^[0-9\.]*[MG]" Если вы знаете, какой диск является проблемой, и на нем есть другие смонтированные диски, которые вы не хотите тратить время, в том числе на поиск, вы можете добавить флаг -x в свою команду du. Описание страницы этого флага: -x, --one-file-system
skip directories on different file systems
Вы можете отсортировать вывод команды du, чтобы верхнее значение было внизу. Просто добавьте это в конец команды: | sort -h Как всегда в Linux, есть более чем один способ выполнить работу. Однако, если вам нужно сделать это из CLI, это мой предпочтительный метод:
Я запускаю его как root или sudo:
du -cha --max-depth=1 / | grep -E "M|G"
Grep должен ограничивать возвращающие строки к тем, которые возвращаются со значениями в диапазоне мегабайт или гигабайт. Если ваши диски достаточно большие, вы можете добавить |T, чтобы включить количество терабайт. Вы можете получить некоторые ошибки на /proc, /sys и / или /dev, так как они не являются реальными файлами на диске. Тем не менее, он должен по-прежнему предоставлять действительный вывод для остальных каталогов в корне. После того, как вы найдете самые большие, вы можете запустить команду внутри этого каталога, чтобы сузить свой путь до преступника. Например, если /var был самым большим, вы могли бы сделать это следующим образом:
du -cha --max-depth=1 /var | grep -E "M|G"
Это должно привести к проблемам детей!
Дополнительные соображения
Хотя приведенная выше команда, безусловно, сделает трюк, у меня была некоторая конструктивная критика в комментариях ниже, в которой были указаны некоторые вещи, которые вы также могли бы включить.
Предоставленный мной grep может привести к случайное значение «K» возвращается, если имя каталога или файла имеет значение G или M. Если вы абсолютно не хотите, чтобы какой-либо из отображаемых каталогов K отображался, вы хотите, чтобы ваша регулярная игра была более креативной и сложный. например grep -E "^[0-9\.]*[MG]" Если вы знаете, какой диск является проблемой, и на нем есть другие смонтированные диски, которые вы не хотите тратить время, в том числе на поиск, вы можете добавить флаг -x в свою команду du. Описание страницы этого флага: -x, --one-file-system
skip directories on different file systems
Вы можете отсортировать вывод команды du, чтобы верхнее значение было внизу. Просто добавьте это в конец команды: | sort -h Как всегда в Linux, есть более чем один способ выполнить работу. Однако, если вам нужно сделать это из CLI, это мой предпочтительный метод:
Я запускаю его как root или sudo:
du -cha --max-depth=1 / | grep -E "M|G"
Grep должен ограничивать возвращающие строки к тем, которые возвращаются со значениями в диапазоне мегабайт или гигабайт. Если ваши диски достаточно большие, вы можете добавить |T, чтобы включить количество терабайт. Вы можете получить некоторые ошибки на /proc, /sys и / или /dev, так как они не являются реальными файлами на диске. Тем не менее, он должен по-прежнему предоставлять действительный вывод для остальных каталогов в корне. После того, как вы найдете самые большие, вы можете запустить команду внутри этого каталога, чтобы сузить свой путь до преступника. Например, если /var был самым большим, вы могли бы сделать это следующим образом:
du -cha --max-depth=1 /var | grep -E "M|G"
Это должно привести к проблемам детей!
Дополнительные соображения
Хотя приведенная выше команда, безусловно, сделает трюк, у меня была некоторая конструктивная критика в комментариях ниже, в которой были указаны некоторые вещи, которые вы также могли бы включить.
Предоставленный мной grep может привести к случайное значение «K» возвращается, если имя каталога или файла имеет значение G или M. Если вы абсолютно не хотите, чтобы какой-либо из отображаемых каталогов K отображался, вы хотите, чтобы ваша регулярная игра была более креативной и сложный. например grep -E "^[0-9\.]*[MG]" Если вы знаете, какой диск является проблемой, и на нем есть другие смонтированные диски, которые вы не хотите тратить время, в том числе на поиск, вы можете добавить флаг -x в свою команду du. Описание страницы этого флага: -x, --one-file-system
skip directories on different file systems
Вы можете отсортировать вывод команды du, чтобы верхнее значение было внизу. Просто добавьте это в конец команды: | sort -h Как всегда в Linux, есть более чем один способ выполнить работу. Однако, если вам нужно сделать это из CLI, это мой предпочтительный метод:
Я запускаю его как root или sudo:
du -cha --max-depth=1 / | grep -E "M|G"
Grep должен ограничивать возвращающие строки к тем, которые возвращаются со значениями в диапазоне мегабайт или гигабайт. Если ваши диски достаточно большие, вы можете добавить |T, чтобы включить количество терабайт. Вы можете получить некоторые ошибки на /proc, /sys и / или /dev, так как они не являются реальными файлами на диске. Тем не менее, он должен по-прежнему предоставлять действительный вывод для остальных каталогов в корне. После того, как вы найдете самые большие, вы можете запустить команду внутри этого каталога, чтобы сузить свой путь до преступника. Например, если /var был самым большим, вы могли бы сделать это следующим образом:
du -cha --max-depth=1 /var | grep -E "M|G"
Это должно привести к проблемам детей!
Дополнительные соображения
Хотя приведенная выше команда, безусловно, сделает трюк, у меня была некоторая конструктивная критика в комментариях ниже, в которой были указаны некоторые вещи, которые вы также могли бы включить.
Предоставленный мной grep может привести к случайное значение «K» возвращается, если имя каталога или файла имеет значение G или M. Если вы абсолютно не хотите, чтобы какой-либо из отображаемых каталогов K отображался, вы хотите, чтобы ваша регулярная игра была более креативной и сложный. например grep -E "^[0-9\.]*[MG]" Если вы знаете, какой диск является проблемой, и на нем есть другие смонтированные диски, которые вы не хотите тратить время, в том числе на поиск, вы можете добавить флаг -x в свою команду du. Описание страницы этого флага: -x, --one-file-system
skip directories on different file systems
Вы можете отсортировать вывод команды du, чтобы верхнее значение было внизу. Просто добавьте это в конец команды: | sort -h Как всегда в Linux, есть более чем один способ выполнить работу. Однако, если вам нужно сделать это из CLI, это мой предпочтительный метод:
Я запускаю его как root или sudo:
du -cha --max-depth=1 / | grep -E "M|G"
Grep должен ограничивать возвращающие строки к тем, которые возвращаются со значениями в диапазоне мегабайт или гигабайт. Если ваши диски достаточно большие, вы можете добавить |T, чтобы включить количество терабайт. Вы можете получить некоторые ошибки на /proc, /sys и / или /dev, так как они не являются реальными файлами на диске. Тем не менее, он должен по-прежнему предоставлять действительный вывод для остальных каталогов в корне. После того, как вы найдете самые большие, вы можете запустить команду внутри этого каталога, чтобы сузить свой путь до преступника. Например, если /var был самым большим, вы могли бы сделать это следующим образом:
du -cha --max-depth=1 /var | grep -E "M|G"
Это должно привести к проблемам детей!
Дополнительные соображения
Хотя приведенная выше команда, безусловно, сделает трюк, у меня была некоторая конструктивная критика в комментариях ниже, в которой были указаны некоторые вещи, которые вы также могли бы включить.
Предоставленный мной grep может привести к случайное значение «K» возвращается, если имя каталога или файла имеет значение G или M. Если вы абсолютно не хотите, чтобы какой-либо из отображаемых каталогов K отображался, вы хотите, чтобы ваша регулярная игра была более креативной и сложный. например grep -E "^[0-9\.]*[MG]" Если вы знаете, какой диск является проблемой, и на нем есть другие смонтированные диски, которые вы не хотите тратить время, в том числе на поиск, вы можете добавить флаг -x в свою команду du. Описание страницы этого флага: -x, --one-file-system
skip directories on different file systems
Вы можете отсортировать вывод команды du, чтобы верхнее значение было внизу. Просто добавьте это в конец команды: | sort -h Вы можете использовать ncdu для этого. Он работает очень хорошо.
sudo apt install ncdu
Я использую эту команду
sudo du -aBM -d 1 . | sort -nr | head -20
Иногда мне нужно запустить ее из каталога /, поскольку я поместил что-то в нечетное место. [ ! d2]
Уже есть много хороших ответов о том, как найти каталоги, занимающие большую часть пространства. Если у вас есть основания полагать, что основная проблема состоит из нескольких больших файлов, а не для многих небольших, вы можете использовать что-то вроде find / -size +10M.
Я не знаю Ubuntu и не могу проверить свой ответ, но после этого напишу здесь свой ответ, основанный на моем опыте как администратор unix давно.
Узнайте, какая файловая система заканчивается в пространствеdf -h
будут перечислены все файловые системы, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации. Узнайте, сколько мест используется файлами этой файловой системы du -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что учитываются только файлы, входящие в эту файловую систему. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. Теперь проверьте, является ли дю видимых файлов примерно размером используемого пространства, отображаемого df. Если это так, вы можете начать поиск больших файлов / каталогов файловой системы / myfilesystem для очистки. для поиска самых больших подкаталогов каталога /.../dir используйте du -sk /.../dir/*|sort -n
параметр -k заставляет выводить sie в килобайте без какой-либо единицы. Это может быть значение по умолчанию для некоторых систем. Тогда вы можете опустить эту опцию. Самые большие файлы / подкаталоги будут показаны внизу вывода. Если вы нашли большой файл / каталог, который вам больше не нужен, вы можете удалить его соответствующим образом. Не беспокойтесь о небольших каталогах в верхней части вывода. Он не решит вашу проблему, если вы их удалите. Если у вас все еще недостаточно места, вы можете повторить шаг 4 в больших подкаталогах, которые отображаются в нижней части списка. Но что произошло, если выход du не является приблизительно доступным пространством, отображаемым df?
Если выход du больше, вы пропустили подкаталог, в котором монтируется другая файловая система. Если выход du намного меньше, то som-файлы не отображаются ни в одной директории, которую проверяет. Для его явлений могут быть разные причины.
Узнайте, в какой файловой системе пробегает пробел. [F1] отобразит всю файловую систему, ее размер и свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.Узнайте, какая файловая система закончила пространство
du -shx /myfilesystem
сообщит значение, которое не содержит размер / myfilesystem / subdir / большой_файл. Единственный способ узнать, существуют ли такие файлы, это размонтировать / myfilesystem / subir и проверить с помощью ls -la /myfilesystem/subdir
список всех файловых систем, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.
Узнайте, сколько пространства используется файлами этой файловой системыdu -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что только файлы, являются членами этой файловой системы. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. есть файлы в каталогах, которые больше не видны, потому что в одном из своих родительских каталогов монтируется другая файловая система. Поэтому, если у вас есть файл / myfilesysem / subdir / bigfile и теперь монтируйте другую файловую систему в / myfilesystem / subdir, вы больше не видите этот файл и
Если вы также заинтересованы в том, чтобы не использовать команду, вот приложение: Filelight
Позволяет быстро визуализировать, что использует дисковое пространство в любой папке.
Попробуйте sudo apt-get autoremove удалить неиспользуемые файлы, если вы этого еще не сделали
Я часто использую этот
du -sh /*/
Тогда, если я найду несколько больших папок, я переключусь на него и продолжу расследование
cd big_dir
du -sh */
При необходимости вы также можете автоматически сортировать его с помощью
du -s /*/ | sort -n
На самом деле не ответ, но добавление.
Вам тяжело не хватает места и не удается установить ncdu из ответа @erman.
Некоторые предложения
sudo apt clean all для удаления пакетов, которые вы уже загрузили. SAFE sudo rm -f /var/log/*gz файлы журнала очистки более чем через неделю или две - не будут удалять более новые / текущие журналы. MOSTLY SAFE sudo lsof | grep deleted перечисляет все открытые файлы, но фильтрует их до тех, которые были удалены с диска. FAIRLY SAFE sudo rm /tmp/* удаляет некоторые временные файлы - если что-то их использует, вы можете нарушить процесс. НЕ ДЕЙСТВИТЕЛЬНО, ЧТО БЕЗОПАСНОЧтобы `lsof можно было бы возвращать такие строки:
server456 ~ $ lsof | grep deleted
init 1 root 9r REG 253,0 10406312 3104 /var/lib/sss/mc/initgro ups (deleted)
salt-mini 4532 root 0r REG 253,0 17 393614 /tmp/sh-thd-1492991421 (deleted)
Не может многое сделать для строки init, но вторая строка предполагает, что соль-миньон имеет открытый файл, который был удален, и блоки диска будут возвращены после того, как все дескрипторы файлов будут закрыты перезагрузкой службы.
Другие общие подозреваемые здесь включают в себя syslog / rsyslog / syslog-ng, squid, apache , или любой процесс, выполняемый вашим сервером, который является «тяжелым».
Я нахожу особенно ценным вывод таких инструментов, как Filelight, но, как и в вашем случае, на серверах обычно отсутствует GUI, но команда du всегда доступна.
То, что я обычно делаю is:
записать вывод du в файл (du / > du_output.txt); скопируйте файл на мою машину; используйте DuFS для «монтирования» вывода du во временном каталоге; DuFS использует FUSE для создания виртуальной файловой системы (= файлы фактически не созданы, это все подделка) в соответствии с выходом du; запустите Filelight или другой инструмент GUI в этом временном каталоге.Отказ от ответственности: я написал dufs - именно потому, что мне часто приходится выяснять, какое пространство на болоте на безголовых машинах.
Подобно @TopHat, но фильтрует некоторые файлы, если у них есть M, G или T в имени. Я не думаю, что он пропустит размер в первом столбце, но он не будет соответствовать имени файла, если вы не назовете файлы творчески.
du -chad 1 . | grep -E '[0-9]M[[:blank:]]|[0-9]G[[:blank:]]|[0-9]T[[:blank:]]'
Переключатели командной строки объясняются здесь, так как я не знал, что c или a.
Попробуйте sudo apt-get autoremove удалить неиспользуемые файлы, если вы этого еще не сделали
Вы можете использовать ncdu для этого. Он работает очень хорошо.
sudo apt install ncdu
Если вы также заинтересованы в том, чтобы не использовать команду, вот приложение: Filelight
Позволяет быстро визуализировать, что использует дисковое пространство в любой папке.
Уже есть много хороших ответов о том, как найти каталоги, занимающие большую часть пространства. Если у вас есть основания полагать, что основная проблема состоит из нескольких больших файлов, а не для многих небольших, вы можете использовать что-то вроде find / -size +10M.
Я нахожу особенно ценным вывод таких инструментов, как Filelight, но, как и в вашем случае, на серверах обычно отсутствует GUI, но команда du всегда доступна.
То, что я обычно делаю is:
записать вывод du в файл (du / > du_output.txt); скопируйте файл на мою машину; используйте DuFS для «монтирования» вывода du во временном каталоге; DuFS использует FUSE для создания виртуальной файловой системы (= файлы фактически не созданы, это все подделка) в соответствии с выходом du; запустите Filelight или другой инструмент GUI в этом временном каталоге.Отказ от ответственности: я написал dufs - именно потому, что мне часто приходится выяснять, какое пространство на болоте на безголовых машинах.
Я не знаю Ubuntu и не могу проверить свой ответ, но после этого напишу здесь свой ответ, основанный на моем опыте как администратор unix давно.
Узнайте, какая файловая система заканчивается в пространствеdf -h
будут перечислены все файловые системы, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации. Узнайте, сколько мест используется файлами этой файловой системы du -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что учитываются только файлы, входящие в эту файловую систему. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. Теперь проверьте, является ли дю видимых файлов примерно размером используемого пространства, отображаемого df. Если это так, вы можете начать поиск больших файлов / каталогов файловой системы / myfilesystem для очистки. для поиска самых больших подкаталогов каталога /.../dir используйте du -sk /.../dir/*|sort -n
параметр -k заставляет выводить sie в килобайте без какой-либо единицы. Это может быть значение по умолчанию для некоторых систем. Тогда вы можете опустить эту опцию. Самые большие файлы / подкаталоги будут показаны внизу вывода. Если вы нашли большой файл / каталог, который вам больше не нужен, вы можете удалить его соответствующим образом. Не беспокойтесь о небольших каталогах в верхней части вывода. Он не решит вашу проблему, если вы их удалите. Если у вас все еще недостаточно места, вы можете повторить шаг 4 в больших подкаталогах, которые отображаются в нижней части списка. Но что произошло, если выход du не является приблизительно доступным пространством, отображаемым df?
Если выход du больше, вы пропустили подкаталог, в котором монтируется другая файловая система. Если выход du намного меньше, то som-файлы не отображаются ни в одной директории, которую проверяет. Для его явлений могут быть разные причины.
Узнайте, в какой файловой системе пробегает пробел. [F1] отобразит всю файловую систему, ее размер и свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.Узнайте, какая файловая система закончила пространство
du -shx /myfilesystem
сообщит значение, которое не содержит размер / myfilesystem / subdir / большой_файл. Единственный способ узнать, существуют ли такие файлы, это размонтировать / myfilesystem / subir и проверить с помощью ls -la /myfilesystem/subdir
список всех файловых систем, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.
Узнайте, сколько пространства используется файлами этой файловой системыdu -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что только файлы, являются членами этой файловой системы. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. есть файлы в каталогах, которые больше не видны, потому что в одном из своих родительских каталогов монтируется другая файловая система. Поэтому, если у вас есть файл / myfilesysem / subdir / bigfile и теперь монтируйте другую файловую систему в / myfilesystem / subdir, вы больше не видите этот файл и
На самом деле не ответ, но добавление.
Вам тяжело не хватает места и не удается установить ncdu из ответа @erman.
Некоторые предложения
sudo apt clean all для удаления пакетов, которые вы уже загрузили. SAFE sudo rm -f /var/log/*gz файлы журнала очистки более чем через неделю или две - не будут удалять более новые / текущие журналы. MOSTLY SAFE sudo lsof | grep deleted перечисляет все открытые файлы, но фильтрует их до тех, которые были удалены с диска. FAIRLY SAFE sudo rm /tmp/* удаляет некоторые временные файлы - если что-то их использует, вы можете нарушить процесс. НЕ ДЕЙСТВИТЕЛЬНО, ЧТО БЕЗОПАСНОЧтобы `lsof можно было бы возвращать такие строки:
server456 ~ $ lsof | grep deleted
init 1 root 9r REG 253,0 10406312 3104 /var/lib/sss/mc/initgro ups (deleted)
salt-mini 4532 root 0r REG 253,0 17 393614 /tmp/sh-thd-1492991421 (deleted)
Не может многое сделать для строки init, но вторая строка предполагает, что соль-миньон имеет открытый файл, который был удален, и блоки диска будут возвращены после того, как все дескрипторы файлов будут закрыты перезагрузкой службы.
Другие общие подозреваемые здесь включают в себя syslog / rsyslog / syslog-ng, squid, apache , или любой процесс, выполняемый вашим сервером, который является «тяжелым».
Подобно @TopHat, но фильтрует некоторые файлы, если у них есть M, G или T в имени. Я не думаю, что он пропустит размер в первом столбце, но он не будет соответствовать имени файла, если вы не назовете файлы творчески.
du -chad 1 . | grep -E '[0-9]M[[:blank:]]|[0-9]G[[:blank:]]|[0-9]T[[:blank:]]'
Переключатели командной строки объясняются здесь, так как я не знал, что c или a.
Попробуйте sudo apt-get autoremove удалить неиспользуемые файлы, если вы этого еще не сделали
Вы можете использовать ncdu для этого. Он работает очень хорошо.
sudo apt install ncdu
Если вы также заинтересованы в том, чтобы не использовать команду, вот приложение: Filelight
Позволяет быстро визуализировать, что использует дисковое пространство в любой папке.
Уже есть много хороших ответов о том, как найти каталоги, занимающие большую часть пространства. Если у вас есть основания полагать, что основная проблема состоит из нескольких больших файлов, а не для многих небольших, вы можете использовать что-то вроде find / -size +10M.
Я нахожу особенно ценным вывод таких инструментов, как Filelight, но, как и в вашем случае, на серверах обычно отсутствует GUI, но команда du всегда доступна.
То, что я обычно делаю is:
записать вывод du в файл (du / > du_output.txt); скопируйте файл на мою машину; используйте DuFS для «монтирования» вывода du во временном каталоге; DuFS использует FUSE для создания виртуальной файловой системы (= файлы фактически не созданы, это все подделка) в соответствии с выходом du; запустите Filelight или другой инструмент GUI в этом временном каталоге.Отказ от ответственности: я написал dufs - именно потому, что мне часто приходится выяснять, какое пространство на болоте на безголовых машинах.
Я не знаю Ubuntu и не могу проверить свой ответ, но после этого напишу здесь свой ответ, основанный на моем опыте как администратор unix давно.
Узнайте, какая файловая система заканчивается в пространствеdf -h
будут перечислены все файловые системы, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации. Узнайте, сколько мест используется файлами этой файловой системы du -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что учитываются только файлы, входящие в эту файловую систему. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. Теперь проверьте, является ли дю видимых файлов примерно размером используемого пространства, отображаемого df. Если это так, вы можете начать поиск больших файлов / каталогов файловой системы / myfilesystem для очистки. для поиска самых больших подкаталогов каталога /.../dir используйте du -sk /.../dir/*|sort -n
параметр -k заставляет выводить sie в килобайте без какой-либо единицы. Это может быть значение по умолчанию для некоторых систем. Тогда вы можете опустить эту опцию. Самые большие файлы / подкаталоги будут показаны внизу вывода. Если вы нашли большой файл / каталог, который вам больше не нужен, вы можете удалить его соответствующим образом. Не беспокойтесь о небольших каталогах в верхней части вывода. Он не решит вашу проблему, если вы их удалите. Если у вас все еще недостаточно места, вы можете повторить шаг 4 в больших подкаталогах, которые отображаются в нижней части списка. Но что произошло, если выход du не является приблизительно доступным пространством, отображаемым df?
Если выход du больше, вы пропустили подкаталог, в котором монтируется другая файловая система. Если выход du намного меньше, то som-файлы не отображаются ни в одной директории, которую проверяет. Для его явлений могут быть разные причины.
Узнайте, в какой файловой системе пробегает пробел. [F1] отобразит всю файловую систему, ее размер и свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.Узнайте, какая файловая система закончила пространство
du -shx /myfilesystem
сообщит значение, которое не содержит размер / myfilesystem / subdir / большой_файл. Единственный способ узнать, существуют ли такие файлы, это размонтировать / myfilesystem / subir и проверить с помощью ls -la /myfilesystem/subdir
список всех файловых систем, их размер и их свободное пространство. Вы просто теряете время, если исследуете файловые системы, у которых достаточно места. Предположим, что полная файловая система - это / myfilesystem. проверьте выход df, если есть файловые системы, установленные на поддиректорах / myfilesystems. Если это так, следующие изменения должны быть адаптированы к этой ситуации.
Узнайте, сколько пространства используется файлами этой файловой системыdu -sh /myfilesystem
. Параметр -x может использоваться, чтобы гарантировать, что только файлы, являются членами этой файловой системы. Некоторые Unix-варианты (например, Solaris) не знают опции -x для du. Затем вы должны использовать некоторые обходные пути, чтобы найти дю файловой системы. есть файлы в каталогах, которые больше не видны, потому что в одном из своих родительских каталогов монтируется другая файловая система. Поэтому, если у вас есть файл / myfilesysem / subdir / bigfile и теперь монтируйте другую файловую систему в / myfilesystem / subdir, вы больше не видите этот файл и
На самом деле не ответ, но добавление.
Вам тяжело не хватает места и не удается установить ncdu из ответа @erman.
Некоторые предложения
sudo apt clean all для удаления пакетов, которые вы уже загрузили. SAFE sudo rm -f /var/log/*gz файлы журнала очистки более чем через неделю или две - не будут удалять более новые / текущие журналы. MOSTLY SAFE sudo lsof | grep deleted перечисляет все открытые файлы, но фильтрует их до тех, которые были удалены с диска. FAIRLY SAFE sudo rm /tmp/* удаляет некоторые временные файлы - если что-то их использует, вы можете нарушить процесс. НЕ ДЕЙСТВИТЕЛЬНО, ЧТО БЕЗОПАСНОЧтобы `lsof можно было бы возвращать такие строки:
server456 ~ $ lsof | grep deleted
init 1 root 9r REG 253,0 10406312 3104 /var/lib/sss/mc/initgro ups (deleted)
salt-mini 4532 root 0r REG 253,0 17 393614 /tmp/sh-thd-1492991421 (deleted)
Не может многое сделать для строки init, но вторая строка предполагает, что соль-миньон имеет открытый файл, который был удален, и блоки диска будут возвращены после того, как все дескрипторы файлов будут закрыты перезагрузкой службы.
Другие общие подозреваемые здесь включают в себя syslog / rsyslog / syslog-ng, squid, apache , или любой процесс, выполняемый вашим сервером, который является «тяжелым».