Re: lug-bg: Re: Re: lug-bg: малък...ама дразнещ проблем
- Subject: Re: lug-bg: Re: Re: lug-bg: малък...ама дразнещ проблем
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Tue, 19 Apr 2005 13:05:50 +0300
On Tue, Apr 19, 2005 at 10:02:00AM +0200, Mihail Borisov wrote:
> On Monday 18 April 2005 16:20, George Simeonov wrote:
> > >"which halt" ще ти покаже коя команда халт изпълняваш. При условие че
> > >/bin/halt работи, то логично е че PATH ти съдържа директория в която
> > >търси преди /bin/ и която също има някаква команда halt.
> > >
> > >Така, по-ясно ли е?
> >
> > Извинявай... аз не разбрах, че ми казваш команда, а мислех, че ме питаш
> > за кой halt става въпрос :) Ето резултата: #which halt
> > /usr/bin/halt
> > #ls -l /usr/bin/halt
> > lrwxrwxrwx 1 root root 13 2005-04-09 22:36 /usr/bin/halt -> consolehelper*
> >
> > Това не ми харесва и не знам за какво е... Явно е линк, ама тая команда не
> > прави нищо. Ако може да ми кажете в кой път да опиша да не търси там, а
> > първо в /bin ??? Георги
>
> :~# rm -f /usr/bin/halt
> :~# ln -s /bin/halt /usr/bin/halt
Това принципно не е добра идея.... Малко сме хората, които още правим
разлика между root filesystem и /usr, или между root, /usr и всичко
останало, но пък има ситуации, в които, веднъж направена, тази разлика
се оказва много хубаво нещо :) Май съм споменавал в други мейлове в
тази листа личното си предпочитание към отделни файлови системи за root,
/usr, /var, /tmp, като root и /usr са само за четене, и /usr *наистина*
може да бъде споделена между системи - било то няколко машини и мрежа
(рядко) или една машина и chroot/jail отделения в нея, които не е нужно
да бъдат обновявани поотделно всеки път, при положение, че всички
ползват физически един и същи дял за /usr.
Но това, което изприказвах дотук, беше малко по-далеч от истинската
тема. В случая това със замяната на /usr/bin/halt с /bin/halt не е
добра идея по друга причина: съгласуваност (consistency). Ако върху
системата има инсталиран пакет, който е решил, че иска да създаде
команда halt в /usr/bin, това *трябва* да бъде съзнателно решение -
авторът на този пакет съвсем ясно показва, че по някаква причина иска да
замести командата 'halt' от /bin с неговия вариант, затова го слага в
/usr/bin, което в някои случаи е по-напред в пътя за търсене. Добре, ще
заменим halt от този странен пакет с истинския halt от /bin - това ще
създаде два проблема:
1. Чупим пакетната система: при опит за деинсталация на пакета, който е
дал /usr/bin/halt, системата ще каже, че нещо в инсталацията му не е
наред. При опит за обновяване или повторна инсталация ще възникне
проблем - вече има /usr/bin/halt, което е нещо друго. При опит за
проверка на това дали някой не е пипал по системата, пакетната
система ще изреве, че /usr/bin/halt е нещо различно, може би пипано,
и ще мине малко време, докато се сетиш, че всъщност си го пипнал сам,
съзнателно, нарочно, а не се е разходил някой друг из системата ти.
2. Съгласуваност: ами ако не е само halt? :) Сега пък ще се окажеш в
положение, в което някои от командите, предефинирани от този пакет,
работят така, както ти искаш - без допълнителната/различната
функционалност от този пакет - а други команди пък си работят по
неговия си начин. Я виж дали нямаш примерно /usr/bin/reboot или
/usr/bin/shutdown или нещо такова, или просто подпитай пакетната си
система кой е пакетът, който би трябвало да е инсталирал
/usr/bin/halt, и какво още е инсталирал той - и дали не може просто
да го деинсталираш и да си решиш проблема правилно :)
Уф... а през цялото време ми се върти в главата тъпият въпрос защо по
дяволите halt е в /bin... Това не е програма, която обикновеният
потребител би използвал; мястото на halt, reboot и shutdown винаги е
било в /sbin :(
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
I am jealous of the first word in this sentence.
Attachment:
pgph19kzVs_Ro.pgp
Description: PGP signature
|