You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Âçëîì<br />
ÕÀÊÅÐ\¹38\Ôåâðàëü\2002<br />
Íàñèëóåì Ëèíóêñ!<br />
Êàê çà 13 ìèíóò ïîäíÿòü ñâîþ ÎÑü<br />
Íàãîðñêèé Àðòåì aka Cordex (cordex@xakep.ru)<br />
âìåñòî 31000. Íî äëÿ âûïîëíåíèÿ ýòîé îïåðàöèè<br />
óáåäèñü, ÷òî ÿäðî ó òåáÿ íå íèæå 2.2.12. Ñîîòâåòñòâåííî,<br />
êàê è â ïåðâîì ñëó÷àå, äëÿ ïðîâåðêè ïåðåëîãèíüñÿ<br />
ïîä ðóòîì è èñïîëüçóé êîìàíäó: ulimit<br />
-a. Â ñòðîêå ñ open files òâîé ñîêîëèíûé ãëàç äîëæåí<br />
çàìåòèòü òåêñò "90000".<br />
Æåñòêèé äèñê<br />
Íó à òåïåðü ïðèñòóïèì ê ñàìîìó äîðîãîìó, ÷òî åñòü ó<br />
òåáÿ, ïîðíóøíèêà è âàðåçîêà÷àòåëÿ, - âèíòó, à èìåííî<br />
ïîñëåäîâàòåëüíî ïðîâåäåì îïòèìèçàöèþ âñåõ åãî<br />
ðàçäåëîâ, ÷òî íåìèíóåìî ïðèâåäåò ê óâåëè÷åíèþ ñêîðîñòè<br />
è ñòàáèëüíîñòè åãî ðàáîòû. Âñå îïåðàöèè ïðîäåëàåì<br />
â ñòàòóñå ðóòà, åñòåñòâåííî. Âíà÷àëå íåîáõîäèìî<br />
óçíàòü, êàê îáîçíà÷àåòñÿ òâîé âèíò: hda, hdb...<br />
Ýòî òû äîëæåí çíàòü óæå ïîñëå óñòàíîâêè Ëèíóêñà, íî<br />
åñëè çàïàìÿòîâàë, òî èñïîëüçóé êîìàíäó dmesg. Âûÿñíèâ<br />
îáîçíà÷åíèå æåñòêîãî äèñêà (ïóñòü äëÿ ïðèìåðà<br />
ýòî áóäåò hda, êàê íàèáîëåå ÷àñòî âñòðå÷àþùèéñÿ),<br />
âûÿñíè, ÷òî ïîääåðæèâàåò òâîé âèíò ñ ïîìîùüþ<br />
êîìàíäû hdparm -I /dev/hda. Òåïåðü ïðèøëî âðåìÿ<br />
îòìåòèòü ñêîðîñòü âèí÷åñòåðà: hdparm -t /dev/hda.<br />
Çàïîìíè ðåçóëüòàò - ïîòîì ñâåðèøü ñ ïîëó÷åííûì :).<br />
Ñëåäóþùèì øàãîì áóäåò ïðîñìîòð çíà÷åíèé, êîòîðûå<br />
òâîé õàðä èìååò ïî äåôîëòó (êîìàíäîé hdparm<br />
/dev/hda). Òàê, âèäèì, ÷òî ðåæèì ìóëüòè-÷òåíèÿ ñ<br />
äèñêà îòêëþ÷åí. ×òî æ, âïîðó èñïðàâèòü ýòî: hdparm<br />
-c3 -m16 /dev/hda. Ýòà êîìàíäà âêëþ÷èò ðåæèì ìíîãîïîòî÷íîãî<br />
ñ÷èòûâàíèÿ. Òåïåðü ïðîâåðü ñêîðîñòü<br />
âèíòà åùå ðàç. Íó ÷òî, âèäèøü ïðèðîñò ñêîðîñòè :)<br />
Ñëåäóþùèì øàãîì áóäåò âêëþ÷åíèå DMA è 32-áèòíîé<br />
ðàçðÿäíîé ïîääåðæêè (âçàìåí 16-áèòíîé). Äëÿ<br />
ýòîãî åñòü êîìàíäà: hdparm -d1 /dev/hda.<br />
Îñòàëîñü ïîñëåäíåå - çàïèñàòü âñå èçìåíåíèÿ â ôàéë,<br />
÷òîáû îíè áûëè â ñèëå ïîñëå òîãî êàê òû ðåáóòíåøü/âûêëþ÷èøü<br />
êîìï. Äëÿ ýòîãî â çíàêîìîì /etc/rc.d<br />
äîáàâü â ñàìûé êîíåö ôàéëà rc.local ñëåäóþùóþ ñòðî÷êó:<br />
hdparm -c3 -m16 /dev/hda. Òåïåðü ïðîâåðÿåì ñêîðîñòü<br />
è âèäèì íå ìåíåå ÷åì 2-óõ êðàòíîå óâåëè÷åíèå.<br />
Âñå, äèñê îïòèìèçèðîâàí, ñ ÷åì òåáÿ è ïîçäðàâëÿþ!<br />
Êñòàòè, åùå îäíà ôè÷à îòíîñèòåëüíî âèíòà. Íàñòîÿòåëüíî<br />
ñîâåòóþ òåáå ðàçìåñòèòü ñâîé swap-ðàçäåë<br />
âáëèçè ÍÀ×ÀËÀ äèñêà, à íå êîíöà, ÷òî èíîãäà íàáëþäàåòñÿ<br />
ó íåêîòîðûõ ÍÅ÷èòàòåëåé ][ ;). Ðåçóëüòàò ñåé<br />
îïåðàöèè íå çàìåäëèò ñêàçàòüñÿ: çà îäèí îáîðîò äèñêà<br />
ãîëîâêà áóäåò îõâàòûâàòü ãîðàçäî áîëüøóþ ïîâåðõíîñòü,<br />
÷òî íå çàìåäëèò ñêàçàòüñÿ è íà åãî ðàáîòå,<br />
à èìåííî áóäåò ñ÷èòûâàòü áîëüøå äàííûõ. Âñå äåëî â<br />
òîì, ÷òî ÍÀ×ÀËÎ äèñêà ôèçè÷åñêè ðàñïîëàãàåòñÿ íà<br />
âíåøíåé ñòîðîíå öèëèíäðà - âîò è âåñü ñåêðåò :). Íà<br />
ýòîì ðàçãîâîð îá îïòèìèçàöèè æåñòêîãî äèñêà, ïðèÿòåëü,<br />
ïîçâîëü ñ÷èòàòü îêîí÷åííûì. Ýé! Ñåêóíäî÷êó! Ïî<br />
äîìàì åùå ðàñõîäèòüñÿ ðàíî! Ïðîäîëæàåì...<br />
ßäðî<br />
Íó, íàêîíåö-òî íàøè øàëîâëèâûå ðó÷êè äîòÿíóëèñü<br />
äî àðõèâàæíîãî ýëåìåíòà Ëèíóêñà - ÿäðà. Ïîýòîìó<br />
åãî îïòèìèçàöèÿ îòðàçèòñÿ íà âñåé ñèñòåìå â öåëîì.<br />
Íî, êàê ñàì ïîíèìàåøü, â îòëè÷èå îò äðóãèõ<br />
ýëåìåíòîâ Îñè, ê òâèêèíãó ÿäðà íóæíî îòíåñòèñü ñ<br />
îñòîðîæíîñòüþ. Íî è áîÿòüñÿ íå ñòîèò. Ãëàâíîå -<br />
ñðàçó ðåøèòü, ÷òî òåáå íóæíî, à ÷òî - íåò. Ïîäóìàé,<br />
îò ÷åãî òåáå åñòü ðåçîí îòêàçàòüñÿ. Åñëè ó òåáÿ íà<br />
êîìïå âìåñòå ñ *íèêñàìè çàèíñòàëëåíà Âûíü98, òî,<br />
< Folder3 ><br />
ñêîðåå âñåãî, åñòü ñìûñë ÂÎÎÁÙÅ îòêàçàòüñÿ îò âèäåî<br />
è ãðàôèêè, òóëç äëÿ game'èíãà è ò.ä. Åñëè æå ó<br />
òåáÿ íà òà÷êå òîëüêî Linux, òî, ïàðåíü, âî-ïåðâûõ,<br />
ðàçðåøè ïîæàòü òâîþ ìóæåñòâåííóþ ðóêó, à âî-âòîðûõ,<br />
ðåçàòü ÿäðî òåáå ïðèäåòñÿ ñàìóþ ìàëîñòü, ÿ<br />
ïîëàãàþ. Êîðî÷å, êàæäûé äîëæåí ðåøèòü äëÿ ñåáÿ<br />
ñàì. Íî îáùèå ñîâåòû âñå-òàêè ÿ äàì. Âíà÷àëå ÿäðî<br />
íóæíî êàê ìîæíî áîëåå óìåíüøèòü, îñâîáîäèòü îò<br />
âñåãî òîãî, ÷òî ÿâíî íå òðåáóåòñÿ. Èñïîëüçóåì cd<br />
/usr/src/linux; make xconfig (make menuconfig). Äàëåå<br />
ìîæíî ïîëíîñòüþ ïîäñòðîèòü è îïòèìèçèðîâàòü ÿäðî<br />
ïîä ñåáÿ. Âûïîëíÿåì ñëåäóþùåå:<br />
1)  êà÷åñòâå ñåìåéñòâà ïðîöåññîðîâ óñòàíîâèòü<br />
PPro/6x86MX äëÿ Pentium II/III ñèñòåì è ðàçðåøèòü<br />
MTRR äëÿ PentiumPro//II/III.<br />
2) Åñëè ó òåáÿ íå ñåðâåð, òî îáÿçàòåëüíî çàïðåòè<br />
'Advanced Power Management'.<br />
3) Îáÿçàòåëüíî ðàçðåøè èñïîëüçîâàíèå DMA ïî äåôîëòó<br />
(Use DMA be defaults).<br />
4) Ïîñòàâü ïîääåðæêó òîëüêî ñâîåãî ÷èïñåòà, ïîääåðæêó<br />
îñòàëüíûõ ñíîñè ê ÷åðòîâîé ìàòåðè.<br />
5) Óñòàíîâè ìàêñèìàëüíîå ÷èñëî Unix98 PTYs â 128<br />
äëÿ ñòàáèëüíîñòè.<br />
6) Ñíîñè íà ôèã ïîääåðæêó äæîéñòèêîâ, ïîðòîâ äëÿ<br />
èíôðàêðàñíûõ äåâàéñîâ, etc.<br />
7) È, íàêîíåö, çàïðåòè ïîääåðæêó âñåõ íå íóæíûõ<br />
òåáå ñåòåâûõ óñòðîéñòâ. Ìûñëè - òèïà "À ìîæåò ïîíàäîáèòñÿ<br />
â äàëüíåéøåì..." - ïðèáèâàé ñðàçó :). Âîò<br />
êîãäà ïîíàäîáÿòñÿ, òîãäà è ïåðåêîìïèëèøü ÿäðî. À<br />
«ïðî çàïàñ» - ýòî ñòèëü Áèëëè.<br />
8) Òàêæå íåêîòîðûå ìàíüÿêè ìîãóò çàïðåòèòü ïîääåðæêó<br />
âèäåî, äðàéâåðîâ äëÿ çâóêîâûõ êàðò. Íî ýòî<br />
óæå äåëî âêóñà è ëè÷íîé íåîáõîäèìîñòè.<br />
Èíòåðíåò áåç òîðìîçîâ!<br />
Äóìàþ, äëÿ òåáÿ íå ñåêðåò, ÷òî âñå *nix-ñèñòåìû, è<br />
Ëèíóêñ â ÷àñòíîñòè, èäåàëüíî ïîäõîäÿò äëÿ âûõîäà â<br />
ñåòü: âåäü TCP/IP-ïðîòîêîë äëÿ òàêèõ Îñåé - ðîäíîé.<br />
Íî âñå-òàêè, íåñìîòðÿ íà ýòî, ïðåäëàãàþ òåáå îïòèìèçèðîâàòü<br />
è ñêîðîñòü òâîåãî áåñêîíå÷íîãî âûõîäà<br />
â Èíåò. Ëèíóêñ Ëèíóêñîì, íî êà÷åñòâî íàøèõ ðîññèéñêèõ<br />
òåëåôîííûõ ëèíèé îñòàâëÿåò æåëàòü ëó÷øåãî.<br />
Âî-ïåðâûõ, åùå äî ñîåäèíåíèÿ ñ Èíòåðíåòîì<br />
íóæíî âðåìÿ ñàìèõ TCP-ïîäêëþ÷åíèé óìåíüøèòü,<br />
òåì ñàìûõ ïîçâîëèâ ñèñòåìå îáðàáîòàòü áîëüøåå<br />
÷èñëî ñîåäèíåíèé çà òî æå âðåìÿ. Òàêæå ìîæíî<br />
óìåíüøèòü âðåìÿ, êîòîðîå Ëèíóêñ æäåò íà çàêðûòèå<br />
"óñòàðåâøèõ" ñîåäèíåíèé. Âîò ïàðàìåòðû, êîòîðûå<br />
íóæíî ïîäïðàâèòü â Êðîâàâîé Øàïêå (aka RedHat):<br />
tcp_fin_timeout "180"<br />
tcp_keepalive_time "7200"<br />
tcp_window_scaling "1"<br />
tcp_sack "1"<br />
tcp_timestamps "1"<br />
Äëÿ ïðèìåðà âîçüìó 6.1 âåðñèþ Red Hat. ×òîáû èñïðàâèòü<br />
ýòè ïàðàìåòðû â øåëëå, â ñòàòóñå ðóòà, ââåäè:<br />
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout<br />
echo 1800 >/proc/sys/net/ipv4/tcp_keepalive_time<br />
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling<br />
echo 0 > /proc/sys/net/ipv4/tcp_sack<br />
echo 0 > /proc/sys/net/ipv4/tcp_timestamps<br />
Êîíå÷íî, ÷òîáû ýòà êîìàíäà êàæäûé ðàç âûïîëíÿëàñü,<br />
íå çàáóäü äîáàâèòü åå â /etc/rc.d/rc.local .<br />
Òåïåðü ìíå ïðèäåòñÿ íàáèòü òâîþ óìíóþ õàöêåðñêóþ<br />
ãîëîâó íåáîëüøîé òåîðèåé - íå áîéñÿ, ýòî íå äîëãî :).<br />
< Âçëîì>20/02\02<br />
Âîò, âêðàòöå, ÷òî ïðîèñõîäèò, êîãäà òû ïûòàåøüñÿ<br />
çàéòè íà êàêîé-ëèáî ñàéò. Âíà÷àëå òâîé êîìï ïîñûëàåò<br />
çàïðîñ íà ñîåäèíåíèå ñ âûáðàííûì ñàéòîì, êîòîðûé<br />
èìååò îòêðûòûé 80 ïîðò. Çàòåì ïðîâåðÿåòñÿ, íåò<br />
ëè ýòîãî ñàéòà íà òâîåì ñîáñòâåííîì êîìïå èëè òâîåé<br />
ëîêàëêå, ò.å. ñðàâíèâàåòñÿ IP-àäðåñ. Äëÿ ýòîãî ïðîâåðÿåòñÿ<br />
ôàéë /etc/hosts è ëîêàëüíûé ôàéë "nameserver"<br />
â êàòàëîãå /etc/resolv.conf. Åñëè òâîé ñîáñòâåííûé IP è<br />
òîò àäðåñ, ê êîòîðîìó òû õî÷åøü çàêîííåêòèòüñÿ, íå<br />
ñîâïàäàþò, òî êîìïüþòåð, åñòåñòâåííî, íà÷èíàåò êîííåêòèòüñÿ<br />
ê ýòîìó IP. Òàêèì îáðàçîì, "nameserver"<br />
ïðîñòî ïåðåâîäèò www.xxx.com â IP-àäðåñ, ñðàâíèâàÿ<br />
åãî ñî ñâîèìè è äðóãèìè áàçàìè. (Ïîìíèøü, òû óñòàíàâëèâàë<br />
ïåðâè÷íûé è âòîðè÷íûé DNS ïðîâàéäåðà â<br />
íàñòðîéêàõ Âîò îíè è åñòü òå ñàìûå áàçû.) "nameserver"<br />
çàíèìàåò êëþ÷åâîå ìåñòî â ýòîì ïðîöåññå.<br />
Ïîýòîìó ìû ñåé÷àñ ñîòâîðèì ñ íèì ÷òî-íèáóäü òàêîå:<br />
àâîñü è óáûñòðèì ñîåäèíåíèå ñ Èíåòîì! :) Ôèøêà â<br />
òîì, ÷òî ìîæíî ïðîèçâåñòè íåáîëüøóþ ìîäåðíèçàöèþ<br />
ýòîãî ôàéëà è çàñòàâèòü åãî äåëàòü DNS-êåøèðîâàíèå<br />
êî âñåì ïàãàì, êîòîðûå òû ïîñåòèë, ÷òî çàìåòíî<br />
óñêîðèò èõ çàãðóçêó. Èòàê, èäè â /etc/named.conf è<br />
îòðåäàêòèðóé ýòîò ôàéë òàêèì îáðàçîì:<br />
options {<br />
directory "/var/named"; forwarders {<br />
123.123.123.123;<br />
123.123.123.124; };<br />
};<br />
....<br />
Òåì ñàìûì, åñëè ñîçäàñòñÿ ñèòóàöèÿ, ÷òî îäèí IP<br />
íåäîñòóïåí, áóäåò çàãðóæåí ñëåäóþùèé çà íèì è<br />
ò.ä. Íàêîíåö, òåïåðü èçìåíèì ôàéë /etc/resolv.conf ,<br />
ïðîñòî äîáàâèâ ýòè ñòðîêè:<br />
# nameserver 321.321.321.321<br />
nameserver 127.0.0.1<br />
Âòîðàÿ ñòðî÷êà îçíà÷àåò, ÷òî âñå çàïðîñû íå äîëæíû<br />
ïåðåíàïðàâëÿòüñÿ, åñëè ìîãóò áûòü çàãðóæåíû ñ òâîåãî<br />
ëîêàëüíîãî nameserver'a. Ò.å. òû ñòàâèøü âòîðè÷íûì<br />
nameserver-îì ñâîé ñîáñòâåííûé êîìï. Îñòàëîñü<br />
ëèøü ïåðåçàãðóçèòü ñâîé nameserver êîìàíäîé:<br />
killall -HUP named<br />
ÎÊ, ìû ñ òîáîé íàñòðîèëè ñâîé nameserver òàê, ÷òîáû<br />
äåëàëîñü DNS-êåøèðîâàíèå è, ñîîòâåòñòâåííî,<br />
óâåëè÷èâàëàñü ñêîðîñòü çàãðóçêè ñòðàíè÷åê!<br />
Îñòàëîñü ïîãîâîðèòü òîëüêî îá îáùèõ êîìàíäàõ<br />
è ñîâåòàõ, îïèñûâàòü êîòîðûå ïîäðîáíî<br />
ñîâåðøåííî áåññìûñëåííî, íî âûïîëíèòü<br />
èõ íå ïîìåøàåò, îïÿòü-òàêè ñëåäóÿ<br />
ïðèíöèïó «ðåæåì âñå, ÷òî òîðìîçèò ñèñòåìó!»<br />
Âî-ïåðâûõ, âîñïîëüçîâàâøèñü êîìàíäîé<br />
ntsysv, ñíåñè íà ôèã âñå íåíóæíûå çàïóñêàåìûå<br />
âî âðåìÿ çàãðóçêè ïðèëîæåíèÿ.<br />
Âî-âòîðûõ, íå ïîæàëåé äåíåã íà îïåðàòèâêó<br />
è êàìåíü ïîáîëüøå. Ïðîâåðèòü, íàñêîëüêî<br />
ïåðåãðóæåí òâîé ìèëûé ïðîö, ìîæíî êîìàíäîé<br />
sar -q. Åñëè %runocc > 90, à runq-sz > 1,<br />
òî ñ÷èòàé, äðóæèùå, ÷òî òû ïîïàë :), òàê êàê<br />
âñå âûïîëíÿåìûå ïðîöåññû æäóò áîëüøå<br />
âðåìåíè íà âûïîëíåíèå, è, ñëåäîâàòåëüíî,<br />
ÂÑß òâîÿ Îñü ïîäòîðìàæèâàåòñÿ. Ïîýòîìó,<br />
ìîæåò áûòü, ñòîèò ïîäóìàòü î ïîêóïêå êàìíÿ<br />
ïîáûñòðåå.<br />
Íó è, â-òðåòüèõ, áóäü ãèêîì, è âñå<br />
ó òåáÿ áóäåò çàøèáèñü è ïî æèçíè,<br />
è â Ëèíóêñå!<br />
54 Íüþñû 1 Ôåððóì 2 PC_Zone 3 X-Ñòèëü 4 Âçëîì