Если Ваше системное время / дата вернулось до 1 января 1970 или что-то древнее как этот затем Ваши компьютеры, вся инфраструктура SSL будет временно повреждена.
Соединение с репозиториями программного обеспечения обычно делается по соединению SSL в эти дни, чтобы препятствовать тому, чтобы кто-то делал нападение прерывания man-in-the-middle.
Просто установите свою системную дату, чтобы быть корректными, и загружающее и обновляющее программное обеспечение волшебно продолжит работать.
Так как busybox реализация находки не предлагает пользовательское выходное форматирование, необходимо произвести задачу форматирования на стороне к отдельной программе :) К счастью, даже busybox
включает удобное stat
команда. Это - поля выходного формата, отличаются от тех, что GNU находит использование, таким образом, символы, которые необходимо использовать, отличаются. Сценарий ниже принимает это find
и stat
те, которые происходят из busybox
.
DIRS="a/ b/"
MAXDELBYTES="53687091200" # 50GB
DELBYTES="0"
find $DIRS -type f -exec stat -c "%Y %s %n" {} \; | sort -r -n | while read time bytes filename
do
rm -fv "$filename"
DELBYTES=$((DELBYTES + bytes))
if [ $DELBYTES -ge $MAXDELBYTES ]; then break; fi
done
Как всегда, прочитайте описание каждой команды перед использованием его. В случае busybox
, Вы не найдете страницы справочника для них, но можно использовать --help
отобразить информацию об использовании.
Предупредите, что это решение может повредить вещи в маловероятной ситуации, когда имена файлов содержат символы новой строки в них! Это не должно происходить в здоровой системе, но могло бы произойти, например, если кому-то удается или ворваться в систему или использовать некоторую уязвимость, которая позволяет произвольное создание файла.
Для предотвращения случайно удаляющих полезных файлов в таких случаях необходимо сначала найти и удалить все файлы, которые включают новые строки в их имена. Для списка их работайте:
find / -name "*
*"
(Между звездочками существует только новая строка.) Затем когда Вы уверены, все те файлы не нужны, удаляют их использующий также
find / -name "*
*" -delete
или
find / -name "*
*" -print0 | xargs -0 rm -vf
Оба должны работать с busybox
.
Обычно это - плохая идея проанализировать вывод ls
. Но во встроенной системе, которая имеет нет stat
, никакой zsh, нет find -printf
, никакой жемчуг или другой большой язык сценариев, это - единственный способ отсортировать файлы по дате. Предположение, что имена файлов не содержат пробела и ни одного из \'"
(который xargs
искажения) — предположение, что Ваш исходный сценарий делает — можно использовать xargs ls -str
к дисплейным файлам, отсортированным по дате, и дисплей их размер в процессе.
find $DIRS -type f |
xargs ls -str |
while read kilobytes filename; do …
Обратите внимание, что размер отображен в килобайтах вместо байтов. Кроме того, это - дисковое место, занятое файлом, а не числом байтов в файле. Обычно, это число является размером файла, окруженным к следующему целому числу блоков, но это может быть меньше, если файл редок. В сценарии, который освобождает дисковое пространство, это, вероятно, что Вы хотите.
Существует большой протест со сценарием выше: это только распечатает свои результаты в правильном порядке, если количество файлов будет достаточно небольшим это xargs
может выполнить единственный вызов к ls
. Если существуют множественные вызовы ls
, каждый вызов отсортирует свои аргументы отдельно. Можно распечатать даты файла с ls
, но сортировка этого человекочитаемого вывода очень сложна. Лучшее решение, по крайней мере, обнаружить ошибочный случай состоит в том, чтобы заменить выводом find
в командную строку.
{ set -f; IFS='
'; ls -str $(find $DIRS -type f); } |
while read -r kilobytes filename; do …
code
: найдите: статистика: Никакой такой файл или каталог - таким образом, это означает это, не останавливается со статистикой. Или это означает, что мой HD не полон для 95% – Jasper 23.08.2012, 22:16stat
утилита. Busybox является очень настраиваемым, много функций являются дополнительными. А-ч – Gilles 'SO- stop being evil' 23.08.2012, 22:27stat
в будущем выпуске? Или я могу добавить это сам? – Jasper 23.08.2012, 22:51