LXF141:Ответы

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Ответы

Есть вопрос по от­кры­то­му ПО? Пишите нам по адресу answers@linuxformat.ru

1 Как най­ти фай­лы

В По­сле про­чтения ста­тьи м-ра Бэ­ко­на, за­ра­жаю­щей сво­им эн­ту­зи­аз­мом в LXF134,как бы­ло усто­ять пе­ред Getting Things Gnome (GTG)? За­да­ча — как раз для рас­се­ян­но­го ста­ри­ка. Од­на бе­да: я не мо­гу оп­ре­де­лить, в це­лях ре­зерв­но­го ко­пи­ро­вания, где GTG хранит свои дан­ные. Я по­пы­тал­ся ис­кать по шаб­ло­ну *gtg* и кое-ка­кие фай­лы GTG об­на­ру­жил, но ни один из них не был по­хож на поль­зо­ва­тель­ские дан­ные. У ме­ня Ubuntu Lucid/Maverick и Mandriva 2010.1.

george84, с фо­ру­мов

О GTG хранит свои кон­фи­гу­ра­ци­он­ные фай­лы в ка­та­ло­гах ~/.config/gtg, а фай­лы дан­ных – в ка­та­ло­гах ~/.local/share/gtg (~ оз­на­ча­ет Ваш до­машний ка­та­лог). Это стан­дарт­ные ка­та­ло­ги для раз­ме­щения ин­фор­ма­ции о кон­фи­гу­ра­ции и дан­ных, но не все про­грам­мы на­столь­ко хо­ро­шо се­бя ве­дут. Их по­иск с по­мо­щью ls или фай­ло­во­го менед­же­ра мо­жет ока­зать­ся неудач­ным, по­то­му что по умол­чанию ни тот, ни дру­гой не вы­пол­ня­ет по­иск в скры­тых ка­та­ло­гах. Но есть спо­соб на­хо­ж­дения фай­лов, ра­бо­таю­щий прак­ти­че­­ски всегда. За­пусти­те тер­ми­нал и ско­ман­дуй­те

touch now

За­тем за­пусти­те про­грам­му, со­храните ка­кие-нибудь из­менения в ее дан­ных и кон­фи­гу­ра­ции, и за­крой­те ее. Уч­ти­те, что в дан­ном слу­чае ма­ло про­сто свер­нуть зна­чок про­грам­мы в сис­тем­ный ло­ток, так как неко­то­рые про­грам­мы сбра­сы­ва­ют ин­фор­ма­цию на диск толь­ко при фак­ти­че­­ском вы­хо­де. Те­перь вернитесь в ок­но тер­ми­на­ла и дай­те ко­ман­ду:

find ~ -newer now

Пер­вая ко­ман­да соз­да­ет пустой файл с име­нем now. Впро­чем, имя не име­ет зна­чения: мо­жете на­звать файл, как угод­но. Вто­рая ко­ман­да на­хо­дит все фай­лы в Ва­шем до­машнем ка­та­ло­ге, соз­дан­ные или мо­ди­фи­ци­ро­ван­ные позднее фай­ла now (или соз­дан­но­го Ва­ми фай­ла с лю­бым дру­гим именем). По­это­му Вы по­лу­чи­те все, что бы­ло за­пи­са­но изу­чае­мой Ва­ми про­грам­мой. Дан­ный ме­тод не обя­за­тель­но уч­тет ка­ж­дый ис­поль­зо­ван­ный файл, но те фай­лы, ко­то­рые бу­дут об­на­ру­же­ны, да­дут Вам ин­фор­ма­цию о ка­та­ло­гах, где ин­те­ре­сую­щая Вас про­грам­ма хранит свою ин­фор­ма­цию.

За­од­но бу­дут при­хва­че­ны фай­лы, мо­ди­фи­ци­ро­ван­ные дру­ги­ми про­грам­ма­ми, ко­то­рые ра­бо­та­ли в фо­но­вом ре­жи­ме, на­при­мер, Ва­шим менед­же­ром ра­бо­че­го сто­ла. Од­на­ко ло­ги­ка и здра­вый смысл по­мо­гут Вам ото­брать имен­но ту ин­фор­ма­цию, ко­то­рая Вам нуж­на. НБ

2 Об­щий дос­туп к фай­лам

В В мо­ей сис­те­ме я до­воль­но дав­но вы­би­раю для за­груз­ки Peppermint Ice ли­бо Ubuntu Netbook Edition. Мож­но ли на­ла­дить об­мен фай­ла­ми ме­ж­ду ни­ми, и ес­ли да, то как?

demag, с фо­ру­мов

О По умол­чанию при инсталляции обо­их этих ди­ст­ри­бу­ти­вов все уста­новит­ся на од­ну фай­ло­вую сис­те­му, без от­дель­но­го раз­де­ла /home. Но иметь об­щий ка­та­лог в до­машних ка­та­ло­гах обо­их уста­нов­лен­ных ди­ст­ри­бу­ти­вов все же воз­мож­но. Во-пер­вых, Вам нуж­но бу­дет ре­шить, уста­нов­ка ка­ко­го ди­ст­ри­бу­ти­ва бу­дет фак­ти­че­­ски со­дер­жать фай­лы. Пусть это бу­дет Peppermint, про­сто по­то­му, что Вы упо­мя­ну­ли его пер­вым. С этим ди­ст­ри­бу­ти­вом ниче­го осо­бен­но­го де­лать не на­до, про­сто со­храните свои фай­лы в под­хо­дя­щих ка­та­ло­гах внут­ри Ва­ше­го до­машнего ка­та­ло­га: ска­жем, ка­та­ло­гах documents, music и photos. За­тем Вам по­на­до­бит­ся при­мон­ти­ро­вать Ва­шу фай­ло­вую сис­те­му Peppermint в Ubuntu, по­это­му за­гру­зи­те Ubuntu, от­крой­те тер­ми­нал и дай­те ко­ман­ды:

sudo mkdir -p /mnt/peppermint
sudo gedit /etc/fstab

За­тем с по­мо­щью Gedit до­бавь­те сле­дую­щую стро­ку в fstab:

/dev/sda1 /mnt/peppermint ext4 defaults 0 0

Здесь под­ра­зу­ме­ва­ет­ся, что Peppermint Ice уста­нов­лен на /dev/sda1, а так оно и бу­дет, ес­ли пер­вым Вы уста­но­ви­ли имен­но этот ди­ст­ри­бу­тив.

Про­верь­те, что вся кон­фи­гу­ра­ция ра­бо­та­ет, со­хранив файл и ско­ман­до­вав

sudo mount -a
ls /mnt/peppermint

В ре­зуль­та­те Вы долж­ны уви­деть со­дер­жи­мое уста­нов­лен­ной ко­пии Peppermint. Те­перь, что­бы сде­лать ка­та­ло­ги, вло­жен­ные в до­машний ка­та­лог Peppermint, доступ­ны­ми че­рез ка­та­лог home в Ubuntu, дай­те сле­дую­щие ко­ман­ды:

cd
ln -s /mnt/peppermint/home/USER/documents .
ln -s /mnt/peppermint/home/USER/music .
ln -s /mnt/peppermint/home/USER/photos .

Пер­вая ко­ман­да га­ран­ти­ру­ет, что Вы на­хо­ди­тесь в сво­ем до­машнем ка­та­ло­ге. За­тем Вы соз­дае­те сим­во­ли­че­­ские ссыл­ки из ка­ж­до­го ка­та­ло­га, ко­то­рый тре­бу­ет­ся пре­доста­вить в об­щий доступ. Стро­ку USER за­мените Ва­шим именем поль­зо­ва­те­ля в сис­те­ме Peppermint. За­клю­чи­тель­ная точ­ка (.) в ка­ж­дой из пе­ре­чис­лен­ных команд обо­зна­ча­ет те­ку­щий ка­та­лог. Кро­ме то­го, Вы мог­ли бы пре­доста­вить в об­щий доступ толь­ко один ка­та­лог и со­хра­нять ту­да все фай­лы и ка­та­ло­ги, пре­достав­ляе­мые в об­щий доступ. Вы­бор за­ви­сит от Ва­ших ор­ганиза­ци­он­ных пред­поч­тений.

Ва­ши иден­ти­фи­ка­то­ры поль­зо­ва­те­ля [user ID] в обо­их ди­ст­ри­бу­ти­вах долж­ны быть оди­на­ко­вы, что­бы из­бе­жать пу­таницы с пол­но­мо­чия­ми. К сча­стью, с Ва­шей па­рой ди­ст­ри­бу­ти­вов, как и с боль­шин­ст­вом дру­гих, этой про­бле­мы нет, по­то­му что пер­вый поль­зо­ва­тель, соз­дан­ный при уста­нов­ке, всегда по­лу­ча­ет иден­ти­фи­ка­тор 1000.

Не­доста­ток это­го под­хо­да в том, что для по­лу­чения досту­па к фай­лам Вам нуж­но по­сто­ян­но дер­жать на­го­то­ве Ва­шу ин­стал­ля­цию Peppermint. Аль­тер­на­ти­ва – при­менить GParted, что­бы осво­бо­дить неко­то­рое про­стран­ст­во на Ва­шем же­ст­ком дис­ке и соз­дать от­дель­ную фай­ло­вую сис­те­му, ко­то­рую по­сле это­го мож­но бу­дет мон­ти­ро­вать из Ва­ше­го до­машнего ка­та­ло­га в ка­ж­дом ди­ст­ри­бу­ти­ве: ведь фай­ло­вую сис­те­му в Linux мож­но при­мон­ти­ро­вать где угод­но. По­это­му, ес­ли но­вый раз­дел был /dev/sda5 под ext3, до­бавь­те сле­дую­щую стро­ку в файл fstab ка­ж­до­го ди­ст­ри­бу­ти­ва:

/dev/sda5 /home/USER/shared ext3 defaults 0 0

За­тем соз­дай­те в Ва­шем до­машнем ка­та­ло­ге об­щий ка­та­лог, убе­ди­тесь, что он мон­ти­ру­ет­ся, а так­же – что он при­над­ле­жит Ва­ше­му поль­зо­ва­те­лю (что­бы Вы мог­ли пи­сать в него фай­лы). Для это­го ско­ман­дуй­те

mkdir shared
sudo mount -a
sudo chown USER: shared

ПХ

3 Ошиб­ка-об­ман­ка

В Бо­лее 10 лет я пы­тал­ся за­ста­вить Linux ра­бо­тать так, что­бы сис­те­ма ме­ня пол­но­стью удов­ле­тво­ря­ла. На­конец, в этом го­ду я одо­лел по­рог, и сей­час имею че­ты­ре ком­пь­ю­те­ра, ра­бо­таю­щих под управ­лением Mint и PCLinuxOS и спо­соб­ных да­же об­щать­ся друг с дру­гом.

Лет пять я ре­гу­ляр­но чи­таю LXF. Сей­час я являюсь подпис­чиком, и ка­ж­дый ме­сяц на­хо­жу ста­тью или во­прос, как буд­то спе­ци­аль­но на­пи­сан­ные для ме­ня. В LXF139, д-р Бра­ун упо­ми­нал о Meld, а он-то мне и ну­жен. Я хо­чу вы­пол­нять по­фай­ло­вое сравнение раз­де­лов дис­ка, что­бы убе­дить­ся, что дан­ные, пе­ренесен­ные с од­но­го ПК на дру­гой (файл-сер­вер с же­ст­ким дис­ком 1,5 TБ) че­рез NFS, ско­пи­ро­ва­ны точ­но. Я об­на­ру­жил, что моя ко­пия PCLinuxOS не об­ра­ба­ты­ва­ет фай­лы с име­на­ми, которые со­дер­жа­т сим­во­лы фран­цуз­­ско­го ал­фа­ви­та с ди­ак­ри­ти­че­­ски­­ми зна­ка­ми. Кро­ме то­го, я столк­нул­ся с про­бле­ма­ми неустой­чи­вой пе­ре­да­чи че­рез NFS. Про­бле­му эту я в ито­ге ре­шу, но сей­час ме­ня вол­ну­ет дру­гое. Когда я уста­нав­ли­вал Meld че­рез Synaptic, про­грам­ма не за­ра­бо­та­ла, но вы­ве­ла в окне тер­ми­на­ла со­об­щение

‘Meld requires PyGTK 2.8.0 or higher.’ 

При этом, по све­дениям, вы­во­ди­мым Synaptic, уста­нов­ле­на по­след­няя вер­сия па­ке­та PyGTK.

balbkubrox, с фо­ру­мов

О Об этом уже со­об­ща­лось в сис­те­ме сле­жения за ошиб­ка­ми Ubuntu, и в ре­ли­зе 10.10 ошиб­ка ис­прав­ле­на, так что и в Linux Mint 10 про­бле­мы не долж­но быть. Но Вам не обя­за­тель­но об­нов­лять вер­сию, по­сколь­ку эта про­бле­ма – не что иное, как от­сут­ст­вую­щая за­ви­си­мость. Вы ло­гич­но пред­по­ло­жи­ли, что в Ва­шем со­об­щении об ошиб­ке го­во­ри­лось о па­ке­те PyGTK. Но на са­мом де­ле речь шла о мо­ду­ле PyGTK в па­кете python-gobject. Ин­туи­тив­но, а? Ко­ро­че, уста­но­ви­те python-gobject, и Meld за­ра­бо­та­ет.

А ес­ли нет, по­про­буй­те за­пустить про­грам­му из тер­ми­на­ла, а не из ме­ню. Конеч­но, чу­дес­но­го ис­це­ления не про­изой­дет, за­то Вы, ско­рее все­го, запо­лу­чи­те бо­лее ин­фор­ма­тив­ные со­об­щения об ошиб­ках – что по­зво­лит про­сле­дить про­бле­му до ее ис­то­ков, а не го­нять­ся за «при­зра­ка­ми».

Воз­мож­но, Вы пред­поч­те­те поль­зо­вать­ся diff:

diff --quiet --recursive /local/path /remote/path

Эта ко­ман­да сравнива­ет фай­лы, рас­по­ло­жен­­ные в двух ука­зан­ных ка­та­ло­гах, и со­об­ща­ет, ес­ли ка­кие-ли­бо фай­лы от­сут­ст­ву­ют или раз­ли­ча­ют­ся. НБ

4 3G в 3

В У ме­ня име­ют­ся на­столь­ный ПК (1.1‑ГГц Athlon) с Ubuntu, но­ут­бук HP 7070 (Ubuntu), нет­бук Acer Aspire One (UNR) и Mac mini, на нем я со­чи­няю и аран­жи­рую му­зы­ку в Sibelius. К Internet я под­клю­ча­юсь че­рез Vodafone 3G, по­то­му что там, где я жи­ву, ADSL по су­ти непри­год­но.

Мои ком­пь­ю­те­ры так и про­сят­ся в локаль­ную сеть, но мне никак не уда­ет­ся ее на­ла­дить. Сна­ча­ла я по­пы­тал­ся восполь­зо­вать­ся ха­бом 3Com OfficeConnect Ethernet Hub 8, ко­то­рый как раз под­вер­нул­ся мне под ру­ку. Я при­ткнул его к на­столь­но­му ПК с за­пу­щен­ным со­единением 3G и под­клю­чил се­те­вым ка­бе­лем но­ут­бу­ки с Ubuntu, но так и не «уви­дел» ни хаб, ни но­ут­бу­ки. Я не пред­став­ляю, как до­быть ин­тер­фейск 3Com (уст­рой­ст­во мне по­да­ри­ли, не при­ло­жив ни до­ку­мен­та­ции, ни дис­ка), и не мо­гу об­на­ру­жить его с по­мо­щью dmesg.

На­столь­ный ПК Athlon име­ет бес­про­вод­ной адап­тер. Мож­но ли соз­дать локаль­ную сеть, вос­поль­зо­вав­шись одним из двух ва­ри­ан­тов: ли­бо ис­поль­зо­вать ста­рич­ка Athlon как мар­шру­ти­за­тор 3G для под­клю­чения к Internet, а за­тем под­клю­чить но­ут­бу­ки и Mac че­рез 3Com с по­мо­щью се­те­вых ка­бе­лей и ха­ба, ли­бо соз­дать на его осно­ве точ­ку бес­про­вод­но­го досту­па, ко­то­рую но­ут­бук, нетбук и Mac mini смо­гут ис­поль­зо­вать, под­клю­ча­ясь к ней че­рез свои бес­про­вод­ные адап­те­ры? Бу­ду бла­го­да­рен за со­вет, ре­ко­мен­дую­щий са­мый про­стой под­ход для мое­го пар­ка ма­шин.

Джас­пер Кук [Jasper Cook]

О OfficeConnect – ста­рое и криво­ва­тое уст­рой­ст­во; од­но та­кое до сих пор пы­лит­ся у ме­ня на чер­да­ке, где, по­жа­луй, ему и ме­сто. В LXF139/140 мы пуб­ли­ко­ва­ли ру­ко­водство, по­свя­щен­ное на­строй­ке Internet-шлю­за, но там речь шла о ком­пь­ю­те­ре, спе­ци­аль­но вы­де­лен­ном для этой це­ли. Кро­ме то­го, обыч­ный на­столь­ный ПК мож­но при­ме­нять и для пре­достав­ления Internet-под­клю­чения в об­щий доступ ос­таль­ным ком­пь­ю­те­рам се­ти.

Пер­вый шаг – до­бить­ся ра­бо­ты Ва­шей локаль­ной се­ти. Точ­ка бес­про­вод­но­го досту­па по­зво­ля­ет это сде­лать, но ис­поль­зо­вание про­вод­ных со­единений на­мно­го про­ще. Под­клю­чи­те все ком­пь­ю­те­ры к кон­цен­тра­то­ру (для это­го по­дой­дет и OfficeConnect, но стан­дарт­ный Ethernet-ком­му­та­тор бу­дет луч­шим и бо­лее де­ше­вым вы­бо­ром).

Боль­шин­ст­во ОС и ди­ст­ри­бу­ти­вов Linux при ав­то­­ма­ти­че­­ской на­строй­ке се­те­вых со­единений исполь­зу­ют по умол­чанию DHCP, и, воз­мож­но, Ва­ша пер­вая неуда­ча объ­яс­ня­ет­ся от­сут­ст­ви­ем в Ва­шей се­ти сер­ве­ра DHCP. Как го­во­ри­лось в LXF139/140, Вы можете на­стро­ить в ка­че­­ст­ве сер­ве­ра DHCP dnsmasq или на­стро­ить со­единения вруч­ную. На­значь­те всем ком­пь­ю­те­рам IP-ад­ре­са из од­но­го и то­го же диа­па­зо­на – на­при­мер, дай­те на­столь­но­му ПК ад­рес 192.168.1.1, а при при­своении ад­ре­са ка­ж­до­му сле­дую­ще­му ком­пь­ю­те­ру уве­ли­чи­вай­те зна­чение по­следней циф­ры на единицу.

Для мас­ки под­се­ти [netmask] на ка­ж­дом из ком­пь­ю­те­ров ука­жи­те зна­чение 255.255.255.0. Да­лее, на всех ком­пь­ю­те­рах, кро­ме на­столь­но­го, ука­жи­те как ад­рес шлю­за [gateway] ад­рес на­столь­но­го ПК: 192.168.1.1. В ка­че­­ст­ве DNS-сер­ве­ров для ка­ж­до­го ком­пь­ю­те­ра ука­жи­те DNS-серверы Ва­ше­го про­вай­де­ра.

Те­перь ка­ж­дый ком­пь­ю­тер в локаль­ной се­ти дол­жен ви­деть осталь­ные. От­крой­те на ка­ж­дом из них тер­ми­нал и ско­ман­дуй­те:

ping -c 3 192.168.1.1

Ес­ли Вы уви­ди­те:

3 packets transmitted, 3 received, 0% packet loss

то по­ка все в по­ряд­ке. Вы­полнив это, на­строй­те на­столь­ный ПК на пе­ре­на­прав­ление па­ке­тов с дру­гих ком­пь­ю­те­ров. Про­стей­шим ва­ри­ан­том сно­ва бу­дет ис­поль­зо­вание ре­ко­мен­да­ций из ста­тьи про­шло ­гоно­ме­ра. От­ре­дак­ти­руй­те файл /etc/sysctl.conf от имени root, до­ба­вив в файл сле­дую­щую стро­ку:

net.ipv4.ip_forward = 1

Ус­та­но­ви­те Shorewall и ско­пи­руй­те со­дер­жи­мое фай­ла /usr/share/doc/shorewall/Sample/twointerfaces в /etc/shorewall. Там от­ре­дак­ти­руй­те файл interfaces, на­зна­чив eth0 зо­не loc, а Ваш ин­тер­фейс 3G (обыч­но это ин­тер­фейс ppp0) – зо­не net. По­сле пе­ре­за­груз­ки Вы долж­ны по­лу­чить воз­мож­ность вы­хо­да в Internet с лю­бо­го ком­пь­ю­те­ра.

Впро­чем, ис­поль­зо­вание DNS-сер­ве­ров Ва­ше­го ISP не слиш­ком эф­фек­тив­но. По­это­му уста­но­ви­те на Ва­шем на­столь­ном ПК про­грам­му dnsmasq, убе­ди­тесь в том, что она уста­нов­ле­на как сер­вис, стар­тую­щий при за­пуске, и за­тем уста­но­ви­те для ка­ж­до­го из ком­пь­ю­те­ров се­ти ад­рес 192.168.1.1 в ка­че­­ст­ве ад­ре­са DNS-сер­ве­ра. Это оз­на­ча­ет, что кли­ен­ты бу­дут за­пра­ши­вать дан­ные у на­столь­но­го ПК, ко­то­рый бу­дет по­лу­чать и за­по­ми­нать ин­фор­ма­цию от Ва­ше­го про­вай­де­ра. НБ

5 Ext плюс 1

В Ка­ков про­стей­ший спо­соб пе­рей­ти с ext3 на ext4? Я про­чел несколь­ко ру­ко­водств, но все они несколь­ко от­пу­ги­ва­ют. Я ра­бо­таю с Linux Mint, и вско­ре долж­на вый­ти но­вая вер­сия, по­это­му я хо­чу уста­но­вить корневой раз­дел за­но­во, от­фор­ма­ти­ро­вать его под ext4 и объ­я­вить /home как имею­щий тип ext4, но без его пе­ре­фор­ма­ти­ро­вания. Ес­ли это — хо­ро­шая стра­те­гия, то мо­гу ли я сде­лать то же са­мое с мо­им вто­рым дис­ком, ко­то­рый я ис­поль­зую для хранения ви­део и му­зы­ки? Об­ра­ти­те внимание, что я не под­дер­жи­ваю двой­ной за­груз­ки с Windows — я поль­зу­юсь толь­ко Linux — хо­тя и ра­бо­таю в Windows че­рез VirtualBox. Моя те­ку­щая кон­фи­гу­ра­ция та­ко­ва:

sda1 /ext3 applications
sda3 /home ext3 personal data
sdb1 /storage ext3 movies & music
sdb2 /archive ext3 documents etc.

Ал­лан [Allan]

О

Вы мо­же­те объ­я­вить свою фай­ло­вую сис­те­му ext3 как от­фор­ма­ти­ро­ван­ную под ext4 в фай­ле /etc/fstab, что Вы фак­ти­че­­ски и сде­лае­те с ка­та­ло­гом /home, ес­ли бу­де­те дей­ст­во­вать так, как Вы опи­са­ли. Но имей­те в ви­ду, что про­ку в этом не бу­дет. Фай­ло­вая сис­те­ма бу­дет при­мон­ти­ро­ва­на с ис­поль­зо­ванием драй­ве­ра ext4, но по-прежнему останет­ся фай­ло­вой сис­те­мой ext3, и ни од­на из но­вых функ­ций ext4 не ак­ти­ви­зи­ру­ет­ся.

Для пол­но­го пре­об­ра­зо­вания фай­ло­вой сис­те­мы в фор­мат ext4 необ­хо­ди­ма па­ра лишних ша­гов, но пре­ж­де чем вы­пол­нять их, соз­дай­те ре­зерв­ную ко­пию сво­их дан­ных. Про­цесс пре­об­ра­зо­вания безо­па­сен, но всегда есть риск несча­ст­но­го слу­чая – на­при­мер, сбоя пи­тания. Что­бы пре­об­ра­зо­вать Ваш раз­дел /archive, необ­хо­ди­мо сна­ча­ла от­мон­ти­ро­вать его, за­тем пре­об­ра­зо­вать с по­мо­щью tune2fs, удо­сто­ве­рить кор­рект­ность пре­об­ра­зо­вания и оп­ти­ми­зи­ро­вать раз­дел с по­мо­щью fsck, а за­тем сно­ва его при­мон­ти­ро­вать.

umount /dev/sdb2
tune2fs -O extents,uninit_bg,dir_index /dev/sdb2
e2fsck -fpDC0 /dev/sdb2
mount /dev/sdb2/archive

Для про­вер­ки, что фай­ло­вая сис­те­ма при­мон­ти­ро­ва­на как ext4, про­верь­те вы­вод ко­манд mount или df -T:

mount | grep sdb2
df -Th /archive.

За­тем от­крой­те файл /etc/fstab' и за­ме­ни­те стро­ку ext3 стро­кой ext4. Убе­дить­ся в том, что те­перь фай­ло­вая сис­те­ма дей­ст­ви­тель­но име­ет фор­мат ext4, мож­но с по­мо­щью ко­ман­ды dumpe2fs. За­пус­ти­те ее и про­смот­ри­те стро­ку функ­ций фай­ло­вой сис­те­мы – фай­ло­вая сис­те­ма ext4 име­ет функ­цию экс­тен­тов [extent]:

dumpe2fs -h/dev/sdb2

С фай­ло­вы­ми сис­те­ма­ми на /dev/sdb про­де­лать это неслож­но, но про­сто так от­мон­ти­ро­вать / или /home нель­зя, по­это­му за­гру­зи­те ком­пь­ю­тер с Live CD, и тогда Вы смо­же­те вы­полнить опи­сан­ные опе­ра­ции и над эти­ми раз­де­ла­ми. От­мон­ти­ро­вать /home мож­но, но это по­тре­бу­ет до­полнитель­ной ра­бо­ты, при­чем, что­бы от­мон­ти­ро­вать /, Вам в лю­бом слу­чае по­тре­бу­ет­ся за­груз­ка с Live CD. НБ

6 Ко­пи­ро­ва­ние из­да­ли

В У ме­ня есть три сер­ве­ра (Ubuntu, FreeNAS и Windows 2008 Server), и я хо­чу ко­пи­ро­вать фай­лы на сер­вер Ubuntu. Про­бле­ма в том, что сер­ве­ры рас­по­ла­га­ют­ся в раз­ных го­ро­дах. Как мне применить ко­ман­ды Linux, ти­па rsync или cp, че­рез про­то­кол FTP, или, мо­жет быть, есть и дру­гой вы­бор?

Руй Со­уза [Rui Sousa]

О

Про­стей­ший и са­мый безо­пас­ный ме­тод ре­шения Ва­шей за­да­чи – SSH, точнее, ко­ман­ды scp и sftp, вхо­дя­щие в SSH. В про­стей­шем ва­ри­ан­те, оди­ноч­ный файл мож­но ско­пи­ро­вать так:

scp -p user1@server1:/path/to/file user2@server2:/dest/path/

а оди­ноч­ный ка­та­лог – так:

scp -pr user1@server1:/path/to/dir user2@server2:/dest/path/

Как и в ко­ман­де cp, мож­но ука­зать мно­же­ст­во пу­тей, как на локаль­ном, так и на уда­лен­ном хос­те, при­чем по­следний путь трак­ту­ет­ся как пункт на­зна­чения. На ка­ж­дом ком­пь­ю­те­ре дол­жен быть уста­нов­лен па­кет ssh-server, а на сер­ве­рах этот па­кет обыч­но уста­нав­ли­ва­ет­ся по умол­чанию, хо­тя не всегда по умол­чанию ак­ти­ви­зи­ру­ет­ся. На ком­пь­ю­те­рах Windows для взаи­мо­дей­ст­вия с сер­ве­ра­ми SSH мож­но ис­поль­зо­вать PuTTY.

Ес­ли Вы хо­ти­те син­хронизи­ро­вать со­дер­жи­мое ка­та­ло­гов, по­мо­жет ко­ман­да rsync, ко­то­рая ис­поль­зу­ет SSH в ка­че­­ст­ве транс­порт­ной сре­ды по умол­чанию, ес­ли ли­бо ис­точник, ли­бо пункт на­зна­чения на­хо­дят­ся на уда­лен­ном хосте.

rsync -a user1@server1:/path/to/sync/user2@server2:/dest/path/to/sync/

Об­ра­ти­те внимание, что в ко­ман­де rsync важ­ны за­клю­чи­тель­ные сим­во­лы на­клон­ной чер­ты (/) – про­пуск од­но­го или обо­их этих сим­во­лов ме­ня­ет по­ве­дение ко­ман­ды. Па­кет OpenSSH вклю­ча­ет в свой со­став сер­вер SFTP, ак­ти­ви­зи­руе­мый по умол­чанию, когда ра­бо­та­ет сер­вис SSH, так что вме­сто ssh или rsync Вы мо­же­те восполь­зо­вать­ся сво­им лю­би­мым FTP-кли­ен­том или фай­ло­вым ме­нед­же­ром (при усло­вии, что он под­дер­жи­ва­ет SFTP) для пе­ре­хо­да в sftp://user@server/path/to/dir и ко­пи­ро­вания фай­лов в зна­ко­мой сре­де.

Ис­поль­зо­вание ssh, непо­сред­ст­вен­ное ли­бо че­рез rsync или SFTP, оз­на­ча­ет, что при­дет­ся ка­ж­дый раз вво­дить па­роль, при­чем доста­точ­но слож­ный, что­бы по­ме­шать по­пыт­кам взло­ма. SSH обес­пе­чи­ва­ет ау­тен­ти­фи­ка­цию на осно­ве клю­чей, бла­го­да­ря че­му необ­хо­ди­мость в па­ро­ле от­па­да­ет.

На кли­ент­ской ма­шине ско­ман­дуй­те:

ssh-keygen

Со­гла­си­тесь с пред­ло­жен­ным именем. Па­роль­ная фра­за не обя­за­тель­на, и ес­ли Вы не хо­ти­те ее ис­поль­зо­вать, про­сто на­жми­те кла­ви­шу Enter. Од­на­ко сле­ду­ет иметь в ви­ду, что этот под­ход небезо­па­сен, ес­ли кли­ент­ский ком­пь­ю­тер ока­жет­ся взло­ман, по­это­му серь­ез­но по­ду­май­те, пре­ж­де чем при­ме­нять его на пор­та­тив­ном ком­пь­ю­те­ре. В ре­зуль­та­те в ка­та­ло­ге ~/.ssh бу­дут соз­даны два фай­ла, id_ rsa и id_rsa.pub, пред­став­ляю­щие со­бой Ва­ши сек­рет­ный и от­кры­тый клю­чи, со­от­вет­ст­вен­но. До­бавь­те со­дер­жи­мое от­кры­то­го клю­ча в со­став фай­ла .ssh/authorized_keys в до­машнем ка­та­ло­ге нуж­но­го Вам поль­зо­ва­те­ля, что обыч­но под­ра­зу­ме­ва­ет ко­пи­ро­вание клю­ча с по­мо­щью scp, а за­тем за­пуск команд:

cat /path/to/id_rsa.pub >>~/.ssh/authorized_keys
rm/path/to/id_rsa.pub

Не ко­пи­руй­те файл в ка­та­лог .ssh, что­бы не за­пи­сать его по­верх су­ще­ст­вую­щих от­кры­тых клю­чей.

Запо­лу­чив воз­мож­ность ре­ги­ст­ри­ро­вать­ся с по­мо­щью клю­ча, Вы мо­же­те от­ка­зать­ся от ау­тен­ти­фи­ка­ции с по­мо­щью па­ро­лей и, та­ким об­ра­зом, укрепить безо­пас­ность, от­ре­дак­ти­ро­вав /etc/ssh/sshd_config с целью из­менить стро­ку PasswordAuthentication, ко­то­рая, ве­ро­ят­но, за­ком­мен­ти­ро­ва­на, на такую:

PasswordAuthentication no

Ес­ли Вам ну­жен дос­туп к ма­ши­не с пра­ва­ми root, до­бавь­те следующую стро­ку:

PermitRootLogin without-password

Од­на­ко де­лать это нуж­но толь­ко при ре­аль­ной не­об­хо­ди­мо­сти; час­то на­мно­го безо­пас­нее ре­ги­ст­ри­ро­вать­ся в сис­те­ме от име­ни оп­ре­де­лен­но­го поль­зо­ва­те­ля и на­стро­ить ко­ман­ду sudo так, что­бы она разреша­ла поль­зо­ва­те­лям за­пус­кать от име­ни root лю­бые нуж­ные им ко­ман­ды.

Еще бо­лее под­роб­ная ин­фор­ма­ция об SSH, урок из LXF119. НБ

7 Не сор­ти­ру­ет­ся

В У ме­ня про­бле­ма с сор­ти­ров­кой фай­ла. Файл со­дер­жит око­ло 10000 строк, и все они раз­ные — раз­ное ко­ли­че­­ст­во по­лей, раз­ные дли­ны, и т. д., с един­ст­вен­ным ис­клю­чением: в ка­ж­дой стро­ке в по­зи­ции 88 сто­ит ли­бо +, ли­бо -. Мож­но ли вы­полнить сор­ти­ров­ку по это­му сим­во­лу? Я про­бо­вал ко­ман­ду sort -k, но, по­хо­же, по­зи­ция, ко­то­рую она принима­ет, за­ви­сит от по­лей за­пи­си и, воз­мож­но, от по­зи­ции сим­во­ла внут­ри по­ля. Я не очень-то понимаю, что та­кое «по­ле», но пред­по­ла­гаю, что оно свя­за­но с наличием сим­во­ла про­бе­ла. В этом смыс­ле по­зи­ция 88 не всегда име­ет один и тот же но­мер по­ля. Нель­зя ли дать ука­зание ко­ман­де по­ис­ка рас­смат­ри­вать всю стро­ку как еди­ное по­ле?

Джой С [Joey C]

О Для па­ра­мет­ра -k ко­ман­ды sort ка­ж­дая стро­ка раз­би­ва­ет­ся на неко­то­рое ко­ли­че­­ст­во по­лей, раз­де­лен­ных кон­крет­ным сим­во­лом. Раз­де­ли­те­лем по умол­чанию счи­та­ет­ся лю­бой про­бел, так что ко­ман­да sort -k N бу­дет вы­пол­нять сор­ти­ров­ку по N-му сло­ву ка­ж­дой стро­ки. Су­дя по Ва­ше­му опи­санию, ко­ли­че­­ст­во и дли­на слов в стро­ках раз­лич­ны. Фо­кус в дан­ном слу­чае за­клю­ча­ет­ся в пе­ре­оп­ре­де­лении раз­де­ли­те­ля по­лей та­ким об­ра­зом, что­бы этот сим­вол ли­бо во­об­ще не встре­чал­ся в стро­ке, ли­бо, по крайней ме­ре, встре­чал­ся бы не ранее то­го сим­во­ла, по ко­то­ро­му вам нуж­на сор­ти­ров­ка. Здесь непло­хим вы­бо­ром бу­дет сим­вол пе­ре­во­да стро­ки [line feed], по­то­му что он встре­ча­ет­ся толь­ко в кон­це стро­ки, и, та­ким об­ра­зом, ка­ж­дая стро­ка бу­дет рас­смат­ри­вать­ся как еди­ное по­ле.

Для этой це­ли при­ме­ня­ет­ся ар­гу­мент -t или --fieldseparator, так что Вы мо­же­те вос­поль­зо­вать­ся од­ной из сле­дую­щих ко­манд:

sort --field-separator=”\n” --key=1.88
sort -t \n -key 1.88

Обе вы­пол­ня­ют сор­ти­ров­ку по 88-му сим­во­лу ка­ж­дой стро­ки. НБ

8 Раз­ре­ше­ние SiS

В У ме­ня Ubuntu 8.10 на но­ут­бу­ке Novatech. Он име­ет 15,4‑дюй­мо­вый монитор и гра­фи­че­­ский адап­тер SiS Mirage 3 (чип­сет 671/771), для ко­то­ро­го рань­ше я мог уста­но­вить раз­ре­шение не вы­ше 800 × 600. Про­шту­ди­ро­вав фо­ру­мы, я на­шел Deb-файл спе­ци­аль­но для чип­­се­та 671/771 и Ubuntu 8.10. Это ре­ши­ло мою про­бле­му, но я хо­чу пе­рей­ти на 10.10, и опять по­лу­чу раз­ре­шение не вы­ше 800 × 600. SiS ника­кой по­мо­щи не пре­достав­ля­ет, и мне не най­ти для Ubuntu 10.10 ре­шения, по­доб­но­го вы­ру­чив­ше­му ме­ня с ре­ли­зом 8.10. Нет ли спо­со­ба по­лу­чить на но­ут­бу­ке Novatech ра­зум­ное эк­ран­ное раз­ре­шение для Ubuntu 10.10?

Крис Хо­ар [Chris Hoare]

О Эти дво­ич­ные ре­ли­зы драй­ве­ров – ис­точник го­лов­ной бо­ли, по­то­му что дво­ич­ный ин­тер­фейс при­ло­жений [Application Binary Interface, ABI] X.org ме­ня­ет­ся доста­точ­но час­то. То есть драй­вер, cкомпилированный для кон­крет­ной вер­сии, обыч­но не ра­бо­та­ет с дру­ги­ми.

Мы оты­ска­ли драй­ве­ры, ском­пи­ли­ро­ван­ные для вер­сии X.org, по­став­ляе­мой с Ubuntu 10.10, на сай­те http://ajoliveira.com/ajoliveira/uk/software/xorg.php, и вклю­чи­ли их в раз­дел System со­про­во­ди­тель­но­го дис­ка, что­бы га­ран­ти­ро­вать Вам их по­лу­чение.

Итак, начните с рас­па­ков­ки со­от­вет­ст­вую­ще­го tar-ар­хи­ва (ли­бо 32‑, ли­бо 64‑раз­ряд­ной вер­сии), и пе­ре­мес­ти­те фай­лы sis671_drv.la и sis671_drv.la в ка­та­лог /usr/lib/xorg/modules/drivers. Ес­ли у Вас есть файл /etc/X11/xorg.conf, от­крой­те его для ре­дак­ти­ро­вания от имени root и до­бавь­те та­кую стро­ку в раз­дел Device:

Driver “sis671”

Ес­ли у Вас нет фай­ла xorg.conf, соз­дай­те его в сво­ем лю­би­мом ре­дак­то­ре и до­бавь­те в не­го сле­дую­щие стро­ки:

Section “Device”
  Identifier “SiS 671 Video Device”
  Driver “sis671”
EndSection

Это за­ста­вит X пе­рей­ти на толь­ко что уста­нов­лен­ный Ва­ми драй­вер, оста­вив ав­то­ма­ти­че­­ски оп­ре­де­лен­ные на­строй­ки для все­го осталь­но­го. Ес­ли по­сле пе­ре­за­груз­ки картинка на эк­ране бу­дет ис­ка­же­на, мо­жет по­тре­бо­вать­ся ис­клю­чить за­груз­ку мо­ду­ля кад­ро­во­го бу­фе­ра [framebuffer mo­dule], так как он мо­жет кон­флик­то­вать с драй­ве­ром SiS. Это де­ла­ет­ся сле­дую­щи­ми ко­ман­да­ми, дан­ны­ми в тер­ми­на­ле:

echo blacklist vga16fb | sudo tee/etc/modprobe.d/blacklist-vga16fb.conf
sudo update-initramfs -u ‘all’

Вновь пе­ре­за­гру­зи­тесь, и на сей раз все долж­но быть хо­ро­шо. Уч­ти­те, что здесь мы ис­поль­зо­ва­ли ко­ман­ду tee, по­то­му что стан­дарт­ное пе­ре­на­прав­ле­ние обо­лоч­ки ра­бо­та­ет не так, как Вы мог­ли бы ожи­дать от ко­ман­ды, ис­поль­зуе­мой с sudo.МС

9 Не­боль­шой web-сер­вер

В До­ма у ме­ня есть неболь­шой сер­вер, ко­то­рый, по­ми­мо про­че­го, слу­жит и сер­ве­ром MythTV. Мне нуж­но за­пускать ряд web-при­ло­жений на PHP, на­при­мер, MythWeb и PHPMyAdmin, и тут тре­бу­ет­ся Apache. Мо­жет, это и непло­хой web-сер­вер, но он яв­но пре­восхо­дит мои по­треб­но­сти. Нет ли web-сер­ве­ра по­лег­че?

Пол Томп­сон [Paul Thompson]

О Хо­тя Apache – флаг­ман сре­ди сер­ве­ров Open Source, он тя­же­ло­ве­сен, и это от­нюдь не един­ст­вен­ный ва­ри­ант. Об­лег­чен­ные сер­ве­ры выручают не толь­ко неболь­шие се­ти: их применяют и YouTube, и Wikipedia.

Хо­ро­ший вы­бо­р для Вас – сер­вер Cherokee: он от­но­си­тель­но лег­ко­ве­сен и снаб­жен ин­ст­ру­мен­та­ри­ем на­строй­ки с гра­фи­че­­ским ин­тер­фей­сом. Для ав­то­ном­ного сер­ве­ра [headless server] такой ин­тер­фейс мо­жет по­ка­зать­ся стран­ным, но это – web-сер­вер, и ин­тер­фейс на ба­зе брау­зе­ра яв­ля­ет­ся хо­ро­шей иде­ей. Ус­та­но­ви­те Cherokee с ре­по­зи­то­ри­ев Ва­ше­го ди­ст­ри­бу­ти­ва, за­тем в тер­ми­на­ле ско­ман­дуй­те cherokee-admin – от имени root или че­рез ко­ман­ду sudo. Вы­ве­дет­ся URL (http://localhost:9090), имя поль­зо­ва­те­ля и од­но­ра­зо­вый па­ро­ль для ре­ги­ст­ра­ции. Но та­ким спо­со­бом мож­но под­клю­чать­ся толь­ко с од­но­го ком­пь­ю­те­ра. Что­бы про­грам­ма cherokee-admin про­слу­ши­вала всех се­те­вые ин­тер­фей­сы, до­бавь­те оп­цию -b, или мож­но до­ба­вить се­те­вой ад­рес од­но­го из ин­тер­фей­сов, ес­ли Ваш сер­вер име­ет несколь­ко се­те­вых адап­те­ров, на­при­мер:

sudo cherokee-admin -b 192.168.1.2

Ис­поль­зо­вание оп­ции -b по­зво­ля­ет уста­нав­ли­вать со­единение от­ку­да угод­но, по­это­му убе­ди­тесь, что Ваш мар­шру­ти­за­тор не пе­ре­на­прав­ля­ет порт 9090 на сер­вер. До­маш­няя страница на­строй­ки по­зво­ля­ет оста­нав­ли­вать и за­пускать сер­вер, ото­бра­жа­ет ин­фор­ма­цию о нем и пре­достав­ля­ет ссыл­ки на техниче­­скую под­держ­ку.

На­строй­ки по умол­чанию хо­ро­ши для ста­ти­че­­ских сай­тов, об­слу­жи­вае­мых из до­ме­на по умол­чанию, но нужные Вам при­ло­жения PHP по умол­чанию не ак­ти­ви­ро­ваны. По­это­му пе­рей­ди­те на вклад­ку Behaviour в раз­де­ле vServers и щелкните по оп­ции Rule Management, на­жми­те кноп­ку со знач­ком + в верхней час­ти ле­вой пане­ли, щелкните по оп­ции Languages, вы­бе­ри­те PHP и на­жми­те кноп­ку Add. Ес­ли Вам пред­ло­жат вве­сти путь к корнево­му до­ку­мен­ту [Document Root path], оставь­те это по­ле пустым, приняв на­строй­ку сер­ве­ра по умол­чанию. Вы уви­ди­те страницу с на­строй­ка­ми – в основ­ном их мож­но оста­вить по умол­чанию. На­жми­те кноп­ку Save, пе­ре­за­пус­ти­те сер­вер, и смо­же­те за­гру­жать страницы PHP.

На­строй­ка про­чих ас­пек­тов Cherokee то­же про­ста. На­при­мер, для уста­нов­ки вир­ту­аль­но­го сер­ве­ра для об­слу­жи­вания из дру­го­го ка­та­ло­га, ес­ли Вы под­клю­чае­тесь с дру­гим именем хоста, пе­рей­ди­те в раз­дел vServers и щелкни­те по кноп­ке + над спи­ском Virtual Servers, или вы­бе­ри­те оп­цию default и на­жми­те кноп­ку Clone спра­ва от кноп­ки +. Соз­да­ст­ся ко­пия на­бо­ра на­стро­ек по умол­чанию, где мо­жно из­менить необ­хо­ди­мые па­ра­мет­ры вруч­ную. Обыч­но это па­ра­мет­ры ServerID и Document root на вклад­ке Basics и вклад­ка HostMatch, где ука­зы­ва­ет­ся, ка­кие име­на хостов бу­дут ис­поль­зо­вать этот вир­ту­аль­ный сер­вер. Для оди­ноч­но­го име­ни хос­та мо­жно ус­та­но­вить зна­че­ние Server ID, без вся­кой до­пол­ни­тель­ной на­строй­ки. Аль­тер­на­ти­ва – ука­зать ре­гу­ляр­ное вы­ра­же­ние. Раз это не кон­крет­ное имя, example.com бу­дет со­от­вет­ст­во­вать и www.example.com, и foo.example.com. ГМ

Шаг за шагом: Ус­та­нов­ка Cherokee

Шаг 1

  • 1 За­пуск admin
Из тер­ми­на­ла за­пусти­те ко­ман­ду cherokee-admin и об­ра­ти­те внимание на од­но­ра­зо­вый па­роль, ко­то­рым она снаб­жа­ет вас для ре­ги­ст­ра­ции.

Шаг 2

  • 2 Ре­ги­ст­ра­ция в admin
Это ок­но вы уви­ди­те при ре­ги­ст­ра­ции на сер­ве­ре че­рез cherokee-admin; знач­ки в вер­ху эк­ра­на со­от­вет­ст­ву­ют основ­ным об­лас­тям кон­фи­гу­ра­ции.

Шаг 3

  • 3 Это ра­бо­та­ет?
За­пусти­те сер­вер и под­клю­чи­тесь к нему, не ис­поль­зуя порт 9090, и вы уви­ди­те это. Ви­ди­те то же самое и по­сле за­груз­ки ин­фор­ма­ци­он­но­го на­полнения? Про­верь­те на­строй­ки.

Шаг 4

  • 4 Ак­ти­ви­за­ция PHP
Cherokee по умол­чанию не об­ра­ба­ты­ва­ет сай­ты, ис­поль­зую­щие PHP, но ак­ти­ви­зи­ро­вать эту оп­цию или .NET доста­точ­но про­сто че­рез vServers > Rule Management.

Шаг 5

  • 5 Вир­ту­аль­ные сер­ве­ры
На­строй­ка вир­ту­аль­но­го сер­ве­ра столь же про­ста. На­жми­те кноп­ку с +, из­мените па­ру на­стро­ек, а для всех про­чих па­ра­мет­ров сго­дят­ся зна­чения по умол­чанию.

Шаг 6

  • 6 Это ра­бо­та­ет!
Как ви­ди­те, Cherokee об­слу­жи­ва­ет PHPMyAdmin во всей кра­се, и все, что для это­го по­на­до­би­лось – лишь несколь­ко щелч­ков мы­шью.

Часто задаваемые вопросы. Шиф­ро­ва­ние дан­ных

  • За­чем мне шиф­ро­вать мои фай­лы? Мне не­че­го скры­вать.
Ой ли? Вы не хра­ни­те на сво­ем ком­пь­ю­те­ре но­ме­ра сче­тов? И ни од­но из ва­ших поч­то­вых со­об­ще­ний не со­дер­жит кон­фи­ден­ци­аль­ной ин­фор­ма­ции – на­при­мер, па­ро­лей или под­твер­жде­ний тран­зак­ций?
  • Хм, по­жа­луй. Но как мне то­гда их обезо­па­сить?
Мож­но за­шиф­ро­вать от­дель­ные фай­лы, на­при­мер, при посредстве GnuPG. Со­дер­жи­мое этих фай­лов бу­дет не­до­ступ­ным, по­ка вы не рас­шиф­руе­те его с по­мо­щью па­роль­ной фра­зы. GnuPG – это GPL-аналог Pretty Good Privacy, про­грам­мы, ко­то­рая фак­ти­че­ски яв­ля­ет­ся стан­дар­том в шиф­ро­ва­нии фай­лов.
  • Что-то мно­го мо­ро­ки. Нет ли спо­со­ба по­про­ще?
Есть: за­шиф­ро­ван­ная фай­ло­вая сис­те­ма. Она ав­то­ма­ти­че­ски шиф­ру­ет все дан­ные, ко­то­рые вы за­пи­сы­вае­те на нее, и рас­шиф­ро­вы­ва­ет их при чте­нии. Надо толь­ко за­дать па­роль при мон­ти­ро­ва­нии фай­ло­вой сис­те­мы. Ес­ли ваш но­ут­бук по­те­ря­ет­ся или его ук­ра­дут, ни­кто не про­чтет со­дер­жи­мое за­шиф­ро­ван­ной фай­ло­вой сис­те­мы – обыч­но это бы­ва­ет /home.
  • По­че­му толь­ко /home, раз­ве нель­зя за­шиф­ро­вать все?
Нет, по­то­му что то­гда вы не смо­же­те за­гру­зить ПО, не­об­хо­ди­мое для мон­ти­ро­ва­ния за­шиф­ро­ван­но­го раз­де­ла, хо­тя, пред­при­няв оп­ре­де­лен­ные уси­лия, вы мо­же­те за­шиф­ро­вать все, кро­ме /boot. Впро­чем, в шиф­ро­ва­нии сис­тем­ных ка­та­ло­гов осо­бо­го смыс­ла нет.
  • Су­ще­ст­ву­ют ли дру­гие об­лас­ти, о ко­то­рых сле­ду­ет по­за­бо­тить­ся?
Хо­ро­шей иде­ей бу­дет шиф­ро­ва­ние /tmp, ес­ли толь­ко вы не поль­зуе­тесь tmpfs, по­сколь­ку при этом со­дер­жи­мое дан­но­го ка­та­ло­га все рав­но те­ря­ет­ся при от­клю­че­нии пи­та­ния. То же ка­са­ет­ся и /var/tmp и swap.
  • Ка­кие ва­ри­ан­ты у ме­ня есть?
Их не­сколь­ко. В яд­ро Linux уже вклю­чен мо­дуль dm-crypt. Его мож­но при­ме­нять для соз­да­ния пол­но­стью за­шиф­ро­ван­ных фай­ло­вых сис­тем. Су­ще­ст­ву­ет ряд про­грамм, пред­на­зна­чен­ных для под­клю­че­ния та­ких фай­ло­вых сис­тем и управ­ле­ния ими, на­при­мер, LUKS (Linux Unified Key Setup). Аль­тер­на­ти­ва – ecryptfs, шиф­рую­щая от­дель­ные фай­лы, их име­на и со­дер­жи­мое. Этот под­ход чуть ме­нее на­де­жен, по­то­му что раз­ме­ры фай­лов и пра­ва дос­ту­па к ним по-преж­не­му ос­та­ют­ся ви­ди­мы­ми, но за­то он удоб­нее.
  • А что с ре­зерв­ным ко­пи­ро­ва­ни­ем?
Ес­ли вы за­шиф­руе­те всю фай­ло­вую сис­те­му, по­тре­бу­ет­ся при­мон­ти­ро­вать ее, что­бы по­лу­чить дос­туп к фай­лам с це­лью их ре­зерв­но­го ко­пи­ро­ва­ния. Ес­ли вы хо­ти­те за­щи­тить ре­зерв­ные ко­пии, поль­зуй­тесь GPG. Ес­ли вы поль­зуе­тесь encfs, то са­ма фай­ло­вая сис­те­ма яв­ля­ет­ся стан­дарт­ной, но фай­лы, ко­то­рые в ней со­дер­жатся, вы­гля­дят как му­сор. Мож­но при­ме­нять лю­бую про­грам­му ре­зерв­но­го ко­пи­ро­ва­ния для со­хра­не­ния ко­пий этих фай­лов, и они бу­дут уже за­шиф­ро­ва­ны. Это мо­жет быть по­лез­но, ес­ли вы хо­ти­те хра­нить ре­зерв­ные ко­пии на уда­лен­ном сер­ве­ре.
  • Спасет ли это меня, ес­ли я по­те­ряю но­ут­бук?
Нет, ес­ли но­ут­бук ос­тав­лен в жду­щем ре­жи­ме с при­мон­ти­ро­ван­ной фай­ло­вой сис­те­мой. Encfs име­ет оп­цию ав­то­ма­ти­че­ско­го от­мон­ти­ро­ва­ния фай­ло­вой сис­те­мы, ес­ли она оп­ре­де­лен­ное вре­мя не ис­поль­зу­ет­ся, но толь­ко для слу­чая, ко­гда не от­крыт ни один файл. Ес­ли вы при­ме­няе­те dm-crypt для шиф­ро­ва­ния це­лых раз­де­лов, та­ких как /home, необ­ходимо вый­ти из сис­те­мы и от­мон­ти­ро­вать /home пе­ред тем, как пе­ре­во­дить ком­пь­ю­тер в ре­жим ожи­да­ния. У вас долж­на быть воз­мож­ность сде­лать это с по­мо­щью скрип­тов, ис­поль­зуе­мых ва­шей сис­те­мой пе­ре­во­да ком­пь­ю­те­ра в жду­щий ре­жим.

Крат­кая справ­ка про… MD5

Ес­ли вы за­гру­жа­ли ISO-об­ра­зы раз­лич­ных ди­ст­ри­бу­ти­вов, то мог­ли ви­деть по соседству с ISO-фай­ла­ми фай­лы с име­на­ми ти­па cooldistro1.0.iso.md5, и, воз­мож­но, ди­ви­лись: за­чем они? А это сум­мы MD5 – 128-бит­ный крип­то­гра­фи­че­ский хэш со­дер­жи­мо­го фай­ла. Один и тот же файл все­гда ге­не­ри­ру­ет од­ну и ту же сум­му, но сто­ит из­ме­нить в нем все­го один бит, и сум­ма ста­нет со­вер­шен­но иной.

MD5 был пер­во­на­чаль­но раз­ра­бо­тан для обес­пе­че­ния безо­пас­но­сти, но сей­час так же час­то ис­поль­зу­ет­ся для про­вер­ки слу­чай­но­го по­вре­ж­де­ния во вре­мя пе­ре­да­чи. При за­груз­ке ISO-об­раза, ска­чай­те за­од­но и файл MD5. Не был ли файл по­вре­ж­ден, про­ве­рит ко­ман­да

md5sum cooldistro1.0.iso

Она долж­на вер­нуть ту же стро­ку ше­ст­на­дца­те­рич­ных сим­во­лов, что хра­нит­ся в cooldistro1.0.iso.md5. Ко­неч­но, руч­ное сли­че­ние 128-бит­ных ше­ст­на­дца­те­рич­ных чи­сел друг с дру­гом – не са­мое при­ят­ное за­ня­тие, осо­бен­но ес­ли фай­лов ска­ча­но мно­го; пусть за нас это сде­ла­ет ма­ши­на:

md5sum --check cooldistro1.0.iso.md5

Эта ко­ман­да по­ка­жет, сов­па­да­ют кон­троль­ные сум­мы или нет. MD5-файл мо­жет со­дер­жать кон­троль­ные сум­мы не­сколь­ких фай­лов. На­при­мер, ис­ход­ные тек­сты Gnome со­сто­ят из мно­же­ст­ва фай­лов, а их сум­мы MD5 за­пи­са­ны в од­ном. По при­ня­то­му со­гла­ше­нию, этот файл на­зы­ва­ет­ся MD5SUMS. Мож­но за­гру­зить все не­об­хо­ди­мые вам фай­лы и про­ве­рить их за один раз:

md5sum -c MD5SUMS

Кро­ме то­го, мож­но соз­дать файл MD5SUMS:

ms5sum *.iso >MD5SUMS

SHA1-фай­лы ра­бо­та­ют по ана­ло­гич­но­му прин­ци­пу, но с не­сколь­ко бо­лее вы­со­ким уров­нем безо­пас­но­сти. Прин­цип тот же, как и син­так­сис, но ис­поль­зу­ют­ся про­грам­мы sha1sum и sha256sum.

Тер­ми­на­лы и су­пер­поль­зо­ва­те­ли

Мы час­то пред­ла­га­ем ре­ше­ние в ви­де ко­манд, вво­ди­мых в тер­ми­на­ле. Хо­тя обыч­но то же са­мое мож­но вы­пол­нить и че­рез гра­фи­че­ские ин­ст­ру­мен­ты, вхо­дя­щие в со­став ди­ст­ри­бу­ти­ва, от­ли­чия ме­ж­ду эти­ми ин­ст­ру­мен­та­ми оз­на­ча­ют, что та­кие ре­ше­ния бу­дут уз­ко спе­ци­фич­ны­ми. Ко­ман­ды тер­ми­на­ла го­раз­до бо­лее гиб­кие и ра­бо­та­ют во всех ди­ст­ри­бу­ти­вах.

Ко­ман­ды на­строй­ки сис­те­мы час­то долж­ны за­пус­кать­ся от име­ни су­пер­поль­зо­ва­те­ля (superuser или root). В за­ви­си­мо­сти от ва­ше­го ди­ст­ри­бу­ти­ва, есть два спо­со­ба сде­лать это. Мно­гие ди­ст­ри­бу­ти­вы – в ча­ст­но­сти, Ubuntu и его про­из­вод­ные – тре­бу­ют пред­ва­рять та­кие ко­ман­ды пре­фик­сом sudo. По­сле это­го поль­зо­ва­те­лю пред­ла­га­ет­ся вве­сти па­роль, и сис­те­ма вы­да­ет ему пол­но­мо­чия root, дей­ст­вую­щие на вре­мя вы­пол­не­ния ко­ман­ды. Дру­гие ди­ст­ри­бу­ти­вы ис­поль­зу­ют пре­фикс su, при­ме­не­ние ко­то­ро­го тре­бу­ет вво­да па­ро­ля root и да­ет пол­ные пра­ва root до тех пор, по­ка поль­зо­ва­тель не вве­дет ко­ман­ду logout или exit. Ес­ли ваш ди­ст­ри­бу­тив ис­поль­зу­ет su, вы­пол­ни­те эту ко­ман­ду один раз, и по­том смо­же­те вы­пол­нять лю­бую ко­ман­ду, не пред­ва­ряя ее пре­фик­сом sudo.

К сожалению авторы дают неверное сильноупрощенное объяснение по командам su и sudo. Это вовсе не префиксы, а две отдельные команды совершенно различного назначения присутвующие в ЛЮБОМ (да да, и в Ubuntu тоже есть обе) дистрибутиве. Назначение команды su user запуск оболочки от имени указанного пользователя, и если он опущен то это root. Назначение же команды sudo команда это выполнение команды от имени другого пользователя (опять же если опущено то это тот пользователь, который определен для этой команды в файле /etc/sudoers. Кажется что разницы нет, однако она есть и существенная, а подробности читайте в man каждой из команд.

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию