Книга Уильяма Шоттса «Командная строка Linux»

Графический пользовательский интерфейс
делает простые задачи еще проще,
а интерфейс командной строки
делает сложные вещи выполнимыми.

Цитата из книги.


Решил я недавно прокачать свои знания про bash — в первую очередь разложить по полочкам для себя те конструкции языка, которыми иногда пользуюсь, но которые вызывали вопросы. Для этого решил прочитать книгу Уильяма Шоттса «Командная строка Linux», которая вышла на русском языке в прошлом году. И знаете, это, пожалуй, лучший учебник по командам Linux и консоли, который мне попадался. Если вы только собираетесь изучить программирование на bash, то эту книгу можно советовать в качестве основ.

В книге Шоттса мне в первую очередь понравилась подача материала. Автор очень методично и постепенно переходит от одной темы к другой, при этом каждую тему описывает очень аккуратно, чтобы из-за упрощений не возникло никаких некорректностей. Для многих команд кроме ее описания и примеров приводятся другие возможные варианты ее использования. Книга содержит много таблиц с возможными параметрами каждой команды, но при этом книга не превращается в справочник. Чтобы не углубляться в экзотические способы использования каких-то программ, автор за экзотическими подробностями отправляет в документацию.

Читать далее ‘Книга Уильяма Шоттса «Командная строка Linux»’ »

Книга Брайана Уорда «Внутреннее устройство Linux»

На днях дочитал книгу Брайана Уорда «Внутреннее устройство Linux». Эта книга для тех, кто уже использует Linux как пользователь, но хочет чуть-чуть заглянуть во внутреннюю структуру этой операционной системы. В ней рассказывается обо всем понемногу, но при этом не особо углубляясь в подробности. «Внутреннее устройство Linux» можно сравнить с обзорной экскурсией по операционной системе, когда какие-то новые знания вы получаете, но для их практического применения еще нужно что-то читать дополнительно (в книге постоянно ссылаются на документацию).

Эта книга не столько о ядре Linux, сколько о том, как ядро взаимодействует с другими компонентами операционной системы. После краткого рассказа о том, из чего состоит операционная система на основе Linux (ядро, пользовательские процессы, драйверы устройств) говорится о использовании терминала с описанием наиболее часто используемых команд, таких как ls, cd, pwd, cat, find, file, grep и т.п. Все они описаны достаточно кратко без полного списка параметров, приводятся лишь несколько вариантов использования. Честно говоря, я не люблю такой подход обучения на примерах, потому что он не показывает всех возможностей описываемых команд.

На протяжении всей книги будут встречаться описания и более экзотических команд, например для получения списка устройств, разделов диска, запущенных сервисов и т.д. Например, команды dd, udevadm, lsscsi и подобные им. Все эти команды будут описаны применительно к конкретной ситуации с определенным набором команд (а дальше, если вас заинтересовала команда, смотрите документацию).

Читать далее ‘Книга Брайана Уорда «Внутреннее устройство Linux»’ »

О двойных стандартах

Архивируем rar-ом под Виндой файлы с русскими буквами в имени. Под Линуксом получаем кракозяблы. Пользователь кричит, что в проблемах виноват Линукс.
Архивируем tar.gz-ом под Linux файлы с русскими буквами в имени. Под Виндой получаем кракозяблы. Пользователь кричит, что в проблемах виноват Линукс.

Где логика?

Книга Chris F.A. Johnson «Pro Bash Programming»

Ерунда этот ваш английский — там половина слов из C++.
Программерская мудрость.

pro-bash-programmingПоближе познакомиться с bash я собирался уже давно, все-таки использовать Линукс и не уметь пользоваться одним из основных его инструментов — странно (хотя это говорит о том, что Линукс стал совсем дружелюбным к пользователю). Сначала я начал читать перевод Advanced Bash-Scripting Guide, но все-таки хотелось найти что-то в более удобном формате для чтения по дороге на работу. Русскоязычных книг по bash мне так и не попались (не считая книг, где ему посвящены только отдельные главы), но зато наткнулся в электронном виде на книгу Chris F.A. Johnson «Pro Bash Programming. Scripting the GNU/Linux Shell». Чтением этой книги решил убить двух зайцев — и про (pro 🙂 ) bash получше узнать, и английский потренировать, благо в Pocketbook 902, на котором я читал эту книгу, есть словари, куда можно при случае заглянуть.

Сама книга оказалась довольно неплохой, правда, местами этой книге не хватает въедливости, как у той же Advanced Bash-Scripting Guide, про некоторые конструкции и команды хотелось бы почитать поподробнее, не заглядывая в документацию, но для начала Pro Bash Programming вполне сойдет. Ее структура — от простого к сложному, в приведенных примерах используются только те конструкции, которые уже были описаны раньше (использование неописанных конструкций раздражало в Advanced Bash-Scripting Guide, из-за чего он читался как справочник), а последние главы посвящены практическому применению того, что было изучено в первой половине книги. Приятно, что автор пишет, какая конструкция в какой версии bash появилась, а какие команды не входят в стандарт POSIX, чтобы можно было оценить требования к среде, где будет выполняться тот или иной скрипт.

Давайте теперь коротко пробежимся по содержанию книги.

Читать далее ‘Книга Chris F.A. Johnson «Pro Bash Programming»’ »

Решение некоторых проблем с Qutim 0.3 под Linux

Решение некоторых проблем с Qutim 0.3 под Linux

С момента написания последнего поста про Qutim версия 0.3 приобрела статус бета-версии. Из-за последних изменений в репозитории у тех, кто пользовался старой версией под Linux, когда она еще называлась Qutim SDK 0.3, появились некоторые проблемы, которые, впрочем, легко решаются.

Проблемы возникли после очередного обновления программы из репозитория ppa:qutim/sdk03: пропала иконка в трее, а контакт-лист стал девственно чистым. Говорят, еще пропал звук, но у меня звук и так был отключен, поэтому ничего по этому поводу сказать не могу. После этого программа несколько раз обновлялась, но все оставалось по-прежнему.

А оказалось все довольно банально, хотя и неожиданно с точки зрения пользователя. Оказывается, репозиторий ppa:qutim/sdk03 стал «устаревшим», а самые последние сборки qutim теперь попадают в репозиторий ppa:qutim/qutim (https://launchpad.net/~qutim/+archive/qutim). При этом нужно удалить старый пакет qutim03, а установить пакет qutim из последнего репозитория. После этого опять заработал список контактов и появилась иконка в трее (которая, кстати, стала намного симпатичнее).

После установки qutim из репозитория ppa:qutim/qutim в разделе «О qutIM» значится версия 0.2.80. Смущаться этого не стоит, это на самом деле версия 0.3, но она еще бета, поэтому официально 0.3 не значится.

Ну и заодно напишу про еще одну проблему, которая возникла с Qutim 0.3 под Linux. Почему-то недавно перестал работать jabber (ака Google Talk) — при попытке авторизоваться получал сообщение «Ошибка авторизации». Порыскав по гуглу, в очень старых записях на официальном форуме увидел, что для qutim желателен gnutls (в репозиториях Убунты он устанавливается из пакета libgnutls-dev). После установки пакета libgnutls-dev авторизация стала проходить без проблем. Странно, раньше jabber работал и через OpenSSL.

А еще в qutim, наконец-то, сделали нормальное окно с информацией о пользователе. Вот, например, как оно теперь выглядит для ICQ (надеюсь, Dimidrol не будет возражать, что я всю его асечную подноготную сюда выложил без замазывания).

qutim_info

Решение проблем с Google Earth под Linux

Даа, давненько я не встречал такого количества проблем в одной программе. Если Google Earth под Виндой работает стабильно, то под Linux он даже не может нормально установиться, да и после установки (с применением помощью шаманского бубна) тоже вылезают проблемы. К счастью, в интернете можно найти способы решения многих проблем, а в этом посте я решил собрать вместе способы решения тех проблем, с которыми пришлось столкнуться. Что самое печальное, описанные проблемы тянутся уже не одну версию, а Google так и удосужился как-то исправить ситуацию.

Все, что будет описано ниже проверялось на Ubuntu 10.10. Многие проблемы проявляются только при использовании неанглоязычной локали, но от этого не легче.

Читать далее ‘Решение проблем с Google Earth под Linux’ »

Линуксовое. 3 месяца спустя

Линуксовое. 3 месяца спустя

Спустя три месяца с того момента, как стал пользоваться Линуксом не в виртуалке, а на реальном железе (о чем я писал тут), можно подвести кое-какие итоги.

Жизнь на Линуксе есть, хотя и немного специфическая. В выборе между Gnome и KDE выбрал Gnome. KDE, конечно, смотрится понавороченней, но некоторых нужных настроек внешнего вида я в нем не нашел, да и что-то он у меня периодически подключивал. Если быть более конкретным, то мне так и не удалось сделать так, чтобы иконки в трее были меньше чем 24 x 24 пикселя. Сначала я хотел настроить внешний вид панели примерно таким, как это у меня сделано в винде (широкая панель в правой части рабочего стола), но уж больно много места стал занимать трей. Другая неприятная вещь была связана с compiz-ом. Если его включить, то при сворачивании-разворачивании окон, у них неприятно моргал заголовок. Позже, кажется, после обновления KDE, это прошло, но к тому времени я уже полностью привык к Gnome. Другой неприятный глюк был связан с автозагрузкой (или как она там называется). Некоторые проги автозагружались по многу раз.
Читать далее ‘Линуксовое. 3 месяца спустя’ »

Установка Linux. Попытка N+1

Установка Linux. Попытка N+1

У меня начался отпуск, появилось свободное время, которое можно бездарно тратить. Отпуска я ждал давно, чтобы, в том числе, попробовать в очередной раз поставить Linux. Точнее переставить, потому что у меня уже стояла древняя Убунту (7.10), которую уже не помню когда в последний раз запускал. На самом деле последующие версии Убунты я тоже ставил, но исключительно в виртуалках (сначала VMWare, потом VirtualBox), внутри которых и делал все, где требовался Линукс.

Надо сказать, что с Линуксами мне всегда не везло в плане железа. Не помню уже почему у меня не прижился ASP Linux лет десять назад, после этого ставил Suse, Debian, а потом и Ubuntu. Сначала в них никак не хотел работать USB-модем. На форумах по поводу этого модема предлагали два варианта решения проблемы: выкинуть модем нафиг и попробовать поставить драйвер, который к этому модему не подходил. Позже обнаружился полуофициальный драйвер под древнее ядро, но драйвер отказывался компилироваться. Тогда я понял, одну вещь (кроме того, что Линукса мне невидать) — без инета под Линуксом делать нечего. Всякие маны-шманы — это хорошо, но гугл лучше, в крайнем случае там можно наткнуться на тот же самый ман, но сразу на нужную 452-ю страницу, где и описано то, что надо.

Шли годы… за это время пришлось пойти по первому пути решения проблемы с модемом — поменять его на роутер (но Линукс для этой замены был не самым главным аргументом).

Читать далее ‘Установка Linux. Попытка N+1’ »