<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10russiantitles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemtitles.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEcGRX0_eyp7ImA9WhVbGE8.&quot;"><id>tag:blogger.com,1999:blog-30744165</id><updated>2012-06-04T19:00:24.343+04:00</updated><category term="андроид" /><category term="гнуплот" /><category term="текст" /><category term="обзор" /><category term="событие" /><category term="продуктивность" /><category term="начинающим" /><category term="ядро" /><category term="сканер" /><category term="мультимедиа" /><category term="системное" /><category term="десктоп" /><category term="ноутбук" /><category term="юмор" /><category term="анализ" /><category term="юникс" /><category term="матлаб" /><category term="железо" /><category term="сети" /><category term="камера" /><category term="блоггер" /><category term="эмуляция" /><category term="принтер" /><category term="данные" /><category term="таблицы" /><category term="КПК" /><category term="обработка" /><category term="интерфейс" /><category term="переход" /><category term="презентации" /><category term="дебиан" /><category term="изображение" /><category term="навигация" /><category term="ЛаТеХ" /><category term="интернет" /><category term="научное" /><title>Записки дебианщика</title><subtitle type="html">В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://mydebianblog.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default?start-index=11&amp;max-results=10&amp;redirect=false&amp;orderby=published&amp;v=2" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>319</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>10</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/debianletters" /><feedburner:info uri="debianletters" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>debianletters</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdebianletters" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/debianletters" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fdebianletters" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fdebianletters" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fdebianletters" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><entry gd:etag="W/&quot;Ck8MQ3ozeCp7ImA9WhVbGE0.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-3303748938473947644</id><published>2012-06-04T02:14:00.000+04:00</published><updated>2012-06-04T13:08:02.480+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-04T13:08:02.480+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ноутбук" /><category scheme="http://www.blogger.com/atom/ns#" term="обзор" /><title>Вычислительный танк заряженный свободой: ThinkPad T420 и Debian Linux</title><content type="html">Послее очередной серии отказов проверенного временем железа выяснилось, что для проведения масштабных симуляций и написания пачки статей в арсенале автора имеет место быть только &lt;a href="http://mydebianblog.blogspot.com.au/2009/06/toshiba-netbook-nb-100.html" target="_blank"&gt;Toshiba NB100&lt;/a&gt;. Нетбук он приличный, конечно, и на конференцию или поездку его взять самое оно. Но для масштабной работы это, конечно, не серьёзно. Отчаявшись найти что-нибудь достойное среди унылого ширпотреба от HP, Acer и Samsung, автор обратился к сайту Lenovo. Памятуя о &lt;a href="http://mydebianblog.blogspot.com.au/2011/11/lenovo-thinkpad-tablet.html" target="_blank"&gt;более чем достойном планшете Thinkpad&lt;/a&gt;, автор спросил у сайта Леновы: а что, отцы, может вы и ноутбуки приличные делаете? Вот так автор стал счастливым обладателем нового Lenovo Thinkpad T420.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как говорил Стив Джобс, &lt;a href="http://www.folklore.org/StoryView.py?project=Macintosh&amp;amp;story=Bicycle.txt"&gt;компьютер это как велосипед для мозга&lt;/a&gt;. Вот и автору потребовался новый ноутбук, который был бы полноценной заменой десктопу - с удобной клавиатурой, нормальным экраном, поддерживаемым в Linux железом и с DVD-RW для бекапов. После долгих мук, выбор пал на крепко сбитый и ладно скроенный Lenovo Thinkpad T420, и после пары ударов в бубен, обтачивая Debian Squeeze, Debian Lenny и бекпорты до съедобного состояния, ноутбук заработал на полную мощь. Но об этом чуть ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #783f04;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Каков собою Т420?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
В отличие от &lt;strike&gt;непотребных&lt;/strike&gt; ширпотребных поделок с облезающим пластиком, кои имеются в наличии в Эльдорадах местного разлива, T420 выглядит и ощущается как настоящий танк рядом с жигулями и запорожцами от HP и самсунга. Вот он:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-Hz0_i1Cskhs/T5PmigEdjNI/AAAAAAAACYU/RB3RfNPRiSM/s1600/Lenovo+ThinkPad+T420.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://3.bp.blogspot.com/-Hz0_i1Cskhs/T5PmigEdjNI/AAAAAAAACYU/RB3RfNPRiSM/s320/Lenovo+ThinkPad+T420.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
На картинках он выглядит огромным чемоданом, но в жизни он компактнее многих аналогичных ноутбуков от, скажем, HP. Яркий &lt;b&gt;матовый &lt;i&gt;чёрт подери&lt;/i&gt;&lt;/b&gt; экран 1366x768 с LCD-подсветкой радует глаз настолько, что часто приходится снижать яркость подсветки.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-2n6rAPKWbSQ/T69un3oL6kI/AAAAAAAACag/LyWntIUJ0_I/s1600/img-04941.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-2n6rAPKWbSQ/T69un3oL6kI/AAAAAAAACag/LyWntIUJ0_I/s320/img-04941.jpg" width="287" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Особенно хочется отметить клавиатуру - она прекрасна. Нет, серьёзно: у Dell отличные мягкие клавиатуры, на которых удобно и приятно набирать тексты, но Lenovo это просто нечто. С коротким ходом, мягкая и с тихим кликом, набирать тексты на ней просто одно удовольствие. Ну и легендарный красный сексапильный трекпоинт в центре клавиатуры, куда ж без него.&lt;br /&gt;
&lt;br /&gt;
В закрытом виде Thinkpad T420 представляет собой брутальный кирпичик без всяких блескучих мигалок:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-2_7Nfe82bZI/T6908CVxW5I/AAAAAAAACas/_cMGrv6fyBY/s1600/2b_t420out.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://2.bp.blogspot.com/-2_7Nfe82bZI/T6908CVxW5I/AAAAAAAACas/_cMGrv6fyBY/s400/2b_t420out.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Также весьма интересно, что в Thinkpad T420 нет жесткого крепления винчестера и корпуса: жесткий диск расположен между резиновыми прокладками:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Mnmmh6KMIlI/T691hDsUg0I/AAAAAAAACa0/_bYogyuVyHA/s1600/image159.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://1.bp.blogspot.com/-Mnmmh6KMIlI/T691hDsUg0I/AAAAAAAACa0/_bYogyuVyHA/s320/image159.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Это отражается на статистике отказов жесткого диска: &lt;a href="http://sulearvutid.wordpress.com/2011/09/20/lenovo-t420-vs-hp-8460p-vs-dell-e6420-review/" target="_blank"&gt;вот тут говорят&lt;/a&gt;, что ноутбуки от Леновы к ним приходят на ремонт довольно редко.  Это, конечно, не означает, что владелец ноутбука Lenovo может забыть про резервные копии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #7f6000;"&gt;Как попасть в настройки BIOS у Lenovo Thinkpad T420?&lt;/b&gt;&lt;br /&gt;
Непраздный вопрос, кстати. При загрузке рекомендуют жать синюю кнопку ThinkVantage, но это не работает. А на самом деле нужно нажимать &lt;b&gt;F1&lt;/b&gt; хотя время для этого отведено немного. Список устройств для загрузки можно запросить кнопкой &lt;b&gt;F12&lt;/b&gt;, и загрузиться с DVD-RW, USB-флешки, или сети по выбору.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #783f04;"&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Что под килтом у T420?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
Весьма мощное железно и очень хорошая система охлаждения. Буквально, под килтом вот что:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-mC9Nr5aln7Y/T692LxZeg4I/AAAAAAAACa8/LV8m6Pr_Qtc/s1600/2i_t420inside.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="305" src="http://2.bp.blogspot.com/-mC9Nr5aln7Y/T692LxZeg4I/AAAAAAAACa8/LV8m6Pr_Qtc/s400/2i_t420inside.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://shopap.lenovo.com/SEUILibrary/controller/e/auweb/LenovoPortal/en_AU/catalog.workflow:category.details?current-catalog-id=3634951826AE4D3881BFFF1AC5FCD957&amp;amp;current-category-id=0F5A1BC50EF46A1F7ED9115248D442B4&amp;amp;action=init" target="_blank"&gt;На сайте Lenovo можно кастомизировать свой ноутбук&lt;/a&gt; и выкинуть из него ненужное (типа сканера отпечатков пальцев) и добавить зато что-то полезное (типа более быстрого процессора и больше памяти). Что интересно, доступен для скачивания &lt;a href="http://support.lenovo.com/en_US/guides-and-manuals/detail.page?LegacyDocID=MIGR-76853" target="_blank"&gt;полный мануал по разборке &lt;/a&gt;ноутбука. Мало ли, пригодится...&lt;br /&gt;
&lt;br /&gt;
Ноутбук Lenovo Thinkpad в конфигурации, которую я выбрал на официальном сайте, больше напоминает вычислительный танк:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="0" style="width: 500px;"&gt;&lt;tbody&gt;
&lt;tr bgcolor="#e6e6ff"&gt;&lt;td width="150"&gt;&lt;b&gt;Processor&lt;/b&gt;:&lt;/td&gt;     &lt;td&gt;Intel Core i7-2640M Processor (2.80GHz, 4MB L3, 1333MHz with Intel HD Graphics 3000)&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt;&lt;td width="150"&gt;&lt;b&gt;Operating system: &lt;/b&gt;&lt;/td&gt;     &lt;td&gt;Debian GNU/Linux i386  &lt;i&gt;Special Virens ``Old School Warm Tube'' Remix &lt;/i&gt;&lt;/td&gt;   &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Display type: &lt;/b&gt;&lt;/td&gt;     &lt;td&gt;14.0" HD LED backlight Anti-Glare (1366 x 768)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;System graphics: &lt;/b&gt;&lt;/td&gt;&lt;td&gt;Intel HD Graphics 3000 processor graphics with dynamic frequency&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Total memory&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;8 GB PC3-10600 DDR3 SDRAM 1333MHz SODIMM Memory (2 DIMM)&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;Keyboard&lt;/b&gt;:&lt;/td&gt; &lt;td&gt;Kosher Soft IBM Keyboard - US English&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Pointing device&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;UltraNav (TrackPoint and TouchPad) without Fingerprint Reader&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;Camera&lt;/b&gt;:&lt;/td&gt; &lt;td&gt;720p HD Camera with Microphone&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Hard drive&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;500GB Hard Disk Drive, 7200rpm&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;Optical device&lt;/b&gt;:&lt;/td&gt; &lt;td&gt;HL-DT-ST DVDRAM GT50N&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;System expansion slots&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;Express Card Slot, 4-in-1 Card Reader&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;Audio device&lt;/b&gt;:&lt;/td&gt; &lt;td&gt;Intel Corporation Cougar Point High Definition Audio&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Bluetooth&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;Broadcom Bluetooth 3.0 with antenna&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;b&gt;Integrated WiFi wireless LAN adapters:&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Intel Centrino Advanced-N 6205 AGN&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor="#e6e6ff"&gt; &lt;td width="150"&gt;&lt;b&gt;Ethernet&lt;/b&gt;:&lt;/td&gt;&lt;td&gt;Intel PRO/1000 Network (Driver e1000e)&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width="150"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
В ноутбуке есть 3 порта USB 2.0, один USB 3.0 (туда можно засунуть и USB 2), и один порт eSATA. Ноутбук удивительно тихий и холодный - почти не греется, что поражает, особенно учитывая огромную мощь внутри.&lt;br /&gt;
&lt;br /&gt;
Ноутбук был заказан на официальном сайте Lenovo и почти все переключатели на сайте были выставлены на максимум, что влетело автору в 1500$.  Доставку в нашу глухую австралийскую деревню Ленова сделала бесплатной. &lt;br /&gt;
&lt;br /&gt;
Дальнейшие приключения по вживлению в ноутбук Дебиана с элементами секса и насилия подсвечены следующими цветами:&lt;br /&gt;
&lt;ul&gt;
&lt;li style="color: #38761d;"&gt;Работает нормально&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #bf9000;"&gt;Пытается отчасти работать&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: #990000;"&gt;Не работает вообще&lt;/li&gt;
&lt;/ul&gt;
История с хорошим концом: не смотря на некоторое количество эротических приключений с элементами техноложества, о чём ниже, T420 в конце концов заработал на полную мощь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b style="color: #783f04;"&gt;Первый подход к штанге: попытка запалить Debian Lenny на T420       &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
У автора есть уже настроенный образ с Debian Lenny, матлабом, гнуплотом, шахматами и поэтессами, готовыми к немедленному употреблению. Что удобно, ибо работы много, времени мало, и лишних движений делать не хочется. А с Debian всё легко и просто: всякая железяка, попавшая в крепкие руки автора, сразу же форматируется и на чистый винчестер заливается настроенный образ Lenny &lt;a href="http://mydebianblog.blogspot.com.au/2010/11/linux.html" target="_blank"&gt;легко и просто&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Итак, Debian Lenny c ядром Linux 2.6.26 загрузился с переносного винчестера, но на этом всё хорошее закончилось. В общем и целом, выглядело это вот так:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-cY91Rnt3Rmw/T5Ps7zgfx4I/AAAAAAAACYc/EwsW_yUePQA/s1600/FILE27160.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-cY91Rnt3Rmw/T5Ps7zgfx4I/AAAAAAAACYc/EwsW_yUePQA/s320/FILE27160.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Да, картинка описывает ситуацию предельно точно:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color: #bf9000;"&gt;Процессор: из 4 ядер доступно только 2.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color: #bf9000;"&gt;Память: из 8 Гб доступно только 3 (PAE-то нету)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="color: #bf9000;"&gt;Дисплей и графика: 1024х768 растянут на широкий формат, тормозит безбожно, ибо драйвер VESA.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #38761d;"&gt;&lt;b&gt;Жёсткий диск: работает.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style="color: #38761d;"&gt;Оптический привод: читает и пишет DVD/CD без проблем.&lt;/b&gt;&lt;b&gt;&lt;span style="color: #274e13;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #cc0000;"&gt;&lt;b&gt;Карты памяти: не обнаруживаются вообще.&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #cc0000;"&gt;&lt;b&gt;Звук: alsaconf пожимает плечами - звука нет.&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #cc0000;"&gt;&lt;b&gt;Ethernet: отсутствует.&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #cc0000;"&gt;&lt;b&gt;WiFi: об этом даже думать не стоит.&lt;/b&gt;&lt;/li&gt;
&lt;li style="color: #cc0000;"&gt;&lt;b&gt;ACPI кнопки: никакой реакции.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Иксы стартуют только в Vesa и только в кривом разрешении: получается типа 1024х768, только растянутые на широкий формат.  В общем не густо, прямо скажем. Даже ядро 2.6.31 оказывается устаревшее для этого ноутбука. Автор вспомнил свой первый Debian Woody - там хотя бы сеть поднялась сразу... Ладно, придётся нам обновляться на Squeeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b style="color: #783f04;"&gt;Становая тяга: обновление до Debian Squeeze&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Как ни удивительно, апдейт не принёс никаких позитивных улучшений вообще - всё 1:1 как с Ленни, только теперь иксы сказали, что знают про графическую карту, но попытка переместить окно приводит к слайд-шоу. Вот так выглядел рабочий стол после обновления до Squeeze:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-KtI-zPem5R8/T5PvMt-gkVI/AAAAAAAACYk/fAkL3s7oqJY/s1600/squeezy-default.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://3.bp.blogspot.com/-KtI-zPem5R8/T5PvMt-gkVI/AAAAAAAACYk/fAkL3s7oqJY/s320/squeezy-default.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Всё растянуто на 1366х768. Такой хоккей нам, естественно, не нужен. А нужно срочно обновлять иксы и ядро из Squeeze Backports.&lt;br /&gt;
&lt;br /&gt;
Сухой остаток прежний: стало только хуже (приложения KDE4), при этом не добавив позитива (ядро устройства не поддерживает). Поэтому продолжаем обновляться и тягаем Backports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b style="color: #783f04;"&gt;Результативный рывок: Debian Squeeze + Squeeze Backports + Lenny  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Продолжая курочить систему в попытках сделать из неё работоспособную машину, автор начал тягать бэкпорты из Squeeze Backports в поисках ядра, иксов и свежих приложений. Этому помогла&lt;a href="http://gsd.uwaterloo.ca/Debian-64bit-T420" target="_blank"&gt; очень дельный пост &lt;/a&gt;другого владельца T420 и заядлого дебианщика. Дальнейшее &lt;strike&gt;битва за урожай&lt;/strike&gt; повествование описывает подъём железа и войну за нормальное софтверное рабочее окружение.&lt;br /&gt;
&lt;br /&gt;
Подключение бекпортов в /etc/apt/sources.list происходит строчкой:&lt;br /&gt;
&lt;b&gt;    deb http://backports.debian.org/debian-backports squeeze-backports main&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
и далее пишем&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
# apt-get update&lt;/blockquote&gt;
Но до этого хорошо бы получить хотя бы проводную сеть, так что нужно выкачивать ядро из Backports вручную и ставить его.&lt;br /&gt;
&lt;br /&gt;
После установки и загрузки ядра 3.2.0 жить стало лучше, жить стало сильно веселее:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Linux dot 3.2.0-0.bpo.1-686-pae #1 SMP Sat Feb 11 14:57:20 UTC 2012 i686 GNU/Linux&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Экран&lt;/b&gt;&lt;br /&gt;
Видеокарте тоже полегчало - при загрузке сразу врубается Framebuffer на полное разрешение и далее у иксов не возникает вопросов, какое разрешение ставить.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt;Кстати, это может неслабо напугать по первому разу: сначала ядро загружается нормально, крупными буквами сыпя привычные строчки про обнаружение устройств. Потом экран резко гаснет, и включается framebuffer с мелким шрифтом, и загрузка продолжается. Слабонервным заготовить валидол.&lt;/span&gt;&lt;/blockquote&gt;
Потом привычно грузятся иксы в нормальном разрешении 1366х768, что радует. При этом радует то, что сразу доступно аппаратное ускорение:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
think@dot:~$ glxinfo&lt;br /&gt;
name of display: :0.0&lt;br /&gt;
display: :0  screen: 0&lt;br /&gt;
&lt;b style="color: #274e13;"&gt;direct rendering: Yes&lt;/b&gt;&lt;br /&gt;
server glx vendor string: SGI&lt;br /&gt;
server glx version string: 1.4&lt;/blockquote&gt;
&lt;br /&gt;
Файл xorg.conf иксами читается, поэтому старые настройки переключения клавиатуры сразу стали доступны.&lt;br /&gt;
&lt;br /&gt;
Самое замечательное, что нет никаких проблем со внешним монитором - всё отлично работает через xrandr:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
xrandr --output LVDS1 --mode 1366x768 --output VGA1 --right-of LVDS1 --mode 1024x768&lt;/blockquote&gt;
Включает внешний монитор, и можно перетащить туда окно с Kdvi и править там статьи.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Звук!&lt;/b&gt;&lt;br /&gt;
Загудели, заиграли провода: &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
# alsactrl init&lt;/blockquote&gt;
нашлась звуковая карта, которая корректно заработала с наушниками и колонками из коробки:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt; [    8.036368] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;[    8.040885] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;[    8.040974] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;[    8.041057] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14&lt;/span&gt;&lt;/blockquote&gt;
В коробке с новым ядром Linux 3.2.0 вообще обнаружилось много приятных мелочей. Так, из коробки заработали &lt;i&gt;почти&lt;/i&gt; все функциональные клавиши - даже лампочка подсветки включается по Fn+PgUP. Вот автор сейчас сидит в темноте и строчит этот пост как раз с такой подсветкой. Мелочь, а Ленова :-)&lt;br /&gt;
&lt;br /&gt;
&lt;div color="#783f04" style="color: #783f04;"&gt;
&lt;b&gt;Проводная сеть&lt;/b&gt;&lt;/div&gt;
Нашлась новым ядром интеловская сетевая карта:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt;[    1.347541] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;[    1.347605] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;[    1.347698] e1000e 0000:00:19.0: PCI INT A -&amp;gt; GSI 20 (level, low) -&amp;gt; IRQ 20&lt;/span&gt;&lt;/blockquote&gt;
и Интернет потёк сразу широкой гигабитной рекой.&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Беспроводная сеть  Intel Centrino Advanced-N 6205&lt;/b&gt;&lt;br /&gt;
В ядре 3.2.0 всё уже есть, и модуль iwlwifi уже должен быть собран, но на всякий случай:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
# apt-get install firmware-iwlwifi&lt;/blockquote&gt;
И далее идём на интеловский сайт за firmware. Сайт организован весьма бестолково, ибо постоянно отправляет на &lt;a href="http://intellinuxwireless.org/"&gt;&lt;i&gt;intellinuxwireless.org&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;
где всё свалено в одну кучу. В этой &lt;a href="http://www.intellinuxwireless.org/?n=downloads" target="_blank"&gt;куче&lt;/a&gt; и лежит золотой ключик:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
6005 Images - for Intel Centrino Advanced-N 6205&lt;/blockquote&gt;
Скачиваем &lt;a href="http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-6000g2a-ucode-17.168.5.3.tgz" target="_blank"&gt;фирмварь&lt;/a&gt; (она называется как-нибудь iwlwifi-6000g2a-ucode-17.168.5.3.tgz), распаковываем и кладём в директорию:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
/lib/firmware&lt;/blockquote&gt;
Всё, после этого (перезагрузка системы или включение wicd) загорится лампочка WiFi и Интернет польётся широкой рекой.&lt;br /&gt;
&lt;br /&gt;
Также стоит установить wicd network manager:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
apt-get install wicd&amp;nbsp; wicd-gtk&lt;/blockquote&gt;
&amp;nbsp;который в Squeeze весьма хорош и отлично делает своё дело:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-wbZO6Bz-rDo/T6-XIOg5RDI/AAAAAAAACbI/iioCsM3ZkjI/s1600/t420_setup_wicd01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="335" src="http://1.bp.blogspot.com/-wbZO6Bz-rDo/T6-XIOg5RDI/AAAAAAAACbI/iioCsM3ZkjI/s400/t420_setup_wicd01.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
При этом с новым ядром проводная сеть (Ethernet) уже должна работать из коробки, радуя душу вебдванольщика гигабитным интернетом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Broadcom Corp. Bluetooth Controller&lt;/b&gt;&lt;br /&gt;
Синезубый передатчик встроен в ноутбук и из коробки поддерживается ядром Linux 3.2.0. Для работы с файлами (по большей части переброска файлов между смартфоном и планшетом) удобнее поставить какие-нибудь графические приблуды вроде bluemon:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
apt-get install bluez-utils bluemon&lt;/blockquote&gt;
При этом можно легко спаривать устройства:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-8X9p4Hd09TE/T6-fU51-MrI/AAAAAAAACbU/9Vl-X3eh-Ig/s1600/t420_setup_bluetooth02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://1.bp.blogspot.com/-8X9p4Hd09TE/T6-fU51-MrI/AAAAAAAACbU/9Vl-X3eh-Ig/s320/t420_setup_bluetooth02.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
и пересылать файлы между ними.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-y5VSuUUHxK8/T6-fYXdvRJI/AAAAAAAACbc/VvtKYrg7RVk/s1600/t420_setup_bluetooth01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="308" src="http://3.bp.blogspot.com/-y5VSuUUHxK8/T6-fYXdvRJI/AAAAAAAACbc/VvtKYrg7RVk/s320/t420_setup_bluetooth01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Можно также попробовать gnome-bluetooth, который более симпатичен и функционален, но он за собой потащил зачем-то обновления для samba и ntfsprogs (пути гномеров неисповедимы....).&lt;br /&gt;
&lt;br /&gt;
На всякий случай, &lt;a href="http://forum.mandriva.com/en/viewtopic.php?t=136061" target="_blank"&gt;включение и выключение Bluetooth можно делать через файловую систему /proc&lt;/a&gt;: состояние Bluetooth хранится в файле /proc/acpi/ibm/bluetooth поэтому если вы хотите выключить адаптер, даёте команду:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
# echo disable &amp;gt; /proc/acpi/ibm/bluetooth&lt;/blockquote&gt;
При этом на передней панели гаснет лампочка синего зуба.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div color="#783f04" style="color: #783f04;"&gt;
&lt;b&gt;ACPI и функциональные кнопки&lt;/b&gt;&lt;/div&gt;
Из коробки работает засыпание по закрытию крышки ноутбука или по Fn+F4. Автор всегда считал это буржуазным излишеством и нездоровым&amp;nbsp; развратом, ничего, кроме проблем не приносящим. Но раз работает - пусть будет.&lt;br /&gt;
&lt;br /&gt;
Почти все функциональные кнопки работают, если загрузить модуль ядра thinkpad_acpi:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
# modprobe thinkpad_acpi&lt;/blockquote&gt;
При этом ядро выдаст в логах (можно посмотреть с помощью dmesg) нечто жизнеутверждающее в стиле:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt;[    7.054988] thinkpad_acpi: ThinkPad ACPI Extras v0.24&lt;br /&gt;[    7.060464] thinkpad_acpi: http://ibm-acpi.sf.net/&lt;br /&gt;[    7.060610] thinkpad_acpi: ThinkPad BIOS 83ET66WW (1.36 ), EC unknown&lt;br /&gt;[    7.060758] thinkpad_acpi: Lenovo ThinkPad T420, model 4177CTO&lt;br /&gt;[    7.061662] thinkpad_acpi: detected a 8-level brightness capable ThinkPad&lt;br /&gt;[    7.061939] thinkpad_acpi: radio switch found; radios are enabled&lt;br /&gt;[    7.063925] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unbloc&lt;/span&gt;&lt;/blockquote&gt;
При этом c ThinkPad ACPI Extras v0.24 &lt;b style="color: #38761d;"&gt;работают&lt;/b&gt; кнопки:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color: #073763;"&gt;Fn+PgUp&lt;/span&gt; - включить фонарик над камерой для (хилой) подсветки клавиатуры (владельцы маков снисходительно улыбаются);&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #073763;"&gt;Fn+Home&lt;/span&gt; и &lt;span style="color: #073763;"&gt;Fn+Home&lt;/span&gt; - увеличить и уменьшить яркость монитора;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #073763;"&gt;Fn+F7&lt;/span&gt; - переключаться между внешним и штатным монитором;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #073763;"&gt;Fn+F5&lt;/span&gt; - включить и выключить беспроводную сеть (тут есть нюанс: оно выключает WiFi с концами, до следующей перезагрузки);&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #073763;"&gt;Fn+F4&lt;/span&gt; - отправить ноутбук в спящий режим (таки работает, на удивление, без сбоев).&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T420" target="_blank"&gt;Как говорят арчеводы&lt;/a&gt;, &lt;i&gt;ACPI is well supported here. No obvious troubleshoots.&lt;/i&gt;  Им, арчеводам, хочется верить, но:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color: #cc0000;"&gt;Fn+F12 &lt;/span&gt;- типа suspend to disk, но он уводит машину в летаргический сон навсегда (ну, до включения кнопкой POWER);&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #cc0000;"&gt;Fn+F8&lt;/span&gt; - по идее должен выключать тачпад, но не делает этого (автор уже начинает любить этот сексапильный трекпоинт); &lt;/li&gt;
&lt;li&gt;&lt;span style="color: #cc0000;"&gt;Fn+F5&lt;/span&gt; - работает, как и обещано, в режиме "kill_switch", то есть убивает беспроводную сеть надёжно, аж до следующей перезагрузки.&lt;/li&gt;
&lt;/ul&gt;
Но это мелочи. На всякий случай, в ядре это включается так:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;Device Drivers  ---&amp;gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[*] X86 Platform Specific Device Drivers  ---&amp;gt;  &lt;b style="color: #38761d;"&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;b style="color: #38761d;"&gt;&amp;lt;M&amp;gt;   ThinkPad ACPI Laptop Extras     &lt;/b&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[ ]     Maintainer debug facilities&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[ ]     Verbose debug mode&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[ ]     Allow control of important LEDs (unsafe)&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[ ]     Video output control support&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;[ ]     Support NVRAM polling for hot keys   &lt;/pre&gt;
&lt;br /&gt;
Ну и яркость монитора теперь &lt;a href="http://forums.lenovo.com/t5/Linux-Discussion/My-T420-and-Mint-12-Experience/td-p/684615" target="_blank"&gt;можно регулировать хардкорным способом&lt;/a&gt;, через файловую систему /sys: там есть файл &lt;b style="color: #38761d;"&gt;/sys/class/backlight/acpi_video0/brightness&lt;/b&gt; в который можно передать параметр яркости (от 0 до 15, где 0 это минимальная подсветка, а 15 максимальная).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #783f04;"&gt;
&lt;b&gt;... с вентиляторным заводом заключать договора ...&lt;/b&gt;&lt;/div&gt;
Отдельная история про вентилятор. По умолчанию он работает вполне сносно, но регулировки температуры у автоматики какие-то странные. &lt;a href="http://ubuntuforums.org/showthread.php?t=1749186" target="_blank"&gt;Поэтому лучше установить thinkfan:&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
apt-get install thinkfan &lt;/blockquote&gt;
и немного поиграться с его конфигом. При этом в качестве сенсора температуры можно указать следующие устройства:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sensor /sys/devices/platform/coretemp.0/temp1_input&lt;br /&gt;
sensor /sys/devices/platform/coretemp.2/temp1_input&lt;br /&gt;
sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input&lt;/blockquote&gt;
Сенсор выдаёт температуру в миллицельсиях, так что 32000 означает не то, что ваш ноутбук упал на Солнце, а всего лишь 32 градуса. Мой рабочий конфиг /etc/thinkfan.conf&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;br /&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;span style="font-size: x-small;"&gt;#  Syntax:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#  (LEVEL, LOW, HIGH)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#  LEVEL is the fan level to use (0-7 with thinkpad_acpi)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#  LOW is the temperature at which to step down to the previous level&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#  HIGH is the temperature at which to step up to the next level&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#  All numbers are integers.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;sensor /sys/devices/virtual/thermal/thermal_zone0/temp&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(0,     0,      20)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(1,     20,     40)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(2,     40,     50)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(3,     50,     52)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(4,     52,     55)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(5,     55,     65)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(6,     65,     70)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(7,     67,     32767)&lt;/span&gt;&lt;/blockquote&gt;
В параметры демона &lt;b style="color: #38761d;"&gt; /etc/modprobe.d/thinkfan.conf&lt;/b&gt; стоит добавить строчку:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
options thinkpad_acpi fan_control=1&lt;/blockquote&gt;
Посмотреть скорость вращения пропеллера и его уровни можно в /proc:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
$ cat /proc/acpi/ibm/fan&lt;/blockquote&gt;
при этом мы увидим:&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style="font-size: x-small;"&gt;status:         enabled&lt;br /&gt;speed:          3230&lt;br /&gt;level:          auto&lt;br /&gt;commands:       level &amp;lt;level&amp;gt; (&amp;lt;level&amp;gt; is 0-7, auto, disengaged, full-speed)&lt;br /&gt;commands:       enable, disable&lt;br /&gt;commands:       watchdog &amp;lt;timeout&amp;gt; (&amp;lt;timeout&amp;gt; is 0 (off), 1-120 (seconds))&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
После запуска:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
# thinkfan&lt;/blockquote&gt;
демон выдаст сообщение типа:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Config as read from /etc/thinkfan.conf:&lt;br /&gt;
Fan level       Low     High&lt;br /&gt;
0              0       20&lt;br /&gt;
1              20      40&lt;br /&gt;
2              40      50&lt;br /&gt;
3              50      52&lt;br /&gt;
4              52      55&lt;br /&gt;
5              55      65&lt;br /&gt;
6              65      70&lt;br /&gt;
7              67      32767&lt;br /&gt;
Daemon PID: 2103&lt;/blockquote&gt;
Обращаю внимание, что демон туп и примитивен, и почти не проверяет конфиг, так что будьте бдительны.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #783f04;"&gt;
&lt;b&gt;Управления частотой процессора&lt;/b&gt;&lt;/div&gt;
Для того, чтобы продлить время работы от батарей и несколько охладить ноутбук, можно установить:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
apt-get install  cpufrequtils cpudyn cpufreqd&lt;/blockquote&gt;
После этого с помощью утилиты cpufreq-set можно рулить частотой процессора для &lt;i&gt;каждого ядра &lt;/i&gt;(а их четыре)&lt;i&gt; отдельно&lt;/i&gt;. Команда&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
$ cpufreq-info&lt;/blockquote&gt;
расскажет нам, какой режим используется процессором в данный момент:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt;cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009&lt;br /&gt;Report errors and bugs to cpufreq@vger.kernel.org, please.&lt;/span&gt; &lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: x-small;"&gt;analyzing CPU 0:&lt;br /&gt;  driver: acpi-cpufreq&lt;br /&gt;  CPUs which run at the same hardware frequency: 0 1 2 3&lt;br /&gt;  CPUs which need to have their frequency coordinated by software: 0&lt;br /&gt;  maximum transition latency: 10.0 us.&lt;br /&gt;  hardware limits: 800 MHz - 2.80 GHz&lt;br /&gt;  available frequency steps: 2.80 GHz, 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz&lt;br /&gt;  available cpufreq governors: powersave, conservative, userspace, ondemand, performance&lt;br /&gt;  current policy: frequency should be within 800 MHz and 2.80 GHz.&lt;br /&gt;                  The governor "ondemand" may decide which speed to use&lt;br /&gt;                  within this range.&lt;br /&gt;  current CPU frequency is 800 MHz.&lt;br /&gt;  cpufreq stats: 2.80 GHz:5,36%, 2.80 GHz:0,10%, 2.60 GHz:0,12%, 2.40 GHz:0,11%, 2.20 GHz:0,09%, 2.00 GHz:0,12%, 1.80 GHz:0,14%, 1.60 GHz:0,13%, 1.40 GHz:0,22%, 1.20 GHz:0,18%, 1000 MHz:0,23%, 800 MHz:93,18%  (13545)&lt;/span&gt;&lt;/blockquote&gt;
Вывод для остальных трёх ядер не приводится для краткости. Далее примеры настроек:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
cpufreq-set --min 800MHz --max 1.4GHz -c 0 -g 'powersave'&lt;/blockquote&gt;
для работы от батарей, когда хочется продержаться подольше. Можно сделать так:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
cpufreq-set --min 800MHz --max 2.8GHz -c 0 -g 'ondemand'&lt;/blockquote&gt;
для того, чтобы сбить температуру при долгой работе по набору текста, чтобы ноутбук не нагревался (максимальные настройки дают температуру +55 градусов, ondemand же +45). Если же нужно проводить моделирование, то врубаем машину на всю катушку:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
cpufreq-set --min 2.8GHz --max 2.8GHz -c 0 -g 'performance'&lt;/blockquote&gt;
и так для каждого ядра.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Ой яи яи ёё, сееее-лаааа батарейка!&lt;/b&gt;&lt;br /&gt;
&lt;div style="color: black;"&gt;
Не знаю как насчёт 8 часов, обещанных Леновой, но по моим оценкам оно как-то ближе к 4 часам.&lt;span style="color: black;"&gt; Вот скриншот после полутора часов работы (режим ondemand, правка текста, никаких симуляций.)&lt;/span&gt;    &lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-wx0hXwvHbOQ/T7s8Id1IhtI/AAAAAAAACcQ/yJAJhnQIluc/s1600/t420_powersaving.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://4.bp.blogspot.com/-wx0hXwvHbOQ/T7s8Id1IhtI/AAAAAAAACcQ/yJAJhnQIluc/s400/t420_powersaving.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="color: #783f04;"&gt;
&lt;span style="color: black;"&gt;Батарея 6-cell, на 9-cell меня задушила жаба по многим причинам:&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="color: black;"&gt;это НЕ ноутбук для поездок&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: black;"&gt;эта машина для вычислений (замена десктопа), стоит на столе со стабильным электропитанием. От  батареек требуется продержаться до выключения машины - 5-10 минут, не больше.&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: black;"&gt;максимум автономной работы - час или полтора, на встрече с шефом и демонстрации ему результатов. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style="color: #783f04;"&gt;
&lt;span style="color: black;"&gt;Некоторое время спустя kpowersave из Lenny начал выдавать что-то маловразумительное, пытаясь меня убедить, что батарей целых три:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-UcnhgUMKi94/T8gSZdkezeI/AAAAAAAACcc/ckvGTjttSfY/s1600/wtf_T420_battery.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-UcnhgUMKi94/T8gSZdkezeI/AAAAAAAACcc/ckvGTjttSfY/s400/wtf_T420_battery.png" width="393" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: black;"&gt;В настоящее время ведётся р&lt;/span&gt;&lt;span style="color: black;"&gt;асследование этого странного факта. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #783f04;"&gt;
&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #783f04;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b style="color: #783f04;"&gt;Общее впечатление от Debian Squeeze на &lt;strike&gt;Lenovo&lt;/strike&gt; IBM Thinkpad T420&lt;/b&gt;&lt;br /&gt;
Картина после описанных процедурок радикально приятнее:&lt;br /&gt;
&lt;ul style="color: #38761d;"&gt;
&lt;li&gt;&lt;b&gt;Процессор: все 4 ядра работают.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Память: все 8 Гб доступны (через PAE)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Дисплей и графика: полное разрешение 1366х768, драйвер i915, аппаратное ускорение включено.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Жёсткий диск: тихо но быстро шуршит.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Карты памяти: SD-карты обнаруживаются и монтируются.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Звук: играет и поёт.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ethernet: качает и радует гигабитом.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Bluetooth: работает и перекидывает файлы.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Оптический привод: читает и пишет DVD/CD без проблем.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;WiFi: подключается без проблем к открытым и шифрованным сетям с помощью wicd.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ACPI кнопки: самые нужные работают.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b style="color: #783f04;"&gt;Ну и как оно всё работает?&lt;/b&gt;&lt;br /&gt;
Превосходно. Как выглядит мой рабочий стол после наката Backports (IceWM, тема Korstro, обои с vladstudio):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-AqALqLPa6LA/T5P03c1bdVI/AAAAAAAACZY/yY-Ek3iAzd8/s1600/squeezy-tweaked.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://1.bp.blogspot.com/-AqALqLPa6LA/T5P03c1bdVI/AAAAAAAACZY/yY-Ek3iAzd8/s400/squeezy-tweaked.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Необходимые уточнения: мне нужно ехать, шашечки опционально, и чтобы колёса были круглыми. Поэтому IceWM из Lenny (а не из сквизи, &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538218" target="_blank"&gt;где его&lt;/a&gt; &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=539490" target="_blank"&gt;сломали&lt;/a&gt;), KDEшные программы из Lenny - там человеческий KDE, а не это убожество с плазмой и гномьими закидонами.&lt;br /&gt;
&lt;br /&gt;
А вот как выглядит всё вместе на работе:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-jhVd7ljafyI/T7b_gXDSqOI/AAAAAAAACcE/it1Hv5kMwKM/s1600/t420_work1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="443" src="http://1.bp.blogspot.com/-jhVd7ljafyI/T7b_gXDSqOI/AAAAAAAACcE/it1Hv5kMwKM/s640/t420_work1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Как и обещано, ``Old School Warm Tube'' - олдскульный тёплый ламповый ремикс Debian. Совершенно лицензионный, кстати:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-zGPiNV3f0Ic/T8sgdBkF4RI/AAAAAAAACdc/Ca_aN9j2vZo/s1600/debian-authenticity-certificate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://3.bp.blogspot.com/-zGPiNV3f0Ic/T8sgdBkF4RI/AAAAAAAACdc/Ca_aN9j2vZo/s400/debian-authenticity-certificate.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
[&lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/debian-authenticity-certificate.svg" target="_blank"&gt;оригинал в SVG&lt;/a&gt;, и &lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/debiancert.svg" target="_blank"&gt;ещё один&lt;/a&gt;]. Неважно, что половина софта пятилетней давности, главное - что работает и греет душу.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-3303748938473947644?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Y0aiUTYznqQ:iTdw-ot1Kw0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Y0aiUTYznqQ:iTdw-ot1Kw0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Y0aiUTYznqQ:iTdw-ot1Kw0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Y0aiUTYznqQ:iTdw-ot1Kw0:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/Y0aiUTYznqQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/3303748938473947644/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/06/thinkpad-t420-debian-linux.html#comment-form" title="Комментарии: 14" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/3303748938473947644?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/3303748938473947644?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/Y0aiUTYznqQ/thinkpad-t420-debian-linux.html" title="Вычислительный танк заряженный свободой: ThinkPad T420 и Debian Linux" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Hz0_i1Cskhs/T5PmigEdjNI/AAAAAAAACYU/RB3RfNPRiSM/s72-c/Lenovo+ThinkPad+T420.jpg" height="72" width="72" /><thr:total>14</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/06/thinkpad-t420-debian-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAHQ3ozfCp7ImA9WhVbEUk.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-415162417574397461</id><published>2012-05-21T07:00:00.000+04:00</published><updated>2012-05-27T23:42:12.484+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-27T23:42:12.484+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="системное" /><title>Возможности настройки GRUB2 в Linux: от серьезных параметров до бесполезных украшательств</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Эта статья является вольным переводом&amp;nbsp;&lt;a href="http://www.gnu.org/software/grub/manual/grub.html"&gt;GNU GRUB Manual&lt;/a&gt;, структурированной выжимкой по интересующей нас теме. Мы не будем рассматривать вопрос установки и запуска GRUB'ом той или иной операционной системы. Мы посмотрим, какие возможности предоставляет GRUB2 версии 1.99 для собственной настройки. Ведь, как известно, "в Линукс можно настроить абсолютно все! И вы будете настраивать абсолютно все!"&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Чем же GRUB2 лучше, чем GRUB Legacy? Да, собственно, для большинства пользователей практически ничем. Потенциально, он более гибок, в нем раньше появляются некоторые новые возможности (как, например, поддержка ext4). У GRUB2 более продвинутая поддержка таблицы разделов GPT и загрузка с (U)EFI. Нужно это, если жёсткий диск имеет объём более 2ТБ. Но если вы обычный пользователь и у вас уже установлен GRUB Legacy, то нет практического смысла менять его на GRUB2, по крайней мере, я его не вижу. Если же вы ставите систему с нуля, то все же стоит отдать предпочтение GRUB2 как более перспективной (и уже стабильно работающей) разработке.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-LWP7bf4q1uI/T0YuTjAt66I/AAAAAAAAAD4/C2_-NQz3SAY/s1600/grub0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-LWP7bf4q1uI/T0YuTjAt66I/AAAAAAAAAD4/C2_-NQz3SAY/s320/grub0.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Так нас обычно встречает компьютер унылой менюшкой GRUB2. Мало того, что картинка не балует жизнерадостностью, так она еще и не совсем соответствует действительности - в моем случае, установленный BackTrack был опознан как Ubuntu. Посмотрим, как все это можно исправить.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Что нужно знать&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Собственно конфигурационный файл находится в &lt;b&gt;/boot/grub/grub.cfg&lt;/b&gt;, но его редактирование особого смысла не имеет. Дело в том, что этот файл создается автоматически утилитой &lt;b&gt;update-grub&lt;/b&gt; на основе файла настроек &lt;b&gt;/etc/default/grub&lt;/b&gt; и скриптов, находящихся в &lt;b&gt;/etc/grub.d/&lt;/b&gt;. Таким образом, если вы не хотите, чтобы ваши изменения терялись, например, при обновлении ядра, правильным способом настройки будет редактирование файла настроек, а при отсутствии требуемого параметра в файле настроек, редактирования конфигурационных скриптов. Чтобы изменения вступили в силу необходимо запустить update-grub.&lt;br /&gt;
&lt;br /&gt;
При настройке нам может понадобится выйти в командную строку GRUB. Для этого в меню выбора ОС необходимо нажать 'c', для возврата - 'esc'. Командная строка поддерживает автодополнение по Tab.&lt;br /&gt;
&lt;br /&gt;
Чтобы в процессе работы в командной строке получить доступ к файлу, находящемуся не в корневой файловой системе (получить доступ к файлу, находящемуся в корневой файловой системе можно как обычно /path/to/file), необходимо знать наименование устройств и разделов. Например:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
(hd0,1)&lt;/blockquote&gt;
означает первый жесткий диск (устройства нумеруются с 0) и на нем первый раздел (разделы нумеруются с единицы), что соответствует /dev/sda1.&lt;br /&gt;
&lt;br /&gt;
Если при наборе команды, например:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set root=(&lt;/blockquote&gt;
нажать Tab, то GRUB сам предложит вам список возможных устройств:
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
possible devices are:&lt;br /&gt;
hd0 &amp;nbsp; &amp;nbsp; fd0&lt;/blockquote&gt;
Если нажать Tab при набранной команде&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set root=(hd0,&lt;/blockquote&gt;
то вам будет предложен список разделов на первом жестком диске. Ну и для набранной команды&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set root=(hd0,1)/&lt;/blockquote&gt;
будет предложен список файлов на данном разделе.&lt;br /&gt;
&lt;br /&gt;
Так же при настройке  GRUB может оказаться полезной команда &lt;b&gt;grub-mkconfig&lt;/b&gt;, которая позволяет посмотреть предварительный вариант файла grub.cfg без изменения реального конфигурационного файла. Собственно, update-grub выполняет grub-mkconfig с параметром вывода в файл /boot/grub/grub.cfg.&lt;br /&gt;
&lt;br /&gt;
GRUB использует unicode, т.е. создание пункта меню на русском языке проблем вызвать не должно.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Простейший пример настроек&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Рассмотрим простейший пример файла настроек. Если вам захочется чего-то большего, чем описано в этом разделе, обратите внимание на раздел "Параметры /etc/default/grub".&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Большинству пользователей, к коим я отношу и себя, понадобится всего несколько параметров для настройки функциональности GRUB2. Мой файл настроек выглядит так (за вычетом неинтересных комментариев):&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
GRUB_DEFAULT=0&lt;br /&gt;
GRUB_TIMEOUT=3&lt;br /&gt;
&lt;br /&gt;
#GRUB_TIMEOUT=0&lt;br /&gt;
#GRUB_HIDDEN_TIMEOUT=1&lt;br /&gt;
#GRUB_HIDDEN_TIMEOUT_QUIET=true&lt;br /&gt;
&lt;br /&gt;
GRUB_DISTRIBUTOR=`lsb_release -i -s 2&amp;gt; /dev/null || echo Debian`&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT="quiet"&lt;br /&gt;
GRUB_CMDLINE_LINUX=""&lt;br /&gt;
&lt;br /&gt;
GRUB_GFXMODE=1280x768&lt;br /&gt;
GRUB_GFXPAYLOAD_LINUX=keep&lt;br /&gt;
GRUB_BACKGROUND="/root/picture.jpeg"&lt;/blockquote&gt;
Наиболее востребованы бывают первые два параметра, отвечающие за пункт меню по умолчанию и время ожидания выбора. Если у вас установлена всего одна ОС, то можете вместо GRUB_TIMEOUT=3 раскомментировать следующие три строчки - в этом случае выбор меню GRUB2 отображаться не будет, если вы не нажмете Esc. На это у вас будет одна секунда (или столько, сколько вы зададите параметром GRUB_HIDEN_TIMEOUT). После изменения этих настроек не забываем выполнить update-grub.&lt;br /&gt;
&lt;br /&gt;
Если вы хотите изменить имя вашей операционной системы в меню выбора GRUB2, можете воспользоваться для этого параметром GRUB_DISTRIBUTOR.&lt;br /&gt;
&lt;br /&gt;
Для управления списком параметров, передаваемых ядру Linux, GRUB2 предоставляет команды GRUB_CMDLINE_LINUX и GRUB_CMDLINE_LINUX_DEFAULT. Мы не будем вдаваться в подробности и описывать разные параметры, поскольку это относится уже к теме загрузки Linux.&lt;br /&gt;
&lt;br /&gt;
Последние три параметра отвечают за настройку внешнего вида GRUB2. Если вы любите красоту во всем, даже в меню загрузчика, то можете ознакомится с предоставляемыми для этого возможностями в следующей части.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Настройка внешнего вида&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
В этой части мы посмотрим, как можно улучшить вид GRUB2.&lt;br /&gt;
&lt;br /&gt;
Для начала поменяем разрешение экрана. Чтобы узнать текущее разрешение, в командной строке  GRUB2 вводим команду&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set&lt;/blockquote&gt;
и смотрим на параметр &lt;b&gt;gfxmode&lt;/b&gt;. Список поддерживаемых разрешений можно получить командой &lt;b&gt;vbeinfo&lt;/b&gt;. Теперь загружаемся в дебиан, находим в конфигурационном файле /etc/default/grub параметр &lt;b&gt;GRUB_GFXMODE&lt;/b&gt;, (раскомментируем его, если он закомментирован и добавляем, если его нет) и назначаем его: GRUB_GFXMODE=1280x768 или GRUB_GFXMODE=1280x768x32 (цветность можно не указывать). Не забываем выполнить update-grub, перезагружаемся, получаем:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-7foRink6ZHY/T0YuiIwUbTI/AAAAAAAAAEE/I6gM28fmmOo/s1600/grub1.png"&gt;&lt;img alt="" border="0" src="http://2.bp.blogspot.com/-7foRink6ZHY/T0YuiIwUbTI/AAAAAAAAAEE/I6gM28fmmOo/s320/grub1.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;
Для того, чтобы разрешение экрана до запуска иксов оставалось таким же, как в GRUB, можно установить параметр:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_GFXPAYLOAD_LINUX&lt;/b&gt;=true&lt;br /&gt;
&lt;br /&gt;
Теперь попробуем поставить красивую картинку в качестве фона. Для начала можно посмотреть как она будет выглядеть. В консоли  GRUB сначала подгружаем нужные модули командой&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
insmode jpeg&lt;/blockquote&gt;
(или png, tga) и можем устанавливать фон:
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
background_image /path/to/picture.jpeg&lt;/blockquote&gt;
Тут помним, что смонтирован только корневой раздел. До остальных можно добраться указав идентификатор раздела, например, (hd0,1)/path/to/picture.jpeg.&lt;br /&gt;
&lt;br /&gt;
Установить картинку в качестве фона можно несколькими способами, опишем два из них. Самый простой - скопировать картинку в /boot/grub/ и как всегда не забыть запустить update-grub. Второй способ (и он является для GRUB'а более приоритетным) - установить параметр: &lt;b&gt;GRUB_BACKGROUND&lt;/b&gt;="/path/to/picture.jpeg". Можно не беспокоиться, что картинка находится где-то, куда  GRUB не сможет добраться во время загрузки - если он это поймет, то скопирует ее себе в буфер. Итак, получаем:&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-QdZV8pIKsLk/T0k3_gTZCyI/AAAAAAAAAEQ/TBq_qHoj6fI/s1600/grub2.png"&gt;&lt;img alt="" border="0" src="http://3.bp.blogspot.com/-QdZV8pIKsLk/T0k3_gTZCyI/AAAAAAAAAEQ/TBq_qHoj6fI/s320/grub2.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;
На фоне такой картинки серый цвет надписей смотрится как-то уныло. К сожалению, поменять цвет шрифта в файле настроек нельзя, поэтому нам придется лезть в настроечные скрипты, к счастью, в данном случае это совсем просто. Файл /etc/grub.d/40_custom предназначен для пользовательской настройки. Добавляем в конец:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set menu_color_normal=red/black&lt;br /&gt;
set menu_color_highlight=yellow/black&lt;br /&gt;
set color_normal=yellow/black&lt;/blockquote&gt;
Получаем:&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/--JNpi8jmA-U/T0lC1ORYk9I/AAAAAAAAAEo/Ls8wQhoq0fU/s1600/grub3.png"&gt;&lt;img alt="" border="0" src="http://3.bp.blogspot.com/--JNpi8jmA-U/T0lC1ORYk9I/AAAAAAAAAEo/Ls8wQhoq0fU/s320/grub3.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;
Установить можно четыре параметра: &lt;b&gt;color_highlight&lt;/b&gt;, &lt;b&gt;color_normal&lt;/b&gt;, &lt;b&gt;menu_color_highlight&lt;/b&gt;, &lt;b&gt;menu_color_normal&lt;/b&gt;. Все они должны быть вида color-foreground/color-background, устанавливается, соответственно, цвет текста и цвет фона.&lt;br /&gt;
&lt;br /&gt;
Допустимы цвета:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color: blue;"&gt;blue&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: green;"&gt;green&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #357ec7;"&gt;cyan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;red&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: purple;"&gt;magenta&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #404000;"&gt;brown&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #736f6e;"&gt;light-gray&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #150517;"&gt;dark-gray&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #0040ff;"&gt;light-blue&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: lime;"&gt;light-green&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: cyan;"&gt;light-cyan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;light-red&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #bf40ff;"&gt;light-magenta&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: yellow;"&gt;yellow&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: white;"&gt;white&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: black;"&gt;black&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
Если в качестве фона установлен black, то фон будет прозрачным.&lt;br /&gt;
&lt;br /&gt;
Как и в случае с фоновым изображением, цвета текста можно предварительно опробовать используя командную строку GRUB. Достаточно ввести команду&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set one_of_4_color_parametrs first-color/second-color&lt;/blockquote&gt;
Так же,  GRUB поддерживает более сложный механизм настройки внешнего вида. Можно установить параметр &lt;b&gt;GRUB_THEME&lt;/b&gt;="path/to/theme.file". Впрочем, вопрос создания своих файлов с темами для  GRUB мы пока рассматривать не будем.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Редактирование скриптов&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Расскажем немного про редактирование скриптов формирования конфигурационного файла. Нам уже приходилось влезать в скрипты создания конфигурационного файла GRUB, теперь сделаем это подробнее. При редактировании скриптов удобно пользоваться командой grub-mkconfig, чтобы не портить существующий файл конфигурации.&lt;br /&gt;
&lt;br /&gt;
При создании конфигурационного файла используются все скрипты из директории "/etc/grub.d/", запускаются они в алфавитном порядке. В Debian там находятся:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;00_header отвечает за загрузку основных параметров и библиотек;&lt;/li&gt;
&lt;li&gt;05_debian_theme отвечает за оформление внешнего вида;&lt;/li&gt;
&lt;li&gt;10_linux отвечает за формирование записей в меню, соответствующих ОС-linux, в которой стоит GRUB;&lt;/li&gt;
&lt;li&gt;20_linux_xen - аналогично предыдущему;&lt;/li&gt;
&lt;li&gt;30_os-prober отвечает за обнаружение и включение в список остальных ОС;&lt;/li&gt;
&lt;li&gt;40_custom и 41_custom - пользовательские скрипты.&lt;/li&gt;
&lt;/ul&gt;
Для наглядности поставим себе задачу заменить надпись "Ubuntu" в меню загрузки на "BackTrack Linux", убрать для него recovery режим и поставить выше Windows. Поставленная нами задача относится к скриптам 30_os-prober.&lt;br /&gt;
&lt;br /&gt;
Объяснить GRUB, что не надо формировать запись меню для определенного раздела, достаточно просто. В цикле перебора установленных ОС:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
for OS in ${OSPROBED} ; do&lt;/blockquote&gt;
где-нибудь после определения параметра DEVICE надо добавить строчки:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
if [ "$DEVICE" = "/dev/sda2" ] ; then&lt;br /&gt;
&amp;nbsp;   continue&lt;br /&gt;
fi&lt;/blockquote&gt;
Тогда никакая информация об ОС на /dev/sda2 в конфигурационный файл не попадет. Теперь сами прописываем информацию о нашей системе до вышеозначенного цикла, заменяя параметры, которые нам не подходят. При этом опираемся на то, как формируются аналогичные записи в цикле. Результат будет выглядеть так (изменения выделены жирным шрифтом):&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;b&gt;DEVICE="/dev/sda2"&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;LINUX="`linux-boot-prober ${DEVICE} 2&amp;gt; /dev/null | tr ' ' '^' | paste -s -d ':'`"&lt;/b&gt;&lt;br /&gt;
prepare_boot_cache=&lt;br /&gt;
&lt;br /&gt;
LROOT="`echo ${LINUX} | cut -d ':' -f 1`"&lt;br /&gt;
LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"&lt;br /&gt;
LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"&lt;br /&gt;
LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"&lt;br /&gt;
LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"&lt;br /&gt;
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6 | tr '^' ' '`"&lt;br /&gt;
&lt;br /&gt;
if [ -z "${LLABEL}" ] ; then&lt;br /&gt;
&amp;nbsp; LLABEL="${LONGNAME}"&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ "${LROOT}" != "${LBOOT}" ]; then&lt;br /&gt;
&amp;nbsp; LKERNEL="${LKERNEL#/boot}"&lt;br /&gt;
&amp;nbsp; LINITRD="${LINITRD#/boot}"&lt;br /&gt;
fi&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF&lt;br /&gt;
menuentry &lt;b&gt;"BackTrack Linux"&lt;/b&gt; --class gnu-linux --class gnu --class os {&lt;br /&gt;
EOF&lt;br /&gt;
save_default_entry | sed -e "s/^/\t/"&lt;br /&gt;
if [ -z "${prepare_boot_cache}" ]; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp;prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"&lt;br /&gt;
fi&lt;br /&gt;
printf '%s\n' "${prepare_boot_cache}"&lt;br /&gt;
cat &amp;lt;&amp;lt;  EOF&lt;br /&gt;
linux ${LKERNEL} ${LPARAMS}&lt;br /&gt;
EOF&lt;br /&gt;
if [ -n "${LINITRD}" ] ; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp;cat &amp;lt;&amp;lt; EOF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initrd ${LINITRD}&lt;br /&gt;
&amp;nbsp; &amp;nbsp;EOF&lt;br /&gt;
fi&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;/blockquote&gt;
При помощи команды grub-mkconfig проверяем, что конфигурационный файл не содержит ошибок, запускаем update-grub, получаем:&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-YudWXRvM8aI/T0z3BqeO-RI/AAAAAAAAAFA/JBF-fQM7pY0/s1600/grub4.png"&gt;&lt;img alt="" border="0" src="http://4.bp.blogspot.com/-YudWXRvM8aI/T0z3BqeO-RI/AAAAAAAAAFA/JBF-fQM7pY0/s320/grub4.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Параметры /etc/default/grub&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Рассмотрим более подробно большинство параметров, которые можно задать для настройки GRUB2.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_DEFAULT&lt;/b&gt; отвечает за то, какой пункт загружать по умолчанию. Может быть равен номеру (GRUB_DEFAULT=0 - в нашем случае будет загружать Debian в обычном режиме), точному названию (GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)" - будет, как это не удивительно, загружать Windows), в паре с GRUB_SAVEDEFAULT указанию, что надо загружать предыдущий выбор (GRUB_DEFAULT=keep, также это значение нужно установить для использования команд grub-set-default и grub-reboot).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_SAVEDEFAULT&lt;/b&gt;=true в паре с GRUB_DEFAULT=keep указывает GRUB, что по умолчанию нужно ставить предыдущий выбор.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_TIMEOUT&lt;/b&gt; - время в секундах, в течении которого  GRUB ждет выбора, прежде чем загрузить значение по умолчанию. Можно установить равным 0, чтобы GRUB не показывал экран выбора ОС, или любое отрицательное значение для отключения таймера.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_HIDDEN_TIMEOUT&lt;/b&gt; указывает сколько секунд ждать перед тем, как показать экран загрузки, если не нажата клавиша. Учитывается, только когда &amp;nbsp;не установлены другие ОС. Если &lt;b&gt;GRUB_HIDDEN_TIMEOUT_QUIET&lt;/b&gt;=true, то во время ожидания не показывается таймер.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_DISTRIBUTOR&lt;/b&gt; - название текущего дистрибутива, используется при формировании соответствующей записи в меню выбора ОС.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_CMDLINE_LINUX&lt;/b&gt;, &lt;b&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/b&gt; - список параметров, используемых при запуске ядра Линукс. Параметры GRUB_CMDLINE_LINUX используются как для обычного режима загрузки, так и для recovery. Параметры GRUB_CMDLINE_LINUX_DEFAULT используются только обычным режимом. Аналогично используются параметры GRUB_CMDLINE_NETBSD, GRUB_CMDLINE_NETBSD_DEFAULT GRUB_CMDLINE_XEN, GRUB_CMDLINE_XEN_DEFAULT для систем NetBSD и Xen.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_DISABLE_RECOVERY&lt;/b&gt;=true - тип загрузки recovery не будет создаваться.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_DISABLE_OS_PROBER&lt;/b&gt;=true - убрать проверку наличия других установленных ОС.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_GFXMODE=1280x768x32&lt;/b&gt; - установить разрешение экрана. Третий параметр (цветность) можно опустить. Список доступных разрешений можно посмотреть командой vbeinfo в командной строке GRUB2.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_GFXPAYLOAD_LINUX&lt;/b&gt;=keep - разрешение экрана будет сохранено при передаче загрузки ядру Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_BACKGROUND&lt;/b&gt;="/path/to/picture.jpeg" - установить фоновую картинку.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;GRUB_THEME&lt;/b&gt;="path/to/theme.file" - установить файл тем.&lt;br /&gt;
&lt;br /&gt;
Кроме того,  GRUB имеет ряд специфических возможностей, которые вряд ли пригодятся обычному пользователю, но на всякий случай кратко опишем их:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;возможность отключить использование GRUB'ом специальной системы идентификаторов для определения корневой файловой системы (GRUB_DISABLE_LINUX_UUID);&lt;/li&gt;
&lt;li&gt;возможность исключать поврежденные блоки памяти (GRUB_BADRAM);&lt;/li&gt;
&lt;li&gt;возможность загружать дополнительные модули (GRUB_PRELOAD_MODULES);&lt;/li&gt;
&lt;li&gt;возможность управлять терминалами ввода и вывода (GRUB_TERMINAL_INPUT, GRUB_TERMINAL_OUTPUT, GRUB_TERMINAL, GRUB_SERIAL_COMMAND);&lt;/li&gt;
&lt;li&gt;возможность воспроизводить звуковой сигнал при запуске (GRUB_INIT_TUNE).&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="color: #996633;"&gt;Настройка безопасности&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Мало кому такая возможность может понадобиться, но она есть и заслуживает того, чтобы о ней рассказали. GRUB предоставляет возможность разграничения прав доступа. Можно создавать обычных пользователей, которые могут загружать разрешенные им ОС, а так же суперпользователей, которые могут загружать любую ОС, редактировать существующие записи и вызывать командную строку. Список суперпользователей задается командой&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
set superusers="root"&lt;/blockquote&gt;
Создать обычного пользователя и задать ему не зашифрованный пароль можно командой:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
password user 123&lt;/blockquote&gt;
Той же командой можно создать пароль суперпользователю. Для создания зашифрованного пароля нужно воспользоваться программой grub-mkpasswd-pbkdf2, а в скриптах прописать соответственно команду:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
password_pbkdf2 root grub.pbkdf2.sha512.10000.mnogobukv&lt;/blockquote&gt;
Все эти команды лучше всего дописать в скрипт 40_custom.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы определенный пользователь мог запускать определенную ОС, он должен быть прописан в списке в соответствующем пункте меню в ключе --users:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
menuentry "Debian" --users "user user1 user2" --class ...&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;span style="color: #996633;"&gt;&lt;b&gt;Заключение&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Как мы видим,  GRUB2 предоставляет массу возможностей по собственной настройке. И хотя механизм скриптов может кому-то показаться достаточно сложным, он позволяет гибко реагировать на изменения в списке установленных ОС и изменения в возможностях загрузки конкретной ОС. К тому же, практически все важные параметры вынесены в отдельный конфигурационный файл, что позволяет настраивать GRUB2 практически так же легко, как и  GRUB Legacy.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-415162417574397461?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=-pxcyzdhBA0:Ey1CGaIPA2o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=-pxcyzdhBA0:Ey1CGaIPA2o:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=-pxcyzdhBA0:Ey1CGaIPA2o:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=-pxcyzdhBA0:Ey1CGaIPA2o:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/-pxcyzdhBA0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/415162417574397461/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/05/grub2-linux.html#comment-form" title="Комментарии: 28" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/415162417574397461?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/415162417574397461?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/-pxcyzdhBA0/grub2-linux.html" title="Возможности настройки GRUB2 в Linux: от серьезных параметров до бесполезных украшательств" /><author><name>Yamamaya</name><uri>http://www.blogger.com/profile/02526696091580506812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="28" src="http://1.bp.blogspot.com/-GH-Nc_zQUfs/TveUGjJVuPI/AAAAAAAAAC0/1kxF4m7riPk/s220/IMG_3755.jpeg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-LWP7bf4q1uI/T0YuTjAt66I/AAAAAAAAAD4/C2_-NQz3SAY/s72-c/grub0.png" height="72" width="72" /><thr:total>28</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/05/grub2-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQn0zfCp7ImA9WhVUFkU.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-6338259418085962223</id><published>2012-05-14T02:00:00.004+04:00</published><updated>2012-05-22T14:12:13.384+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-22T14:12:13.384+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="системное" /><title>Шифрование разделов и файлов в Linux с помощью loop-device и AES алгоритма</title><content type="html">Способов шифрования в Linux много, но в данном случае будет показан простой и быстрорастворимый метод с использованием cryptoloop. С его помощью мы можем шифровать как отдельные разделы (например, создать зашифрованный раздел на флешке), либо сделать криптофайл (зашифрованный файл, внутри которого хранятся ценные данные). Последнее особенно удобно для личного применения.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" ;font-size:130%;color:#996633;"  &gt;&lt;span style="font-weight: bold;"&gt;Немного юниксвея&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Шифрование раздела на физическом носителе и создание криптофайла на самом деле для UNIX будут выглядеть одинаково. Это есть следствие принципа UNIX "&lt;span style=" font-style: italic; font-weight: bold;color:#009900;" &gt;всё есть файл&lt;/span&gt;", над которым стоит немного помедитировать. Так, &lt;a href="http://mydebianblog.blogspot.com.au/2008/09/linux.html"&gt;в посте о монтировании разделов&lt;/a&gt; уже приводился пример того, как можно примонтировать ISO-образ файла в Linux и получить доступ к файлам. Хотелось бы подчеркнуть этот факт ещё раз:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;с точки зрения UNIX/Linux не важно, примонтируете ли вы:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;физический CD-диск, который соответствует устройству /dev/cdrom в точку монтирования /mnt/cdfiles&lt;/li&gt;&lt;li&gt;ISO-образ этого диска в точку монитирования  /mnt/cdfiles&lt;/li&gt;&lt;/ul&gt;вы получите один и тот же результат. На самом деле вы монтируете &lt;span style=" font-style: italic;color:#006600;" &gt;логическую структуру&lt;/span&gt;, подключая её к корневой файловой системе.&lt;/blockquote&gt;Понимание этого факта важно для последующего изложения, и вообще важно  для работы в Linux, а не только тыкания по кнопкам в KDE/GNOME.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Два слова о петлевом устройстве (Loop-device)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://wiki.osdev.org/Loopback_Device"&gt;Loopback Device (loop)&lt;/a&gt; это механизм ядра Linux, используемый для интерпретации файлов как реальных блочных устройств. Главное, что все инструменты, используемые для работы с реальными дисками (например mount), могут быть использованы и для петлевых устройств.&lt;br /&gt;&lt;br /&gt;Говоря простыми словами, loop нужен для того, чтобы структурированные файлы (ISO-образы, копии разделов с флешек, шифрованные файлы) для ядра выглядели, как реальные диски. В посте о монтировании разделов был пример с ISO-образом&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="fullpost"&gt;&lt;i&gt;mount &lt;i&gt;&lt;i&gt;&lt;span style="color:#cc33cc;"&gt;-t &lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="color:#cc33cc;"&gt;iso9660&lt;/span&gt;&lt;/i&gt;&lt;i&gt; &lt;/i&gt;&lt;i&gt;&lt;span style="color:#990000;"&gt;file.iso&lt;/span&gt;&lt;/i&gt;&lt;i&gt; &lt;span style="color:#009900;"&gt;/mnt/dvd &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="color:#3333ff;"&gt; -o loop&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;Именно параметр   и указывает на то, что при монтировании будет использовано loop-устройство (петлевое устройство, петля). Петлевых устройств в системе несколько, и называются они /dev/loop0 ... /dev/loop7. Можно создать их и больше, если надо:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;blockquote&gt;mknod /dev/loop8 b 7 8&lt;br /&gt;mknod /dev/loop9 b 7 9&lt;/blockquote&gt;Главное, чтобы поддержка loopback-device была в ядре Linux (если вы его не собирали сами, она там скорее всего есть). Больше о &lt;a href="http://www.unix.com/hp-ux/66710-mknod.html"&gt;петлевых&lt;/a&gt; устройствах можно прочитать &lt;a href="http://tldp.org/HOWTO/CDServer-HOWTO/addloops.html" target="_blank"&gt;тут&lt;/a&gt;, &lt;a href="http://android.stackexchange.com/questions/8924/what-are-loop-devices" target="_blank"&gt;там&lt;/a&gt; и &lt;a href="http://wiki.osdev.org/Loopback_Device" target="_blank"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" ;font-size:130%;color:#996633;"  &gt;&lt;span style="font-weight: bold;"&gt;Установка и подготовка к работе&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Для cryptoloop нам потребуется установить небольшой пакет:&lt;br /&gt;&lt;blockquote&gt;sudo aptitude install loop-aes-utils&lt;/blockquote&gt;Далее загружаем модуль cryptoloop:&lt;br /&gt;&lt;blockquote&gt;sudo modprobe cryptoloop&lt;/blockquote&gt;он должен появиться в списке модулей ядра, проверить который можно командой &lt;span style="font-weight: bold;"&gt;lsmod&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" ;font-size:130%;color:#996633;"  &gt;&lt;span style="font-weight: bold;"&gt;Шифруем файлы и разделы с помощью Cryptoloop и алгоритма AES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Для начала нужно определиться: указываемый метод &lt;span style=" font-weight: bold;color:#cc0000;" &gt;НЕ ПРЕДНАЗНАЧЕН&lt;/span&gt; для шифрования &lt;span style=" font-weight: bold;color:#cc0000;" &gt;разделов с данными&lt;/span&gt;, а только для создания зашифрованных разделов, куда эти данные потом будут скопированы. Так что если вы сотрёте свой раздел с важными данными - пеняйте на себя и читайте в следующий раз внимательно.&lt;br /&gt;&lt;br /&gt;Если следовать рецептам ниже с головой и всё сделать правильно, то в результате мы получим раздел\файл, с которым можно будет работать, как с любым диском на чтение и запись - с той разницей, что данные там будут зашифрованы. Каждый раз при монтировании нас будут спрашивать пароль для доступа к этим файлам.&lt;br /&gt;&lt;br /&gt;Итак, начинаем подготавливать криптораздел\криптофайл, куда мы скопируем ценные данные и зашифруем.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;0. Создание криптофайла или криптораздела&lt;/span&gt;&lt;br /&gt;Если мы хотим создать один большой файл, который будет содержать зашифрованные файлы, делаем это так:&lt;br /&gt;&lt;blockquote&gt;dd if=/dev/zero of=~&lt;span style=" font-weight: bold;color:#993399;" &gt;crypto.file&lt;/span&gt; bs=1M count=&lt;span style=" font-weight: bold;color:#3333ff;" &gt;30&lt;/span&gt;&lt;/blockquote&gt;В данном примере это файл на &lt;span style=" font-weight: bold;color:#3333ff;" &gt;30 &lt;/span&gt;Мб, но при нужде можно сделать сколько угодно.&lt;br /&gt;&lt;br /&gt;Или ищем флешку, на которой есть &lt;span style=" font-style: italic; font-weight: bold;color:red;" &gt;пустой&lt;/span&gt; раздел - этот пустой раздел мы сделаем шифрованным. Допустим, это будет &lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2&lt;/span&gt; который мы скоро &lt;span style="font-style: italic;"&gt;отформатируем&lt;/span&gt; и зашифруем.&lt;br /&gt;&lt;br /&gt;Ещё раз:&lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2 &lt;/span&gt; это НЕ раздел с вашими данными, а пустой раздел, куда вы эти данные переместите - и они при этом зашифруются. О создании разделов можно почитать &lt;a href="http://mydebianblog.blogspot.com.au/2008/10/cfdisk-mkfs-linux.html"&gt;в посте о форматировании&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;1. Связываем устройство с loop device (петлевым устройством) с использованием шифрования&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;В случае криптофайла:&lt;br /&gt;&lt;blockquote&gt;losetup &lt;span style="color:#339999;"&gt;-e aes&lt;/span&gt; &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt; ~&lt;span style=" font-weight: bold;color:#993399;" &gt;crypto.file&lt;/span&gt;&lt;/blockquote&gt;В случае криптораздела:&lt;br /&gt;&lt;blockquote&gt;losetup &lt;span style="color:#339999;"&gt;-e aes&lt;/span&gt; &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt;  &lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2&lt;/span&gt;&lt;/blockquote&gt;При любом варианте вас попросят ввести пароль - он будет использоваться для доступа к вашим файлам.&lt;br /&gt;&lt;blockquote&gt;cat file | losetup &lt;span style="color:#339999;"&gt;-e aes &lt;/span&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt; &lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2&lt;/span&gt; -p0&lt;/blockquote&gt;Пароль меньше 20 символов оно не примет - и правильно сделает. Излишне напоминать, что если забудете пароль - не сможете примонтировать данные обратно. Для любопытных: ключ &lt;span style="color:#339999;"&gt;-e aes&lt;/span&gt; указывает программе использовать шифрование AES, который довольно устойчив ко взлому.&lt;br /&gt;&lt;br /&gt;Теперь больше работать с устройством через &lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2&lt;/span&gt; или &lt;span style=" font-weight: bold;color:#993399;" &gt;crypto.file&lt;/span&gt; мы не будем, потому как оно зашифровано и система его просто так не примонтирует. Вместо этого работать мы будем именно с &lt;span style="font-style: italic;"&gt;петлевым устройством&lt;/span&gt;, на которое замкнули криптофайл или криптораздел - оно может быть &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt; или другое (необязательно каждый раз замыкать на одно и то же устройство).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;2. Форматирование зашифрованного раздела или файла&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;После того, как мы связали устройство или файл с loop-device, нужно его отформатировать:&lt;br /&gt;&lt;blockquote&gt;mkfs.ext2 &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt;&lt;/blockquote&gt;В этом примере мы отформатировали на файловую систему Ext2, но можно использовать любую.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;3. Перенос данных и работа с зашифрованным разделом или файлом&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;Работаем с петлевым устройством, как с обычным разделом: монтируем, записываем на него данные и так далее. Монтирование зашифрованного раздела или файла выглядит так:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mkdir /mnt/cryptodisk    &lt;span style="color:#999999;"&gt;&amp;lt;--- это если точка монтирования ещё не создана&lt;/span&gt;&lt;br /&gt;mount &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt; /mnt/cryptodisk&lt;/blockquote&gt;Размонтирование:&lt;br /&gt;&lt;blockquote&gt;umount &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt;&lt;/blockquote&gt;Больше о монтировании можно &lt;a href="http://mydebianblog.blogspot.com.au/2008/09/linux.html"&gt;прочитать в соответствующем посте&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;4. Окончание работы с криптофайлом\криптоустройством&lt;/span&gt;&lt;br /&gt;После отмонтирования нужно отвязать устройство или файл от петлевого устройства:&lt;br /&gt;&lt;blockquote&gt;losetup -d  &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt;&lt;/blockquote&gt;На всякий случай, просмотреть список задействованных петлевых устройств (loop devices) можно командой:&lt;br /&gt;&lt;blockquote&gt;losetup -a&lt;/blockquote&gt;Теперь петлевое устройство свободно, данные зашифрованы, враг не пройдёт.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="  font-weight: bold;font-size:130%;color:#996633;"  &gt;А как теперь обратно прикрутить криптованный раздел или файл?&lt;/span&gt;&lt;br /&gt;Легко - доступ к зашифрованным данным можно получить, опять привязав к петлевому устройству криптораздел\криптофайл и введя пароль, который вы назначили ранее. То есть в случае криптофайла:&lt;br /&gt;&lt;blockquote&gt;losetup &lt;span style="color:#339999;"&gt;-e aes&lt;/span&gt; &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt; ~&lt;span style=" font-weight: bold;color:#993399;" &gt;crypto.file&lt;/span&gt;&lt;/blockquote&gt;В случае криптораздела:&lt;br /&gt;&lt;blockquote&gt;losetup &lt;span style="color:#339999;"&gt;-e aes&lt;/span&gt; &lt;span style=" font-weight: bold;color:#009900;" &gt;/dev/loop0&lt;/span&gt;  &lt;span style=" font-weight: bold;color:#993399;" &gt;/dev/sdd2&lt;/span&gt;&lt;/blockquote&gt;Вас снова попросят ввести пароль, который нужен для доступа к вашим файлам.&lt;br /&gt;&lt;br /&gt;Теперь мы имеем раздел или файл, который невозможно примонтировать просто так (он зашифрован и Linux не увидит на нем файловую систему). Но после прикручивания к петлевому устройству все данные будут доступны (если вы знаете пароль, разумеется).&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #783f04;"&gt;Альтернативы&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;более каноничный способ по мнению некоторых комментаторов ниже, это использовать штатный cryptsetup. Об этом &lt;a href="http://libc6.org/page/perenos-home-na-zashifrovannyj-razdel" target="_blank"&gt;есть хорошая заметка на блоге у Librarian&lt;/a&gt; и толковое &lt;a href="http://www.debian-administration.org/articles/469"&gt;руководство&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;ещё можно попробовать &lt;a href="http://web-bricks.ru/comments/truecrypt_-_besplatnaya_krossplatformennaya_programma_shifrovaniya_dannyh"&gt;Truecrypt&lt;/a&gt;, где есть возможность создания зашифрованного контейнера с "двойным" дном, т.е.  двух уровней правдоподобного отрицания, на случай рассекречивания  паролей.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Лирическое отступление&lt;/span&gt;&lt;br /&gt;Не хотелось бы разочаровывать начинающих криптоанархистов, но ребята с xkcd в общем реалистично смотрят на вещи:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-WaOgPTWAEMI/T00U3NGyvxI/AAAAAAAACXY/vCEaFPx9tng/s1600/security.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5714246440846540562" src="http://2.bp.blogspot.com/-WaOgPTWAEMI/T00U3NGyvxI/AAAAAAAACXY/vCEaFPx9tng/s400/security.png" style="cursor: hand; cursor: pointer; display: block; height: 245px; margin: 0px auto 10px; text-align: center; width: 400px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Тем не менее, светить своими данными не комильфо, и какое-то время вы выиграете.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-6338259418085962223?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=qI4FvlyI6-8:uLBxQAzZj5U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=qI4FvlyI6-8:uLBxQAzZj5U:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=qI4FvlyI6-8:uLBxQAzZj5U:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=qI4FvlyI6-8:uLBxQAzZj5U:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/qI4FvlyI6-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/6338259418085962223/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/05/linux-loop-device-aes.html#comment-form" title="Комментарии: 26" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/6338259418085962223?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/6338259418085962223?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/qI4FvlyI6-8/linux-loop-device-aes.html" title="Шифрование разделов и файлов в Linux с помощью loop-device и AES алгоритма" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-WaOgPTWAEMI/T00U3NGyvxI/AAAAAAAACXY/vCEaFPx9tng/s72-c/security.png" height="72" width="72" /><thr:total>26</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/05/linux-loop-device-aes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4FQXsyeyp7ImA9WhVXFks.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-2319531541882060158</id><published>2012-04-16T03:36:00.002+04:00</published><updated>2012-04-17T16:15:10.593+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-17T16:15:10.593+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="интернет" /><title>Cкачать кешированное видео youtube из браузера в стиле UNIX</title><content type="html">Испорченные мышекликанием пользователи считают, как &lt;a href="http://mydebianblog.blogspot.com.au/2009/01/unix.html"&gt;тот программист из UNIX коанов мастера Фу&lt;/a&gt;, что "&lt;span class="fullpost"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-style: italic;"&gt;средства  командной строки UNIX грубые и отсталые - современные правильно спроектированные операционные системы делают все  через графический интерфейс пользователя&lt;/span&gt;".&lt;/span&gt;&lt;/span&gt; Однако время, потраченное на изучение того, как работает UNIX под этой графической мишурой, окупается сторицей при решении повседневных задач быстрее и эффективнее мышекликания.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Эта заметка появилась из вопроса, заданного мне местным убунтушником, который никак не мог скачать видеолекции с YouTube: в Firefox плагин VideoDownloader не срабатывал по какой-то причине, как и скрипт youtube-dl. То есть видео закешировано, в броузере играет и поёт, но скопировать его в файл из броузера не получается. Здесь нам на помощь придёт &lt;a href="http://mydebianblog.blogspot.com.au/2008/07/proc.html"&gt;файловая система &lt;span style="font-weight: bold;"&gt;proc&lt;/span&gt;&lt;/a&gt; и тот замечательный факт, что удалённый файл &lt;span style="font-style: italic;"&gt;реально&lt;/span&gt; удаляется только после того, как он закрыт всеми приложениями, его использующими.&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Вытаскивание кешированнго YouTube видео из-под Firefox&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Для самых нетерпеливых, собственно, рецепт:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc6600;"&gt;&lt;span style="color:#993300;"&gt;1.&lt;/span&gt; &lt;/span&gt;Заходим на YouTube, кликаем на интересующее видео и ждём, пока оно &lt;span style="font-style: italic;"&gt;полностью&lt;/span&gt; загрузится.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993300;"&gt;2.&lt;/span&gt; В консоли запрашиваем список всех открытых видеороликов Flash:&lt;br /&gt;&lt;blockquote&gt;$&lt;span style="font-weight: bold;"&gt; lsof -n | grep Flash&lt;/span&gt;&lt;/blockquote&gt;Старые версии Firefox просто хранят кешированное видео в директории&lt;span style="font-weight: bold;"&gt;  /tmp&lt;/span&gt;&lt;br /&gt;и в этом случае видео можно просто скопировать. В этом случае вы увидите что-то вроде:&lt;br /&gt;&lt;blockquote&gt;beast@notebeast:~/docs/mygtd$ lsof -n | grep Flash&lt;br /&gt;&lt;span style="color:#000099;"&gt;plugin-co&lt;/span&gt;  &lt;span style="color:#ff6600;"&gt;6231&lt;/span&gt;      beast   15u      REG        3,2  1938773  1746302 &lt;span style="color:#993399;"&gt;/tmp/FlasheY4skF&lt;/span&gt;&lt;/blockquote&gt;С обновлённым флеш-плагином этого не будет, а будет вот что:&lt;br /&gt;&lt;blockquote&gt;beast@notebeast:~/docs/mygtd$ lsof -n | grep Flash&lt;br /&gt;&lt;span style="color:#000099;"&gt;plugin-co&lt;/span&gt;  &lt;span style="color:#cc0000;"&gt; &lt;/span&gt;&lt;span style=" font-weight: bold;color:#cc0000;" &gt;6231&lt;/span&gt;       beast   15u      REG        3,2  1938773  1746302 &lt;span style="color:#993399;"&gt;/tmp/FlasheY4skF &lt;span style="font-weight: bold;"&gt;(deleted)&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;И ничего в &lt;span style="font-weight: bold;"&gt;/tmp&lt;/span&gt; мы, натурально, не найдём. Но файл всё-таки есть, так как в броузере он  поёт, а значит, к нему в Linux можно добраться.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993300;"&gt;3. &lt;/span&gt;Запоминаем идентификатор процесса (в нашем случае  &lt;span style="color:#cc0000;"&gt; &lt;/span&gt;&lt;span style=" font-weight: bold;color:#cc0000;" &gt;6231&lt;/span&gt;), который открыл вожделенное видео с утуба, и в консоли переходим в директорию &lt;span style="font-weight: bold;"&gt;/proc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Тут мы видим кучу подкаталогов с цифрами и странными названиями - нас интересует директория &lt;span style="color:#cc0000;"&gt; &lt;/span&gt;&lt;span style=" font-weight: bold;color:#cc0000;" &gt;6231&lt;/span&gt;  и она, как выясняется, не пуста. Переходим в подкаталог:&lt;br /&gt;&lt;blockquote&gt;$&lt;span style="font-weight: bold;"&gt; cd /proc/&lt;/span&gt;&lt;span style=" font-weight: bold;color:#cc0000;" &gt;6231&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/fd&lt;/span&gt;&lt;/blockquote&gt;и после этого пытаемся просмотреть все файлы там:&lt;br /&gt;&lt;blockquote&gt;$ &lt;span style="font-weight: bold;"&gt;ls -l&lt;/span&gt;&lt;/blockquote&gt;и увидим что-то вроде:&lt;br /&gt;&lt;br /&gt;beast@notebeast:/proc/6231/fd$&lt;span style="font-weight: bold;"&gt; ls -l&lt;/span&gt;&lt;br /&gt;итого 0&lt;br /&gt;lr-x------ 1 beast beast 64 2012-03-03 10:04 0 -&amp;gt; /dev/null&lt;br /&gt;l-wx------ 1 beast beast 64 2012-03-03 10:04 1 -&amp;gt; /home/beast/.xsession-errors&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 10 -&amp;gt; socket:[15270]&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 11 -&amp;gt; socket:[15271]&lt;br /&gt;lr-x------ 1 beast beast 64 2012-03-03 10:04 12 -&amp;gt; pipe:[15272]&lt;br /&gt;l-wx------ 1 beast beast 64 2012-03-03 10:04 13 -&amp;gt; pipe:[15272]&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 14 -&amp;gt; socket:[15284]&lt;br /&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 15 -&amp;gt; /tmp/FlasheY4skF (deleted)&lt;/span&gt;&lt;br /&gt;lr-x------ 1 beast beast 64 2012-03-03 10:04 16 -&amp;gt; /dev/snd/timer&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 17 -&amp;gt; /dev/snd/pcmC0D0p&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 18 -&amp;gt; /dev/snd/controlC0&lt;br /&gt;l-wx------ 1 beast beast 64 2012-03-03 10:04 2 -&amp;gt; /home/beast/.xsession-errors&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 3 -&amp;gt; socket:[15182]&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 4 -&amp;gt; socket:[15183]&lt;br /&gt;lr-x------ 1 beast beast 64 2012-03-03 10:04 5 -&amp;gt; pipe:[15268]&lt;br /&gt;l-wx------ 1 beast beast 64 2012-03-03 10:04 6 -&amp;gt; pipe:[15268]&lt;br /&gt;lr-x------ 1 beast beast 64 2012-03-03 10:04 7 -&amp;gt; pipe:[15269]&lt;br /&gt;l-wx------ 1 beast beast 64 2012-03-03 10:04 8 -&amp;gt; pipe:[15269]&lt;br /&gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 9 -&amp;gt; anon_inode:[eventpoll]&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993300;"&gt;4. &lt;/span&gt;Оказывается, что в директории /proc лежит наше вожделенное видео, только вместо имени там стоит номер, в данном случае &lt;span style=" font-weight: bold;color:#009900;" &gt;15 &lt;/span&gt;который указывает на видеофайл:&lt;br /&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;15 -&amp;gt; /tmp/FlasheY4skF&lt;/span&gt; &lt;span style=" font-weight: bold;color:#009900;" &gt; (deleted)&lt;/span&gt;&lt;/blockquote&gt;Так как в UNIX действует принцип &lt;span style=" font-style: italic; font-weight: bold;color:#990000;" &gt;всё есть файл&lt;/span&gt;, мы просто копируем файл &lt;span style=" font-weight: bold;color:#009900;" &gt;15&lt;/span&gt; в свою домашнюю директорию:&lt;br /&gt;&lt;blockquote&gt;$ &lt;span style="font-weight: bold;"&gt;cp &lt;/span&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;15&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;   ~/myNewCoolGreatFlashYouTubevideo.flv&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color:#666666;"&gt;&lt;/span&gt;Всё, теперь видео с тюбика в наших руках, и можно делать с ним всё, что душе угодно, в  цветастом и мышастом Гноме (точнее, теперь уже Юнити).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Как это работает&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;После запуска, каждый процесс (и его подпроцессы) получает индетификатор (&lt;span style="color:#3333ff;"&gt;PID&lt;/span&gt;), при этом в каталоге &lt;span style="color:#3333ff;"&gt;/proc&lt;/span&gt; создаётся подкаталог с номером, соответствующем номеру &lt;span style="color:#3333ff;"&gt;PID&lt;/span&gt; вроде &lt;span style="color:#3333ff;"&gt;/proc/PID&lt;/span&gt;.  Внутри создаются файлы и подкаталоги, которые содержат информацию о процессе. Вот ей-то мы и воспользовались в своих корыстных целях.&lt;br /&gt;&lt;br /&gt;Среди прочего, о чём можно узнать из &lt;a href="http://mydebianblog.blogspot.com/2008/07/proc.html"&gt;обновлённого поста о proc&lt;/a&gt; или &lt;a href="http://www.linuxjournal.com/article/177"&gt;другой документации&lt;/a&gt;, нас интересует каталог&lt;span style="color:#3333ff;"&gt; /proc/PID/&lt;/span&gt;&lt;span style=" font-weight: bold;color:#3333ff;" &gt;fd&lt;/span&gt;. Этот  каталог содержит символическую ссылку для дескрипторов файлов,  которые открыты процессом. Это значит, что мы можем увидеть здесь ссылки  на открытые файлы и устройства.&lt;br /&gt;&lt;br /&gt;Внутри мы видим ссылки в виде  номеров:&lt;br /&gt;&lt;blockquote&gt;0  1  10  11  12  13  2  3  4  5  6  7  8  9,&lt;/blockquote&gt;но команда ls -l  скажет вам намного больше интересного (об этом было выше). Ключевая строчка:&lt;br /&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=" font-weight: bold;color:#009900;" &gt;lrwx------ 1 beast beast 64 2012-03-03 10:04 15 -&amp;gt; /tmp/FlasheY4skF (deleted)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ссылка &lt;span style=" font-weight: bold;color:#009900;" &gt;15&lt;/span&gt; ведёт на файл с флеш-видео, который сейчас открыт. Помня, что в UNIX всё есть файл, мы скопируем ссылку &lt;span style=" font-weight: bold;color:#009900;" &gt;15&lt;/span&gt; в свой домашний каталог. Только вместо ссылки копируется её содержимое. Ларчик открывается сравнительно просто, если знать как.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Заключение и выводы&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;На самом деле, подобные вопросы в процессе работы как раз и позволяют глубже понять принципы работы операционной системы, а не просто клацать мышкой по кнопкам. Тем более, что настоящая мощь UNIX как раз и находится под всей этой графической мишурой.&lt;br /&gt;&lt;br /&gt;Главная проблема пользователей Windows-like дистрибутивов (Ubuntu, OpenSUSE, Fedora...)  в том, что они тащят свои &lt;span style="color:silver;"&gt;дурные&lt;/span&gt; привычки из Windows, которые в Linux\UNIX не позволяют добиться желаемого. Разница - в подходе ко взаимодействию системы и пользователя:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;В UNIX схема работы ``&lt;span style="font-style: italic;"&gt;от понимания - к действию&lt;/span&gt;'': чтобы что-то сделать, надо понимать&lt;span style="color:#999999;"&gt; (или хотя бы смутно догадываться)&lt;/span&gt;, как оно устроено.&lt;/li&gt;&lt;li&gt;В Windows схема работы ``&lt;span style="font-style: italic;"&gt;методом тыка&lt;/span&gt;'' (буквально): знаю КАК что-то сделать (куда нажать, какую галочку отметить) -&amp;gt; делаю.&lt;/li&gt;&lt;/ul&gt;Понимание устройства файловой системы в данном конкретном случае - ключ к решению проблемы. Но Windows-ориентированные дистрибутивы этому не способствуют. Никакого &lt;a href="http://askubuntu.com/questions/37267/how-can-i-access-flash-files-from-streaming-websites"&gt;рокетсаенса&lt;/a&gt; в приведённом пример, конечно, &lt;a href="http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/"&gt;нет&lt;/a&gt;, но тем не менее.&lt;br /&gt;&lt;br /&gt;Эта заметка так же сподвигла автора &lt;a href="http://mydebianblog.blogspot.com.au/2008/07/proc.html"&gt;обновить старый пост о /proc&lt;/a&gt;, немного почитать документацию, поработать Капитаном Очевидностью на полставки и, как говаривал Эркюль Пуаро, напрячь свои маленькие серые клеточки.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-2319531541882060158?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Uj9p2UNuLCU:8BXQQStoHu0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Uj9p2UNuLCU:8BXQQStoHu0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Uj9p2UNuLCU:8BXQQStoHu0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Uj9p2UNuLCU:8BXQQStoHu0:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/Uj9p2UNuLCU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/2319531541882060158/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/04/c-youtube-unix.html#comment-form" title="Комментарии: 21" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/2319531541882060158?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/2319531541882060158?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/Uj9p2UNuLCU/c-youtube-unix.html" title="Cкачать кешированное видео youtube из браузера в стиле UNIX" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><thr:total>21</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/04/c-youtube-unix.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ICRns9fip7ImA9WhVQF00.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-493665911578908587</id><published>2012-04-02T00:24:00.005+04:00</published><updated>2012-04-06T12:39:27.566+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-06T12:39:27.566+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="андроид" /><title>Навигационные программы для Android: в каменные джунгли вместе с OpenStreetMaps</title><content type="html">Всё началось с того, что автор этих строк, планируя поездку в другой город на выходные, забыл свой любимый &lt;a href="http://mydebianblog.blogspot.com/2009/10/garmin-60csx-garmin.html"&gt;GPS навигатор&lt;/a&gt; на работе. В ночь перед поездкой была проведена небольшая ревизия навигацкого софтвария под андроидные телефоны. Согреваемый памятью об OpenStreetMaps и укреплённый надеждою на опенсорц, автор отчаянно просеивал тонны пустой программной породы в надежде отрыть нечто работящее и непременно с офф-лайн броузингом карт.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt; &lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;Условия отбора участников забега&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt; &lt;span style="color: rgb(51, 0, 153);"&gt;Аврал! Всех крокодилов за борт! &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic; color: rgb(51, 0, 153);"&gt;(С) Приключения капитана Врунгеля&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;Очень кратко:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;офф-лайн просмотр и навигация по картам должны не только&lt;span style="font-style: italic;"&gt; иметь место быть&lt;/span&gt;, но и всё-таки &lt;span style="font-style: italic; font-weight: bold;"&gt;хорошо работать&lt;/span&gt;, ибо перспектива геройски умереть в австралийском буше автора пока что не прельщает;&lt;/li&gt;&lt;li&gt;желательно наличие интерфейса, в котором можно разобраться менее, чем за сутки и без наличия докторской степени по ракетным наукам;&lt;/li&gt;&lt;li&gt;запись треков, подгрузка координат ближайших рюмошных и пельменных, геокешинг и прочие бубенчики - опционально и строго не в ущерб основной деятельности программы, а именно&lt;span style="color: rgb(192, 192, 192);"&gt;, как это ни удивительно,&lt;/span&gt; выдача географических координат  телефона с помощью системы глобальной навигации GPS и наложение оных координат на карту, сколько-нибудь напоминающую окружающую местность.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Философско-практическое обоснование:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;Эти дети вебдваноля, которые пишут андроидный нафигационный софтварий,  думают, что это ихнее трижэ и вайфай в 21 веке есть ну вот просто всюду и  светлое беспроводное счастье беспощадно наступило. Для ознакомления с  жестокой реальностью, этих пионэров хочется закинуть на денёк в  какой-нибудь Шлайшиттаун с населением в 10.5 колхозника. И предложить им  выбраться оттуда на  шоссе с помощью их он-лайн нафигаторов в  телефонах.  Если они не склеют  ласты от испепеляющей жары, то задумаются о пользе добавления функции офф-лайн броузинга карт в свои пародии на  навигаторы.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;По этой причине в забеге &lt;span style="font-weight: bold; font-style: italic;"&gt;не&lt;/span&gt; участвуют многочисленные кривые поделки под навигаторы, элементарно тягающие Google Maps по ходу перемещения. Это несерьёзно: при таком подходе, вам потребуется аккумулятор от танка и спонсорство арабских шейхов (&lt;span style="color: rgb(153, 153, 153);"&gt;передача данных по телефону в наших краях стоит каких-то астрономических денег&lt;/span&gt;). Здесь, конечно, можно упрекнуть автора в том, что это всё-таки телефон, а не полноценный навигатор. И это правда. Но автор всё никак не может понять: включив GPS, максимальную яркость экрана и не дай бог вайфай - сколько всё это протянет на чахлой телефонной батарейке!?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;Список участников навигационного марафона&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Старший помощник Лом,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;очистить левый борт от зелёных насаждений!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;&lt;span style="font-style: italic; color: rgb(51, 0, 153);"&gt;(С) Приключения капитана Врунгеля&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;Длинный список навигацкого счастья для андроидоводов можно найти здесь: &lt;a class="external" rel="nofollow" target="_blank" href="http://wiki.openstreetmap.org/wiki/Android"&gt;http://wiki.openstreetmap.org/wiki/Android&lt;/a&gt;&lt;br /&gt;Как и в случае с CAD-системами под Linux, это скорее кладбище разбитых кораблей: либо тягалки гуглокарт, либо сноповязалки с вертикальным взлётом, либо велосипеды с квадратными колёсами. Среди всего этого было выловлено:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51); font-weight: bold;"&gt;1. Navit [&lt;/span&gt;&lt;a href="https://market.android.com/details?id=org.navitproject.navit&amp;amp;feature=search_result"&gt;&lt;span style="font-weight: bold;"&gt;скачать&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(153, 102, 51); font-weight: bold;"&gt;]&lt;/span&gt;&lt;br /&gt;По утверждению автора, оно есть completely free and offline Navigation system for Android.&lt;br /&gt;На самом деле, это не описание программы, а то, что автору хотелось бы видеть в далёком будущем от этого поделия. Интер, с позволения сказать, фейс:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-HKgrvuOepfA/TqI4t5iWCTI/AAAAAAAAB_c/GvOHEg6PwCg/s1600/ss-480-4-4.jpeg"&gt;&lt;img src="http://2.bp.blogspot.com/-HKgrvuOepfA/TqI4t5iWCTI/AAAAAAAAB_c/GvOHEg6PwCg/s400/ss-480-4-4.jpeg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" alt="" id="BLOGGER_PHOTO_ID_5666153642375645490" border="0" /&gt;&lt;/a&gt;страдает отчаянным минимализмом и падучестью. Программа признаёт только карты, скачанные лично ей - на попытку сделать это на HTC Desire HD программа вылетела и ничего не скачала.  Утверждается, что это дорожный навигатор - тем более интерфейс должен быть прост и понятен. Я не знаю, каким образом &lt;span style="font-style: italic;"&gt;это&lt;/span&gt; можно использовать в автомобиле. Судя по обилию отрицательных отзывов на сайте самой программы, это получается далеко не у всех. И судя по &lt;a href="http://wiki.navit-project.org/index.php/Configuring_Navit"&gt;километровой простыне описания конфигурационного файла&lt;/a&gt; (и это для навигатора!), авторам сего поделия абсолютно плевать на пользователей.&lt;br /&gt;&lt;br /&gt;Другая версия, &lt;a href="https://play.google.com/store/apps/details?id=com.zoffcc.applications.zanavi&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS56b2ZmY2MuYXBwbGljYXRpb25zLnphbmF2aSJd"&gt;ZANavi&lt;/a&gt;, основана на том же Navit, с похожим интерфейсом.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Итог:&lt;/span&gt; Заставить &lt;span style="font-style: italic;"&gt;это&lt;/span&gt; работать не удалось. Подсунуть карты тоже. Navit отправляется в утиль, а автор продолжает поиск чего-нибудь работящего. И тут появляется...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51); font-weight: bold;"&gt;2. MapDroyd [&lt;/span&gt;&lt;a href="http://www.appbrain.com/app/mapdroyd/com.osa.android.mapdroyd"&gt;&lt;span style="font-weight: bold;"&gt;скачать&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(153, 102, 51); font-weight: bold;"&gt;]&lt;/span&gt;&lt;br /&gt;Оно проприетарное, но бесплатное. Карты могут быть скомпилированы только &lt;a href="http://forum.onestepahead.de/viewtopic.php?f=14&amp;amp;t=65"&gt;производителем&lt;/a&gt; и это весьма огорчает (хотя при этом карты получаются очень компактными). Интерфейс вполне рабочий:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-tu2JMd9Kf_E/TqI-bFG05OI/AAAAAAAAB_o/hdhRdq-SG_A/s1600/ss-320-0-4.jpeg"&gt;&lt;img src="http://1.bp.blogspot.com/-tu2JMd9Kf_E/TqI-bFG05OI/AAAAAAAAB_o/hdhRdq-SG_A/s400/ss-320-0-4.jpeg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" alt="" id="BLOGGER_PHOTO_ID_5666159916133704930" border="0" /&gt;&lt;/a&gt;Карты, как выяснилось со стороннего форума, хранятся в /sdcard/MapDroyd/data&lt;br /&gt;Неплохой обзор и обсуждение можно прочитать &lt;a href="http://androidforums.com/application-reviews/96376-mapdroyd-fantastic-mapping-application.html"&gt;здесь&lt;/a&gt;. MapDroyd это не  &lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt;Google Maps&lt;/span&gt;, &lt;span class="hps"&gt;Garmin&lt;/span&gt; &lt;span class="hps"&gt;или&lt;/span&gt; &lt;span class="hps"&gt;TomTom&lt;/span&gt;&lt;span&gt;, это не &lt;/span&gt;&lt;/span&gt;навигатор ни разу - оно просто программа, отображающая карту и&lt;span id="result_box" class="" lang="ru"&gt; &lt;span class="hps"&gt;ваше местоположение&lt;/span&gt; &lt;span class="hps"&gt;на ней.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Итог:&lt;/span&gt; как выяснилось, это рекламное приложение для &lt;a href="https://play.google.com/store/apps/details?id=com.osa.android.navdroyd&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5vc2EuYW5kcm9pZC5uYXZkcm95ZCJd"&gt;NavDroyd&lt;/a&gt;, который платный. Нам такой хоккей не нужен.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;3. OruxMaps [&lt;/span&gt;&lt;a style="font-weight: bold; color: rgb(153, 102, 51);" href="https://market.android.com/details?id=com.orux.oruxmaps&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5vcnV4Lm9ydXhtYXBzIl0."&gt;скачать&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;]&lt;/span&gt;&lt;br /&gt;Это оффлайн-навигатор, который кеширует карты Google Maps и способен потом работать без подключения к сетям, радуя вас отображением отличных гугловских карт. Впрочем, радовать он будет до тех пор, пока в кеше есть карты и они нужного размера:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-AHeREsXXcPg/TqJFPL1K_qI/AAAAAAAAB_0/wr9Bhrm3B94/s1600/oruxmap.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-AHeREsXXcPg/TqJFPL1K_qI/AAAAAAAAB_0/wr9Bhrm3B94/s400/oruxmap.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 239px; height: 400px;" alt="" id="BLOGGER_PHOTO_ID_5666167408361668258" border="0" /&gt;&lt;/a&gt;В целом неплох и дело своё делает, но есть одна проблема: &lt;span style="font-style: italic;"&gt;интерфейс&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Безусловно, все знакомы с интерфейсом Gimp, для которого нужно двадцать щупалец и девять глаз. Здесь щупальца вам тоже пригодятся, как и марсианские мозги в разгадывании того, что означает эта картинка в меню и что при этом произойдёт. Интерфейс безусловно могуч, но создан каким-то инопланетным разумом для порабощения землян, так что гуманоидам придётся несладко.&lt;br /&gt;&lt;br /&gt;Оффлайн карты &lt;a href="http://download.mapsforge.org/maps/"&gt;есть по этой ссылке&lt;/a&gt;, но формата MapsForge.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Итог:&lt;/span&gt; если вы сможете разгадать интерфейс OruxMaps и не живёте в какой-нибудь глуши типа Канады или Австралии, этим можно, наверное, пользоваться.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;4. Osmand &lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);"&gt;&lt;sup&gt;выбор редакции :-)&lt;/sup&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt; [&lt;/span&gt;&lt;a style="font-weight: bold; color: rgb(153, 102, 51);" href="https://market.android.com/details?id=net.osmand&amp;amp;feature=search_result"&gt;скачать&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;]&lt;/span&gt;&lt;br /&gt;Наконец, сравнительно простая, но тем не менее работящая реализация очевидной для гуманоидов идеи: взять файлы OpenStreetMaps и на лету растеризовать карту, выдавая её пользователю. При сравнительно базовом, прямо скажем, интерфейсе:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-6Nh7AAXe_EE/TqJJfZYMMDI/AAAAAAAACAA/aG8zylgvAQ0/s1600/ss-320-1-3.jpeg"&gt;&lt;img src="http://2.bp.blogspot.com/-6Nh7AAXe_EE/TqJJfZYMMDI/AAAAAAAACAA/aG8zylgvAQ0/s400/ss-320-1-3.jpeg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" alt="" id="BLOGGER_PHOTO_ID_5666172084922626098" border="0" /&gt;&lt;/a&gt;оно вполне себе рабочее и сразу подхватывает скачанные на флешку карты. Когда телефонный чип GPS наконец-то посчитает ваши координаты, на карте появится синяя точка, обозначающая ваше место на карте.&lt;br /&gt;&lt;br /&gt;По умолчанию включён поворот карты, учитывающий значения акселерометра телефона, что лучше сразу выключить через Settings -  General - Map Rotation - DON'T ROTATE. Иначе оно сведёт с ума пользователя, крутя карту на каждый чих.&lt;br /&gt;&lt;br /&gt;Вопреки традициям опенсорца, оно имеет документацию, хотя несколько &lt;a href="http://code.google.com/p/osmand/wiki/HowToArticles"&gt;бестолковую&lt;/a&gt;. От пользовательской документации требуется быстро пояснить, как  пользоваться этим программным барахлом, а не начинать теоретический курс спутниковой навигации. Вместо кучи теоретических изысков, нужно всего лишь:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;зайти на сайт с &lt;a href="http://code.google.com/p/osmand/downloads/list"&gt;картами&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;найти нужную и скачать её&lt;/li&gt;&lt;li&gt;распаковать скачанную карту и поместить на SD-карту  &lt;span class="pun"&gt;/&lt;/span&gt;&lt;span class="pln"&gt;sdcard/osmand&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;И всё заиграет и запоёт. Больше про Osmand и Osmand+ можно узнать &lt;a href="http://blog.elms.pro/2011/07/gps-android-openstreetmap.html"&gt;на блоге Павла Вязового&lt;/a&gt;. Авторы Osmand публикуют бесплатно полнофункциональные&lt;a href="http://download.osmand.net/night-builds/"&gt; бинарные сборки (night builds)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;5. И другие потенциально интересные варианты&lt;/span&gt;&lt;br /&gt;Другие варианты, подсказанные уважаемыми комментаторами:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.yozi&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS55b3ppIl0."&gt;&lt;span style="font-weight: bold;"&gt;Yozi&lt;/span&gt;&lt;/a&gt;: офф-лайн навигатор по топографическим картам (использует платные карты Ozi Explorer).&lt;/li&gt;&lt;li&gt;Вместо Yozi  можно использовать &lt;a style="font-weight: bold;" href="https://play.google.com/store/apps/details?id=com.androzic"&gt;Androzic&lt;/a&gt; с &lt;a href="https://play.google.com/store/apps/details?id=com.androzic.ozimapper"&gt;OziMapper&lt;/a&gt;, который обновляется и развивается.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="https://play.google.com/store/apps/details?id=menion.android.locus&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsIm1lbmlvbi5hbmRyb2lkLmxvY3VzIl0."&gt;Locus&lt;/a&gt;: многообещающий навигатор с поддержкой онлайн карт (Openstreetmap - OSM, Freemap, SHOCart, MapQuest) и офф-лайн (SQLite, TAR maps, MBT maps, GEMF, Rmap).&lt;/li&gt;&lt;li&gt;Анонимус™ рекомендует® навигацкую софтину &lt;a href="https://play.google.com/store/apps/details?id=com.navikey.seven_ways"&gt;7 Ways&lt;/a&gt; от Майл.ру, утверждая, что сие есть сбалансированное бесплатное решение, как в качестве транспортного, так и туристического навигатора. Карты OSM скачивать &lt;a href="http://www.megamaps.org/index.php?a=l"&gt;здесь&lt;/a&gt;, форма запроса на отсутствующие &lt;a href="http://www.megamaps.org/index.php?a=n&amp;amp;i=1"&gt;карты&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Итог:&lt;/span&gt; если хочется свободного и бесплатного, на при этом рабочего, навигацкого софта с OpenStreetMaps, то Osmand это видимо единственное пригодное решение.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;На посошок: GPStest - утилита для тестирования GPS в андроидах&lt;br /&gt;&lt;/span&gt; Это НЕ навигационная программа, но она очень пригодится для тестирования GPS в вашем телефоне. &lt;a href="https://market.android.com/details?id=com.chartcross.gpstest&amp;amp;hl=en"&gt;GPStest&lt;/a&gt; отображает уровень сигнала со спутников и их расположение. Когда координаты определены, показывает уровень возвышения (Elevation), среднюю скорость и число используемых спутников для расчёта координат:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-aHpN4gDqQNU/TqJWjws8BMI/AAAAAAAACAM/D9x7bbqsrlc/s1600/ss-320-0-5.png"&gt;&lt;img src="http://4.bp.blogspot.com/-aHpN4gDqQNU/TqJWjws8BMI/AAAAAAAACAM/D9x7bbqsrlc/s400/ss-320-0-5.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" alt="" id="BLOGGER_PHOTO_ID_5666186453554300098" border="0" /&gt;&lt;/a&gt;В общем, полезная дополнительная утилита для работы с GPS: покажет, сколько спутников приёмник видит и каков их уровень.&lt;br /&gt;&lt;br /&gt;Также можно посмотреть в сторону программы &lt;a href="https://play.google.com/store/apps/details?id=com.eclipsim.gpsstatus2&amp;amp;feature=search_result"&gt;GPS Status&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-gjJaN-smlPI/T3ohiSbXPwI/AAAAAAAACYE/ZPLRwikDRyo/s1600/unnamed.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://1.bp.blogspot.com/-gjJaN-smlPI/T3ohiSbXPwI/AAAAAAAACYE/ZPLRwikDRyo/s320/unnamed.jpg" alt="" id="BLOGGER_PHOTO_ID_5726926749100883714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Программа не только выводит информацию о спутниках, но и выступает как компас, умеет скачивать AGPS данные при наличии интернета (что потом ускоряет поиск спутников) и имеет режим «радара» (чтобы по компасу вернуться к заранее заданной точке).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-493665911578908587?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Etj9LLFuiQM:fHDnAPuJHMs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Etj9LLFuiQM:fHDnAPuJHMs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=Etj9LLFuiQM:fHDnAPuJHMs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=Etj9LLFuiQM:fHDnAPuJHMs:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/Etj9LLFuiQM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/493665911578908587/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/04/andoid-openstreeetmaps.html#comment-form" title="Комментарии: 31" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/493665911578908587?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/493665911578908587?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/Etj9LLFuiQM/andoid-openstreeetmaps.html" title="Навигационные программы для Android: в каменные джунгли вместе с OpenStreetMaps" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-HKgrvuOepfA/TqI4t5iWCTI/AAAAAAAAB_c/GvOHEg6PwCg/s72-c/ss-480-4-4.jpeg" height="72" width="72" /><thr:total>31</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/04/andoid-openstreeetmaps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMR34zfCp7ImA9WhVVEUs.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-5630871691921148190</id><published>2012-03-12T22:12:00.000+04:00</published><updated>2012-05-05T00:36:26.084+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-05T00:36:26.084+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="текст" /><title>Как редактировать в Vim без порчи и бибиканья</title><content type="html">&lt;div class="document" id="id1"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-smMlQN0ACgY/T1KRblu2XdI/AAAAAAAACQ8/znNgQRipO-0/s1600/vim_logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" src="http://1.bp.blogspot.com/-smMlQN0ACgY/T1KRblu2XdI/AAAAAAAACQ8/znNgQRipO-0/s320/vim_logo.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="section" id="id2"&gt;
&lt;h3&gt;









Вступление&lt;/h3&gt;
"Вим умеет только бибикать и портить текст!", - так обычно обороняются адепты
секты &lt;a class="reference external" href="http://www.gnu.org/software/emacs/"&gt;Емакс&lt;/a&gt; во время очередных &lt;a class="reference external" href="http://en.wikipedia.org/wiki/Editor_war"&gt;священных битв&lt;/a&gt; между поклонниками этих двух
текстовых редакторов. Попробуем же освоить &lt;a class="reference external" href="http://www.vim.org/"&gt;Вим&lt;/a&gt; так, что бы избежать таких приколов.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="section" id="id6"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Терминология&lt;/h3&gt;
Для начала давайте разберёмся с терминами, которые обычно используются при описании работы в Виме.&lt;br /&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;Экран&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;Это окно программы Vim&lt;br /&gt;
&lt;br /&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;Окно&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;Представление (область экрана) буфера. Экран может включать одно или несколько окон, разделённых
строкой статуса. Внизу экрана размещается командная строка Вима.&lt;/dd&gt;
&lt;/dl&gt;
&lt;pre class="literal-block"&gt;      +-------------------------------------+
экран | окно 1           | окно 2           |
      |                  |                  |
      |                  |                  |
      |= строка статуса =|= строка статуса =|
      | окно 3                              |
      |                                     |
      |                                     |
      |==== строка статуса =================|
      | командная строка                    |
      +-------------------------------------+
&lt;/pre&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;Буфер&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;Временное хранилище текста.&lt;br /&gt;
&lt;br /&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;Именованный регистр&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;Именованное хранилище текста для множественных вставок.&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class="section" id="id7"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Войти и выйти&lt;/h3&gt;
Многие виммеры начинали своё знакомство с этим редактором с конфуза, а именно
не смогли попросту выйти из программы! Давайте начнём  с того, что раз и на
всегда избавим пользователя от необходимости закрывать окно терминала (а
так делал и ваш покорный слуга) с целью выхода из этого замечательного
редактора :)&lt;br /&gt;
&lt;br /&gt;
Чтобы начать редактировать произвольный файл и таким образом начать
пользоваться Вимом достаточно набрать в консоли:&lt;br /&gt;
&lt;pre class="literal-block"&gt;vim ~/foobar.txt
&lt;/pre&gt;
Отлично, первый шаг сделан - по ошибке или целенаправленно - это другой вопрос!
Чтобы выйти из Вима без сохранения внесённых изменений достаточно набрать:&lt;br /&gt;
&lt;pre class="literal-block"&gt;&amp;lt;Esc&amp;gt;:q[uit]&amp;lt;Enter&amp;gt;
&lt;/pre&gt;
В квадратные скобки заключена необязательная часть команды, которая дополнится,
как традиционно в UNIX, по &lt;tt class="docutils literal"&gt;&amp;lt;Tab&amp;gt;&lt;/tt&gt;. &lt;tt class="docutils literal"&gt;&amp;lt;Esc&amp;gt;&lt;/tt&gt; же переведёт редактор в нормальный режим, &amp;nbsp;если вы ещё не в нём (о режимах в Виме чуть позже). Чтобы уж совсем добить тему выхода — &amp;nbsp;есть ещё и клавиатурная комбинация (одна из "миллиона" в Виме): &lt;tt class="docutils literal"&gt;ZQ&lt;/tt&gt; - выход без сохранения изменений.
&lt;/div&gt;
&lt;div class="section" id="id8"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Режимы&lt;/h3&gt;
Вим, как и его&amp;nbsp;прародитель&amp;nbsp;Vi, имеет модальный интерфейс. Это означает, что одни и те же клавиши
в разных режимах работы выполняют разные действия. В Виме представлены следующие основные режимы:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Нормальный&lt;/b&gt; - главный режим, в котором вам придется работать. Когда вы запустили редактор,
вы находитесь именно в этом режиме. Нажатие клавиш в нём воспринимается как команды.
&lt;tt class="docutils literal"&gt;h&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;j&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;k&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;l&lt;/tt&gt; - переместят курсор куда вам необходимо,
&lt;tt class="docutils literal"&gt;x&lt;/tt&gt; удалит символ под курсором, &lt;tt class="docutils literal"&gt;dd&lt;/tt&gt; - целую строку и так далее.
Вернуться в нормальный режим из любого другого можно всегда по нажатию &lt;tt class="docutils literal"&gt;Esc&lt;/tt&gt;.
Вообще использование &lt;tt class="docutils literal"&gt;Esc&lt;/tt&gt;, ровно как и клавиш перемещения - это скорее историческое &lt;a class="reference external" href="http://xahlee.org/emacs/keyboard_hardware_and_key_choices.html"&gt;наследие&lt;/a&gt;.&lt;br /&gt;
&lt;div class="figure"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-bHLGfaQr49E/T1KRuf5N6OI/AAAAAAAACRU/YoWZBdf7v6Q/s1600/terminal_ADM-3A_keyboard.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://3.bp.blogspot.com/-bHLGfaQr49E/T1KRuf5N6OI/AAAAAAAACRU/YoWZBdf7v6Q/s320/terminal_ADM-3A_keyboard.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="caption"&gt;
Клавиатура терминала ADM-3A, на которой был написан Vi&lt;/div&gt;
&lt;/div&gt;
Для тех же, кто всё-таки не считает &lt;tt class="docutils literal"&gt;Esc&lt;/tt&gt; - самым удобным способом вернуться в нормальный режим Вима, есть
целые &lt;a class="reference external" href="http://www.allaboutvim.ru/2008/04/esc-vim.html"&gt;подборки альтернатив&lt;/a&gt;. Я для себя выбрал комбинацию &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;Ctrl-[&lt;/span&gt;&lt;/tt&gt;.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Режим вставки&lt;/b&gt; - это тот самый режим, в котором вы и будете вводить текст. В этот режим
можно перейти из нормального просто нажав &lt;tt class="docutils literal"&gt;i&lt;/tt&gt;, что означет начать режим ввода текста перед курсором.
На самом деле существует ещё наверно с дюжину клавиатурных комбинаций, которые вас переключат в этот режим.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Режим командной строки&lt;/b&gt; - перейти в него можно, набрав &lt;tt class="docutils literal"&gt;:&lt;/tt&gt; в нормальном режиме, набрав далее
необходимую команду. Это своего рода управляющий режим. С помощью его команд можно открыть файл
на редактирование &lt;tt class="docutils literal"&gt;:edit ~/foobar.txt&lt;/tt&gt; , сохранить правки и выйти &lt;tt class="docutils literal"&gt;:wq&lt;/tt&gt; и многое другое.
Так же частным его использованием является процедура поиска или замены текста.&lt;br /&gt;
По совету
анонимного читателя упоминаю о так называемых "принудительных" команд: 
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;:q!&lt;/tt&gt; - выход БЕЗ сохнанения изменений&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;:w!&lt;/tt&gt; - принудительно записать изменения&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;:e!&lt;/tt&gt; - переоткрыть файл, не сохраняя изменений&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;:e!&lt;/tt&gt; fname - открыть другой, не сохраняя изменений&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Визуальный режим&lt;/b&gt; позволяет делать тоже самое, что и в нормальной, но с визуально выделенными
блоками текста. Это позволяет не запоминать, сколько символов необходимо скопировать или строк удалить.
Например, устанавливаем в нормальном режиме курсор на начала текстового блока,
нажимаем &lt;tt class="docutils literal"&gt;v&lt;/tt&gt; и выделяем необходимый кусок текста. Теперь его можно, например, скопировать
&lt;tt class="docutils literal"&gt;y&lt;/tt&gt;.&lt;br /&gt;
На самом деле в Виме есть ещё 2 режима: "Select mode" и "Ex mode", но они обычно редко используются
и их описание выходит за формат данного поста.&lt;br /&gt;
&lt;b&gt;Help:&lt;/b&gt; &lt;a class="reference external" href="http://vimdoc.sourceforge.net/search.php?docs=help&amp;amp;search=vim-modes"&gt;:help vim-modes&lt;/a&gt;&lt;/div&gt;
&lt;div class="section" id="id11"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Вкладки&lt;/h3&gt;
Начиная, кажется, с 7-ой версии в Виме появились наконец-то вкладки (или табы).
С одной стороны, конечно хватало и буферов, а для удобной навигации по ним
можно использовать &lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=42"&gt;bufexplorer.zip : Buffer Explorer / Browser&lt;/a&gt;. Но, с другой стороны, во "взрослых" IDE
табы к тому времени стали уже стандартом и все поняли, что это удобно. В Виме
вкладка по сути контейнер для окна/окон. Что бы открыть файлы для редактирования, каждый
в своей вкладке, набираем в консоли:&lt;br /&gt;
&lt;pre class="literal-block"&gt;vim -p file1.txt file2.txt
&lt;/pre&gt;
Перемещаться между вкладками можно как привычным сочетанием &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;Ctrl-PageUp&lt;/span&gt;&lt;/tt&gt; / &lt;tt class="docutils literal"&gt;PageDown&lt;/tt&gt;, так и
менее традиционными &lt;tt class="docutils literal"&gt;gt&lt;/tt&gt; и &lt;tt class="docutils literal"&gt;gT&lt;/tt&gt; в нормальном режиме. Иногда так действительно быстрее! :)&lt;br /&gt;
&lt;br /&gt;
К сожалению, нет дефолтной комбинации для открытия новой вкладки, а привычные &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;Ctrl-t&lt;/span&gt;&lt;/tt&gt; заняты другими
функциями (переход на один шаг назад в истории работы с тегами) :( Но я пришёл к тому,
что можно пожертвовать этим и всё-таки переназначить эту клавиатурную комбинацию на открытие нового таба:&lt;br /&gt;
&lt;pre class="literal-block"&gt;" C-T - new tab
call SMap("&amp;lt;C-t&amp;gt;", ":tabnew&amp;lt;cr&amp;gt;")
&lt;/pre&gt;
Функция &lt;cite&gt;SMap&lt;/cite&gt; в этом куске конфига - это просто более удобный &lt;a class="reference external" href="http://code.google.com/p/allaboutvim/source/browse/vimrc#18"&gt;самописный способ&lt;/a&gt; назначения
действий для  клавиатурных комбинаций.&lt;br /&gt;
Как обычно много полезного можно&amp;nbsp;почерпнуть&amp;nbsp;из встроенной помощи: см. &lt;a class="reference external" href="http://vimdoc.sourceforge.net/search.php?docs=help&amp;amp;search=tabpage"&gt;:help tabpage&lt;/a&gt;.&lt;/div&gt;
&lt;div class="section" id="id14"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;Поиск и замена&lt;/h3&gt;
Что бы найти какую-либо строку в открытом файле достаточно в нормальном режиме набрать &lt;tt class="docutils literal"&gt;/somestring&lt;/tt&gt;
что бы искать с начала файла, либо &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;?somestring&lt;/span&gt;&lt;/tt&gt; - с конца. &lt;tt class="docutils literal"&gt;n&lt;/tt&gt; / &lt;tt class="docutils literal"&gt;N&lt;/tt&gt; - переместит курсор
к следующему вхождению строки. &lt;tt class="docutils literal"&gt;[I&lt;/tt&gt; - недавнее открытие :)
Позволяет быстро просмотреть строки, в которых содержится искомое слово. Вместо того, что бы набирать
запрос поиска, можно нажать &lt;tt class="docutils literal"&gt;*&lt;/tt&gt; / &lt;tt class="docutils literal"&gt;#&lt;/tt&gt; и Вим переместит вас на место первого вхождения
слова под курсором аналогично "старшим" командам.&lt;br /&gt;
&lt;br /&gt;
С заменой всё тоже достаточно просто. Следующая команда заменит все вхождения строки "foo" на "bar":&lt;br /&gt;
&lt;pre class="literal-block"&gt;:%s/foo/bar/gc
&lt;/pre&gt;
Разберём этот пример по частям:&lt;br /&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;%&lt;span style="font-family: 'Liberation Sans';"&gt;&amp;nbsp;- диапазон по всему файлу&lt;/span&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;:s&lt;/tt&gt; - сокращённая запись команды &lt;tt class="docutils literal"&gt;:substitute&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;"foo" - что заменяем&lt;/li&gt;
&lt;li&gt;"bar" - на что заменяем&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;g&lt;/tt&gt; - это флаг, указывающий на то, что заменить необходимо все вхождения для каждой строки текста&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;c&lt;/tt&gt; - это флаг, указывающий на то, что перед заменой очередного вхождения строки необходимо спросить разрешение у пользователя&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="id15"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Метки&lt;/h3&gt;
В Виме, как и в других продвинутых текстовых редакторах, есть возможность
устанавливать закладки (в Виме они называются метками) в произвольных местах редактируемого документа.
Например, можно поставить закладку на месте определения функции, что бы при необходимости
быстро его найти. Суть такая же как и с книжными закладками.
Что бы установить метку в месте расположения курсора достаточно набрать в
нормальном режиме:&lt;br /&gt;
&lt;pre class="literal-block"&gt;m{a-zA-Z}
&lt;/pre&gt;
&lt;cite&gt;{a-zA-Z}&lt;/cite&gt; - это одна буква английского алфавита в соответствующем регистре, который кстати
имеет значение! Метка, обозначенная буквой в нижнем регистре, существует в рамках текущего файла,
в то время как большая буква позволяет существовать метке в рамках всех загруженных в Вим файлов.&lt;br /&gt;
&lt;br /&gt;
Для того, что бы перейти к выставленной ранее метке достаточно набрать &lt;tt class="docutils literal"&gt;'&lt;/tt&gt; и соответствующую ей букву.
Конечно запомнить все выставленные метки сложно, да и наверное не стоит пытаться. Список меток
всегда можно посмотреть набрав в командном режиме:&lt;br /&gt;
&lt;pre class="literal-block"&gt;:marks
&lt;/pre&gt;
Для более удобной навигации по выставленным метках можно использовать и одно из расширений,
например &lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=1706"&gt;Marks Browser : A graphical marks browser&lt;/a&gt;. Хотя и этот плагин не обновлялся аж с 2006 года,
он вполне справляется с возложенной на него обязанностью!&lt;br /&gt;
&lt;div class="figure"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-AmBYHMtRf6I/T1KRkZmqU1I/AAAAAAAACRI/010lpC4gUPE/s1600/mark_browser.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="194" src="http://4.bp.blogspot.com/-AmBYHMtRf6I/T1KRkZmqU1I/AAAAAAAACRI/010lpC4gUPE/s320/mark_browser.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="caption"&gt;
Marks Browser - удобная навигация по меткам&lt;/div&gt;
&lt;/div&gt;
&lt;b&gt;Help:&lt;/b&gt; &lt;a class="reference external" href="http://vimdoc.sourceforge.net/search.php?docs=help&amp;amp;search=mark-motions"&gt;:help mark-motions&lt;/a&gt;&lt;/div&gt;
&lt;div class="section" id="id17"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;Аббревиатуры&lt;/h3&gt;
Хочется немного упомянуть и функциональность аббревиатур в Виме. Они дают
возможность быстро набирать часто употребляемые при написании длинные строки,
используя их сокращённое написание. Например, когда набираете в тексте слово &lt;cite&gt;МГУ&lt;/cite&gt;,
Вим заменяет его на &lt;cite&gt;Московский государственный университет&lt;/cite&gt;. Задать аббревиатуру для этого
можно так:&lt;br /&gt;
&lt;pre class="literal-block"&gt;:iabbrev МГУ Московский государственный университет
&lt;/pre&gt;
В аббревиатуры можно упаковывать целые конструкции, превращая их в мини-шаблоны:&lt;br /&gt;
&lt;pre class="literal-block"&gt;iabbrev dbg echo '&amp;lt;pre&amp;gt;';&amp;lt;CR&amp;gt;var_dump(|);&amp;lt;CR&amp;gt;echo '&amp;lt;/pre&amp;gt;';&amp;lt;CR&amp;gt;
&lt;/pre&gt;
В тоже время есть более удобные механизмы шаблонов для Вима, но они предоставляются уже плагинами.
Например, &lt;a class="reference external" href="http://www.allaboutvim.ru/2007/08/c-snippetsemu.html"&gt;snippetsEmu : An attempt to emulate TextMate's snippet expansion&lt;/a&gt;,
для которого есть целые пачки готовых шаблонов для популярных языков программирования и разметки.&lt;br /&gt;
&lt;b&gt;Help:&lt;/b&gt; &lt;a class="reference external" href="http://vimdoc.sourceforge.net/search.php?docs=help&amp;amp;search=abbreviations"&gt;:help abbreviations&lt;/a&gt;&lt;/div&gt;
&lt;div class="section" id="vimrc"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;~/.vimrc&lt;/h3&gt;
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.vimrc&lt;/span&gt;&lt;/tt&gt; обычно наряду с &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.bashrc&lt;/span&gt;&lt;/tt&gt; и &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.screenrc&lt;/span&gt;&lt;/tt&gt; входит в состав т.н. "dotfiles", которыми
пользователи любят &lt;a class="reference external" href="http://code.google.com/p/allaboutvim/source/browse/vimrc"&gt;делиться&lt;/a&gt; и разбирать :)  &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.vimrc&lt;/span&gt;&lt;/tt&gt; - это файл настроек Вима.
Сюда можно поместить, например, настройку, указывающую включать по умолчанию подсветку синтаксиса:&lt;br /&gt;
&lt;pre class="literal-block"&gt;syntax on
&lt;/pre&gt;
или разрешать смену текущего буфера без необходимости сохранить файл:&lt;br /&gt;
&lt;pre class="literal-block"&gt;set hidden
&lt;/pre&gt;
или расставить все точки над и при работе с отступами:&lt;br /&gt;
&lt;pre class="literal-block"&gt;" Expand tab to spaces ?
set expandtab

" Default tab size
set shiftwidth=4
set softtabstop=4
set tabstop=4
&lt;/pre&gt;
или отключить то самое бибиканье!&lt;br /&gt;
&lt;pre class="literal-block"&gt;" Turn off any bells
set novisualbell
set t_vb=
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="section" id="id20"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






&amp;nbsp;Расширения&lt;/h3&gt;
Пользователи Mozilla Firefox оценят богатство расширений для Вима, их уж почти 4000!
Причем найти среди них можно практически всё что угодно: от игр до вполне серъёзных вещей
вроде плагинов для удобного ведения проектов.&lt;br /&gt;
&lt;br /&gt;
Лучшая пятёрка расширений по загрузкам на &lt;a class="reference external" href="http://www.vim.org/scripts/index.php"&gt;vim.org&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="28%"&gt;&lt;/col&gt;
&lt;col width="72%"&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;Расширение&lt;/th&gt;
&lt;th class="head"&gt;Описание&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=273"&gt;taglist.vim&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Браузер исходного кода&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=1658"&gt;The NERD tree&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Навигатор по файловой системе&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=42"&gt;bufexplorer.zip&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Удобная навигация по буферам&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=159"&gt;minibufexpl.vim&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Ещё одно расширение, упрощающее навигацию по буферам&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a class="reference external" href="http://www.vim.org/scripts/script.php?script_id=625"&gt;Color Sampler Pack&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Отличная подборка цветовых схем&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Небольшая подборка расширений от читателей блога:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col&gt;&lt;/col&gt;
&lt;col&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;Расширение&lt;/th&gt;
&lt;th class="head"&gt;Пользователь&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1218"&gt;The NERD Commenter : A plugin that allows for easy commenting of code for many filetypes.&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FancyWriter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=3736"&gt;ctrlp.vim : Fuzzy file, buffer, MRU, and tag finder with regexp support. 
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Roman V. Babenko&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1173"&gt;tComment : An extensible &amp;amp; universal comment plugin that also handles embedded filetypes 
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Roman V. Babenko&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1567"&gt;rails.vim : Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more 
&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Roman V. Babenko&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="https://github.com/tpope/vim-pathogen"&gt;pathogen&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;dimas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="help-me"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






:help me&lt;/h3&gt;
Вим имеет мощную встроенную систему справки, которая позволяет найти ответ на практически любой вопрос,
касающийся работы в этом текстовом редакторе. Например, вы забыли как работать с именноваными регистрами.
Набираем в командном строке:&lt;br /&gt;
&lt;pre class="literal-block"&gt;:help registers
&lt;/pre&gt;
и читаем подробное описание того, какие бывают регистры и как их можно использовать. Если же вы решили изучить
всю функциональность Вима, то можно не задавать запрос в команде, а просто просмотреть содержание справочника.&lt;br /&gt;
Для удобства читателя в этом посте используются специальные ссылки на онлайн версию этого справочника.&lt;/div&gt;
&lt;div class="section" id="id26"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






Заключение&lt;/h3&gt;
Надеюсь, что этот небольшое введение в мир Vim, поможет вам при следующем открытии этого редактора
чувствовать себя в нём более уверенно. Ну и конечно Вим при этом станет для вас мощным подспорьем
при редактировании не только конфигов, но вполне полноценных текстов и исходников.
Без бибикания и порчи текста ;)&lt;br /&gt;
&lt;i&gt;Pento&lt;/i&gt; &lt;a class="reference external" href="http://www.allaboutvim.ru/"&gt;http://www.allaboutvim.ru/&lt;/a&gt;&lt;/div&gt;
&lt;div class="section" id="p-s"&gt;
&lt;h3&gt;






&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;






P.S.&lt;/h3&gt;
Этот пост был написан тоже в Виме!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;






P.P.S.&lt;/h3&gt;
Дальнейшему освоению Vim может помочь такая шпаргалка:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-rs-lY6A0S38/T4KzjuD_1jI/AAAAAAAACYM/QHKb6EY35kk/s1600/vi-vim-cheat-sheet.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-rs-lY6A0S38/T4KzjuD_1jI/AAAAAAAACYM/QHKb6EY35kk/s320/vi-vim-cheat-sheet.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="color: #999999;"&gt;
Добавил ведущий блога virens, который благодарит Анонимуса, нашедшего это изображение.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-5630871691921148190?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=8rrW2_0qUNA:nNRQisP8Apw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=8rrW2_0qUNA:nNRQisP8Apw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=8rrW2_0qUNA:nNRQisP8Apw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=8rrW2_0qUNA:nNRQisP8Apw:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/8rrW2_0qUNA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/5630871691921148190/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/03/vim.html#comment-form" title="Комментарии: 38" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/5630871691921148190?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/5630871691921148190?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/8rrW2_0qUNA/vim.html" title="Как редактировать в Vim без порчи и бибиканья" /><author><name>Pento</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp3.blogger.com/_Isq2bfVFv30/R67lZKn_NeI/AAAAAAAAALk/iDHDJkKw4jM/S220/Fullmetal.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-smMlQN0ACgY/T1KRblu2XdI/AAAAAAAACQ8/znNgQRipO-0/s72-c/vim_logo.png" height="72" width="72" /><thr:total>38</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/03/vim.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ICQHgyfip7ImA9WhVSEkk.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-8512440098373787205</id><published>2012-03-05T00:53:00.003+04:00</published><updated>2012-03-09T02:26:01.696+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-09T02:26:01.696+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="обзор" /><title>Бумажные газеты против Блогов: беда пришла, и её совсем не ждали</title><content type="html">В продолжении поста о том, &lt;a href="http://mydebianblog.blogspot.com/2011/12/blog-post_19.html"&gt;как сделать из веб-блога книгу&lt;/a&gt;, мне хотелось бы немного пополемизировать на тему бумажных и электронных изданий. Пищу для поста и размышлений подбросил, как ни странно, длительный авиаперелёт - процесс занудный и утомительный, как бы ни старались авиакомпании его скрасить. В этот раз мне предстоял сравнительно короткий 9-часовой полёт в Гонк Конг на конференцию. Моим соседом по креслу оказался австралийский журналист местной газеты, который с большим интересом и сопереживанием смотрел фильм "&lt;a href="http://www.magpictures.com/pageone/"&gt;&lt;span style="font-style: italic; color: rgb(102, 51, 51); font-weight: bold;"&gt;Page One: Inside the New York Times&lt;/span&gt;&lt;/a&gt;". Фильм показался интересным и мне, и в процессе беседы с ним я сознался, что до некоторой степени представляю "вражеский лагерь". Материалами поднятых вопросов мне и хотелось бы поделиться в этом посте.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Фильм Page One: Inside the New York Times&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Это грустная  &lt;a href="http://www.imdb.com/title/tt1787777/"&gt;повесть&lt;/a&gt; о нелёгких буднях журналистов и газетчиков старой закалки, которые с удивлением обнаружили конкуренцию со стороны блоггеров, Твиттера и WikiLeaks. Если раньше требовалось образование и куча дипломов, чтобы просочиться в коллектив газеты, то теперь можно за минуту завести блог и начать завоёвывать аудиторию. Как следствие, газеты стали читать всё реже, и вот интернет-братия активно перетягивает одеяло журналистики на себя.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table style="width: auto; text-align: left; margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;a href="https://picasaweb.google.com/lh/photo/LkUqdevgpzqlLXK1eP_HC73dkVkRJGJ0JDqgMNiBrPw?feat=embedwebsite"&gt;&lt;img src="https://lh6.googleusercontent.com/-oIpahANi_mk/TrYwL5TgtrI/AAAAAAAACA0/C-xAWVC-OSI/s400/photo_05.jpg" width="284" height="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px;"&gt;Обложка DVD-диска&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Редакторы и журналисты повествуют о своей нелёгкой (теперь) доле и о том, что доходы от рекламы стремительно падают. Известные газеты доведены до полного отчаяния: ``может нам в газете открыть секцию порнографии?''. О самой газете New York Times тоже поговарвали, что она закроется. Не то, чтобы журналисты в газетах стали намного хуже. Просто газеты не заметили, что Интернет и блоги стали большой силой: газетчики теперь выглядят как олень в свете фар несущегося на него грузовика.&lt;br /&gt;&lt;br /&gt;Вот так безобидные блоггеры превратились в безжалостных акул пера и теперь лишают своей писаниной законного куска хлеба таких гигантов, как Нью  Йорк Таймс :-)&lt;br /&gt;&lt;br /&gt;Одна из старейших медиа компаний Tribune Company, &lt;a href="http://dealbook.nytimes.com/2008/12/08/tribune-files-for-bankruptcy/"&gt;подала заявление о банкротстве&lt;/a&gt;. Сама New York Times тоже не в лучшей форме и активно сокращает штат корреспондентов. Некоторые смотрят на это, как на временные трудности, говоря "Trees are still cut and the news are still delivered by newspapers". Но что-то в этой похвальбе мало уверенности.&lt;br /&gt;&lt;br /&gt;Главная проблема в том, что с развитием электронных средств публикации, доходы от рекламы в газетах стали падать, причём неожиданно быстро. Люди начали всё больше и больше пользоваться сервисами, которые собирают новости из интернет-источников, зачастую копируя материалы известных газет. Модель бумажных газет, основанная на размещении рекламы для получения дохода, умирает.&lt;br /&gt;&lt;br /&gt;Одной из сильных сторон интернет-изданий является обратная связь с читателями в виде комментариев. Многие сайты бумажных газет, если и удосуживают себя размещением формы  для комментариев, почти никогда их не публикуют на сайте. И делают это  совершенно напрасно: комментарии читателей зачастую содержат полезные  поправки, ответную полемику и альтернативные мнения по поднятому  вопросу. На этот счёт есть &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2009/04/08/AR2009040803248.html"&gt;замечательная статья&lt;/a&gt; [&lt;a href="http://www.inosmi.ru/panorama/20090409/248391.html"&gt;перевод&lt;/a&gt;] от бывшего редактора The Washington Post в защиту анонимных комментариев на сайтах газет.&lt;br /&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="https://picasaweb.google.com/lh/photo/kCc6pPwiDDqC75fnVolNQr3dkVkRJGJ0JDqgMNiBrPw?feat=embedwebsite"&gt;&lt;img src="https://lh6.googleusercontent.com/-A8oT4U6icjw/TrYwMku5ZEI/AAAAAAAACA4/Xnh2VL_JHDc/s1600/photo_03.jpg" width="520" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;&lt;a href="https://picasaweb.google.com/mydebianblog/Blogger?authuser=0&amp;amp;authkey=Gv1sRgCJqn5cLrrOzg1QE&amp;amp;feat=embedwebsite"&gt;В печать!&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Хуже того: авторитарный тон самой New York Times теперь - лишь один из многих голосов в разномастном хоре блогов, живых журналов, твиттера и других электронных средств массовой информации. Масла в огонь подлили WikiLeaks, которые вывалили в интернет секретные документы (и время от времени продолжают это делать).&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;На самом деле, Wikileaks не первые, кто вот  так открыто публикуют секретные правительственные материалы,  просочившиеся к ним. В своё время NYtimes сами подняли большой скандал: &lt;a href="http://topics.nytimes.com/top/reference/timestopics/subjects/p/pentagon_papers/index.html"&gt;New York Times опубликовала документы, касающиеся войны во Вьетнаме&lt;/a&gt;. Этот &lt;a href="http://www.gwu.edu/%7Ensarchiv/NSAEBB/NSAEBB48/"&gt;инцидент&lt;/a&gt;, более известный как &lt;a href="http://en.wikipedia.org/wiki/Pentagon_Papers"&gt;Pentagon Papers&lt;/a&gt;,  повлиял на многие дальнейшие события и существенно поднял престиж самой  газеты. NYtimes тогда пришлось выдержать неслабый натиск правительства,  но они стояли на своём со словами "We are &lt;span style="font-style: italic;"&gt;independent&lt;/span&gt; from the government".&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Они не пытались опубликовать это в респектабельных газетах - они просто выложили это на открытые сайты типа YouTube, чтобы все могли это видеть. И теперь ведущие газеты оказались в неожиданном положении - они отстают от электронных СМИ даже в доступе к источникам. Проблема была в том, что Wikileaks опубликовали это всё в Интернет, и &lt;span style="font-weight: bold;"&gt;New York Times больше не нужна  для того, чтобы донести это всё до широкой публики&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Собственно, это основной мотив фильма: бумажные газеты больше не нужны для того, чтобы доносить информацию до читателей. Разумеется, к газетам доверия больше: информация там тщательно проверяется, уровень изложения выше, освещение событий чаще всего беспристрастное (или во всяком случае не ярко ангажированное).&lt;br /&gt;&lt;br /&gt;Блоггер не поедет в Афганистан или Ирак, рискуя собственной жизнью и здоровьем, чтобы сделать горячий репортаж. Опубликованный на блоге Васи Пупкина компромат на первых лиц страны едва ли станет широко известен, а критика Марьиванной  политики кабинета министров скорее всего будет известна лишь бабкам у подъезда. &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Другое дело - известная газета и её политические обозреватели. Если они выложат компромат или жёсткую критику властей, то это быстро станет известно широкой публике.&lt;br /&gt;Если что-то серьёзное происходит в мире - газета об этом обязательно напишет, как правило, весьма аргументированно. И, в отличие от блога, опубликованное в газете уже не вернёшь, не поправишь и не уточнишь.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;Немного критики&lt;/span&gt;&lt;br /&gt;Фильм претендует на документальность, хотя сколько-нибудь внимательный зритель справедливо назовёт его заангажированным в сторону газет. Сами журналисты в фильме ведут себя так, как будто они и только они есть Рыцари Света и Правды, а тут набежала какая-то шпана с ноутбуками и теперь вот с ней надо считаться. Хуже того, теперь газете нечем платить Рыцарям и вот они вынуждены сидеть на пособии по безработице из-за этих вебдванольных мерзавцев.&lt;br /&gt;&lt;br /&gt;В фильме часто мелькает малоадекватный, если не сказать хуже, David Carr: он безусловно добавляет эмоций и колорита в повествование, одновременно выставляя журналистов и репортёров в невыгодном свете. Пафос типа "если этого нет в NYtimes, этого не произошло в мире" и "апокалипсис сегодня - Nytimes помрёт в Мае" совершенно излишний.&lt;br /&gt;&lt;br /&gt;Вообще, тон повествования время от времени становится очень&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt; самодовольным и обвиняющим в своих неудачах&lt;/span&gt; &lt;span class="hps"&gt;всех, кроме&lt;/span&gt; &lt;span class="hps"&gt;себя. Одна из причин угасания газет - снобизм, неспособность, нежелание адаптироваться к современным условиями и боязнь краткосрочных рисков.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;В фильме сквозит выпячивание роли газет и выставление NYTimes в виде важного реликта прошлого, который не должен умереть или меняться ни при каких обстоятельствах. Любая организация, будь то газета или обычная бумажная почта, не отлиты в граните - они могут и должны адаптироваться к меняющимся внешним условиям.&lt;br /&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="https://picasaweb.google.com/lh/photo/_YDa68ilf-xD9jVPTVVCO73dkVkRJGJ0JDqgMNiBrPw?feat=embedwebsite"&gt;&lt;img src="https://lh6.googleusercontent.com/-ct4iL5uyQCA/TrYwNH9besI/AAAAAAAACBM/msrjwQ0empU/s1600/photo_02.jpg" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;Внутри редакции New York Times&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Тем не менее, фильм весьма интересен: например, я в&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt; первый&lt;/span&gt; &lt;span class="hps"&gt;раз имел&lt;/span&gt; &lt;span class="hps"&gt;возможность наблюдать&lt;/span&gt; процесс выбора &lt;span class="hps"&gt;редакторами историй для публикации. &lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;Обсуждение цены ошибок: если статья написана с искажением фактов, это огромный удар по престижу и доверию к газете. &lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt;Было интересно посмотреть, как репортёры на самом деле проверяют факты в статье&lt;/span&gt;&lt;span class="hps"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;Кто виноват и Что делать?&lt;/span&gt;&lt;br /&gt;По фильму можно подумать, что виноваты подлые блоггеры и сделать с ними ничего нельзя ибо демократия. Естественно, первая идея - сделать на сайте газеты подписку и paywall. То есть посмотрел X статей - дальше только за деньги.&lt;br /&gt;&lt;br /&gt;В  фильме Page One: New York Times редакторы надеются отвоевать часть  прибылей с помощью детища Apple под названием iPad, которое по сути  является однозадачным терминалом по приёму платежей в AppStore. Здесь стоит отметить, что iPad не уникален и не единственный игрок на рынке планшетов - Android есть и для планшетов, и &lt;a href="http://mydebianblog.blogspot.com/2011/11/lenovo-thinkpad-tablet.html"&gt;андроидные планшеты не хуже&lt;/a&gt;, а часто лучше iPad.&lt;br /&gt;&lt;br /&gt;На мой скромный взгляд, одна из проблем классических газет в том, что они сами не хотят меняться. Почему бы не сделать так, как реализовано в Google Books - они отсканировали книги и вы немножко сможете почитать. Но то, что вы видите в браузере - не текст, а картинка. То есть вы не сможете вытащить из Google Books всю книгу или хоть сколько-нибудь значительную её часть, зато сможете искать по тексту книги и ознакомиться с ней перед тем, как купить &lt;span style="color: rgb(153, 153, 153);"&gt;(или наступить на горло собственной совести и найти пиратскую копию)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;Вместо заключения&lt;/span&gt;&lt;br /&gt;Автор журналистом не является и потому на экспертные заключения  замахиваться не станет. Однако интересно посмотреть, как всего за два  десятка лет Интернет изменил ход привычных вещей. Не то, чтобы в New  York Times или других газетах резко перевелись хорошие журналисты -  вовсе нет, просто газеты теперь читают всё реже и реже. Невероятная  лёгкость ведения блогов открывает возможности попробовать себя в  журналистском жанре всем. Да и возможность за несколько кликов мыши (и  некоторую сумму денег) &lt;a href="http://mydebianblog.blogspot.com.au/2011/12/blog-post.html"&gt;издать свою собственную книгу&lt;/a&gt; меняют ситуацию с  издательтвами радикально: лет 20-30 тому назад возможность легко и  просто заказать собственную книгу, сгенерированную из интернет-блога,  выглядело безумной фантазией.&lt;br /&gt;&lt;br /&gt;Но вот Blogger.com стал домом для тысяч и тысяч блогов, в которых  простые люди без журналистского образования пишут и обозревают всё на  свете. Точно так же, написанное в блогах можно найти поисковыми  системами и прокомментировать при желании. POD-сервисы позволяют в  несколько кликов мыши распечатать настоящую книгу из блога с доставкой  на дом. По ту сторону баррикад стоят профессиональные журналисты и  редакторы бумажных газет, которые не знают, что со всей этой веб-братией  делать и из каких средств теперь платить журналистам за их работу.&lt;br /&gt;&lt;br /&gt;Поживём-увидим.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-8512440098373787205?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=J3s7JWZ56Uk:9lRHugWDLSc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=J3s7JWZ56Uk:9lRHugWDLSc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=J3s7JWZ56Uk:9lRHugWDLSc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=J3s7JWZ56Uk:9lRHugWDLSc:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/J3s7JWZ56Uk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/8512440098373787205/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/03/blog-post.html#comment-form" title="Комментарии: 17" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/8512440098373787205?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/8512440098373787205?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/J3s7JWZ56Uk/blog-post.html" title="Бумажные газеты против Блогов: беда пришла, и её совсем не ждали" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-oIpahANi_mk/TrYwL5TgtrI/AAAAAAAACA0/C-xAWVC-OSI/s72-c/photo_05.jpg" height="72" width="72" /><thr:total>17</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/03/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4HR3k5fSp7ImA9WhVRFkk.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-233297751167390309</id><published>2012-02-20T01:31:00.006+04:00</published><updated>2012-03-25T07:08:56.725+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-25T07:08:56.725+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="научное" /><category scheme="http://www.blogger.com/atom/ns#" term="матлаб" /><title>GNU Octave: система численных математических расчётов и какая от неё польза в народном хозяйстве</title><content type="html">Расчёты бывают разной сложности: проверить, сколько будет 6*6, посчитать сумму стоимости товаров в чеке, решить систему линейных уравнений для домашней работы, или, скажем, рассчитать деградацию волнового фронта при прохождении многослойной турбулентной атмосферы. Если первые два примера можно посчитать на любом калькуляторе, то линейные уравнения решают &lt;span style="font-style: italic;"&gt;инженерные&lt;/span&gt; калькуляторы. Последний пример могут решить только системы численных расчётов, которые используют для научных исследований - например GNU Octave. Вот о ней-то в этом посте и рассказывается.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;&lt;br /&gt;Пояснения и предупреждения&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Octave и MATLAB - это не просто "программа-калькулятор, которая может посчитать матрицу". Это интерактивные среды разработки и интерпретаторы языка в одном флаконе. На Октаве\Матлабе не просто считают матрицы - на них пишут программы. Нужно это для того, чтобы быстро набросать или протестировать новый алгоритм обработки изображений, сигналов, можно задизайнить цифровой контроллер или написать целый оптический симулятор.&lt;br /&gt;&lt;br /&gt;Так что если вы не студент технического ВУЗа или университета, Octave вам скорее всего не нужна. Но для изучения линейной алгебры или теории вероятности Octave будет просто бесценна - собственно, на ней можно попробовать вычислить то, чему вас учили (и кучу всего, чему не научат) на курсе матричной\линейной алгебры.&lt;br /&gt;&lt;br /&gt;Увы, но вопреки желаниям радетелей опенсорса, &lt;span style="font-weight: bold;"&gt;Octave это не замена MATLAB&lt;/span&gt; ни единого раза - это как старый ушастый Запорожец не замена для Lamborgini Diablo. Хотя и то, и то - ездит. Если даже после этих предупреждений вы твёрдо уверены, что оно вам надо - переходим к установке.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=" ;font-size:130%;color:#996633;"  &gt;&lt;span style="font-weight: bold;"&gt;Установка GNU Octave в Debian GNU/Linux&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Для нормальной работы нам нужна Octave 3.0 и выше, так что если в ваших репозиториях всё ещё валяется хлам в виде Octave 2.1 - не надо его ставить. Перед установкой пакетов лучше поискать:&lt;br /&gt;&lt;blockquote&gt;apt-caсhe search octave&lt;/blockquote&gt;и установить самую свежую версию. Установка довольно проста:&lt;br /&gt;&lt;blockquote&gt;aptitude install octave3.0 qtoctave&lt;/blockquote&gt;Первый пакет - собственно, система численных математических рассчётов GNU/Octave, а второй - это графическая оболочка &lt;a href="http://mydebianblog.blogspot.com.au/2009/10/qtoctave-octave.html"&gt;QtOctave, о которой был отдельный пост&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;Для &lt;a href="http://www.gnu.org/software/octave/download.html"&gt;Windows сборка Octave&lt;/a&gt; тоже есть, и тоже бесплатная. Кроме того, под Windows есть и графический интерфейс для Octave - &lt;a href="http://guioctave.com/"&gt;GUIOctave, доступный по этой ссылке&lt;/a&gt;. Другие графические оболочки для октавы обсуждаются &lt;a href="http://stackoverflow.com/questions/2267346/is-there-any-good-octave-gui-ide-for-windows"&gt;тут&lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;Всё вместе занимает около 50Мб на диске, но красота требует жертв:&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="https://picasaweb.google.com/lh/photo/pJwEmMZgfNv43FDHIZB-35RP4N7S0XqwZBT4BuddjEM?feat=embedwebsite"&gt;&lt;img src="https://lh6.googleusercontent.com/-YqYxurNtrhM/TtAertHvzPI/AAAAAAAACJw/BK_O2IaPSpQ/s640/octave-01.jpg" height="375" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="https://picasaweb.google.com/mydebianblog/DebianistNotes?authuser=0&amp;amp;authkey=Gv1sRgCNyEw4f14frnggE&amp;amp;feat=embedwebsite"&gt;Debianist Notes: Так выглядит QtOctave&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Установка Octave в Windows хорошо проиллюстрирована &lt;a href="http://hooloobloog.blogspot.com/2011/10/octave.html"&gt;здесь&lt;/a&gt; в красивых цветастых картинках. Правда, после всего этого вас встретит чОрная страшная консоль Octave:&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="https://picasaweb.google.com/lh/photo/6N57WBPYiGNZ8svmm21RvpRP4N7S0XqwZBT4BuddjEM?feat=embedwebsite"&gt;&lt;img src="https://lh6.googleusercontent.com/-r8DFBjP31nA/TtAey3hGp1I/AAAAAAAACKI/MZ8BKLSLOtw/s640/octave-02.jpg" height="399" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="https://picasaweb.google.com/mydebianblog/DebianistNotes?authuser=0&amp;amp;authkey=Gv1sRgCNyEw4f14frnggE&amp;amp;feat=embedwebsite"&gt;Debianist Notes: &lt;strike&gt;жуть&lt;/strike&gt;Octave как она есть&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Тем не менее, такой брутальный интерфейс стоит, чтобы его немного освоить.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Octave как иллюстрированное пособие по курсу линейной алгебры&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Если вас учили или учат в институте старые советские преподаватели по старым советским книжкам, то GNU Octave вам сильно поможет понять линейную алгебру, без которой инженеру абсолютно нечего делать в повседневной деятельности.&lt;br /&gt;&lt;blockquote&gt;Кстати, вместо старых советских учебников лучше купить \ найти на просторах Интернета замечательную книжку &lt;a href="http://www.amazon.com/Linear-Algebra-Applications-Gilbert-Strang/dp/0030105676/ref=pd_sim_b_1"&gt;Linear Algebra and Its Applications&lt;/a&gt; за авторством Gilbert Strang. Ещё лучше вместе с книжкой посмотреть его видеолекции, чтобы сэкономить время, если требуется освежить разделы линейной алгебры.&lt;br /&gt;&lt;br /&gt;Также автор этих строк настоятельно рекомендует купить \ достать превосходный, умопомрачительно подробный &lt;a href="http://www.amazon.com/Handbook-Algebra-Discrete-Mathematics-Applications/dp/1584885106"&gt;Handbook of Linear Algebra&lt;/a&gt; авторства несравненной &lt;a href="http://www.public.iastate.edu/%7Elhogben/homepage.html"&gt;Leslie Hogben&lt;/a&gt;. Эти 1400 страниц плотного математического справочника содержат все факты о линейной алгебре, которые вам могут когда-либо пригодиться в студенческой и научной жизни.&lt;br /&gt;&lt;/blockquote&gt;Вооружившись свежими книгами, смело идём постигать линейную алгебру до полного просветления.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;Курс молодого бойца Линейной Алгебры&lt;/span&gt;&lt;br /&gt;Для разбега посмотрим на набор матриц:&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; text-align: left;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;A=[1 2; 4 5 ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A =&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  1   2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  4   5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;B = [1, 1; 1, 1]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;B =&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  1   1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  1   1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Столбцы матрицы можно набирать пробелом или запятой&lt;span style="color:red;"&gt;,&lt;/span&gt; разделение на строки - точка с запятой &lt;span style=" font-weight: bold;color:red;" &gt;;&lt;/span&gt;    &lt;br /&gt;&lt;br /&gt;Как нас учит линейная алгебра, матрицы можно&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;складывать&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:3&amp;gt; A+B&lt;br /&gt;ans =&lt;br /&gt;&lt;br /&gt;2   3&lt;br /&gt;5   6&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;вычитать&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:4&amp;gt; A-B&lt;br /&gt;ans =&lt;br /&gt;&lt;br /&gt;0   1&lt;br /&gt;3   4&lt;/blockquote&gt;&lt;br /&gt;и &lt;span style="font-weight: bold;"&gt;умножать&lt;/span&gt; друг на друга, если они подходят по размерностям:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:5&amp;gt; A*B&lt;br /&gt;ans =&lt;br /&gt;&lt;br /&gt;3   3&lt;br /&gt;9   9&lt;/blockquote&gt;&lt;br /&gt;Делить матрицы друг на друга, как числа, &lt;span style="font-weight: bold;"&gt;нельзя&lt;/span&gt;, но можно умножить матрицу на инверсную. Octave, как и MATLAB, это знают, но пользователь об этом может не догадываться:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:&amp;gt; [1 2; 3 4]/[1 1; 1 1]&lt;/i&gt;&lt;br /&gt;&lt;i&gt;ans =&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0.75000   0.75000&lt;/i&gt;&lt;br /&gt;&lt;i&gt;1.75000   1.75000&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;Такая операция  приводит к умножению матрицы A на (псевдо)инверсную матрицу B:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:10&amp;gt; [1 2; 3 4]*pinv([1 1; 1 1])&lt;/i&gt;&lt;br /&gt;&lt;i&gt;ans =&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0.75000   0.75000&lt;/i&gt;&lt;br /&gt;&lt;i&gt;1.75000   1.75000&lt;/i&gt;&lt;/blockquote&gt;То есть будет вычислено Least Squares решение, &lt;a href="http://www.mathworks.com.au/help/techdoc/ref/mldivide.html"&gt;как намекает нам документация&lt;/a&gt;. Пойдём дальше и посмотрим на другие возможности Octave.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;Системы линейных уравнений&lt;/span&gt;&lt;br /&gt;На семинарах по линейной алгебре пытаются учить решению систем линейных уравнений, которые выглядят несколько устрашающе:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-01VYF5RnERk/TqhMA22rIJI/AAAAAAAAABM/pKJqrNcdi8s/s1600/b3d67de3ea82281f2d8153b02550cfba.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/-01VYF5RnERk/TqhMA22rIJI/AAAAAAAAABM/pKJqrNcdi8s/s1600/b3d67de3ea82281f2d8153b02550cfba.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Эту систему можно переписать в компактном виде&lt;i&gt; &lt;/i&gt;&lt;span style=" font-weight: bold;color:#33cc00;" &gt;А&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;*X = &lt;/span&gt;&lt;span style=" font-weight: bold;color:#3333ff;" &gt;В&lt;/span&gt;  где коэффициенты являются элементами матриц:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-aId9FfRKL1o/TqhRJfs6LYI/AAAAAAAAABU/yweqjGZGcRA/s1600/matrix.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/-aId9FfRKL1o/TqhRJfs6LYI/AAAAAAAAABU/yweqjGZGcRA/s320/matrix.jpg" border="0" height="73" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="border-bottom: 1px dotted; text-decoration: none;" title="Этот пример любезно свистнут из Блога ни о чем http://hooloobloog.blogspot.com, ибо придумывать автору что-то своё было лениво."&gt;Простой&lt;/span&gt; &lt;a href="http://hooloobloog.blogspot.com/2011/10/octave_28.html"&gt;пример&lt;/a&gt; для системы из 3 линейных уравнений:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-0hKw_cWzTvs/TqhWMv7vKQI/AAAAAAAAABc/v5QHb3NAZH0/s1600/equation.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/-0hKw_cWzTvs/TqhWMv7vKQI/AAAAAAAAABc/v5QHb3NAZH0/s1600/equation.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Матрица коэффициентов &lt;span style=" font-weight: bold;color:#33cc00;" &gt;А&lt;/span&gt; и свободных членов &lt;span style=" font-weight: bold;color:#3333ff;" &gt;В&lt;/span&gt; для этой системы:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-N-8I_KmfL2w/TqhX1lGrF3I/AAAAAAAAABk/qOx7UKoeKVU/s1600/matrix2.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/-N-8I_KmfL2w/TqhX1lGrF3I/AAAAAAAAABk/qOx7UKoeKVU/s1600/matrix2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Для Октавы это будет две команды:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;octave:9&amp;gt; A=[1 3 5; 3 1 3; 4 1 3]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A =&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   1   3   5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   3   1   3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   4   1   3&lt;/span&gt;&lt;/blockquote&gt;и&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:10&amp;gt; B = [22;14;15]&lt;br /&gt;B =&lt;br /&gt;&lt;br /&gt;22&lt;br /&gt;14&lt;br /&gt;15&lt;/blockquote&gt;&lt;br /&gt;Решать системы уравнений можно по-разному, например так:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:11&amp;gt; A^(-1)*B&lt;br /&gt;ans =&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;/blockquote&gt;&lt;br /&gt;Но это в реальных задачах всегда стараются избегать такого решения. Часто бывает так, что уравнений больше, чем неизвестных - тут нам на помощь придёт метод наименьших квадратов (&lt;a href="http://en.wikipedia.org/wiki/Least_squares"&gt;Least Squares&lt;/a&gt;).  В Октаве и Матлабе решение в смысле least squares можно записать компактно:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;octave:12&amp;gt; A\B&lt;br /&gt;ans =&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;/blockquote&gt;&lt;br /&gt;Это на самом деле &lt;span style="color:#663366;"&gt;(A^T * A)^(-1)*A^T * B&lt;/span&gt; или, в выражениях Октавы, &lt;span style="color:#3333ff;"&gt;inv(A'*A)*A'*B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #7f6000;"&gt;Как вычислить собственные вектора и собственные значения в Octave&lt;/div&gt;Это ещё один популярный сорт рыбьего жЫра, коим пичкают скубентов злые преподаватели высших учебных заведений, почти никогда не поясняя, зачем они &lt;span style="color:#999999;"&gt;(собственные вектора и значения)&lt;/span&gt; нужны. А они нужны, и даже очень - в обработке сигналов и изображений, для алгоритмов Face Detection и для анализа стабильности контроллеров в теории (и практике!) управления, и для много чего ещё.&lt;br /&gt;&lt;br /&gt;В Octave/MATLAB вычислением оных собственных векторов и значений занимается команда &lt;b style="color: #cc0000;"&gt;eig&lt;/b&gt; и сейчас мы её пощупаем. Вводим матрицу&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:13&amp;gt; A=[1 3 5; 3 1 3; 4 1 3]&lt;br /&gt;A =&lt;br /&gt;&lt;br /&gt;1   3   5&lt;br /&gt;3   1   3&lt;br /&gt;4   1   3&lt;/i&gt;&lt;/blockquote&gt;теперь считаем собственные вектора U и значения V вот так:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:15&amp;gt; [U,V] = eig(A)&lt;br /&gt;U =&lt;br /&gt;&lt;br /&gt;-0.62701  -0.82511  -0.22384&lt;br /&gt;-0.51095   0.23555  -0.81183&lt;br /&gt;-0.58804   0.51353   0.53928&lt;br /&gt;&lt;br /&gt;V =&lt;br /&gt;&lt;br /&gt;8.13398   0.00000   0.00000&lt;br /&gt;0.00000  -2.96831   0.00000&lt;br /&gt;0.00000   0.00000  -0.16567&lt;/i&gt;&lt;/blockquote&gt;Матрица выдаётся V в канонической форме, с собственными значениями по главной диагонали. Этим примером хотелось показать eigenvalue decomposition в действии:&lt;br /&gt;&lt;br /&gt;[U,V] = eig(A);&lt;br /&gt;&lt;br /&gt;и обратно:&lt;br /&gt;&lt;br /&gt;U*V*inv(U)&lt;br /&gt;&lt;br /&gt;получится опять А.&lt;br /&gt;&lt;br /&gt;Отмечу, что Octave/MATLAB считают eigenvalue decomposition совсем не так, как вас учат в институте, поэтому знаки собственных значений могут отличаться от посчитанных вами. &lt;a href="http://www.mathworks.com.au/help/techdoc/ref/eig.html" target="_blank"&gt;Матлабовская документация намекает на причины этого&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Едва ли в курсе линейной алгебре вам расскажут, как посчитать собственные вектора для матриц размерности более 3 или 4. Хотя метод iterative QR decomposition прекрасно реализован в Octave и умеет это делать. Книги Gilbert "наше линейное всё" Strang ждут своих заинтересованных читателей, коим откроется это и многое другое.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #7f6000;"&gt;Детерминант и ранг матрицы&lt;/div&gt;Эти важные свойства матриц, как правило, довольно просто посчитать вручную, но если это делать лень, можно запрячь Octave:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:16&amp;gt; det(A)&lt;br /&gt;ans =  4&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;и ранг матрицы:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:17&amp;gt; rank(A)&lt;br /&gt;ans =  3&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;На Октаве можно решать и другие задачи из курса алгебры.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style=" font-weight: bold;color:#996633;" &gt;Продвинутое использование Octave&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Несколько примеров, приведённых ниже, используются уже для написания программ на Octave/MATLAB, а не просто для того, чтобы посчитать домашнее задание.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #7f6000;"&gt;Matrix Reshape&lt;/div&gt;Иногда удобнее всего работать с матрицей, если вытянуть её в одну строчку. Потом обычно её нужно собрать обратно, после того, как над ней сделали что-то. Для этого нам пригодится команда &lt;b style="color: #38761d;"&gt;reshape&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Вот например:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&amp;gt;&amp;gt; x = [1 2 3 4 5 6 ]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;x =&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;1 2 3 4 5 6&lt;/i&gt;&lt;/blockquote&gt;Мы хотим сделать этот вектор-строку  в виде матрицы 2х3 - легко:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&amp;gt;&amp;gt; x1 = reshape(x,2,3)&lt;br /&gt;&lt;br /&gt;x1 =&lt;br /&gt;&lt;br /&gt;1 3 5&lt;br /&gt;&lt;br /&gt;2 4 6&lt;/i&gt;&lt;/blockquote&gt;И обратно собрать:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&amp;gt;&amp;gt; x1 = reshape(x,1,6)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;x1 =&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;1 2 3 4 5 6&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:#7f6000;"&gt;Разреженые (Sparce) Матрицы&lt;/span&gt;&lt;br /&gt;Иногда встречаются матрицы, в которых очень много нулей и очень мало ненулевых значений. Памяти занимают много, считаются долго. Для экономии ресурсов нам на помощь спешит Sparce Matrix.&lt;br /&gt;Используя специально предназначенные алгоритмы для работы с разреженными матрицами, можно сильно сэкономить память и ускорить вычисления.&lt;br /&gt;&lt;br /&gt;Например:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&amp;gt;&amp;gt; a = [1,0,0;0,2,0;0,0,3]&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;a =&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;1     0     0&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0     2     0&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0     0     3&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Нулей в матрице много, а значений - всего два. Сделаем её разреженной:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;octave:19&amp;gt; a_sparse = sparse(a)&lt;br /&gt;a_sparse =&lt;br /&gt;&lt;br /&gt;Compressed Column Sparse (rows = 3, cols = 3, nnz = 3)&lt;br /&gt;&lt;br /&gt;(1, 1) -&amp;gt;  1&lt;br /&gt;(2, 2) -&amp;gt;  2&lt;br /&gt;(3, 3) -&amp;gt;  3&lt;/i&gt;&lt;/blockquote&gt;Отлично. Теперь, например, мы хотим выцедить из неё главную диагональ. Для этого заведём переменную:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;gt;&amp;gt; d = [0]&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;d =&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0&lt;/i&gt;&lt;/blockquote&gt;и воспользуемся специальной командой для разреженных матриц:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;&amp;gt;&amp;gt; a_diag = spdiags(&lt;/i&gt;&lt;i&gt;a_sparse,d)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;a_diag =&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;1&lt;/i&gt;&lt;br /&gt;&lt;i&gt;2&lt;/i&gt;&lt;br /&gt;&lt;i&gt;3&lt;/i&gt;&lt;/blockquote&gt;Здесь &lt;b&gt;d&lt;/b&gt; содержит номера диагоналей, которые надо вытащить: &lt;b&gt;0&lt;/b&gt; - главная диагональ, &lt;b&gt;3&lt;/b&gt; - третья справа от главной (выше на 3 позиции), а &lt;b&gt;-2&lt;/b&gt; это под главной диагональю на &lt;b&gt;2&lt;/b&gt; позиции.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #7f6000;"&gt;Использование структур для хранения данных&lt;/div&gt;Помимо матиц, в Octave можно хранить ещё и структуры. Структура это удобный метод хранения различных типов данных в одной "переменной".&lt;br /&gt;Например, в симуляторе есть данные, касающиеся параметров турбулентности атмосферы, и они все хранятся в одной структуре по имени atm.&lt;br /&gt;&lt;br /&gt;Создание структуры дело нехитрое, и это можно делать в цикле:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;for ii=1:4&lt;/i&gt;&lt;br /&gt;&lt;i&gt;    atm.layer_height{ii} = height;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;end&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;Для просмотра содержимого структуры достаточно вызвать её по имени.&lt;br /&gt;&amp;gt;&amp;gt; atm&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;atm =&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;                n_layers: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;            layer_height: {[5000]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;         layer_thickness: {[100]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;              Cn_squared: {[1.3514e-17]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;        Cn_squared_model: 'pureHufnagel'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;                psi_cell: {[128x128 double]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;          nx_grid_points: {[128]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;          ny_grid_points: {[128]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;            screen_width: {[16]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;             outer_scale: {[1.9512]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;             inner_scale: {[0.0021]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;          sampling_delta: {[0.1250]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;        sampling_delta_f: {[0.0625]}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;                      r0: 0.1600&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;    power_spectrum_model: 'kolmogorov'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;       phase_screenwidth: 16&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;         Reynolds_number: 9000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Теперь, скажем, я хочу передать значение  n_layers в цикл (это число слоёв турбулентной атмосферы). Пишем:&lt;br /&gt;&lt;blockquote&gt;k = atm.n_layers&lt;/blockquote&gt;Но это просто число. Так как здесь используются слои, структура получается многомерной. Например, нужно получить высоту слоя турбулентности &lt;span style="color:#993399;"&gt; layer_height&lt;/span&gt;  пишем:&lt;br /&gt;&lt;br /&gt;&amp;gt;&amp;gt; k = atm.layer_height(1)&lt;br /&gt;&lt;br /&gt;получаем:&lt;br /&gt;&lt;br /&gt;k =&lt;br /&gt;&lt;br /&gt;[5000]&lt;br /&gt;&lt;br /&gt;Это первый элемент структуры, но он не просто число, а cell array:&lt;br /&gt;&lt;blockquote&gt;&amp;gt;&amp;gt; whos k&lt;br /&gt;Name      Size                    Bytes  Class&lt;br /&gt;&lt;br /&gt;k         1x1                        68  &lt;span style="font-weight: bold;"&gt;cell array&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Grand total is 2 elements using 68 bytes&lt;/blockquote&gt;Что делать, как спрашивают классики? Фигурные скобки позволяют получить непосредственно значение элемента:&lt;br /&gt;&lt;br /&gt;&amp;gt;&amp;gt; k = atm.layer_height{1}&lt;br /&gt;&lt;br /&gt;k =&lt;br /&gt;&lt;br /&gt;5000&lt;br /&gt;&lt;br /&gt;Теперь это число и с ним можно работать.&lt;br /&gt;&lt;span style="color:#993399;"&gt;&lt;br /&gt;&amp;gt;&amp;gt; whos k&lt;br /&gt;Name      Size                    Bytes  Class&lt;br /&gt;&lt;br /&gt;k         1x1                         8  double array&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Удобство структур в том, что их можно передавать в функции, как одну большую переменную. Если при этом вы захотите добавить новые переменные, корректировать вызов функций не придётся - вы передаёте всю структуру целиком, так что все необходимые переменные там будут.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#996633;"&gt;Ссылки&lt;/span&gt;&lt;br /&gt;На этот пост меня сподвиг &lt;a href="http://hooloobloog.blogspot.com/"&gt;Блог ни о чем&lt;/a&gt; и его &lt;a href="http://hooloobloog.blogspot.com/2011/10/octave.html"&gt;заметки&lt;/a&gt; про &lt;a href="http://hooloobloog.blogspot.com/2011/10/octave_28.html"&gt;Октаву&lt;/a&gt;. Из оных заметок может сложиться впечатление, что Октава это "типа калькулятор, только консольный". Что неверно: несмотря на прорву недостатков Октавы (обрывочную документацию, криво реализованные матлабовские функции, неспособность выдавать интерактивные графики и зачаточный графический интерфейс) это - вполне себе мощная система численных расчётов и язык программирования. В качестве пособия по линейной алгебре GNU Octave более чем достаточна.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-233297751167390309?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=peFR2R9Qjuo:1X8RHcVgECg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=peFR2R9Qjuo:1X8RHcVgECg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=peFR2R9Qjuo:1X8RHcVgECg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=peFR2R9Qjuo:1X8RHcVgECg:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/peFR2R9Qjuo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/233297751167390309/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/02/gnuoctave.html#comment-form" title="Комментарии: 29" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/233297751167390309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/233297751167390309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/peFR2R9Qjuo/gnuoctave.html" title="GNU Octave: система численных математических расчётов и какая от неё польза в народном хозяйстве" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-YqYxurNtrhM/TtAertHvzPI/AAAAAAAACJw/BK_O2IaPSpQ/s72-c/octave-01.jpg" height="72" width="72" /><thr:total>29</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/02/gnuoctave.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMARHY9eCp7ImA9WhRbF0k.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-6723128500333914553</id><published>2012-02-06T00:15:00.017+04:00</published><updated>2012-02-09T03:07:25.860+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-09T03:07:25.860+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="обзор" /><category scheme="http://www.blogger.com/atom/ns#" term="юникс" /><title>Странное рождение и долгая жизнь UNIX</title><content type="html">Когда хотят утешить, то говорят, когда для вас закрывается одна дверь, открывается другая. Так и вышло для Кена Томпсона (Ken Thompson) и Дениса Ритчи (Dennis Ritchie), когда они создавали операционную систему UNIX - одну из самых вдохновляющих и влиятельных программ за всю историю компьютерной техники.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;Copyright© 2011 IEEE.   Reprinted from IEEE &lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix"&gt;"The Strange Birth and Long Life of Unix" by Warren Toomey, &lt;/a&gt;&lt;/span&gt;&lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;IEEE Spectrum Magazine, December 2011&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;.&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;This material is posted here with permission of the IEEE.  Such   permission of the IEEE does not in any way imply IEEE endorsement of any   of &lt;a href="http://mydebianblog.blogspot.com/"&gt;mydebianblog&lt;/a&gt;’s products or services.   Internal or personal use  of  this material is permitted.  However, permission to reprint/republish  this material for advertising or promotional  purposes or for creating  new collective works for resale or  redistribution must be obtained from  the IEEE by writing to  pubs-permissions@ieee.org.&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;By choosing to view this document, you agree to all provisions of the copyright laws protecting it.  &lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt;Copyright © 2011&lt;/span&gt; &lt;span class="hps"&gt;IEEE.&lt;/span&gt; &lt;span class="hps"&gt;Перепечатано из&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps atn"&gt;"&lt;/span&gt;&lt;span&gt;Странное&lt;/span&gt; &lt;span class="hps"&gt;рождение&lt;/span&gt; &lt;span class="hps"&gt;и долгая жизнь &lt;/span&gt;&lt;span class="hps"&gt;Unix&lt;/span&gt;&lt;span&gt;"&lt;/span&gt; &lt;span class="hps"&gt;Уоррен&lt;/span&gt; &lt;span class="hps"&gt;Туми,&lt;/span&gt; &lt;span class="hps"&gt;IEEE Spectrum&lt;/span&gt; &lt;span class="hps"&gt;Magazine,&lt;/span&gt; &lt;span class="hps"&gt;декабрь 2011 года.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hps"&gt;Данный материал&lt;/span&gt; &lt;span class="hps"&gt;публикуется&lt;/span&gt; &lt;span class="hps"&gt;здесь&lt;/span&gt; &lt;span class="hps"&gt;с разрешения&lt;/span&gt; &lt;span class="hps"&gt;IEEE.&lt;/span&gt; &lt;span class="hps"&gt;Такое&lt;/span&gt; &lt;span class="hps"&gt;разрешение&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps"&gt;ни&lt;/span&gt; &lt;span class="hps"&gt;в&lt;/span&gt; &lt;span class="hps"&gt;коей мере не означает&lt;/span&gt; &lt;span class="hps"&gt;одобрение&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps"&gt;любой из продуктов&lt;/span&gt; &lt;a href="http://mydebianblog.blogspot.com/"&gt;&lt;span class="hps"&gt;mydebianblog&lt;/span&gt;&lt;/a&gt; &lt;span class="hps"&gt;или услуг.&lt;/span&gt; &lt;span class="hps"&gt;Внутреннее&lt;/span&gt; &lt;span class="hps"&gt;или личное использование&lt;/span&gt; &lt;span class="hps"&gt;этого материала&lt;/span&gt; &lt;span class="hps"&gt;допускается.&lt;/span&gt; &lt;span class="hps"&gt;Тем не менее,&lt;/span&gt; &lt;span class="hps"&gt;разрешение на перепечатку&lt;/span&gt; &lt;span class="hps"&gt;/&lt;/span&gt; &lt;span class="hps"&gt;переиздание&lt;/span&gt; &lt;span class="hps"&gt;этого материала для&lt;/span&gt; &lt;span class="hps"&gt;рекламы или&lt;/span&gt; &lt;span class="hps"&gt;рекламных целях&lt;/span&gt; &lt;span class="hps"&gt;или&lt;/span&gt; &lt;span class="hps"&gt;для создания новых&lt;/span&gt; &lt;span class="hps"&gt;коллективных работ&lt;/span&gt; &lt;span class="hps"&gt;для перепродажи или&lt;/span&gt; &lt;span class="hps"&gt;перераспределения&lt;/span&gt; &lt;span class="hps"&gt;должно быть получено от&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt;&lt;span&gt;, написав по адресу&lt;/span&gt; &lt;span class="hps"&gt;pubs-permissions@ieee.org&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hps"&gt;Просматривая &lt;/span&gt;&lt;span class="hps"&gt;этот&lt;/span&gt; &lt;span class="hps"&gt;документ, вы&lt;/span&gt; &lt;span class="hps"&gt;согласны со всеми&lt;/span&gt; &lt;span class="hps"&gt;положениями&lt;/span&gt; &lt;span class="hps"&gt;законов об авторских правах&lt;/span&gt;, &lt;span class="hps"&gt;защищающих его.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Что было до UNIX: &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Эпоха Динозавров &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Для Томпсона и Ритчи дверь закрылась в марте 1969 года, когда их работодатель, American Telephone &amp;amp; Telegraph Co. (AT&amp;amp;T), вышел из совместного с Массачусетским Институтом Технологий (MIT) и General Electric проекта по созданию интерактивных систем с разделением времени под названием &lt;span style="border-bottom: 1px dotted; text-decoration: none;" title="Multiplexed Information and Computing Service"&gt; &lt;span style="font-weight: bold;"&gt;Multics&lt;/span&gt;&lt;/span&gt;. Метод &lt;i&gt;разделения времени&lt;/i&gt; (time-sharing), позволяющий нескольким людям использовать один компьютер одновременно, &lt;a href="http://en.wikipedia.org/wiki/Compatible_Time-Sharing_System" target="_blank"&gt;был изобретен всего десять лет назад&lt;/a&gt; и использовался в системе &lt;a href="http://www.multicians.org/mgc.html#CTSS" title="glossary: Compatible Time Sharing System. This IBM 7094 timesharing operating..."&gt;Compatible Timesharing System (CTSS)&lt;/a&gt;.&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Совместимая система с разделением времени, &lt;a href="http://www.multicians.org/mgc.html#CTSS" title="glossary: Compatible Time Sharing System. This IBM 7094 timesharing operating..."&gt;Compatible Timesharing System (CTSS)&lt;/a&gt;, была одной из первой операционных систем такого типа. Разработанная в Вычислительном центре MIT командой, возглавляемой &lt;a href="http://www.multicians.org/multicians.html#Corbato" title="Multician: Administration (MIT); Designer. {Story: Corby.}"&gt;Fernando J. Corbató&lt;/a&gt;, система была продемонстрирована в 1961 на компьютере &lt;a href="http://en.wikipedia.org/wiki/IBM_709" target="_blank"&gt;IBM 709&lt;/a&gt;. Усовершенствованная система CTSS запускалась на машине &lt;a href="http://www.multicians.org/mga.html#7094" title="glossary: IBM's most powerful scientific computer in 1963, the platform..."&gt;IBM 7094&lt;/a&gt; и позволяла обслуживать до 30 пользователей одновременно через модемы.&lt;/span&gt;&lt;/blockquote&gt;Есть сохранившееся видео тех времён, где &lt;span style="font-size:x-small;"&gt;&lt;a href="http://www.multicians.org/multicians.html#Corbato" title="Multician: Administration (MIT); Designer. {Story: Corby.}"&gt;Fernando J. Corbató&lt;/a&gt; &lt;/span&gt; доступно объясняет принцип работы системы с разделением времени:&lt;br /&gt;&lt;object width="420" height="315"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q07PhW5sCEk?version=3&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Q07PhW5sCEk?version=3&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="420" height="315"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Multics объединяла режим разделения времени с другими техническими достижениями той эпохи, позволяя соединяться с компьютером через удалённые терминалы для чтения почты, редактирования документов, запуска вычислений, и много другого. Это должно было стать огромным шагом вперёд по сравнению с тем, как компьютеры использовались ранее. А до этого была утомительная подготовка и ввод пакетных заданий на &lt;a href="http://www.divms.uiowa.edu/%7Ejones/cards/history.html" target="_blank"&gt;перфокартах&lt;/a&gt;, запускаемых последовательно одно за другим.&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Рискуя повредить психическому здоровью впечатлительной части юной вебдвальной аудитории, автор хотел бы напомнить, что до дискет и тем более флешек, люди использовали вот такие накопители: &lt;/span&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nHPC-BOoY4k/TvJ6sBidGKI/AAAAAAAACPY/hTJbYz5PClg/s1600/ibm701.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/-nHPC-BOoY4k/TvJ6sBidGKI/AAAAAAAACPY/hTJbYz5PClg/s320/ibm701.gif" width="320" border="0" height="142" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Сие есть перфокарта, историю коих можно узнать на &lt;a href="http://www.divms.uiowa.edu/%7Ejones/cards/" target="_blank"&gt;хорошо иллюстрированном сайте&lt;/a&gt;. А ниже показана перфолента:&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TaBwx7d9zyM/TvJ6swYNjmI/AAAAAAAACPc/-VUD219ogRQ/s1600/thumb_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/-TaBwx7d9zyM/TvJ6swYNjmI/AAAAAAAACPc/-VUD219ogRQ/s320/thumb_.jpg" width="320" border="0" height="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Флешка приведена для сравнения того, насколько далеко и быстро ускакала Computer Science в деле хранения информации.&lt;/span&gt; &lt;/blockquote&gt;&lt;br /&gt;Компания &lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;AT&amp;amp;T более пяти лет инвестировала миллионы долларов в&lt;/span&gt; &lt;span class="hps"&gt;проект&lt;/span&gt; &lt;span class="hps"&gt;Multics&lt;/span&gt;, закупая мэйнфрэймы &lt;span class="hps"&gt;GE&lt;/span&gt;-645 и &lt;span class="hps"&gt;координируя &lt;/span&gt;&lt;span class="hps"&gt;усилия&lt;/span&gt; &lt;span class="hps"&gt;многих ведущих&lt;/span&gt; &lt;span class="hps"&gt;исследователей в&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;Bell Telephone Laboratories&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt; (Bell Labs), в том числе Ken &lt;/span&gt; Thompson, Dennis Ritchie, Joseph F. Ossanna, Stuart Feldman, M. Douglas McIlroy, и Robert Morris&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;.&lt;/span&gt; &lt;span class="hps"&gt;Но&lt;/span&gt; &lt;span class="hps"&gt;новая операционная система была&lt;/span&gt; &lt;span class="hps"&gt;слишком амбициозна,&lt;/span&gt; &lt;span class="hps"&gt;и оттого её разработка серьёзно отставала от графика&lt;/span&gt;&lt;span class="hps"&gt;.&lt;/span&gt; &lt;span class="hps"&gt;В конце концов,&lt;/span&gt; корпоративные слизняки из &lt;span class="hps"&gt;AT&amp;amp;T&lt;/span&gt;&lt;span class="hps"&gt; решили&lt;/span&gt; ударить по тапкам и &lt;span class="hps"&gt;выйти из проекта.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IVOfN3E5VC4/TyN53YIfQRI/AAAAAAAACS4/iQj0ntQlaME/s1600/ke%2B2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 313px;" src="http://2.bp.blogspot.com/-IVOfN3E5VC4/TyN53YIfQRI/AAAAAAAACS4/iQj0ntQlaME/s400/ke%2B2.jpg" alt="" id="BLOGGER_PHOTO_ID_5702535545458999570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 153);" class="" id="result_box" lang="ru"&gt;Мэйнфрэйм &lt;span class="hps"&gt;GE&lt;/span&gt;-645 выглядел примерно так, брутально и сурово.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;br /&gt;&lt;/span&gt;После этого &lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;менеджеры&lt;/span&gt; &lt;span class="hps"&gt;Bell Labs сильно охладели к проекту разработки &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;Multics. Такой поворот событий не мог не огорчать многих исследователей. &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;Хотя&lt;/span&gt; операционная система &lt;span class="hps"&gt;Multics&lt;/span&gt; &lt;span class="hps"&gt;не достигла многих своих целей&lt;/span&gt;&lt;span class="hps"&gt;,&lt;/span&gt; &lt;span class="hps"&gt;она&lt;/span&gt;, по воспоминаниям &lt;span class="hps"&gt;Ритчи&lt;/span&gt;, предоставляла &lt;span class="hps atn"&gt;"&lt;/span&gt;удобный &lt;span class="hps"&gt;интерактивный сервис&lt;/span&gt; &lt;span class="hps"&gt;для вычисления,&lt;/span&gt; &lt;span class="hps"&gt;хорошую среду разработки&lt;/span&gt;&lt;span class=""&gt;, и &lt;/span&gt;&lt;span class="hps"&gt;систему&lt;/span&gt;, вокруг которой &lt;span class="hps"&gt;могло бы образоваться сообщество&lt;/span&gt;&lt;span class="hps atn"&gt;". Но беда пришла, и её совсем не ждали.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Справедливости ради, нужно отметить, что &lt;a href="http://www.multicians.org/history.html" target="_blank"&gt;Multics ещё долгое время служила верой и правдой в разных академических и оборонных учреждениях&lt;/a&gt;. Некоторые машины с Multics составили части ARPAnet - то,  что мы сейчас знаем как Internet, а тогда серьёзная сеть суровых американских вояк на случай ядерной войны. &lt;a href="http://www.multicians.org/site-mit.html" title="Massachusetts Institute of Technology, Cambridge, MA"&gt;MIT's Multics&lt;/a&gt; был одним из первых сайтов в той сети.&lt;/span&gt;&lt;/blockquote&gt;Огорчённые этим событием, &lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;исследователи&lt;/span&gt; &lt;span class="hps"&gt;вернулись&lt;/span&gt; к использованию  старой пакетной системы. В этот &lt;span class="hps"&gt;неблагоприятный&lt;/span&gt; &lt;span class="hps"&gt;момент&lt;/span&gt;, когда &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;руководство&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt; &lt;span class="hps"&gt;было категорически против&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;новых &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;идей,&lt;/span&gt; казалось &lt;span class="hps"&gt;безрассудным&lt;/span&gt; &lt;span class="hps"&gt;продолжать&lt;/span&gt; &lt;span class="hps"&gt;разработку&lt;/span&gt; &lt;span class="hps"&gt;компьютерных операционных систем.&lt;/span&gt; &lt;span class="hps"&gt;Но это&lt;/span&gt; &lt;span class="hps"&gt;именно то, что&lt;/span&gt; &lt;span class="hps"&gt;Томпсон,&lt;/span&gt; &lt;span class="hps"&gt;Ритчи,&lt;/span&gt; &lt;span class="hps"&gt;и многие из их&lt;/span&gt; &lt;span class="hps"&gt;коллег&lt;/span&gt; по &lt;span class="hps"&gt;Bell Labs, отважились&lt;/span&gt; &lt;span class="hps"&gt;сделать.&lt;/span&gt; &lt;span class="hps"&gt;Теперь,&lt;/span&gt; &lt;span class="hps"&gt;40 лет спустя&lt;/span&gt;, нам стоит поблагодарить этих исследователей за то, что они про&lt;span class="hps"&gt;игнорировали своих &lt;/span&gt;шефов&lt;span class="hps"&gt; и&lt;/span&gt; &lt;span class="hps"&gt;продолжили&lt;/span&gt; &lt;span class="hps"&gt;своё&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt; любимое дело, подарившее миру UNIX&lt;/span&gt; - &lt;span class="hps"&gt;одну из величайших&lt;/span&gt; &lt;span class="hps"&gt;компьютерных операционных систем&lt;/span&gt; &lt;span class="hps"&gt;всех времён и народов.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-u8Fq0TzC38M/TvKELwQsNeI/AAAAAAAACP0/P7SyNAeUSSc/s1600/12UnixAt40f2-710px-1321892316342.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OWkvS9eQj-c/TvKEM2s7nvI/AAAAAAAACP8/Avs6pVJHgVs/s1600/1971192.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/-OWkvS9eQj-c/TvKEM2s7nvI/AAAAAAAACP8/Avs6pVJHgVs/s1600/1971192.jpeg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="color: rgb(102, 102, 102);" color="#666666"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: rgb(102, 102, 102);" class="artImgCptn"&gt;&lt;span style="font-size:x-small;"&gt;&lt;b&gt;На фото - отцы UNIX&lt;/b&gt;:  Ken Thompson [сидит] набирает программу на клавиатуре, Dennis Ritchie [стоит] рядом. Это 1972 год, вскоре после того, как они и их коллеги по Bell Labs создали UNIX.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="ru"&gt;Томпсон, &lt;span class="hps"&gt;Ритчи&lt;/span&gt;, и &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;Rudd &lt;span class="hps"&gt;Canaday&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt; из &lt;span class="hps"&gt;Bell Labs&lt;/span&gt;&lt;span class="hps"&gt;,&lt;/span&gt; начали делать наброски дизайна &lt;span class="hps"&gt;для&lt;/span&gt; &lt;span class="hps"&gt;файловой системы.&lt;/span&gt; &lt;span class="hps"&gt;Томпсон&lt;/span&gt; &lt;span class="hps"&gt;написал&lt;/span&gt; &lt;span class="hps"&gt;основы&lt;/span&gt; &lt;span class="hps"&gt;новой операционной системы&lt;/span&gt; &lt;span class="hps"&gt;для&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;мэйнфрейма &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;GE&lt;/span&gt;-645, установленного в &lt;span class="hps"&gt;лаборатории.&lt;/span&gt; &lt;span class="hps"&gt;Но конец проекта &lt;/span&gt;&lt;span class="hps"&gt;Multics&lt;/span&gt; означал и конец &lt;span class="hps"&gt;GE&lt;/span&gt;-645. &lt;span class="hps"&gt;Томпсон&lt;/span&gt; &lt;span class="hps"&gt;понял&lt;/span&gt;, что дальнейшее &lt;span class="hps"&gt;программирование&lt;/span&gt; под &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;GE&lt;/span&gt;-645 это путь в никуда&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-u8Fq0TzC38M/TvKELwQsNeI/AAAAAAAACP0/P7SyNAeUSSc/s1600/12UnixAt40f2-710px-1321892316342.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/-u8Fq0TzC38M/TvKELwQsNeI/AAAAAAAACP0/P7SyNAeUSSc/s400/12UnixAt40f2-710px-1321892316342.jpg" width="400" border="0" height="312" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size:x-small;"&gt;&lt;b&gt;Один из первых мануалов:&lt;/b&gt; Thompson (ken) и Ritchie (dmr) создали первый мануал для UNIX, один из которых показан выше. Первая версия мануала вышла в ноябре 1971.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;С чего начался UNIX...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="ru"&gt;П&lt;span class="hps"&gt;осле кончины&lt;/span&gt; &lt;span class="hps"&gt;Multics в 1969 году, &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;Томпсон&lt;/span&gt; потратил часть &lt;span class="hps"&gt;своего времени&lt;/span&gt; на создание компьютерной игры &lt;span class="hps"&gt;под названием&lt;/span&gt; &lt;i&gt;&lt;span class="hps"&gt;Космические путешествия&lt;/span&gt;&lt;/i&gt;, которая &lt;span class="hps"&gt;моделировала&lt;/span&gt; &lt;span class="hps"&gt;все крупные&lt;/span&gt; &lt;span class="hps"&gt;тела в&lt;/span&gt; &lt;span class="hps"&gt;Солнечной системе&lt;/span&gt;. &lt;a href="http://www.blogger.com/goog_827214828"&gt;Игроку требовалось провести &lt;span class="hps"&gt;космический корабль&lt;/span&gt; &lt;/a&gt;&lt;span class="hps"&gt;&lt;a href="http://www.people.fas.harvard.edu/%7Elib215/reference/history/spacetravel.html" target="_blank"&gt;вокруг них&lt;/a&gt;, пытаясь приземлиться на планеты.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:x-small;"&gt;Археологическая экспедиция &lt;a href="http://mydebianblog.blogspot.com/p/author.html"&gt;экипажа блога&lt;/a&gt; во главе с &lt;a href="http://www.blogger.com/profile/12420257446841864325"&gt;автором&lt;/a&gt; откопала скриншот и &lt;a href="http://www.uvlist.net/game-164857-Space+Travel" target="_blank"&gt;описание&lt;/a&gt; игрушки &lt;/span&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:x-small;"&gt;&lt;i&gt;&lt;span class="hps"&gt;Космические путешествия (&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;a href="http://cm.bell-labs.com/who/dmr/spacetravel.html"&gt;&lt;span style="font-size:x-small;"&gt;&lt;i&gt;Space Travel&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:x-small;"&gt;&lt;i&gt;&lt;span class="hps"&gt;)&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; дабы можно было заценить&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; умопомрачительную графику:&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JEIO6v6OcVc/TvKRzF5dV4I/AAAAAAAACQU/Zp0Oqs5Obx4/s1600/76273.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/-JEIO6v6OcVc/TvKRzF5dV4I/AAAAAAAACQU/Zp0Oqs5Obx4/s320/76273.jpg" width="320" border="0" height="235" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;тех времён и возможности игрушки, которые были не менее впечатляющими: лететь вперёд и назад, повернуть вправо и влево, а так же изменение масштаба экрана больше-меньше.&lt;br /&gt;&lt;br /&gt;Важно, что Кен Томпсон &lt;b&gt;фактически изобрёл UNIX только для того, чтобы  поиграть в эту игрушку&lt;/b&gt;. А ещё говорят, что игр под UNIX/Linux нет. А они есть - &lt;a href="http://www.2lazy.nl/MartinsBlog/category/unix/" target="_blank"&gt;вот ещё одна&lt;/a&gt;, крутой космический шутер &lt;i&gt;Spacewar!&lt;/i&gt; образца 1962 года:&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-1DIriFpyptE/TvKRzyj5qrI/AAAAAAAACQY/PXW6fm13TyI/s1600/spacewar2.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/-1DIriFpyptE/TvKRzyj5qrI/AAAAAAAACQY/PXW6fm13TyI/s1600/spacewar2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size:x-small;"&gt;Проникнитесь, друзья. Это вам не Angry Birds на айфонах... &lt;/span&gt;&lt;/blockquote&gt;&lt;span class="" id="result_box" lang="ru"&gt;Игра, написанная для &lt;span class="hps"&gt;GE&lt;/span&gt;-645, была &lt;span class="hps"&gt;неуклюжа и очень дорогостояща - поиграть стоило &lt;/span&gt;&lt;a href="http://cm.bell-labs.com/who/dmr/spacetravel.html"&gt;&lt;span class="hps"&gt;примерно&lt;/span&gt; &lt;/a&gt;&lt;span class="hps"&gt;&lt;a href="http://cm.bell-labs.com/who/dmr/spacetravel.html"&gt;75 долларов&lt;/a&gt;, потому как процессорное время стоило недёшево&lt;/span&gt;&lt;span class="hps"&gt;.&lt;/span&gt; Бродя по лаборатории, Томпсон &lt;span class="hps"&gt;наткнулся на&lt;/span&gt;&lt;span class="hps"&gt; &lt;/span&gt; &lt;span class="hps"&gt;PDP&lt;/span&gt;-7, &lt;span class="hps"&gt;мини-компьютер&lt;/span&gt;, созданный &lt;span class="hps"&gt;корпорацией&lt;/span&gt; &lt;span class="hps"&gt;Digital Equipment&lt;/span&gt;, и купленный его &lt;span class="hps"&gt;коллегами по&lt;/span&gt; &lt;span class="hps"&gt;Bell Labs&lt;/span&gt;. Выглядел &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;&lt;i&gt;&lt;b&gt;мини&lt;/b&gt;&lt;/i&gt;-компьютер&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;PDP&lt;/span&gt;-7 &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;вот так:&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LYjcvf1X_vg/TvKN2mbfQgI/AAAAAAAACQI/QkTlU2iUA8w/s1600/pdp7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/-LYjcvf1X_vg/TvKN2mbfQgI/AAAAAAAACQI/QkTlU2iUA8w/s400/pdp7.jpg" width="325" border="0" height="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;PDP&lt;/span&gt;-7 выгодно отличался прекрасным видеовыводом, так что &lt;span class="hps"&gt;Томпсон&lt;/span&gt; &lt;span class="hps"&gt;переписал игрушку &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;i&gt;&lt;span class="hps"&gt;Космические путешествия&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;i&gt; &lt;/i&gt;&lt;span class="hps"&gt;для работы на&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;PDP&lt;/span&gt;-7&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:100%;"&gt;&lt;span class="hps"&gt;Это было &lt;a href="http://www.people.fas.harvard.edu/%7Elib215/reference/history/spacetravel.html" target="_blank"&gt;куда сложнее&lt;/a&gt;, чем может показаться на первый взгляд. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span title="He and I rewrote Space Travel to run on this machine."&gt;Так как отцы UNIX &lt;/span&gt;&lt;span title="The undertaking was more ambitious than it might seem; because we disdained all existing software, we had to write a floating-point arithmetic package, the pointwise specification of the graphic characters for the display, and a debugging subsystem that continuously displayed the contents of typed"&gt;презирали всё существующее программное обеспечение, они должны были реализов&lt;/span&gt;&lt;/span&gt;ать арифметику с плавающей точкой &lt;span style="color: rgb(153, 153, 153);"&gt;(отличная &lt;/span&gt;&lt;a style="color: rgb(153, 153, 153);" href="http://www.cse.msu.edu/%7Ecse320/Documents/FloatingPoint.pdf"&gt;статья&lt;/a&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; в тему, кстати - и это только &lt;/span&gt;&lt;a style="color: rgb(153, 153, 153);" href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html"&gt;основы&lt;/a&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;...)&lt;/span&gt;, и полную спецификацию графических символов для подсистемы отображения и отладки, которые непрерывно отображают содержимое положений игрушечного корабля в углу экрана. Все это было написано на ассемблере, и запускалось на компьютере GECOS, выдавая бумажные ленты для PDP-7.&lt;/span&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;После этого небольшого упражнения в программировании, произошло ещё одно событие: летом 1969 года жена Томпсона, Бонни, уехала к родителям, чтобы показать их новорожденного сына. Кен Томпсон решил воспользоваться своим временным холостяцким положением и написал за это время отличный код, который потом превратится в Unix для заброшенного мини-компьютера PDP-7.&lt;br /&gt;&lt;br /&gt;Название Unix связана с шуткой одного из коллег Томпсона: новая операционная система поддерживает только одного пользователя (собственно, Томпсона), и он рассматривал её как выхолощенную версию Multics - потому и нарёк новую операционную систему "Un-multiplexed Information and Computing Service". Это название позже превратилось в Unix, и вот как об этом вспоминают Dennis M. Ritchie (dmr) и  Ken Thompson (ken):&lt;br /&gt;&lt;object width="420" height="315"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ESjTlD606aQ?version=3&amp;amp;hl=en_GB&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ESjTlD606aQ?version=3&amp;amp;hl=en_GB&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="420" height="315"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Всё это непотребство творилось за спиной начальства, которое ничего не подозревало об этих игрищах.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Изначально &lt;/span&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:100%;"&gt;Томпсон &lt;span class="hps"&gt;использовал&lt;/span&gt; &lt;span class="hps"&gt;GE&lt;/span&gt;-645 &lt;span class="hps"&gt;для создания и&lt;/span&gt; &lt;span class="hps"&gt;компиляции&lt;/span&gt; &lt;span class="hps"&gt;программного обеспечения,&lt;/span&gt; &lt;span class="hps"&gt;который он затем&lt;/span&gt; &lt;span class="hps"&gt;загружал на&lt;/span&gt; &lt;span class="hps"&gt;PDP&lt;/span&gt;-7.&lt;/span&gt;&lt;span style="font-size:100%;"&gt; Вскоре Томпсон начал разработку файловой системы и пользовательских утилит: копирование, печать, удаление, правка файлов и, естественно, командный интерпретатор. &lt;a href="http://www.people.fas.harvard.edu/%7Elib215/reference/history/spacetravel.html" target="_blank"&gt;Все программы писались на компьютере GECOS и переносились на PDP-7 на бумажной ленте&lt;/a&gt;. Как только Ассемблер на PDP-7 заработал &lt;/span&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:100%;"&gt;к &lt;span class="hps"&gt;концу&lt;/span&gt; &lt;span class="hps"&gt;1969 года, Томпсон&lt;/span&gt; &lt;span class="hps"&gt;был в состоянии писать&lt;/span&gt; код &lt;span class="hps"&gt;операционной системы&lt;/span&gt; собственно&lt;span class="hps"&gt; на&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:100%;"&gt; &lt;span class="hps"&gt;самом &lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box"  lang="ru" style="font-size:100%;"&gt;&lt;span class="hps"&gt;PDP-7&lt;/span&gt;. &lt;span class="hps"&gt;Это был&lt;/span&gt; &lt;span class="hps"&gt;шаг в&lt;/span&gt; &lt;span class="hps"&gt;правильном направлении.&lt;/span&gt; Однако &lt;span class="hps"&gt;Томпсон и&lt;/span&gt; &lt;span class="hps"&gt;другие&lt;/span&gt; исследователи &lt;span class="hps"&gt;знали, что&lt;/span&gt; миникомпьютер &lt;span class="hps"&gt;PDP-7&lt;/span&gt; уже был &lt;span class="hps"&gt;устаревшей моделью, как знали они и то, что &lt;/span&gt;руководство &lt;span class="hps"&gt;лаборатории&lt;/span&gt; &lt;span class="hps"&gt;не собиралось&lt;/span&gt; больше разрешать &lt;span class="hps"&gt;исследований по&lt;/span&gt; &lt;span class="hps"&gt;операционным системам.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Подпольная разработка UNIX и первые успехи&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="ru"&gt;&lt;span class="hps"&gt;Так что Томпсону и Ритчи нужно было проявить изобретательность, которую они блестяще продемонстрировали: в заявке они попросили&lt;/span&gt; начальство &lt;span class="hps"&gt;купить одну из&lt;/span&gt; &lt;span class="hps"&gt;новых&lt;/span&gt; &lt;span class="hps"&gt;мини-ЭВМ&lt;/span&gt; &lt;span class="hps"&gt;DEC&lt;/span&gt;, а именно &lt;span class="hps"&gt;PDP-11. Запрос был сформулирован в очень кучерявых терминах: о&lt;/span&gt;&lt;span class="hps"&gt;ни написали, что&lt;/span&gt; &lt;span class="hps"&gt;целью&lt;/span&gt; является &lt;span class="hps"&gt;создание&lt;/span&gt; &lt;span class="hps"&gt;инструментов для редактирования и&lt;/span&gt; &lt;span class="hps"&gt;форматирования текста (то,&lt;/span&gt; &lt;span class="hps"&gt;что мы сейчас назвали бы &lt;i&gt;текстовый процессор&lt;/i&gt;&lt;/span&gt;)&lt;span class="hps"&gt;.&lt;/span&gt; &lt;span class="hps"&gt;Тот факт, что&lt;/span&gt; &lt;span class="hps"&gt;они также&lt;/span&gt; &lt;span class="hps"&gt;должны были написать&lt;/span&gt; &lt;span class="hps"&gt;&lt;b&gt;операционную систему&lt;/b&gt; для&lt;/span&gt; &lt;span class="hps"&gt;новой машины&lt;/span&gt;, чтобы запускать текстовый редактор, &lt;span class="hps"&gt;был всего лишь&lt;/span&gt;&lt;span class="hps"&gt; сноской.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Менеджмент клюнул на приманку, и заказ на PDP-11 был размещён в мае 1970 года. Хотя сам компьютер доставлен быстро, носители данных для него привезли лишь через полгода. В этом время, Томпсон, Ритчи и другие продолжали разрабатывать Unix на PDP-7. После установки носителей данных в PDP-11, исследователи перенесли свою навороченную операционную систему на новую машину. Затем они перетащили туда текстовый редактор &lt;span style="border-bottom: 1px dotted; text-decoration: none;" title="MПрограмма форматирования текста RUNOFF, созданная Jerome H. Saltzer для операционной системы CTSS в MIT; название есть сокращение фразы I'll run off a document."&gt; &lt;span style="font-weight: bold;"&gt;roff&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Первыми ходовыми испытаниями для Unix стал патентный отдел AT&amp;amp;T, где машинистки стали использовать Unix для набора, редактирования и оформления патентов. И это был &lt;span style="font-weight: bold;"&gt;успех&lt;/span&gt;! Патентное ведомство с удовольствием приняло новую систему, что дало исследователям достаточно авторитета, чтобы убедить руководство приобрести ещё одну машину, обновлённую и более мощную модель PDP-11, позволяющие продолжить их подпольные работы по Unix.&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/-V4T9RHYPqu8/TvKkrlC1j2I/AAAAAAAACQo/e1M7F3CyXas/s1600/5d4468a0.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 209px;" src="http://4.bp.blogspot.com/-V4T9RHYPqu8/TvKkrlC1j2I/AAAAAAAACQo/e1M7F3CyXas/s400/5d4468a0.jpg" alt="" id="BLOGGER_PHOTO_ID_5688790347907698530" border="0" /&gt;&lt;/a&gt;&lt;b style="color: rgb(102, 102, 102);"&gt;Движок Unix: &lt;/b&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Ранние версии Unix запускались на мини-ЭВМ PDP-11 от Digital Equipment Corp. (DEC).&lt;/span&gt;&lt;br /&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;&lt;br /&gt;В первые дни &lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;Unix развивалась постоянно, так что идея выпуска именованных версий или релизов казалась неуместной. Но исследователи &lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt; периодически &lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;выпускали новые издания руководства разработчика, так что ранние версии Unix назвались в честь каждого такого издания. Первое издание руководства было завершено в ноябре 1971 года.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;Так что же предлагали первые версии Unix, сделавшие её столь привлекательной?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Главным козырем&lt;/span&gt; Unix было то, что она предоставляла иерархическую файловую систему,  позволявшую то, что мы сейчас принимаем как нечто само собой разумеющимся: файлы могут быть размещены в каталогах и подкаталогах.&lt;br /&gt;&lt;blockquote&gt;При инициализации системы, известно только одно устройство файловой системы&lt;br /&gt;(корневое устройство, root device), и его имя встроено в систему. Другие устройства и накопители присоединяются за счет монтирования других устройств, каждое из которых содержит свою собственную структуру каталогов. Когда устройство установлено, его ``корень'' крепится к ``листьям'' уже доступной иерархии. &lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt;[&lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/bstj57-6-1947_OCR.pdf"&gt;отсюда&lt;/a&gt;, PDF 200 Kb]&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Каждый файл мог содержать не более 64 килобайт, и его имя могло быть не длиннее шести символов. Эти ограничения, кажущиеся такими неуклюжими сейчас, в то время были более чем адекватными.&lt;br /&gt;&lt;br /&gt;Хотя Unix якобы создавался для обработки текстов, единственным доступным редактором в 1971 году был ориентированный на строки &lt;span style="font-weight: bold;"&gt;ed&lt;/span&gt;. Сегодня, &lt;span style="font-weight: bold;"&gt;ed&lt;/span&gt; по-прежнему является текстовым редактором, гарантированно присутствующим на всех системах Unix. Помимо обработки текстов и общесистемных приложений, первая версия Unix включала такие игры, как &lt;span style="font-style: italic;"&gt;блэкджек&lt;/span&gt;, шахматы и крестики-нолики. Утилиты системного администратора включали сохранение и восстановления образов дисков на магнитную ленту, утилиты чтения и записи на бумажные ленты, а также программы для создания, проверки, монтирования и размонтирования съемных дисков.&lt;br /&gt;&lt;br /&gt;Самое замечательное заключалось в том, что система предлагала &lt;span style="font-style: italic;"&gt;интерактивную&lt;/span&gt; среду, которая позволяла работать в режиме разделения времени (time-sharing). Это позволяло нескольким пользователям использовать одну машину &lt;span style="font-style: italic;"&gt;одновременно&lt;/span&gt;. Были доступны различные языки программирования, в том числе BASIC, Fortran, ассемблер и язык B. Собственно, язык B является потомком BCPL (Basic Combined Programming Language, базовый комбинированный язык программирования), и в конечном итоге превратился в чрезвычайно популярный язык C, созданный Ритчи во время работы над Unix.&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps atn"&gt;UNIX имела&lt;/span&gt; &lt;span class="hps"&gt;хорошие показатели &lt;/span&gt; &lt;span class="hps"&gt;надёжности для программного обеспечения&lt;/span&gt;&lt;span&gt; тех времён. Время автономной работы между&lt;/span&gt;&lt;span class="hps"&gt; сбоями программного обеспечения&lt;/span&gt; &lt;span style="color: rgb(153, 153, 153);" class="hps"&gt;(в зависимости &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);" class="hps"&gt;от того, как часто над ней экспериментировали&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);" class="hps"&gt;)&lt;/span&gt; &lt;span class="hps"&gt;значительно превышало&lt;/span&gt; &lt;span style="font-style: italic;" class="hps"&gt;две недели&lt;/span&gt;&lt;span class="hps"&gt;. Главной причиной сбоев было аппаратное обеспечение и перебои в электросети. [&lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/bstj57-6-1947_OCR.pdf"&gt;отсюда&lt;/a&gt;, PDF 200 Kb]&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;Первая версия Unix позволяла программистам вызывать 34 различных низкоуровневых процедуры, встроенных в операционную систему. Почти все эти системные вызовы по-прежнему доступны и до сих пор активно используется на современных Unix и Linux системах четыре десятилетия спустя. Для своего времени, первая версия Unix предоставляла удивительно мощную среду для разработки программного обеспечения. И это несмотря на то, что сердцем Unix были всего лишь 4200 строк кода, занимавшие жалкие 16 КБ оперативной памяти при запуске.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Влияние UNIX&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span&gt;Огромное влияние Unix можно отчасти объяснить элегантностью дизайна, простотой, портируемостью и удачным стечением обстоятельств. Но, пожалуй, более важным было преданное сообщество пользователей, быстро выросшее вокруг Unix.&lt;br /&gt;&lt;br /&gt;Всё было примерно так: в течение многих лет Unix оставались лишь исследовательским проектом Bell Labs, но к 1973 году авторы Unix сочли, что система была достаточно зрелой для того, чтобы выступить с докладом о ней на конференции Ассоциации вычислительной техники  (Association for Computing Machinery). Доклад можно скачать и прочитать:&lt;br /&gt;&lt;a href="http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a href="http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf"&gt;Thompson, Ken, and Dennis M. Ritchie, The UNIX Time-Sharing System, Communications of the ACM, Vol. 17, No. 7, July 1974, pp. 365-375 (revised and reprinted in [Ritchie 1978])&lt;/a&gt; [&lt;a href="http://dl.dropbox.com/u/8038890/ritchie74unix.pdf"&gt;mirror&lt;/a&gt;]&lt;/blockquote&gt;Статья была опубликована в 1974 году в трудах АСМ, и её появление принесло шквал запросов на копии программного обеспечения.&lt;br /&gt;&lt;br /&gt;Это поставило AT&amp;amp;T в трудное положение. Дело в том, что в 1956 году AT&amp;amp;T пошло на соглашение с правительством США, по которому компании запрещалось продавать продукцию, не связанную напрямую с телефонами и телекоммуникациями, в обмен на её право монополии в междугородных телефонных услугах для всей страны. Так что Unix не мог быть продан в качестве продукта. Вместо этого AT&amp;amp;T выпустила исходные коды Unix под лицензией, позволяющей использовать их любому желающему по цене носителей. Важная деталь: по тому же соглашению, AT&amp;amp;T не могла оказывать поддержку Unix. На протяжении многих лет исследователи Bell Labs с гордостью демонстрировали это на Unix-конференциях слайдом, который гласил: "Без рекламы, без техподдержки, без багфиксов, деньги вперёд."&lt;br /&gt;&lt;br /&gt;В отсутствии других источников техподдержки, первые пользователи Unix объединились для взаимопомощи, образуя свободную сеть групп пользователей во всем мире. У них были исходные коды, что было плюсом. Так что эти первые пользователи Unix сами исправляли ошибки, создавали новые утилиты, и улучшали систему по своему усмотрению.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Группа пользователей Usenix выступала в качестве центра по обмену программным обеспечением для Unix в США. Люди могли отправлять магнитные ленты с новым программным обеспечением или исправлениями и получать софт и исправления, которые Usenix получал от других. В Австралии, Университет Нового Южного Уэльса и Сиднейского университета, была создана более надежная версия Unix, Australian Unix Share Accounting Method, которая могла справиться с большим количеством одновременно работающих пользователей и отличалась более высокой производительностью.&lt;br /&gt;&lt;br /&gt;К середине 1970-х годов, среда, возникшая вокруг Unix, напоминала движение Open Source, столь распространенное сегодня. Пользователи повсюду с энтузиазмом расширяли и улучшали систему, и многие из этих улучшений отправлялись обратно в Bell Labs для включения в будущие релизы. Однако с увеличением популярности Unix, стервятники из AT&amp;amp;T начали более пристально смотреть за тем, что пользователи делали с их системой.&lt;br /&gt;&lt;br /&gt;Человеком, привлёкшим их внимание, был Jogn Lions, учёный, преподававший в Университете Нового Южного Уэльса в Австралии. В 1977 году он опубликовал книгу, ставшую самой известной в то время - A Commentary on the Unix Operating System, содержащую прокомментированный основной исходный код Unix.&lt;br /&gt;&lt;br /&gt;Лицензионные условия Unix позволяли обмен исходным кодом, и изначально книга Лайонса продавалась лицензиатам Unix. Но к 1979 году адвокаты AT&amp;amp;T запретили распространение и использование книги в академических кругах. Сообщество Unix, будучи анти-авторитарным, отреагировало на это так, как и ожидалось: копии книги распространялись самиздатом со скоростью лесного пожара. Многие до сих пор держат почти нечитаемые фотокопии оригинальной книги тех лет.&lt;br /&gt;&lt;br /&gt;Снующие всюду юристы AT&amp;amp;T стали привычным явлением, даже в Bell Labs. Например, между шестым релизом Unix в 1975 году и седьмым в 1979 году, Томпсон собрал множество важных исправлений ошибок. Он хотел исправить их для пользователей Unix, но юристы компании сочли, что это будет являться одной из форм техподдержки и запретили релиз. Тем не менее, эти исправления вскоре стали широко распространены по неофициальным каналам. Например, Lou Katz, основателю и президенту Usenix, позвонили в один прекрасный день  и сказали, что если он придёт в определенное место на Mountain Avenue (где находилась Bell Labs) в 2 часа пополудни, он найдёт нечто интересное. Конечно же, Кац обнаружил магнитную ленту с исправлениями, которые быстро попали в руки бесчисленных пользователей.&lt;br /&gt;&lt;br /&gt;К концу 1970-х годов, Unix, начавшаяся десять лет назад как бунт против потери комфортной среды программирования (Multics), росла, как сорняк, по всему научному миру и ИТ-индустрии. Unix расцвёл в начале 1980-х и достиг вершины своей популярности в начале 1990-х.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-KNlUsQN1un4/TxlFj2bLaCI/AAAAAAAACSQ/jep5vaO33VI/s1600/Unix_history-simple.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 258px;" src="http://2.bp.blogspot.com/-KNlUsQN1un4/TxlFj2bLaCI/AAAAAAAACSQ/jep5vaO33VI/s400/Unix_history-simple.png" alt="" id="BLOGGER_PHOTO_ID_5699663285621319714" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Упрощённая карта версий UNIX (позаимствовано на &lt;a href="http://upload.wikimedia.org/wikipedia/commons/5/50/Unix_history-simple.png"&gt;Викискладе&lt;/a&gt;). Есть более &lt;a href="http://www.levenez.com/unix/"&gt;подробная карта&lt;/a&gt; в формате PDF.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;По многим причинам, Unix с тех пор уступил дорогу другим коммерческим и некоммерческим системам. Но его наследие, эта элегантная, хорошо продуманная и комфортная среда разработки программного обеспечения, продолжает жить по сей день. В знак признания достижений, Томпсон и Ритчи получили &lt;a href="http://articles.sfgate.com/2011-01-25/business/27047672_1_unix-dennis-ritchie-berkeley-software-distribution"&gt;Japan Prize в начале 2011 года&lt;/a&gt;, увеличив коллекцию наград, которая включает National Medal of Technology and Innovation и Turing Award от Association of Computing Machinery.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;UNIX жил, &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;UNIX жив, &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;UNIX будет жить.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Unix действительно является одной из наиболее влиятельных операционных систем, когда-либо изобретённых. Прямые потомки Unix в настоящее время исчисляются сотнями. С одной стороны родословной находятся различные коммерческие версии Unix, появившиеся на рынке в 1980-х годах после падения монополии Bell System. С другой стороны - различные Unix-подобные операционные системы, предком которых была версия Unix, разработанная в Университете Калифорнии, Беркли (University of California, Berkeley), в том числе используемая &lt;a href="http://www.apple.com/macosx/"&gt;Apple - OS X&lt;/a&gt;. Именно Unix-подобные: разработчики Berkeley Software Distribution (&lt;a href="http://oreilly.com/catalog/opensources/book/kirkmck.html"&gt;BSD&lt;/a&gt;) Unix много работали над тем, чтобы удалить весь оригинальный код AT&amp;amp;T, чтобы их и основанное на нём программное обеспечение могло распространяться свободно.&lt;br /&gt;&lt;br /&gt;Результаты этих усилий, однако, были поставлены под вопрос, когда филиал AT&amp;amp;T, Unix System Laboratories, подал иск против Berkeley Design Software в 1992 году за права интеллектуальной собственности на данное программное обеспечение. Университет, в свою очередь, подал встречный иск против AT&amp;amp;T. Последовавшая за этим судебная тяжба замедлила развитие свободных Unix-подобных систем, в том числе 386BSD, которая была разработана для Intel 386 - процессора, который использовался во многих компьютерах IBM.&lt;br /&gt;&lt;br /&gt;Линус Торвальдс говорил, что если бы эта операционная система была доступна в то время, он вряд ли создал бы Linux. А вышло так, что Unix передал эстафету Linux в двадцать первый век, работая на самых разных устройствах: от беспроводных роутеров, телевизоров, настольных компьютеров и смартфонов Android до кластеров и суперкомпьютеров.&lt;br /&gt;&lt;br /&gt;Хотя AT&amp;amp;T быстро уладили правовые споры с Berkeley Design Software и Университетом Калифорнии, юридические тяжбы на тему украденной Linux интеллектуальной собственности Unix продолжаются до сих пор. К 2004 году было подано не менее пяти крупных исков. Не далее как в августе 2011 года, компания TSG Group (ранее известная как SCO Group), проиграла в суде дело о владении авторскими правами Unix.&lt;br /&gt;&lt;br /&gt;Судебные тяжбы по Unix - это, конечно, печально. С самого начала авторы и пользователи Unix делали всё возможное, чтобы создавать и делиться, даже если для этого требовалось бросить вызов власть предержащим. Такая самоотверженность резко контрастирует с жадностью, повлекшей последующие судебные баталии за обладание Unix.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Отдавая дань истории...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Мир компьютерного железа и программного обеспечения движется вперед поразительно быстро. Быстрый темп изменений для ИТ-специалистов, как правило, замечательная вещь. Но он приводит к тому, что мы забываем наше собственное прошлое, в том числе и важные уроки оного. Для решения этой проблемы, &lt;a href="http://works.bepress.com/warren_toomey/"&gt;Warren Toomey&lt;/a&gt; &lt;span style="font-style: italic;"&gt;[автор оригинального текста]&lt;/span&gt;, в 1995 году начал почтовую рассылку по поиску старых поклонников Unix. Эта работа переросла в Сообщество Наследия Unix (&lt;a href="http://www.tuhs.org/wiki/The_Unix_Heritage_Society"&gt;Unix Heritage Society&lt;/a&gt;). Цель сообщества - не только сохранить историю Unix, но также собрать и сохранить эти старые системы, вернув их к жизни. С помощью многих талантливых участников общества Наследия Unix, &lt;a href="http://works.bepress.com/warren_toomey/"&gt;Warren Toomey&lt;/a&gt; смог восстановить б&lt;span style="font-weight: bold;"&gt;о&lt;/span&gt;льшую часть старого программного обеспечения Unix в рабочем состоянии, в том числе первый компилятор C, созданный Ритчи в 1972 году, и первый релиз Unix, написанный на C в 1973 году.&lt;br /&gt;&lt;br /&gt;Долго ускользавшая от нас Чаша Грааля - первое издание Unix. Затем, в 2006 году, Al Kosso из&lt;a href="http://www.computerhistory.org/"&gt; Музея компьютерной истори&lt;/a&gt;и  в Mountain View, штат Калифорния, &lt;a href="http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1"&gt;откопал печатную версию Unix от 1972 года&lt;/a&gt;, которая не только описывала внутреннюю работу Unix, но также включала полный ассемблерный код ядра. Это была удивительная находка, примерно как обнаружение первого автомобиля Ford Model T, пылящегося в углу сарая. Но мы не просто хотели полюбоваться на это издалека - мы хотели запустить первую версию Unix снова.&lt;br /&gt;&lt;br /&gt;В 2008 году Tim Newsham, независимый программист, и я [Warren Toomey], собрали команду единомышленников-энтузиастов Unix, и решили воскресить эту древнюю систему. Работа была технически трудной и зачастую разочаровывающей, но в итоге мы создали копию первой версии Unix, и заставили её работать на эмуляторе PDP-11/20. Мы разослали сообщения, извещающие о нашем успехе всем, кому, как мы думали, это будет интересно. Томпсон, как всегда кратко, ответил: "Потрясающе". В самом деле, его детище удивительно, и я [&lt;span style="font-style: italic;"&gt;Warren Toomey&lt;/span&gt;] был рад сделать всё от меня зависящее, чтобы история Unix стала более известной.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);"&gt;Ссылки&lt;/span&gt;, собственно, в самом посте.&lt;br /&gt;Узнать больше об &lt;a href="http://www.faqs.org/docs/artu/ch02s01.html"&gt;истории UNIX можно по этой ссылке&lt;/a&gt;, и вообще на &lt;a href="http://www.livinginternet.com/"&gt;этом сайте&lt;/a&gt; собрано много исторического материала по вычислительной технике. Так же доступна &lt;a href="http://dc37.dawsoncollege.qc.ca/compsci/gmack/info/orig-unix-v1_1.htm"&gt;хронология событий тех лет&lt;/a&gt;. Краткий &lt;a href="http://vir.comtv.ru/unix-book/node4.html"&gt;пересказ&lt;/a&gt; истории есть на и русском. Для любителей техноистории, на сайте Lucent есть &lt;a href="http://www.alcatel-lucent.com/bstj/vol57-1978/bstj-vol57-issue06.html"&gt;архивная полка&lt;/a&gt; с документами по UNIX. Также стоит заглянуть в статьи  Bell System Technical Journal, особенно в&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;a href="http://www.alcatel-lucent.com/bstj/vol57-1978/articles/bstj57-6-1947.pdf" title="alcatel-lucent.com"&gt;эту&lt;/a&gt;. &lt;a href="http://www.blogger.com/profile/12420257446841864325"&gt;Автор перевода&lt;/a&gt; несколько добавил материала, отсутствующего в оригинальной статье, и получил огромное удовольствие от припадания к истокам UNIX, чего и вам желает.&lt;br /&gt;&lt;br /&gt;Этот пост так же доступен в форматах:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Portable Document Format &lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/strange-birth-and-long-life-of-unix.pdf"&gt;PDF&lt;/a&gt; [730 Kb]&lt;/li&gt;&lt;li&gt;Open Document &lt;a href="http://dl.dropbox.com/u/8038890/mydebianblog/strange-birth-and-long-life-of-unix.odt"&gt;ODT&lt;/a&gt; [35 Kb]&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);"&gt;Copyrights&lt;/span&gt;&lt;br /&gt;Этот пост является расширенным переводом статьи &lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0" target="_blank"&gt;The Strange Birth and Long Life of Unix&lt;/a&gt;  , автора Warren Toomey, из журнала IEEE Spectrum.&lt;br /&gt;&lt;br /&gt;This post is a translated version of the article &lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0" target="_blank"&gt;The Strange Birth and Long Life of Unix&lt;/a&gt;, written by &lt;span style="text-transform: none;"&gt;By&lt;/span&gt; Warren Toomey, in the IEEE Spectrum Magazine, December 2011    &lt;div id="biogrp"&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;Copyright© 2011 IEEE.   Reprinted from IEEE &lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix"&gt;"The Strange Birth and Long Life of Unix" by Warren Toomey, &lt;/a&gt;&lt;/span&gt;&lt;a href="http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;IEEE Spectrum Magazine, December 2011&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;.&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;This material is posted here with permission of the IEEE.  Such  permission of the IEEE does not in any way imply IEEE endorsement of any  of &lt;a href="http://mydebianblog.blogspot.com/"&gt;mydebianblog&lt;/a&gt;’s products or services.   Internal or personal use  of this material is permitted.  However, permission to reprint/republish this material for advertising or promotional  purposes or for creating new collective works for resale or  redistribution must be obtained from the IEEE by writing to  pubs-permissions@ieee.org.&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;color:red;"&gt;&lt;br /&gt;By choosing to view this document, you agree to all provisions of the copyright laws protecting it.  &lt;/span&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span id="result_box" class="" lang="ru"&gt;&lt;span class="hps"&gt;Copyright © 2011&lt;/span&gt; &lt;span class="hps"&gt;IEEE.&lt;/span&gt; &lt;span class="hps"&gt;Перепечатано из&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps atn"&gt;"&lt;/span&gt;&lt;span&gt;Странное&lt;/span&gt; &lt;span class="hps"&gt;рождение&lt;/span&gt; &lt;span class="hps"&gt;и долгая жизнь &lt;/span&gt;&lt;span class="hps"&gt;Unix&lt;/span&gt;&lt;span&gt;"&lt;/span&gt; &lt;span class="hps"&gt;Уоррен&lt;/span&gt; &lt;span class="hps"&gt;Туми,&lt;/span&gt; &lt;span class="hps"&gt;IEEE Spectrum&lt;/span&gt; &lt;span class="hps"&gt;Magazine,&lt;/span&gt; &lt;span class="hps"&gt;декабрь 2011 года.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hps"&gt;Данный материал&lt;/span&gt; &lt;span class="hps"&gt;публикуется&lt;/span&gt; &lt;span class="hps"&gt;здесь&lt;/span&gt; &lt;span class="hps"&gt;с разрешения&lt;/span&gt; &lt;span class="hps"&gt;IEEE.&lt;/span&gt; &lt;span class="hps"&gt;Такое&lt;/span&gt; &lt;span class="hps"&gt;разрешение&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps"&gt;ни&lt;/span&gt; &lt;span class="hps"&gt;в&lt;/span&gt; &lt;span class="hps"&gt;коей мере не означает&lt;/span&gt; &lt;span class="hps"&gt;одобрение&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt; &lt;span class="hps"&gt;любой из продуктов&lt;/span&gt; &lt;a href="http://mydebianblog.blogspot.com/"&gt;&lt;span class="hps"&gt;mydebianblog&lt;/span&gt;&lt;/a&gt; &lt;span class="hps"&gt;или услуг.&lt;/span&gt; &lt;span class="hps"&gt;Внутреннее&lt;/span&gt; &lt;span class="hps"&gt;или личное использование&lt;/span&gt; &lt;span class="hps"&gt;этого материала&lt;/span&gt; &lt;span class="hps"&gt;допускается.&lt;/span&gt; &lt;span class="hps"&gt;Тем не менее,&lt;/span&gt; &lt;span class="hps"&gt;разрешение на перепечатку&lt;/span&gt; &lt;span class="hps"&gt;/&lt;/span&gt; &lt;span class="hps"&gt;переиздание&lt;/span&gt; &lt;span class="hps"&gt;этого материала для&lt;/span&gt; &lt;span class="hps"&gt;рекламы или&lt;/span&gt; &lt;span class="hps"&gt;рекламных целях&lt;/span&gt; &lt;span class="hps"&gt;или&lt;/span&gt; &lt;span class="hps"&gt;для создания новых&lt;/span&gt; &lt;span class="hps"&gt;коллективных работ&lt;/span&gt; &lt;span class="hps"&gt;для перепродажи или&lt;/span&gt; &lt;span class="hps"&gt;перераспределения&lt;/span&gt; &lt;span class="hps"&gt;должно быть получено от&lt;/span&gt; &lt;span class="hps"&gt;IEEE&lt;/span&gt;&lt;span&gt;, написав по адресу&lt;/span&gt; &lt;span class="hps"&gt;pubs-permissions@ieee.org&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hps"&gt;Просматривая &lt;/span&gt;&lt;span class="hps"&gt;этот&lt;/span&gt; &lt;span class="hps"&gt;документ, вы&lt;/span&gt; &lt;span class="hps"&gt;согласны со всеми&lt;/span&gt; &lt;span class="hps"&gt;положениями&lt;/span&gt; &lt;span class="hps"&gt;законов об авторских правах&lt;/span&gt;, &lt;span class="hps"&gt;защищающих его.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-6723128500333914553?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=_e1If12IbZM:C8TKRmzuSfE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=_e1If12IbZM:C8TKRmzuSfE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=_e1If12IbZM:C8TKRmzuSfE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=_e1If12IbZM:C8TKRmzuSfE:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/_e1If12IbZM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/6723128500333914553/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/02/unix.html#comment-form" title="Комментарии: 27" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/6723128500333914553?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/6723128500333914553?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/_e1If12IbZM/unix.html" title="Странное рождение и долгая жизнь UNIX" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-nHPC-BOoY4k/TvJ6sBidGKI/AAAAAAAACPY/hTJbYz5PClg/s72-c/ibm701.gif" height="72" width="72" /><thr:total>27</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/02/unix.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04GQX0yfSp7ImA9WhVSFUQ.&quot;"><id>tag:blogger.com,1999:blog-30744165.post-2270199793154923754</id><published>2012-01-30T00:12:00.005+04:00</published><updated>2012-03-13T04:52:00.395+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-13T04:52:00.395+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="блоггер" /><title>Установка Orphus на Blogspot - граммарнаци будут довольны</title><content type="html">В этой короткой заметке говорится о системe оповещения авторов об орфографических ошибках Orphus, установке её на Blogspot и результаты ходовых испытаний.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(153, 102, 51); font-weight: bold;"&gt;Чего, собственно?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Автор в целом грамотою владеет, но время от времени очепятки и ашыпки случаются, а также лишние слова и предлоги при переделывании поста уже после опубликования оного. Традиционно ревнители орфографии (граммарнаци) негодуют в комментариях, что комментарии несколько засоряет. Идея автоматизировать отправку и обработку ошибок автора этих строк посещала давно, но всегда натыкалась на технические сложности (загружать скрипты на Blogspot не представляется возможным).&lt;br /&gt;&lt;br /&gt;И вот я получил электропочту, в которой предлагалось попробовать установить Orphus снова. И в этот раз оно всё-таки заработало. Установка сравнительно проста, хотя имеет свои особенности.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;Установка Orphus на блог от Google Blogger&lt;/span&gt;&lt;br /&gt;Всё довольно просто:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;На сайте &lt;a href="http://orphus.ru/"&gt;орфуса&lt;/a&gt; заполняем форму (адрес электропочты и язык) и скачиваем файл &lt;span style="font-style: italic;"&gt;orphus.js&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Закачать его на сам блогспот нельзя, зато можно воспользоваться каким-нибудь Dropbox и закачать джаваскрипт на Public folder, чтобы можно было загрузить.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Чтобы ревнители грамматики видели, что грамматический  напалм совсем рядом и им можно попользоваться, нужно где-нибудь на  сайте повесить плашечку или текстовый блок с кодом, который на сайте  Орфуса расположен последним пунктом. Для этого легче всего воспользоваться стандартным для Blogger гаджетом&lt;span style="font-weight: bold;"&gt; "текст/HTML"&lt;/span&gt; и вставить туда код следующего содержания:&lt;br /&gt;&lt;!-- HTML generated using hilite.me --&gt;&lt;div  style="background: #ffffff; overflow:auto;width:auto;background:white;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;color:black;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style=" font-weight: bold;color:#bb0066;" &gt;&amp;lt;script &lt;/span&gt;&lt;span style="color:#336699;"&gt;type=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"text/javascript"&lt;/span&gt; &lt;span style="color:#336699;"&gt;src=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"/orphus/orphus.js"&lt;/span&gt;&lt;span style=" font-weight: bold;color:#bb0066;" &gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=" font-weight: bold;color:#bb0066;" &gt;&amp;lt;a&lt;/span&gt; &lt;span style="color:#336699;"&gt;href=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"http://orphus.ru"&lt;/span&gt; &lt;span style="color:#336699;"&gt;id=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"orphus"&lt;/span&gt; &lt;span style="color:#336699;"&gt;target=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"_blank"&lt;/span&gt;&lt;span style=" font-weight: bold;color:#bb0066;" &gt;&amp;gt;&amp;lt;img&lt;/span&gt; &lt;span style="color:#336699;"&gt;alt=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"Orphus system"&lt;/span&gt; &lt;span style="color:#336699;"&gt;src=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"/orphus/orphus.gif"&lt;/span&gt; &lt;span style="color:#336699;"&gt;border=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"0"&lt;/span&gt; &lt;span style="color:#336699;"&gt;width=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"141"&lt;/span&gt; &lt;span style="color:#336699;"&gt;height=&lt;/span&gt;&lt;span style="color: #dd2200; background-color:#fff0f0;" &gt;"25"&lt;/span&gt; &lt;span style=" font-weight: bold;color:#bb0066;" &gt;/&amp;gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Без него система работать не  станет:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-TENQonjYSiA/TyTuZEX_EPI/AAAAAAAACTQ/0TvAtggPrJA/s1600/orphus-wrong.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/-TENQonjYSiA/TyTuZEX_EPI/AAAAAAAACTQ/0TvAtggPrJA/s400/orphus-wrong.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 228px;" src="http://2.bp.blogspot.com/-TENQonjYSiA/TyTuZEX_EPI/AAAAAAAACTQ/0TvAtggPrJA/s400/orphus-wrong.jpg" alt="" id="BLOGGER_PHOTO_ID_5702945142596374770" border="0" /&gt;&lt;/a&gt;Как не работает она у блоговодов, не &lt;a href="http://k06a.blogspot.com/2009/05/orphus.html"&gt;захотевших скрипт скачать&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Сохраняем шаблон и проверяем работоспособность скрипта.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Теперь готовимся получать письма от благодарных ревнителей грамматики.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;Как работает грамматический напалм от Orphus&lt;/span&gt;&lt;br /&gt;Выделяем мышью ашыпку и нажимаем CTRL+Enter. Дальше появляется окно вида:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-25Rd32_ezvY/TyTtkVrxMPI/AAAAAAAACTE/jG38dtDlEZY/s1600/orphus-right.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/-25Rd32_ezvY/TyTtkVrxMPI/AAAAAAAACTE/jG38dtDlEZY/s400/orphus-right.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 216px;" src="http://1.bp.blogspot.com/-25Rd32_ezvY/TyTtkVrxMPI/AAAAAAAACTE/jG38dtDlEZY/s400/orphus-right.jpg" alt="" id="BLOGGER_PHOTO_ID_5702944236709687538" border="0" /&gt;&lt;/a&gt;Если есть желание поехидничать, можно вписать комментарий, или отправить, как есть. Незамедлительно автору на почту придёт грозное письмо от Orphus вида&lt;br /&gt;&lt;blockquote style="color: rgb(204, 0, 0);"&gt;Орфографическая ошибка&lt;br /&gt;&lt;br /&gt;URL страницы: &lt;a href="http://mydebianblog.blogspot.com/2011/12/blog-post.html" target="_blank"&gt;http://mydebianblog.blogspot.&lt;wbr&gt;com/2011/12/blog-post.html&lt;/a&gt;&lt;br /&gt;Комментарий пользователя: убрать&lt;br /&gt;Контекст:&lt;br /&gt;и бибтеховские команды, на что автор этих строк &lt;!--!!--&gt;сходу&lt;br /&gt;и&lt;!--!!--&gt; налетел. При этом вывод, как ни странно, в PDF&lt;br /&gt;продолжаетс&lt;br /&gt;Браузер: .0b8&lt;/blockquote&gt;Так что сразу видно, где и что поправить.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;Ходовые испытания&lt;/span&gt;&lt;br /&gt;Как и ожидалось, джаваскрипт тормозит &lt;span style="color: rgb(153, 153, 153);"&gt;(а что он ещё умеет делать?!)&lt;/span&gt; &lt;a href="http://tools.pingdom.com/fpt/#%21/LbXah0uaH/http://mydebianblog.blogspot.com/"&gt;загрузку страницы&lt;/a&gt;, хотя и не катастрофически. Идеи ускорения сего крайне желательно отгружать в комментарии, желательно вместе с решениями.&lt;br /&gt;&lt;br /&gt;Есть возможность просматривать сообщения об орфографических ошибках в админке, там же можно отмечать некоторые отчёты как спам (кстати, интересно, а спамеры этим будут пользоваться?). Кроме того, можно запросить в админке RSS-ленту с ошибками.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 102, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Вопрос читателю: альтернативы Orphus?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Собственно, вся идея Orphus - загружаемый джаваскрипт, в котором есть обработка события на нажатие клавиш и сравнение с Ctrl+Enter. Всё вроде бы хорошо, но это джаваскрипт (хотя и 11 Кб). Иногда при этом странно работает выделение с помощью мыши. Если такой системе есть альтернативы - с удовольствием поэкспериментирую.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;[Обновлено] Не было печали - бабушка купила поросят :-)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;После установки Orphus было отмечено удвоение посещаемости блога по сравнению с цифрами до этого. И это не из-за того, что пост вышел удачным - в графе Traffic sources тишина и никто с Хабра\Слешдота\ЛОРа не заходит. Вот что видно из Blogger Dashboard:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-FrLHXUPaZ9k/TydK2yQ2LJI/AAAAAAAACTc/9mHMmCT2dw4/s1600/orphus_influence.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-FrLHXUPaZ9k/TydK2yQ2LJI/AAAAAAAACTc/9mHMmCT2dw4/s400/orphus_influence.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 305px;" src="http://3.bp.blogspot.com/-FrLHXUPaZ9k/TydK2yQ2LJI/AAAAAAAACTc/9mHMmCT2dw4/s400/orphus_influence.jpg" alt="" id="BLOGGER_PHOTO_ID_5703609758153845906" border="0" /&gt;&lt;/a&gt;То есть получается так, что посещений стало почти в 2.5 раза больше, а ссылок и заходов нет. Здесь скорее всего имеет место быть баг в механизме подсчёта заходов: я не знаю, как он реализован в Блоггере, но знаю, что это происходит уже не в первый раз. Дело в том, что в Блоггере можно организовать опрос (Poll) - так вот, накручивание заходов там происходит точно так же:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-jGSx9V-b688/TydL6vLmhaI/AAAAAAAACTo/9VH9_g-L6Nw/s1600/google_poll.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/-jGSx9V-b688/TydL6vLmhaI/AAAAAAAACTo/9VH9_g-L6Nw/s400/google_poll.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 291px;" src="http://2.bp.blogspot.com/-jGSx9V-b688/TydL6vLmhaI/AAAAAAAACTo/9VH9_g-L6Nw/s400/google_poll.jpg" alt="" id="BLOGGER_PHOTO_ID_5703610925557646754" border="0" /&gt;&lt;/a&gt;В опросе &lt;span style="font-style: italic; font-weight: bold;"&gt;столько&lt;/span&gt; народу участия не принимало, и я это знаю совершенно точно. А теперь такое же непотребство творится с Орфусом. Так что автор этих строк подумывает на время Орфус вырубить.&lt;br /&gt;&lt;br /&gt;P.S&amp;gt; Раскраска кода для вставки в пост сделана с помощью &lt;a href="http://hilite.me/"&gt;http://hilite.me/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30744165-2270199793154923754?l=mydebianblog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=f-M3NAzi_dg:Jj5mK8HSXfY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=f-M3NAzi_dg:Jj5mK8HSXfY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?i=f-M3NAzi_dg:Jj5mK8HSXfY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:V-t1I-SPZMU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=V-t1I-SPZMU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/debianletters?a=f-M3NAzi_dg:Jj5mK8HSXfY:W9dqtTZ0I2U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/debianletters?d=W9dqtTZ0I2U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/debianletters/~4/f-M3NAzi_dg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mydebianblog.blogspot.com/feeds/2270199793154923754/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://mydebianblog.blogspot.com/2012/01/orphus-blogspot.html#comment-form" title="Комментарии: 19" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/2270199793154923754?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30744165/posts/default/2270199793154923754?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/debianletters/~3/f-M3NAzi_dg/orphus-blogspot.html" title="Установка Orphus на Blogspot - граммарнаци будут довольны" /><author><name>virens</name><uri>http://www.blogger.com/profile/12420257446841864325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_hM8AMxgJLzw/SKfvXQSgAEI/AAAAAAAAAx8/8TIemBrQ15w/S220/virens2.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-TENQonjYSiA/TyTuZEX_EPI/AAAAAAAACTQ/0TvAtggPrJA/s72-c/orphus-wrong.jpg" height="72" width="72" /><thr:total>19</thr:total><feedburner:origLink>http://mydebianblog.blogspot.com/2012/01/orphus-blogspot.html</feedburner:origLink></entry></feed>

