humor

Werdna

(23:56:19) : хм. я с ext3 удалил файл ~8Gb, а df не изменил выдачи. что бы это могло быть?
(23:56:50) 14091566: может удалилось в корзину
(23:56:59) : сцуко

Oper

это пять
На башорг !

Werdna

отправил

Ivan8209

А если серьёзно, то почему-то ни до кого не доходит, что
"удалить" нельзя, можно либо "стирать" при помощи dd(1
либо "отвязывать" при помощи unlink(8).
---
"Утверждаю, что с научной точки зрения, главное в профессии вора,
как и в профессии святого, конечно, это вовремя скрыться."

slonishka

ну да. интересует, как теперь стереть. =)

Ivan8209

fstat(1) и kill(1) процессов, которые эти файлы держат.
fsck_ext2fs(8 если место просто потерялось.
newfs(8 если место потерялось безвозвратно.
---
Q6: Я слышал есть такой мужик, вроде Бармин зовут, и он
придумал что-то такое после чего XXX не сосет.

slonishka

спасибо =)

Ivan8209

Теперь интересует, как стереть...
dd if=/dev/zero of=/dev/hdNX
---
Q6: Я слышал есть такой мужик, вроде Бармин зовут, и он
придумал что-то такое после чего XXX не сосет.

slonishka

fstat(1) и kill(1) процессов, которые эти файлы держат.
остановил соответствующий процесс и файл начал мееееееедленно стираться. примерно 2-4Кб/с.
это нормальное поведение? где почитать, что при этом происходит?

Ivan8209

> остановил соответствующий процесс
Его нужно остановить сигналом Это чтобы файловый дескриптор закрыть.
Вообще говоря, закрыть файловый дескриптор можно и более
гуманными средствами, но для этого надо изучать ptrace(2)
или gdb(1).
> и файл начал мееееееедленно стираться. примерно 2-4Кб/с.
> это нормальное поведение?
Сейчас скажет кто-нибудь, что ненормально, а потом выяснится,
что у тебя загрузка офигенная и файловая система попросту
не успевает блоки освобождать.
> где почитать, что при этом происходит?
А чёрт его знает.
Если я правильно помню, кто-то выпускал книгу про линуксово ядро.
---
"Утверждаю, что с научной точки зрения, главное в профессии вора,
как и в профессии святого, конечно, это вовремя скрыться."

slonishka

Если я правильно помню, кто-то выпускал книгу про линуксово ядро.
ок, еще раз спасибо.

Ivan8209

Я, конечно, понимаю, что "баяны" не в чести, но то, что сделали
"отцы-основатели" было, в некотором роде, гениально: они чётко
разделили данные и их имена. Поэтому то, что в CP/M-derived
системах просто "файл", в UNIX-derived системах представляется
двумя разными сущностями: собственно файлом, представляемым
"index node" ("i-node") и блоками данных, и именем этого файла,
которое хранится в каталожной системе. Чтобы не получалось
висячих ссылок, ведётся их учёт, число записывается в инодах,
как только на иноду никто не ссылается, блоки данных и сама
инода освобождаются для повторного использования.
В качестве ссылок учитываются и файловые дескрипторы, поэтому
в каталогах ссылки на иноду может не быть, но она всё ещё
существует.
КМБ по УФС, блин.
---
"Narrowness of experience leads to narrowness of imagination."
Rob Pike

Marinavo_0507

> а потом выяснится,
> что у тебя загрузка офигенная и файловая система попросту
> не успевает блоки освобождать
или какой-нибудь sd-контроллер с глючным драйвером

Ivan8209

Как говорится, "сдуру можно много чего сломать."
---
A24: Проявления suxx-а неисчислимы.

slonishka

ну там всего лишь /var/log/messages был. =)

Ivan8209

> ну там всего лишь /var/log/messages был.
Я долго-долго думал, где ты раздобыл такой большой файл,
потом понял, как это может быть: файл открыт каким-нибудь
mlnet, долго и нудно тянущем что-то многогиговое.
Блин. Это ж классика! Логи удаляются не rm(1 а чем-нибудь,
делающем truncate. Идиома:

: > log

---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

Ivan8209

А вообще, настрой ротацию. Это непорядок.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

slonishka

: > log
ну да, вариант.
я когда rm делал, не задумывался о последствиях, потому что место срочно нужно было. =)
вообще, надо ротацию просто сделать и забыть, только лень все...
может сделаю как-нибудь.

Ivan8209

> я когда rm делал, не задумывался о последствиях,
> потому что место срочно нужно было.
Вообще-то, тогда надо :> делать, а не rm, раз место нужно.
А rm нужно делать, когда иноды закончились.
---
"Narrowness of experience leads to narrowness of imagination."

slonishka

я этой идиомой до этого не пользовался, поэтому спинной мозг не сработал. =)

Ivan8209

Когда попользуешься ln(1 поймёшь, что место освобождается при
помощи :>, потому что файл может быть ещё куда-нибудь подвешен,
и тогда rm сможет всего лишь отцепить его отсюда.
---
"Narrowness of experience leads to narrowness of imagination."

Ivan8209

Кстати, а кто мешал отправить syslogd-у HUP и глянуть,
а не закрыл ли он дескриптор? И просто перезапустить его,
если что не так.
---
"Narrowness of experience leads to narrowness of imagination."

slonishka

ну вот я когда сделал /etc/init.d/syslog-ng stop,
файлик начал меееедленно стираться (init-скрипт при этом продолжал работать).
кусок инит-скрипта в секции stop посылает TERM (это в мане по start-stop-daemon написано =) ):
start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid

btw, пока не ясно, из-за чего произошло такое странное,
у меня нет никаких причин полагать, что посыл HUP привел бы к иному результату.

slonishka

и глянуть, а не закрыл ли он дескриптор?
кстати, как это сделать, если /var/log/messages уже unlinked?
stat же имя проглатывает.

slonishka

а, хотя там есть -f вроде.

Ivan8209

fstat вываливает всё, до чего доберётся, а чем глянуть pid, сам знаешь.
---
"Расширь своё сознание!"

Ivan8209

> ну вот я когда сделал /etc/init.d/syslog-ng stop,
> файлик начал меееедленно стираться
Думаю, что высвободить 8 гигов после логов, это не мгновенно.
> (init-скрипт при этом продолжал работать).
Если учесть, что TERM можно перехватывать, то очевидно, что надо
подождать какое-то время, а только потом глушить KILL-ом.
> у меня нет никаких причин полагать, что посыл HUP привел бы к
> иному результату.
Демоны разного производства понимают HUP по-своему.
В частности, логгер может понимать HUP, как указание переоткрыть
файлы или закрыть файлы и сделать ротацию, может быть даже
принудительную.
---
"Narrowness of experience leads to narrowness of imagination."

Alena_08_11

Btw. Видел на баше нечто подобное (тоже прикол с корзиной) около года назад. (Судя по дате этого топика - видел не это). Так что на баше будет боян

Ivan8209

> будет боян
Ничего, им невпервой.
---
"Унивеpситет pазвивает все способности, в том числе --- глупость."
Оставить комментарий
Имя или ник:
Комментарий: