Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: angie_bg в Jun 12, 2012, 19:37



Титла: Безопастно ли е изтриването на broken links?
Публикувано от: angie_bg в Jun 12, 2012, 19:37
След последните ъпдейти Weather Report Applet спря да помни зададена локация (Ubuntu 10.04). Търсейки къде се среща gweather попаднах на доста symlinks със статус broken. KleanSweep намери в цялата система 9370 връзки със същия статус. Заеманото място е 0 b, т. е. при изтриването им няма да се освободи място на диска. KleanSweep предупреждава, че ако не знам какво правя, да не ги изтривам. Питането ми е в този смисъл - безопасно ли е триенето им, плюсове и минуси.


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: neter в Jun 13, 2012, 00:57
Първо да изясним, че счупен symlink означава, че файлът/папката/устройството (да го кажем "към inode-а" за по-кратко), към който сочи, липсва. Symlink-ът показва размер 0 байта, тъй като symlink-ът е само inode със запис, съдържащ връзка към друг inode, вместо към същински данни на диска.
Трудно е да се даде общ краен отговор дали изтриването им ще създаде проблем или не, тъй като много зависи от предназначението, за което всеки един symlink е бил създаден. Доколкото разбирам от думите ти (а и се съмнявам да е обратното), тези 9370 symlink-а не водят само към inode-и на Weather Report Applet, но и към други. По принцип Linux и приложенията в него използват symlink-овете само за отправна точка към inode-ите на същинските данни, при което, ако symlink-ът е счупен, е все тая има ли го или не - до същинските данни така или иначе не се стига и целта, поради която са потърсени тези данни, не се изпълнява. Изтриването на тези symlink-ове няма да доведе до по-големи проблеми от вече наличните проблеми, дошли със счупването му. За безопасно може да се приеме и премахването на symlink-ове, които собственоръчно сме създали, ако се има предвид, че знаем с каква цел сме ги създали. Не ми се е случвало да попадна на symlink от някое приложение, който е полезен дори само със своето съществуване, но това далеч не значи, че няма такива. Възможно е работата на някое приложение (или пък личен скрипт) да се влияе дори само от това дали symlink-ът съществува или не, пък дори и счупен, и премахването му ще създаде допълнителен проблем. Трябва да се има предвид и, че изпращането на информация за запис към някой счупен symlink автоматично ще създаде и попълни файла, към който сочи,  с тази информация и този файл ще се създаде там, накъдето сочи symlink-ът. Така че, ако счупеният symlink е наличен, крайният резултат ще е поправен symlink, водещ към файл, който ще се намира на другото място (накъдето сочи symlink-ът), където се очаква да бъде. Ако преди това сме премахнали счупения symlink, то ще се създаде файл (не symlink) там, където е бил symlink-ът, и няма да имаме файл там, накъдето е сочел преди symlink-ът. Допълнително, има приложения, които създават symlink-ове в конфигурационната си част, която част не се премахва при стандартно премахване на приложение, и ако след такова премахване на приложението, го инсталираш отново, а си изтрил ръчно symlink-ове от конфигурационната му част, тези symlink-ове няма да се създадат отново и ще имаш проблем. В този случай ще трябва да направиш пълно премахване на приложението (purge), за да може при следващото инсталиране symlink-овете автоматично да се създадат отново. Та... както виждаш, варианти не липсват, така че, за да разбереш безопасно ли е да премахнеш някой счупен symlink или не, трябва първо да разбереш каква е била точната причина за създаването му ;)


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: angie_bg в Jun 13, 2012, 07:40
В цялата ситуация ме смущава огромният брой линкове. Започвам да подозирам, че KleanSweep не показва коректно данните. Пример: deborphan откри 5 (пет) оrphaned файла, докато KleanSweep - над 3000.


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: senser в Jun 13, 2012, 08:48
В цялата ситуация ме смущава огромният брой линкове. Започвам да подозирам, че KleanSweep не показва коректно данните. Пример: deborphan откри 5 (пет) оrphaned файла, докато KleanSweep - над 3000.
Не знам какво е това KleanSweep, нито пък deborphan, но ако се съмняваш в коректността им може да потърсиш сам(а) счупени линкове с помощта на find. Потърси в нета - има доста примери, ако не се оправиш ще ти го драсна тук.


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: angie_bg в Jun 13, 2012, 09:50
@senser, deborphan е конзолен инструмент за търсене на непотребни (самотни, осиротели?) пакети в .deb базираните системи. KleanSweep е графичен инструмент, който претендира да почиства системата ненужни и/или повредени пакети, файлове, връзки...
(http://store.picbg.net/pubpic/A0/51/43f8c8356d1fa051.png)
Но знанията ми не стигат да преценя коя от връзките е повредена и коя просто не е използвана и затова файлът, към който сочи, не съществува (by neter).
find -L дава подобен резултат като KleanSweep (не го дочаках да видя дали броят на повредените връзки е същия като при KleanSweep).
Интересно ми е как компютърът работи, като (май) всичко е повредено.


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: neter в Jun 13, 2012, 10:03
Дай все пак да видим къде са тези symlink-ове, как се казват и накъде сочат. Можеш да изведеш такъв списък със следната команда, изпълнена под root или със sudo (тъй като в случая ще обхождаме цялата система):
Цитат
find / -type l | while read f; do if [ ! -e "$f" ]; then ls -l "$f" >> /ПЪТ/ДО/ФАЙЛА/ЗА/СПИСЪКА; fi; done
Съмнявам се в този списък да се съдържа някаква конфиденциална информация, но ако нещо се притесняваш, хвърли все пак едно око какво се е записало :) Тъй като списъкът ще е дълъг, не го плесвай директно в поста, а го сложи в прикачен файл или ползвай някоя услуга като Pastebin ($2).


Титла: Re: Безопастно ли е изтриването на broken links?
Публикувано от: angie_bg в Jun 13, 2012, 11:03
Voila!
Част от връзките са към флашки, външни дискове и др. Други са от кеша на бараузерите. Но има и такива към (части от) програми, главно към omf, png и xml файлове.