Журнал LinuxFormat - перейти на главную

LXF161:Вопросы и ответы

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


Содержание

Ответы

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

В этом месяце мы ответим на вопросы про...

  • 1 Ав­то­ма­ти­за­цию сер­фин­га
  • 2 Ути­ли­ту для про­вер­ки ор­фо­гра­фии Enchant
  • 3 Ре­зерв­ное ко­пи­ро­ва­ние с rsync
  • 4 За­груз­чик Grub
  • 5 Груп­по­вое пе­ре­име­но­ва­ние фай­лов JPEG
  • 6 Опе­ра­ци­он­ные сис­те­мы

1 Ав­то­сер­финг

В На ра­бо­те мне, как и мно­гим дру­гим, при­хо­дит­ся клас­си­фи­ци­ро­вать, сравнивать, из­вле­кать и про­ве­рять длин­ные фай­лы с ар­ти­ку­ла­ми, ко­ли­че­­ст­вом, це­на­ми и дру­ги­ми ат­ри­бу­та­ми. Мне уже уда­лось уп­ро­стить и уско­рить неко­то­рые из этих дей­ст­вий пу­тем уста­нов­ки Cygwin и за­пуском вся­ких скрип­тов на Python и Bash. Но я по-прежнему тра­чу мас­су вре­мени на по­лу­чение дан­ных с обыч­но мед­лен­ных сер­ве­ров баз дан­ных че­рез web-ин­тер­фейс. По­ка я не при­ду­мал, как ав­то­ма­ти­че­­ски под­клю­чить­ся к HTTP-странице, ау­тен­ти­фи­ци­ро­вать­ся, щелк­нуть по нуж­ным ссыл­кам, за­полнить тек­сто­вые по­ля и, на­конец, вер­нуть дан­ные, по­лу­чен­ные в от­вет от сер­ве­ра.

Боль­шин­ст­во web-ин­тер­фей­сов основ­но­го сер­ве­ра ра­бо­та­ют на Java 1.6, и я не мо­гу на­пря­мую из­менить код страницы. Нет ли от­кры­тых про­грамм, спо­соб­ных как-то за­пи­сать мои пе­ре­хо­ды по ссыл­кам и пре­об­ра­зо­вать их в ре­дак­ти­руе­мый мак­рос, про­сто вы­зва­ем­ый из скрип­та Bash или Python, что­бы мне не при­хо­ди­лось вруч­ную от­кры­вать брау­зер и вы­пол­нять ты­ся­чи по­втор­ных ко­пи­ро­ваний и вста­вок?

Ло­ран [Laurent]

O Вы не ска­за­ли, пы­та­лись ли под­клю­чить­ся к ба­зе дан­ных на­пря­мую, хо­тя мно­гие ба­зы дан­ных, доступ­ные че­рез web-ин­тер­фейс, бло­ки­ру­ют лю­бые по­пыт­ки досту­па, ис­хо­дя­щие не от web-сер­ве­ра. Ес­ли API для досту­па к ба­зе дан­ных из скрип­та нет, мож­но при­менить про­грам­му для за­пи­си мак­ро­са, хо­тя web-ди­зайнеры име­ют склон­ность пе­ре­ме­щать все с мес­та на ме­сто во имя про­грес­са (или для ими­та­ции ки­пу­чей дея­тель­но­сти?).

Вам дол­жен по­дой­ти мо­дуль рас­ши­рения iMacros для Chrome и Firefox (и для IE, ес­ли дру­го­го вы­хо­да нет). Вер­сия для Chrome пока на ста­дии бе­та, по­это­му луч­ше восполь­зо­вать­ся этим мо­ду­лем в Firefox. По­сле уста­нов­ки до­полнения зай­ди­те на web-страницу, на­жми­те на кноп­ку iMacros на панели ин­ст­ру­мен­тов, что­бы от­крыть его панель, а затем на кноп­ку Rec [Запись].

Вы­полните необ­хо­ди­мые дей­ст­вия и на­жми­те Stop [Ос­та­нов­ка]. Те­перь очи­сти­те вклад­ку или пе­рей­ди­те на дру­гой сайт и на­жми­те Play [Воспро­из­ве­сти] в панели iMacros – и Вы долж­ны уви­деть по­втор сво­их дей­ст­вий.

Мо­дуль не толь­ко за­пи­сы­ва­ет мак­ро­сы – по­сле за­пи­си их мож­но ре­дак­ти­ро­вать и встраи­вать в скрип­ты, что­бы об­ра­бо­тать по­лу­чен­ную с их по­мо­щью ин­фор­ма­цию да­лее в скрип­те. Де­та­ли за­ви­сят от то­го, что имен­но нуж­но сде­лать, но на сай­те iMacros www.iopus.com/imacros/firefox на ви­ки и фо­ру­мах мож­но накопать мас­су при­ме­ров и справ­ку.

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

2 Lyx-ча­ровник

В У ме­ня про­бле­ма с про­вер­кой ор­фо­гра­фии в тек­сто­вом про­цес­со­ре Lyx. Я поль­зу­юсь им в Ubuntu 11.10, но про­вер­ка ор­фо­гра­фии в ре­дак­то­ре недоступ­на. Я по­пы­тал­ся ак­ти­ви­ро­вать ее че­рез ме­ню Tools > Preferences [Ин­ст­ру­мен­ты > На­строй­ки]. По­яв­ля­ет­ся толь­ко сло­во ENCHANT [Оча­ро­ван­ный], а про­вер­ка не ра­бо­та­ет, и ре­зуль­тат не со­хра­ня­ет­ся. Я по­искал ре­шение на фо­ру­мах, но толь­ко и уз­нал, что у еще несколь­ких че­ло­век та же про­бле­ма, а ре­шения никто так и не на­шел.

Все па­ке­ты я за­гру­жал из ре­по­зи­то­ри­ев Ubuntu че­рез центр управ­ления ПО. В ранних ре­ли­зах про­вер­ка ор­фо­гра­фии в Lyx ра­бо­та­ла. Я ре­шил уста­но­вить Lyx на но­ут­бук с Ubuntu 11.04, на ко­то­ром я ко­пал­ся в фо­ру­мах. Все за­ра­бо­та­ло! Един­ст­вен­ная разница в том, что в 11.04 за­гру­жа­ет­ся вер­сия Lyx 1.6.7, а в 11.10 — 2.0.0.

Брай­ан Мит­челл [Bryan Mitchell]

O Раз­ли­чие ме­ж­ду вер­сия­ми важ­но, так как в 2.0.0 для про­вер­ки ор­фо­гра­фии ис­поль­зу­ет­ся Enchant. Это не ути­ли­та про­вер­ки ор­фо­гра­фии, а кли­ент к дру­гим ути­ли­там, та­ким как Hunspell, Aspell и Ispell. Идея со­сто­ит в том, что вме­сто вы­бо­ра од­ной ути­ли­ты про­вер­ки ор­фо­гра­фии – а в раз­ных про­грам­мах они раз­ные, что за­став­ля­ет Вас под­дер­жи­вать несколь­ко сло­ва­рей или до­бав­лять в код воз­мож­ность вы­бо­ра ути­ли­ты – все про­грам­мы под­дер­жи­ва­ли бы толь­ко Enchant, ко­то­рый сам вы­зо­вет нуж­ную ути­ли­ту про­вер­ки ор­фо­гра­фии. Это по­зво­ля­ет раз­ра­бот­чи­ку сэ­ко­но­мить мас­су вре­мени, ко­то­рое мож­но по­тра­тить на реа­ли­за­цию но­вых чу­дес­ных функ­ций, а Вам – обой­тись од­ной ути­ли­той про­вер­ки ор­фо­гра­фии и одним сло­ва­рем. Про­бле­ма, с ко­то­рой Вы столк­ну­лись, го­во­рит о том, что Enchant ли­бо не уста­нов­лен, и это лег­ко ис­пра­вить, ли­бо уста­нов­лен, но не на­стро­ен. По­следнее вряд ли име­ет ме­сто, так как по умол­чанию у Enchant вполне нор­маль­ная кон­фи­гу­ра­ция; но на­стро­ить его лег­ко. Соз­дай­те файл .enchant/enchant.ordering в сво­ем до­машнем ка­та­ло­ге и до­бавь­те ту­да все­го од­ну стро­ку:

  • aspell,hunspell

Фраг­мент пе­ред двое­то­чи­ем оп­ре­де­ля­ет язы­ки, к ко­то­рым при­ме­ня­ет­ся пра­ви­ло (в дан­ном слу­чае – ко всем); осталь­ное – спи­сок ути­лит для про­вер­ки ор­фо­гра­фии, ко­то­рые бу­дут за­пу­ще­ны. Так, в мо­ей сис­те­ме для про­вер­ки ор­фо­гра­фии по умол­чанию ис­поль­зу­ет­ся Aspell, но ес­ли его не уда­ст­ся най­ти, бу­дет вы­зван Hunspell. Кста­ти, что­бы это за­ра­бо­та­ло в Ubuntu 11.10, мне при­шлось два­ж­ды на­жать кноп­ку Save [Со­хранить].

3 Чув­ст­во син­хрониз­ма

В Я пы­тал­ся сде­лать ре­зерв­ную ко­пию дан­ных с rsync — безуспеш­но. В мо­ей сис­те­ме ис­поль­зу­ет­ся двой­ная за­груз­ка — Windows XP и Linux Mint 9 Isadora. Я поль­зу­юсь XP для двух ве­щей: для мое­го сканера (Visioneer 9020), ко­то­рый не ра­бо­та­ет в Linux, и для еженедель­но­го ин­кре­мен­таль­но­го ко­пи­ро­вания с по­мо­щью sync­back с sdb1 (диск объ­е­мом 500 ГБ) на sda5 ка­та­ло­гов data_in и data-bu со­от­вет­ст­вен­но. В те­чение неде­ли ка­ж­дый раз по окон­чании ра­бо­ты я де­лаю ре­зерв­ную ко­пию до­машнего ка­та­ло­га в data_in с по­мо­щью Back In Time и уда­ляю ста­рую ре­зерв­ную ко­пию, что­бы не за­со­рять ка­та­лог data_in прежними ненуж­ны­ми ко­пия­ми.

Я хо­тел бы де­лать это из Linux, но по­лу­чаю со­об­щение о том, что sdb1 и sda5 не яв­ля­ют­ся ка­та­ло­га­ми. Так как оба раз­де­ла име­ют фай­ло­вую сис­те­му NTFS, я ре­шил про­ве­рить их иден­ти­фи­ка­то­ры (UUID), и они ока­за­лись оди­на­ко­вы! А я-то ду­мал, что они долж­ны быть уникаль­ны!

Джон Йейтс [John Yates]

O Ка­жет­ся, что иден­ти­фи­ка­то­ры фай­ло­вых сис­тем в Linux долж­ны быть оди­на­ко­вы, но на са­мом де­ле это не обя­за­тель­но, по­то­му что вы мо­же­те за­дать UUID фай­ло­вой сис­те­мы че­му угод­но. Од­на­ко у фай­ло­вых сис­тем NTFS и FAT нет UUID, а есть но­мер то­ма, при­сво­ен­ный при соз­дании фай­ло­вой сис­те­мы и не об­ла­даю­щий та­кой сте­пе­нью «уникаль­но­сти», как UUID. Бо­лее важ­но, что при клониро­вании фай­ло­вой сис­те­мы но­мер то­ма то­же клониру­ет­ся. Из­менить но­мер то­ма NTFS непро­сто (в от­ли­чие от UUID ext2/3/4). Ва­ри­ан­ты – от­ре­дак­ти­ро­вать дво­ич­ные дан­ные в за­го­лов­ке фай­ло­вой сис­те­мы на­пря­мую (до­воль­но рис­ко­ван­но) или пе­ре­фор­ма­ти­ро­вать фай­ло­вую сис­те­му. По­следний ва­ри­ант – са­мый про­стой, так как но­мер то­ма сре­ди про­че­го фор­ми­ру­ет­ся на основании да­ты соз­дания.

Од­на­ко при­чи­на оши­бок с rsync не в этом, а в Ва­шем непра­виль­ном понимании ра­бо­ты rsync. rsync ра­бо­та­ет на уровне фай­лов и ка­та­ло­гов, а Вы пы­тае­тесь при­ме­нять его к блоч­ным уст­рой­ст­вам. Вы пы­та­лись восполь­зо­вать­ся ко­ман­дой:

rsync -av /dev/sdb1/ /dev/sda5/

тогда как вер­ный син­так­сис (с кор­рект­ны­ми пу­тя­ми к ка­та­ло­гам) та­ков:

rsync -av /path/to/source/ /path/to/backup/

Па­ра­метр -v вы­во­дит под­роб­ную ин­фор­ма­цию, но иногда ее слиш­ком мно­го, и это за­мед­ля­ет про­цесс. С rsync Вам не нуж­но поль­зо­вать­ся дру­гой про­грам­мой для ре­зерв­но­го ко­пи­ро­вания или уда­лять ста­рые ре­зерв­ные ко­пии. До­ба­вив па­ра­метр --delete, мож­но уда­лить фай­лы, ко­то­рых уже нет в ис­ход­ном ка­та­ло­ге, и мы по­лу­чим ре­зерв­ную ко­пию, яв­ляю­щую­ся точ­ной ко­пи­ей ис­точника. Ко­ман­да

rsync --archive --delete ~/ /mnt/backup/myhome/

соз­даст точ­ную ко­пию до­машнего ка­та­ло­га в /mnt/backup/myhome. Ее мож­но за­пускать как за­дание cron, и тогда о ней да­же не при­дет­ся помнить. Про­стей­ший спо­соб за­пускать ее ка­ж­дый день – по­мес­тить ко­ман­ду в ко­рот­кий скрипт:

  1. !/bin/sh

rsync --archive --delete /home/myuser/ /mnt/backup/myhome/

По­мес­ти­те скрипт в /etc/cron.daily, сде­лай­те файл ис­пол­няе­мым, и ре­зерв­ное ко­пи­ро­вание бу­дет вы­пол­нять­ся ка­ж­дый день в од­но и то же вре­мя. Путь до до­машнего ка­та­ло­га нуж­но ука­зы­вать пол­но­стью, так как скрип­ты из cron.daily за­пуска­ют­ся от имени поль­зо­ва­те­ля root.

Не­доста­ток это­го под­хо­да в том, что те­ря­ют­ся все пре­ды­ду­щие ко­пии. Ес­ли вы что-то ис­пор­ти­те в фай­ле, то ис­пор­чен­ный ва­ри­ант фай­ла по­па­дет в ре­зерв­ную ко­пию. Од­но из ре­шений про­бле­мы – восполь­зо­вать­ся rdiff-backup (www.nongnu.org/rdiff-backup), ко­то­рый ис­поль­зу­ет rsync, но со­хра­ня­ет оп­ре­де­лен­ное (на­страи­вае­мое) ко­ли­че­­ст­во прежних ко­пий ка­ж­до­го фай­ла, что­бы его мож­но бы­ло восста­но­вить. Rdiff-backup так­же ра­бо­та­ет с команд­ной стро­ки – и его очень удоб­но за­пускать с cron.

4 Один диск — один ди­ст­ри­бу­тив?

В Я пе­ре­шел с Windows на Mint, и впе­чат­ления са­мые при­ят­ные. Рань­ше мне пе­ре­па­да­ли ста­рые ком­пь­ю­те­ры, про­шед­шие че­рез вто­рые или тре­тьи ру­ки, и вот в воз­рас­те 73 лет я ре­шил ку­пить но­вый. На ком­пь­ю­те­ре, ко­то­рый я хо­чу ку­пить, два дис­ка по 500 ГБ. На один я по­став­лю Mint, а что по­со­ве­туе­те для вто­ро­го?

Тер­ри Бэйл [Terry Bale]

O На од­ном дис­ке не обя­за­тель­но раз­ме­щать толь­ко од­ну опе­ра­ци­он­ную сис­те­му. На са­мом де­ле, так бы­ва­ет ред­ко. При­вя­зы­вать од­ну опе­ра­ци­он­ную сис­те­му к од­но­му дис­ку – тра­та мес­та, так как боль­шин­ст­ву опе­ра­ци­он­ных сис­тем нуж­но для сво­их фай­лов мень­ше 15 ГБ. Ос­таль­ное обыч­но от­да­ет­ся под фай­лы поль­зо­ва­те­лей. Так как Вы ско­рее все­го за­хо­ти­те слу­шать од­ну и ту же му­зы­ку в обе­их сис­те­мах, боль­шую часть мес­та сто­ит вы­де­лить под до­машние ка­та­ло­ги, а опе­ра­ци­он­ным сис­те­мам оста­вить все­го несколь­ко де­сят­ков ГБ. Сна­ча­ла уста­но­ви­те Mint на пер­вый диск, соз­дав во вре­мя уста­нов­ки от­дель­ный раз­дел для до­машнего ка­та­ло­га. На­строй­те все необ­хо­ди­мое, по­ка не при­сту­пая ко вто­ро­му дис­ку. Ес­ли Вам по­на­до­бит­ся боль­ше мес­та, чем 500 ГБ, мож­но до­ба­вить раз­де­лы на вто­рой диск и смон­ти­ро­вать их в сво­ей фай­ло­вой сис­те­ме поз­же. На­при­мер, ес­ли у Вас боль­шая кол­лек­ция ви­део, мож­но соз­дать для нее от­дель­ный раз­дел на вто­ром дис­ке и смон­ти­ро­вать в ка­та­лог videos в сво­ем до­машнем ка­та­ло­ге. Для это­го соз­дай­те раз­дел и фай­ло­вую сис­те­му стан­дарт­ной ути­ли­той для ра­бо­ты с раз­де­ла­ми, на­при­мер, Gparted, и до­бавь­те сле­дую­щую стро­ку в файл /etc/fstab.

/dev/sdb5 /home/terry/videos ext4 defaults 0 0

По­сле пе­ре­за­груз­ки но­вый раз­дел бу­дет смон­ти­ро­ван в ка­та­лог videos в до­машнем ка­та­ло­ге. Что­бы за­пи­сы­вать в него дан­ные под сво­им поль­зо­ва­те­лем, нуж­но вы­полнить сле­дую­щую ко­ман­ду по­сле пер­во­го мон­ти­ро­вания (или пер­вой пе­ре­за­груз­ки):

sudo chown -R terry: ~terry/videos

Обя­за­тель­но со­храните сво­бод­ное ме­сто, ко­то­рое Вам по­ка не нуж­но, для экс­пе­ри­мен­тов с дру­ги­ми ди­ст­ри­бу­ти­ва­ми, но сна­ча­ла на­строй­те глав­ную сис­те­му. Когда за­хо­ти­те по­экс­пе­ри­мен­ти­ро­вать, начните с ди­ст­ри­бу­ти­вов, ко­то­рые не осно­ва­ны на Ubuntu, так как у них слиш­ком ве­ли­ко сход­ст­во с Mint. Та­кие ди­ст­ри­бу­ти­вы, как Fedora, OpenSUSE, PCLinuxOS и Mageia, мо­гут ока­зать­ся хо­ро­шей от­прав­ной точ­кой.

При уста­нов­ке дру­го­го ди­ст­ри­бу­ти­ва от­ка­жи­тесь от оп­ции по умол­чанию пе­ре­за­пи­сать за­груз­чик глав­ной за­гру­зоч­ной за­пи­си пер­во­го дис­ка. Пусть но­вый ди­ст­ри­бу­тив раз­мес­тит за­груз­чик на соб­ст­вен­ном раз­де­ле. При этом за­груз­чик Mint останет­ся нетро­ну­тым, так что но­вый ди­ст­ри­бу­тив сна­ча­ла бу­дет недосту­пен. Вернитесь в Mint и вы­полните ко­ман­ду:

sudo update-grub

в тер­ми­на­ле. Она про­ве­рит же­ст­кие дис­ки на на­ли­чие опе­ра­ци­он­ных сис­тем и до­ба­вит их в за­груз­чик Mint. По­сле это­го в од­ном ме­ню бу­дут все опе­ра­ци­он­ные сис­те­мы. Ка­ж­дый раз при до­бав­лении, уда­лении или об­нов­лении дру­го­го ди­ст­ри­бу­ти­ва, эту ко­ман­ду нуж­но бу­дет за­пустить в Mint один раз.

5 Про­бле­ма с монито­ром

В У ме­ня возник­ла про­бле­ма при уста­нов­ке Ubuntu в сис­те­му с двой­ной за­груз­кой — XP и Ubuntu. Та же про­бле­ма иногда возника­ла в про­шлом — раз­ре­шение за­груз­чи­ка бы­ло ма­лень­ким, по­яв­ля­лось со­об­щение о том, что час­то­та и раз­ре­шение вы­хо­дят за диа­па­зон ра­бо­ты монито­ра, и изо­бра­жения не бы­ло. Рань­ше я ре­шал эту про­бле­му так: за­гру­жал­ся в Ubuntu и за­пускал startup-manager, в ко­то­ром уве­ли­чи­вал раз­ре­шение, и по­сле это­го сис­те­ма за­гру­жа­лась с нор­маль­ным раз­ре­шением. По­сле уста­нов­ки 12.04 startup-manager уже не уста­но­вить, и, сле­до­ва­тель­но, нель­зя из­менить на­строй­ки менед­же­ра за­груз­ки. Есть ли про­стой спо­соб ре­шить эту про­бле­му во вре­мя уста­нов­ки сис­те­мы?

Рэй Хьюз [Ray Hughes]

O В Grub по умол­чанию ис­поль­зу­ет­ся раз­ре­шение 640 × 480, так как его под­дер­жи­ва­ют поч­ти все монито­ры, а для несколь­ких строк тек­ста боль­ше­го и не на­до. В Grub 2, ко­то­рый сей­час ис­поль­зу­ет­ся в боль­шин­ст­ве ди­ст­ри­бу­ти­вов, раз­ре­шение лег­ко из­менить. От имени суперполь­зо­ва­те­ля-root от­крой­те файл /etc/default/grub, и Вы уви­ди­те стро­ку:

#GRUB_GFXMODE=640x480

Сим­вол # в на­ча­ле стро­ки – ком­мен­та­рий, с ним стро­ка ста­но­вит­ся недей­ст­вую­щей. Уда­ли­те сим­вол # и из­мените раз­ре­шение на бо­лее под­хо­дя­щее для сво­его монито­ра, за­тем со­храните файл. Ес­ли Вы не уве­ре­ны, что ре­дак­ти­руе­те файл от имени су­пер­поль­зо­ва­те­ля, от­крой­те тер­ми­нал и вы­полните ко­ман­ду:

sudo nano /etc/default/grub

Она от­кро­ет файл в про­стом ре­дак­то­ре в тер­ми­на­ле от имени root. По­сле внесения из­менений на­жми­те Ctrl+X для со­хранения фай­ла и вы­хо­да.

Те­перь об­но­ви­те файл ме­ню Grub ко­ман­дой

sudo update-grub

и раз­ре­шение при сле­дую­щей за­груз­ке сис­те­мы долж­но из­менить­ся на за­дан­ное ва­ми. При уста­нов­ке сис­те­мы со стан­дарт­ных CD Ubuntu из­менить его нель­зя – Вам по­на­до­бят­ся аль­тер­на­тив­ные CD.

Од­на­ко мож­но за­гру­зить­ся со стан­дарт­но­го CD по­сле уста­нов­ки и от­крыть фай­ло­вый менед­жер для мон­ти­ро­вания корневой фай­ло­вой сис­те­мы. Файл нель­зя из­менить из нее, но по­сле мон­ти­ро­вания дис­ка файл мож­но бу­дет от­крыть с тер­ми­на­ла в Nano как ука­за­но вы­ше.

Диск бу­дет смон­ти­ро­ван в ка­та­лог /media/xxxxxxx, где xxxxxx – UUID корневой фай­ло­вой сис­те­мы, ко­то­рый бу­дет по­ка­зан в за­го­лов­ке ок­на фай­ло­во­го менед­же­ра.

6 Груп­по­ву­ха с име­на­ми

В Моя же­на при­вы­ла к ду­рац­ко­му спо­со­бу опускать рас­ши­рения в Windows, и пе­ре­име­но­ва­ла все свои фо­то­гра­фии без рас­ши­рения JPG. Их сотни. По­ка ее но­ут­бук был в ре­мон­те, она поль­зо­ва­лась но­ут­бу­ком до­че­ри с Mint 11 и ду­ма­ет, что это Linux во всем ви­но­ват. Когда я го­во­рю, что это она пе­ре­име­но­ва­ла фай­лы, она оби­жа­ет­ся. Нет ли про­стого спо­соба до­ба­вить к ка­ж­до­му рас­ши­рение .jpg, не пе­ре­име­но­вы­вая ка­ж­дый файл вруч­ную?

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

O Как во­дит­ся, в Linux есть несколь­ко спо­со­бов это сде­лать, в за­ви­си­мо­сти от имею­щих­ся у Вас про­грамм. В KDE мож­но восполь­зо­вать­ся про­стой гра­фи­че­­ской про­грам­мой KRename; поль­зо­ва­те­ли Gnome мо­гут уста­но­вить gprename; а у поль­зо­ва­те­лей Xfce дан­ная воз­мож­ность есть в фай­ло­вом менед­же­ре Thunar. Но это лег­ко сде­лать и с команд­ной стро­ки. Ка­кой бы спо­соб Вы ни вы­бра­ли, сде­лай­те ре­зерв­ную ко­пию ка­та­ло­га – ошиб­ка при пе­ре­име­но­вании мо­жет при­вес­ти к пе­ре­за­пи­си всех фай­лов.

Ко­ман­да find вхо­дит в ба­зо­вый на­бор про­грамм всех ди­ст­ри­бу­ти­вов. От­крой­те в тер­ми­нал, зай­ди­те в ка­та­лог с фо­то­гра­фия­ми ко­ман­дой cd и вы­полните ко­ман­ду:

find -type f ! -iname \*.jpg -exec mv “{}” “{}.jpg” \;

Она ищет в те­ку­щем ка­та­ло­ге (что­бы ис­кать в дру­гом ка­та­ло­ге, ука­жи­те его сра­зу по­сле find) все объ­ек­ты ти­па f (обык­но­вен­ные фай­лы), име­на ко­то­рых не за­кан­чи­ва­ют­ся на .jpg или .JPG. Ди­рек­ти­ва -iname про­ве­ря­ет со­от­вет­ст­вие имени с уче­том ре­ги­ст­ра, а ! в на­ча­ле ин­вер­ти­ру­ет усло­вие, и мы по­лу­ча­ем толь­ко фай­лы, ко­то­рые не со­от­вет­ст­ву­ют усло­вию. Часть -exec ве­лит ко­ман­де find вы­полнить ука­зан­ную ко­ман­ду, за­менив {} на имя фай­ла, и эта ко­ман­да пе­ре­име­ну­ет все фай­лы, у ко­то­рых нет рас­ши­рения .jpg. Ка­выч­ки нуж­ны для об­ра­бот­ки имен фай­лов с про­бе­ла­ми. Сим­во­лы * и ; эк­раниру­ют­ся об­рат­ным слэ­шем \, что­бы обо­лоч­ка не пы­та­лась ин­тер­пре­ти­ро­вать их пе­ред пе­ре­да­чей ко­ман­де find.

Су­ще­ст­ву­ют и дру­гие ко­ман­ды для пе­ре­име­но­вания фай­лов. У Вас есть ко­ман­да rename, яв­ляю­щая­ся ча­стью па­ке­та coreutils, ко­то­рый есть в ка­ж­дом ди­ст­ри­бу­ти­ве, но в дан­ном слу­чае поль­зо­вать­ся ею неудоб­но.

Мож­но также восполь­зо­вать­ся аль­тер­на­ти­вой ко­ман­де rename с http://rename.berlios.de, или mmv (http://packages.debian.org/unstable/utils/mmv), но команда find у Вас уже есть, и она де­ла­ет имен­но то, что необ­хо­ди­мо – Вам нет ну­ж­ды уста­нав­ли­вать и изу­чать от­дель­ные про­грам­мы для ре­шения од­но­крат­ной за­да­чи. |

MD5

Ес­ли вы когда-нибудь за­гру­жа­ли ISO-об­ра­зы ди­ст­ри­бу­ти­вов, вме­сте с фай­ла­ми ISO вы ви­де­ли фай­лы с име­на­ми вро­де cooldistro1.0.iso.md5. Сум­ма MD5 – 128-бит­ная крип­то­гра­фи­че­­ская сверт­ка со­дер­жи­мо­го фай­ла. Сверт­ка у ка­ж­до­го фай­ла всегда по­лу­ча­ет­ся оди­на­ко­вая, но сто­ит из­менить в фай­ле хо­тя бы один бит – и она из­менит­ся ра­дикаль­но. MD5 бы­ла пред­на­зна­че­на для це­лей безо­пас­но­сти; про­ве­рив сум­му MD5, мож­но убе­дить­ся, что файл не был из­менен. Те­перь она так­же ис­поль­зу­ет­ся для про­вер­ки слу­чай­ных по­вре­ж­дений фай­лов при пе­ре­да­че. При за­груз­ке ISO-об­раза вы по­лу­чае­те и файл MD5. Удостовериться, что файл не по­вре­ж­ден, мож­но посредством сле­дую­щей ко­ман­ды:

md5sum cooldistro-1.0.iso

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

md5sum --check cooldistro-1.0.iso.md5

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

md5sum -c MD5SUMS

Сге­не­ри­ро­вать файл MD5SUMS мож­но сле­дую­щей ко­ман­дой:

md5sum *.iso >MD5SUMS

Сверт­ки SHA1 и SHA256 ра­бо­та­ют по по­хо­жей схе­ме, но обес­пе­чи­ва­ют немно­го бо­лее вы­со­кий уро­вень за­щи­ты. Прин­цип их ра­бо­ты, как и син­так­сис, та­кие же, лишь ис­поль­зуе­мые про­грам­мы дру­гие: sha1sum и sha256sum.

Часто задаваемые вопросы

Wine

» Что та­кое Wine? Это аб­бре­виа­ту­ра от «Wine Is Not an Emulator [Wine – это не эму­ля­тор]”.

» Ес­ли это не эму­ля­тор, тогда что? Ну, в ка­кой-то сте­пени все же эму­ля­тор. Wine – от­кры­тая реа­ли­за­ция API Windows по­верх X и Unix.

» С Wine мож­но за­пустить Windows в Linux? Не со­всем. Wine – слой со­вмес­ти­мо­сти ме­ж­ду про­грам­ма­ми Windows и Linux. Когда вы за­пускае­те про­грам­му Windows в Wine, про­грам­ма ду­ма­ет, что ра­бо­та­ет в Windows, но вы­зо­вы функ­ций Windows, ко­то­рые она вы­пол­ня­ет, пре­об­ра­зу­ют­ся в вы­зо­вы функ­ций Linux.

» Нуж­на ли уста­нов­лен­ная Windows, что­бы Wine за­ра­бо­тал? Нет, но ес­ли Windows уста­нов­ле­на, Wine восполь­зу­ет­ся ее DLL-биб­лио­те­ка­ми. Ес­ли нет, у нее есть аль­тер­на­тив­ные ва­ри­ан­ты.

» Ес­ли у ме­ня есть Windows, за­чем мне Wine? Пре­ж­де все­го это оз­на­ча­ет, что мож­но за­пустить про­грам­му Windows, не пе­ре­за­гру­жа­ясь в Windows и об­рат­но в Linux. Мож­но за­пускать про­грам­мы Windows вме­сте с про­грам­ма­ми в Linux.

С Wine так­же мож­но поль­зо­вать­ся мо­ду­ля­ми рас­ши­рения Windows для про­грамм Linux, та­ки­ми как web-брау­зе­ры и ме­ди­а­про­иг­ры­ва­те­ли. Это да­ет про­грам­мам Linux доступ к фор­ма­там, под­дер­жи­вае­мым толь­ко про­прие­тар­ны­ми ко­де­ка­ми Windows.

» Бы­ва­ет, что эму­ля­то­ры тор­мо­зят — а на­сколь­ко быстр Wine? Wine эму­ли­ру­ет толь­ко API Windows, а не уст­рой­ст­ва. Это оз­на­ча­ет, что про­грам­мы в Wine бу­дут ра­бо­тать с той же ско­ро­стью, что и в Windows, иногда да­же бы­ст­рее. Не­доста­ток в том, что Wine мо­жет за­пускать­ся толь­ко на том же оборудовании, что и Windows, поскольку это не эму­ля­тор про­цес­со­ра.

» Как ее за­гру­зить? За­гру­зить Wine во мно­же­ст­ве фор­ма­тов мож­но с сай­та про­ек­та. Па­ке­ты так­же доступ­ны в ре­по­зи­то­ри­ях боль­шин­ст­ва ди­ст­ри­бу­ти­вов. Дополнительно имеются две ком­мер­че­­ских вер­сии Wine.

CrossOver Office от Codeweavers пред­на­зна­че­на для за­пуска ра­бо­чих при­ло­жений Windows. Она так­же за­пуска­ет мо­ду­ли рас­ши­рения для Internet Explorer в неко­то­рых брау­зе­рах, применяющихся в Linux. Вся слож­ная работа по кон­фи­гу­ра­ции вы­полнена за вас.

На сай­те Codeweavers пе­ре­чис­ле­но 50 под­дер­жи­вае­мых при­ло­жений, но на са­мом де­ле их го­раз­до боль­ше.

» С ра­бо­чи­ми при­ло­жения­ми яс­но, а что у нас с иг­ра­ми? Существует еще од­на ком­мер­че­­ская вер­сия – Cedega, ранее из­вест­ная как WineX. Cedega от TransGaming Technologies – улуч­шен­ная вер­сия Wine с под­держ­кой DirectX. Cedega доступ­на бес­плат­но че­рез ре­по­зи­то­рий CVS.

Ес­ли вам нуж­ны го­то­вые па­ке­ты и под­держ­ка, офор­ми­те подпис­ку. Спи­сок под­дер­жи­вае­мых про­грамм весьма об­ши­рен, и он по­сто­ян­но по­пол­ня­ет­ся.

По­мо­ги­те нам по­мочь вам

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

Ес­ли у вас по­яв­ля­ет­ся со­об­щение об ошиб­ке, приведи­те его точ­ный текст и опишите кон­крет­ные усло­вия, когда оно по­яв­ля­ет­ся. При возникновении про­бле­мы с уст­рой­ст­ва­ми пере­числи­те нам все уста­нов­лен­ные уст­рой­ст­ва. Ес­ли Linux уже за­пу­щен, мо­же­те применить для этого отлич­ную про­грам­му Hardinfo (http://hardinfo.berlios.de/) – она со­хранит под­роб­ную ин­фор­ма­цию об уст­рой­ст­вах и о состоянии сис­те­мы в HTML-файл, который вы смо­же­те при­ло­жить к своему пись­му. Аль­тер­на­тив­ный и не менее удоб­ный ва­ри­ант – lshw (http://ezix.org/project/wiki/HardwareLiSter). Од­на из этих программ долж­на быть включена в ва­ш ди­ст­ри­бу­ти­в (а то и обе).

Ес­ли вы не хо­ти­те или не мо­же­те их уста­но­вить, вы­полните сле­дую­щие ко­ман­ды в тер­ми­на­ле от имени root и при­ло­жи­те файл system.txt к пись­му. Это здо­ро­во по­мо­жет ди­аг­но­сти­ке.

uname -a >system.txt

lspci >>system.txt

lspci -vv >>system.txt

Персональные инструменты
купить
подписаться
Яндекс.Метрика