spamsink: (lenin)
[personal profile] spamsink

rm: cannot remove `file_name': No space left on device


Но как, Холмс?

Date: 2014-05-01 06:43 pm (UTC)
From: [identity profile] dvv.livejournal.com
zfs? Потри снапшоты.

Date: 2014-05-01 07:27 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Я уже успел догадаться, что это связано с journaling, но не знаю, что у нас на работе на файл-серверах стоит.

Date: 2014-05-01 07:41 pm (UTC)
From: [identity profile] dvv.livejournal.com
mount -v
твой друг.

Date: 2014-05-01 07:48 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Зачем такое безумие, достаточно df -T.

"type nfs", разумеется.

Date: 2014-05-01 07:54 pm (UTC)
From: [identity profile] dvv.livejournal.com
Кокой ужос.

Date: 2014-05-01 08:05 pm (UTC)
From: [identity profile] spamsink.livejournal.com
А-а-а... If it ain't broke, don't fix it at work.

Date: 2014-05-01 07:32 pm (UTC)
From: [identity profile] vaddimka.livejournal.com
гм
ну если есть уверенность, что файлсистема не битая, можно попробовать echo > filename

Date: 2014-05-02 02:19 am (UTC)
From: [identity profile] lionet.livejournal.com
echo не нужно.

Date: 2014-05-02 02:23 am (UTC)
From: [identity profile] spamsink.livejournal.com
Invalid null command. :)

Date: 2014-05-02 06:58 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Пожалуй, универсально будет. Спасибо.

Date: 2014-05-02 07:46 am (UTC)
stas: (Default)
From: [personal profile] stas
А rm случайно не какой-нибудь хитрый аlias во избежание потерь и забот?

Date: 2014-05-02 07:51 am (UTC)
From: [identity profile] spamsink.livejournal.com
Нет, всё честно. Запускалось find ... | xargs rm -rf.

Date: 2014-05-02 01:54 pm (UTC)
From: [identity profile] codedot.livejournal.com
Кстати, это можно заменить одной командой:

find ... -exec rm -fr {} +
Edited Date: 2014-05-02 02:04 pm (UTC)

Date: 2014-05-02 02:54 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Я это, разумеется, знаю. Но через xargs быстрее: во-первых, параллельное выполнение; во-вторых, меньше процессов запускается.

Date: 2014-05-02 04:24 pm (UTC)
From: [identity profile] dvv.livejournal.com
Про параллельное — эт вряд ли (хотя от линуксоидов я вполне могу такого ожидать). А что гораздо быстрее — это да.

upd: Ха. Так и есть — линуксоиды отличились…
Edited Date: 2014-05-02 04:27 pm (UTC)

Date: 2014-05-02 04:28 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Если find выдает тыщи строк, то xargs успевает запустить как минимум один желаемый процесс до того, как find завершится.

Date: 2014-05-02 04:31 pm (UTC)
From: [identity profile] dvv.livejournal.com
Ну да — как только забьёт максимум длины командной строки, так и запускает. Но чтобы действительно в параллель, надо явно параллелизм задавать. Надо сказать, что в BSD это тоже присутствует…

Date: 2014-05-02 06:59 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Я имел в виду в первую очередь в параллель с find. :)

Date: 2014-05-03 12:07 pm (UTC)
From: [identity profile] belezbar.livejournal.com
А почему "+", а не "find ... -exec rm -fr {} \;" ?

Date: 2014-05-03 04:25 pm (UTC)
From: [identity profile] codedot.livejournal.com
Точка с запятой приводит к одной команде на каждый файл. Со знаком плюса rm -fr запускается, когда забьется максимум длины командной строки, как и в случае с xargs(1). Таким образом рождается меньше процессов. Пример:
alexo@kuha:~/.ssh$ find . -exec echo {} \;
.
./id_rsa
./id_rsa.pub
./authorized_keys
./config
./known_hosts
alexo@kuha:~/.ssh$ find . -exec echo {} +
. ./id_rsa ./id_rsa.pub ./authorized_keys ./config ./known_hosts
alexo@kuha:~/.ssh$ 
Edited Date: 2014-05-03 04:34 pm (UTC)

Date: 2014-05-03 04:56 pm (UTC)
From: [identity profile] belezbar.livejournal.com
Ага. Не знал, спасибо.
Page generated May. 31st, 2025 08:39 pm
Powered by Dreamwidth Studios
OSZAR »