пʼятницю, 6 травня 2011 р.

Знакомимся с Solaris 11 Express

Уже давно я хотел в живую увидеть Solaris, но все никак руки не доходили или я забывал. Но вдруг в новостях я прочитал о выходе новой версии этой ОС, отбросил все свои дела и принялся качать... Для начала я решил попробовать загрузочный диск. И так, давайте разберёмся, что такое Solaris и с чем его едят.
 Кратко о...
Solaris — это пропиретарная ОС, построенная на базе POSIX-совместимого окружения, который раньше носил название SunOS. Расчитан в основном на сервера широкого профиля и для рабочих станций до недавнего времени мало подходил. На данный момент быстро развивается и является современной и мощной операционной системой. История уходит корнями в далёкий 1982г., когда Sun Microsystems решили создать свою версию UNIX, ибо тогда это было модно. Название не было до конца определено, поэтому релиз временно назвали Sun UNIX 0.7, а всего через год ее уже окончательно переименовали в SunOS. На то время использовалась кодовая база BSD. В 1992 году произошло важное событие — смена кодовой базы с BSD на SVR4 (System V Release 4). Для увеличения коммерческой привлекательности её переименовали на Solaris. Если в консоли набрать «uname -a», то можно увидеть это старое название. Solaris, как и другие UNIX, в 90-ых пережил смену формата исполняемых файлов с a.out в более современный ELF, из-за чего отлаживать программы стало проще. В 2005г. было принято решение открыть большую часть исходных кодов в виде проекта OpenSolaris. На этот шаг, скорее всего, их вдохновила компания RedHat, которые разделили свои продукты на версии для бизнеса и домашнего использования, и, как результат, увеличили прибыль. Директора коммерческого отдела Sun Microsystems также думали повысить таким образом популярность системы, однако большого результата для коммерции это не принесло. Зато принесло для сообщества — много свободного ПО для серверов помогло сэкономить любителям Solaris крупную сумму денег. Недавно, в апреле 2010 года, фирму Sun Microsystems внезапно купил IT-гигант Oracle. Для многих это стало неожиданным и сомнительным событием. Но вопреки всем страхам и опасениям в итоге на судьбу ОС это практически не повлияло. В том числе и на популярность. Кстати, на счет популярности. Solaris никогда не был широко распространён на рабочих станциях, да и на серверах ей далеко до Linux и Windows. Solaris выбирают те люди, которые знают, чего хотят от системы, а не для того, чтобы выпендрится и потом и хвастаться перед знакомыми.
 Где взять?
Solaris можно официально и бесплатно скачать с сайта Oracle - http://www.oracle.com/solaris. Для домашнего пользования лицензия бесплатна, коммерческим организациям все-таки денежку придется выложить. 
Содержимое диска.
Так как я качал версию LiveCD, то набора пакетовна нем быть не должно. Так и есть. В корневом каталоге можно наблюдать файловую систему, которая появится после загрузки в папке «/». Вот только только почти все папки там пустые. Все содержимое ОС хранится в сжатой ФС с именем solaris.zlib и размером 550 Мб. Что это за формат мне даже file не сказал (data), а рыться в поисках истины я не стал.
Что нового? Давайте рассмотрим что же такого вкусненького нам тут предлагают и какие новые технологии присутствуют. Для начала скажу, что Solaris 11 Express предназначается для быстрого развёртывания серверов, благодаря чему упростилась установка и увеличилась скорость инсталляции. Релиз рассчитан для системных администраторов и разработчиков ПО, которые хотят просто протестировать эту систему перед выходом основной, корпоративной версии. Ну, как для тестовой она очень даже хороша. Это похоже на то, как RedHat сначала свои новинки тестирует на Fedora, а потом уже в зависимости от результатов внедряет в upstream. По рассказам, новая версия ставится быстрее и легче предыдущей. Правда ли это — я не проверял, не было возможности. Это раз. Так же внедрена новая технология управления ресурсами, в результате чего Solaris остаётся отзывчивой и шустрой даже при очень высокой нагрузке. Это в свою очередь снижает время простоя сервера, а то и вовсе сводит его на /dev/null. Это два. Не обошлось и без усовершенствования файловой системы ZFS: улучшены механизмы шифрования, файловой дедупликации и резервного копирования. Oracle заявляет, что Solaris 11 Express может поддерживать "сотни терабайт данных на жёстких дисках" и сотни гигабайт оперативной памяти, только вот на всех ли платформах, я так и не понял. Ну и какой сервер без встроенной виртуализации? Подробнее можно прочитать тут.
Первые впечатления.
Записываемся на болванку и загружаемся. Как говорят, прихожая — это лицо дома. А загрузчик — это первое, что видит пользователь при знакомстве с новой ОС. В роли загрузчика тут выступает мой любимый старый GRUB версии 0.97.
Ну и слава Богу, что Oracle не стали изобретать велосипед и придумывать своё. Загружается не быстро, с красивой графической заставкой, которая всегда мешает настоящим сисадминам:
Поэтому нажимаем Esc и смотрим, что происходит при загрузке. Далее прямо во время загрузки нас спросят про язык интерфейса и раскладку клавиатуры. И тут явился он — X.org. Если честно, то я ожидал увидеть классику UNIX дэсктопа — оболочку CDE. Но передо мной появился рабочий стол GNOME 2.30.1, чему я был несоизмеримо рад. Как оказалось, CDE выпилили еще пару выпусков назад как морально и технически устаревшую, но её можно поставить отдельно. На вид смотрится неплохо, стандартная тема Nimbus, как для меня, довольно милая, заимею ее я на и на Linux:
Локализация на русский выполнена на удивление хорошо, к этому претензий нет, а вот на украинский не очень хорошо перевели, на оценку где-то 3 с плюсом. Приятно удивил тот факт, что моя временная видеокарта не только правильно определилась, но и автоматически завелись пропиретарные драйвера nvidia с 3D-ускорением и эффектами compiz. Из приложений я первым делом поглядел утилиты администрирования. Тут от меня для запуска потребовали пароль root. Так как должно быть все интуитивно понятно, пробуем ввести 'solaris'. О чудо, оно его проглотило, ну и на том спасибо.
Установка.
Установить Solaris оказалось довольно просто: нужно просто на рабочем столе найти соответствующий значок и следовать инструкциям. Судя по найденной мною в интернете информации, установщик явно сильно развился в последнее время. Раньше установка проходила так: запускается «голый» Х-сервер, в нем терминал. В нем задаются разные вопросы, на которые нужно было вводить ответы с клавиатуры. По рассказам это занимало 15-20 минут. Сейчас же мы имеем хороший, толковый установщик, похожий на установщик Ubuntu, с которым даже новички справятся:
Настройка времени, диска, пользователя. Далее устанавливаем поддержку языка — украинский, конечно же. Еще пару простых вопросов и можно читать преимущества Solaris во время инсталляции.
Цветовая схема прогресс-бара процесса установки мило-оранжевого цвета. Рядом есть кнопка «Справка», материал для которой подготовил сам Капитан Очевидность. Кэп предупреждает, что «Запрещается прерывать процесс установки» и что «Во время установки ОС отображается индикатор хода выполнения»:
После завершения перезагрузимся.
Первый запуск.
Первый раз запускается долго, у меня минут 4 заняло. Если во время созерцания загрузочной картинки нажать Esc, можно почитать лог загрузки и понять, что так долго запускается потому, что обновляются какие-то сервисные дескрипторы smf. Далее уже по привычной нам схеме меню GDM для авторизации и собственно сам рабочий стол. Да, оформлен он красиво, панелька на вид напоминает свою сестру из KDE 4.6.
Приложения.Программ меньше, чем под Linux, это правда, ведь ОС нацелена в основном н сервера. Но практически все вами любимые приложения можно можно собрать под эту ОС, если это еще не сделал кто-то другой. Набор приложений в LiveCD — как и в обычных Linux-дистрибутивах: браузер, почтовик, IM, просмотр картинок и документов. Стандартный гномовский набор, такой же, как, к примеру, в Mandriva One или Ubuntu. Есть Flashplayer и Java, зато нет кодеков mp3 и видео. С мультимедийной стороны дефолтная солярка практически не юзабельная. Офисных приложений и игр так же нет. Все это решается установкой с репозиториев, как и положено. Всего доступно около 11 000 приложений от Oracle и сторонних разработчиков.
Установка приложений. Теперь пробуем поставить нашу первую программу. В Solaris, как и в большинстве других UNIX, установка возможна путем сборки с исходных кодов и с помощью пакетов. Формат пакетов тут свой и имеет расширение «.pkg». Для пробы скачал и решил установить Opera 10.11. Если дважды клацнуть на пакет, то... нет, не будет предложения его установить, гном не знает, как обработать этот тип файла и просит выбрать программу для открытия. Ставим тогда через консоль командой «pkgadd». Хочу заметить, что Опера встала довольно криво, в папку /usr/local, которая по-умолчанию даже не прописалась в переменную $PATH — приходится набирать полный путь к файлу.
Структура. Давайте немного разберём внутреннюю структуру этой операционной системы путем сравнения с Linux. Устройства тут хранятся в двух местах — /dev и /devices. Первая основная системная, вторая как бы тоже содержит устройства, но менее значимы. Аудиодрайвер — OSS. Ядро системы располагается в каталоге /kernel. Интересно посмотреть на вывод команды mount (файл /etc/fstab отсутствует, его нереименовали на /etc/mnttab):

/ on rpool/ROOT/solaris read/write/setuid/devices/rstchown/dev=2b90002 on Чт січ. 1 03:00:00 1970
/devices on /devices read/write/setuid/devices/rstchown/dev=8980000 on Нд трав. 8 22:16:39 2011
/dev on /dev read/write/setuid/devices/rstchown/dev=89c0000 on Нд трав. 8 22:16:39 2011
/system/contract on ctfs read/write/setuid/devices/rstchown/dev=8a80001 on Нд трав. 8 22:16:39 2011
/proc on proc read/write/setuid/devices/rstchown/dev=8a00000 on Нд трав. 8 22:16:39 2011
/etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=8ac0001 on Нд трав. 8 22:16:39 2011
/etc/svc/volatile on swap read/write/setuid/devices/rstchown/xattr/dev=8b00001 on Нд трав. 8 22:16:39 2011
/system/object on objfs read/write/setuid/devices/rstchown/dev=8b40001 on Нд трав. 8 22:16:39 2011
/etc/dfs/sharetab on sharefs read/write/setuid/devices/rstchown/dev=8b80001 on Нд трав. 8 22:16:39 2011
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap3.so.1 read/write/setuid/devices/rstchown/dev=2b90002 on Нд трав. 8 22:17:20 2011
/dev/fd on fd read/write/setuid/devices/rstchown/dev=8c80001 on Нд трав. 8 22:17:24 2011
/tmp on swap read/write/setuid/devices/rstchown/xattr/dev=8b00002 on Нд трав. 8 22:17:27 2011
/var/run on swap read/write/setuid/devices/rstchown/xattr/dev=8b00003 on Нд трав. 8 22:17:27 2011
/export on rpool/export read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90006 on Нд трав. 8 22:17:46 2011
/export/home on rpool/export/home read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90007 on Нд трав. 8 22:17:46 2011
/export/home/keedhost on rpool/export/home/keedhost read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90008 on Нд трав. 8 22:17:46 2011
/rpool on rpool read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90009 on Нд трав. 8 22:17:46 2011
/home/keedhost on /export/home/keedhost read/write/setuid/devices/rstchown/dev=2b90008 on Нд трав. 8 22:20:52 2011
/media/Oracle_Solaris_Live_X86 on /dev/dsk/c7t1d0s2 read only/nosetuid/nodevices/rstchown/noglobal/maplcase/rr/traildot/dev=1780042 on Нд трав. 8 22:21:53 2011
Монтируется куча всего непонятного, в которой фиг поймёшь, что к чему, зачем и куда монтируется. Тут я вообще запутался окончательно :) Среди групп и пользователей ничего примечательного не нашел. Для мигранта придётся в Solaris заново учить имена устройств, структуру сервисов, файловую систему ZFS и некоторые утилиты администрирования. Но для Linux-администратора это не должно вызвать больших затруднений. Даже названия архитектур тут разные — не x86, а i86pc:
keedhost@solaris:~$ uname -a
SunOS solaris 5.11 snv_151a i86pc i386 i86pc Solaris
Что упрощает использование так это то, что почти все полюбившиеся под Linux программы можно собрать также под Solaris, и тут даже не придётся искать альтернативы, как это было при миграции с Windows на Linux. К тому же есть реализация Linux API, которое позволяет запускать линуксовые приложения как родные.
Что разочаровало. Первое и самое главное, от чего я начал нервничать, так это от настройки клавиатуры. Она настраивается совсем не так, как в обычном GNOME, тут придумали свой аплет, который я так и не смог настроить. Это действительно ужасно.
Альтернативы.
Из-за покупки Oracle компании Sun Microsystems все с напряжением следили за судьбой продуктов этой фирмы, в том числе и Solaris. А что, если код закроют, или вообще прекратят выпуск? И поклонники начали собирать свои версии этой ОС. Были не удачные проекты, а были и довольно стоящие. Из наиболее удачных можно отметить проекты OpenIndiana, BeleniX, Schillix
Вывод. В общем вещь хорошая, у меня от ее использования остались в основном только хорошие, положительные впечатления. Порадовала утилита настройки фаервола. В планах ещё дальше ее щупать и, может быть, поставлю на работе в качестве шлюза. Но это уже другая история. А вам советую хотя бы просто загрузится и попользоваться ей с часик. Хоть современный пиар нацелен на другие UNIX-решения, эта система также имеет право на жизнь и внимане окружающих. Удачи!


вівторок, 1 березня 2011 р.

Вот какой $PS1 я себе заделал

Недавно мне надоело мое обычное приглашение командной строки и я решил придумать что-то свое, интересное и дикое. После 10 минут размышлений и проектирования я набросал эскиз и написал приглашение. Вот что я использовал:
  1. Символы юникода для отрисовки линий (в текстовой консоли у меня смотрится, как ни странно, корректно)
  2. Переменные цвета, созданные из escape-последовательностей
  3. Специальные символы консоли:
    • \u — имя пользователя;
    • \H — название компьютера;
    • \w — текущая папка;
    • \n — перевод на новую строку
Соединив это воедино я получил вот такое прикольное приглашение для работы:



Для того, чтобы это заиметь и Вам, нужно определить переменную $PS1. Открываем в текстовом редакторе файл ~/.bashrc и вставляем туда следующий код:
# Определяем цвета: зеленый и бесцветный:
export GREEN='\e[1;32m' NC='\e[0m'
# Само приглашение прописывается тут (одна строка):
export PS1="╓── I'm $GREEN\u$NC on $GREEN\H$NC machine.\"$GREEN\w$NC\" is working directory.\n╙───────────────> "
Потом сохраните и перечитайте настройки командой:
[keed'0'@mandrivka ~]$ . ~/.bashrc
или
[keed'0'@mandrivka ~]$ source ~/.bashrc
и созерцайте крутую консоль настоящего хакера :) Тут целый полигон для идей и мыслей, так что если придумали что-то еще круче, обязательно (слышишь, обязательно) отпишись в комментах! ))


вівторок, 22 лютого 2011 р.

urpmi. Краткое руководство пользователя

Давным-давно, когда еще весь цивилизованный мир не знал про пакетные менеджеры, установка ПО в Linux была длительная и мучительная. Представьте себе, как только не матюкались пользователи, особенно не опытные, когда пытаешься ставить один пакет, но он этого не хочет, ибо сначала нужно поставить второй пакет. Ставишь второй — он требует в зависимостях третьего, третий четвертого и так далее. И каждый пакет нужно было искать вручную, часто в интернете, тогда еще ооооочень медленном. Десятки нерешенных зависимостей заставили разработчиков задуматься: «А не написать ли нам такую программу, которая сама решает что ставить, как и куда?». И в светлейших головах хороших людей родился первый пакетный менеджер. От человека требовалось всего лишь знать название нужного пакета, доступ к хранилищу пакетов (репозиторию) и права для самой установки. С тех пор основные принципы
не изменились, но сами они значительно обросли новыми функциями, невероятной мощью и гибкостью. На сегодня самые популярные это: yum, urpmi — ставят пакеты rpm; apt — ставят в основном deb-пакеты, но иногда к ней прикручивают rpm. Сегодня я хочу немного рассказать про менеджер urpmi, который используется в любимой мной Mandriva Linux. Команда rpm предоставляет нам очень большие возможности работы с пакетами, но самая большая проблема в том, что она сама не умеет ставить зависимости. Для решения этой проблемы в недрах компании Mandriva был разработан программный комплект urpmi, который работает поверх стандартной rpm как оболочка. В состав пакета входят несколько утилит для работы с пакетами и их источниками. Ниже мы подробно рассмотрим работу каждого составляющего.

Инсталляция пакетов — urpmi [имя_пакета].
Для установки пакета, как я уже говорил, нужно знать его название. Для примера попробуем поставить программу для создания меню DVD-дисков 2mandvd:
[root'0'@mandrivka keed]$ urpmi 2mandvd
Наступні пакунки буде встановлено для задоволення залежностей:
  Пакунок                       Версія       Випуск       Арх.
(носій «Contrib media»)
  2mandvd                       1.3.3        4mdv2010.1   i586
  dvdauthor                     0.6.18       1mdv2010.1   i586
  ffmpegthumbnailer             2.0.1        1mdv2010.1   i586

  libffmpegthumbnailer4         2.0.1        1mdv2010.1   i586
Буде використано 4.7МБ додаткового місця на диску.
Буде отримано 2.4МБ пакунків.
Продовжити встановлення 4 пакунків? (Y/n) (Т/н)
Как видим, программа подробно информирует нас о том, что будет делать. Для обеспечения работы нашего пакета требуется еще три дополнительных. Если нас все устраивает, то отвечаем на запрос положительно, нажимая клавишу «у» и пакеты установятся. Можно таким же образом устанавливать одиночные rpm-пакеты, указав их расположение. Как вы уже догадались, все зависимости решаются, в отличии от обычной rpm -Uvh [package.rpm]. Установим таким образом программу для чистки ненужных эскизов — clean:
[root'0'@mandrivka keed]$ urpmi ~/clean-0.2-1.noarch.rpm'
  встановлюється clean-0.2-1.noarch.rpm з /home/keed/
 Підготовка...         #############################################
  1/1: clean           #############################################
[root'0'@mandrivka keed]$
Удаление пакетов — urpme [имя_пакета].
Удаление также не сложно. Принцип работы такой же, как и в urpmi, только результат обратный. Для примера давайте удалим пакет clean, который мы установили минутой раньше:
[root'0'@mandrivka keed]$ urpme clean
вилучається clean-0.2-1.i586

вилучається пакунок clean-1:0.2-1.i586
[root'0'@mandrivka keed]$
Как бы тоже не очень сложно. Но тут иногда нужно быть осторожным, иначе по тем же зависимостям можно снести пол-системы. Для ясности попробуем удалить пакет libgnome-desktop-2_17, к которому много чего привязано:
[root'0'@linux.local keed]$ urpme libgnome-desktop-2_17
Щоб задовольнити залежності, буде вилучено 23 пакунків (170МБ):
   eog-2.30.1-1mdv2010.1.i586
     (через відсутність libgnome-desktop-2.so.17)
   evolution-2.30.2-1mdv2010.1.i586
     (через відсутність libgnome-desktop-2.so.17)
   gdm-2.30.2-12mdv2010.1.i586
     (через відсутність gnome-settings-daemon)
   gnome-applets-2.30.0-1mdv2010.1.i586
     (через відсутність libgnome-desktop-2.so.17,
     через відсутність gnome-python-applet)
   gnome-control-center-2.30.1-5mdv2010.1.i586
     (через відсутність libgnome-desktop-2.so.17,
     через незадоволеність gnome-settings-daemon >= 2.21.5,
     через відсутність libgnome-window-settings.so.1)
   gnome-panel-2.30.2-1mdv2010.1.i586
     (через відсутність libgnome-desktop-2.so.17,
     через відсутність gnome-screensaver,
     через відсутність gnome-session)
[ *=*=*= урезано для экономии места =*=*=* ]
Вилучити 23 пакунки? (Т/н)
Программа не дура, она знает, что без главных библиотек среды GNOME аж 23 пакета не смогут работать и будут просто занимать такое ценное место на диске. Поэтому и их удалить — это все-таки мудрое решение. Но мы нажимаем «n» для отмены.

Поиск пакетов — urpmq [имя_пакета].
Поиск в БД пакетов происходит по таким критериям: по названию пакета (urpmq [имя_пакета]), по файлу в нем содержащегося (urpmf [имя_файла]) и в описании пакетов по ключевым словам (urpmq --fuzzy [ключевое_слово]). Последние два пункта требуют в наличии закэшированого файла xml-info, который должен находиться в папке с подключенным репозиторием. Где это, смотрите ниже.

Добавление источников пакетов — urpmi.addmedia [название_источника] [путь]. Эта команда позволяет добавлять новые репозитории для установки пакетов. Добавлять можно как локальные носители, так и сетевые. Для просмотра уже добавленых можно воспользоваться этой документированной командой:
[root'0'@mandrivka ~]$ urpmq --list-media
Main media
Contrib media

distrib
У меня на данный момент подключено аж три источника — это для примера, на самом деле их больше. Хотя есть еще один, более хитрый способ получить этот список:
[root'0'@mandrivka ~]$ find /var/lib/urpmi/ -type d
/var/lib/urpmi/
/var/lib/urpmi/Main media

/var/lib/urpmi/distrib
/var/lib/urpmi/Contrib media
Как вы уже могли догадаться, каждый добавленный носитель предоставляет собой папку в директории /var/lib/urpmi/, в которой лежит список пакетов, место, где эти пакеты брать и MD5-суммы для проверки целостности. Так давайте добавим источник с названием Contrib local media из локального cdrom:
[root'0'@mandrivka ~]$ urpmi.addmedia Contrib\ local\ media cdrom://i586/media/contrib
додавання носія "Contrib local media"
[root'0'@mandrivka ~]$
После добавления желательно обновить центральную БД пакетов командой urpmi.update -a. Только после этого действия пакеты с новых источников станут видимыми и доступными для установки.

Удаление источников — urpmi.removemedia [название_источника] [путь].
Принцип действия обратно пропорциональный предыдущей команде, и синтаксис похож. Поэтому долго зацикливаться на этом не буду, просто приведу пример:
[keed'0'@mandrivka ~]$ sudo urpmi.removemedia "Contrib local media"
вилучається носій "Contrib local media"
[keed'0'@mandrivka ~]$
И удалять можно сразу несколько источников.

Rpmdrake. Это официальная «морда» для urpmi, написанная на связке perl+gtk. Довольно удобная оболочка, но по-моему еще не так функциональна, как, например, synaptic. Пакеты удобно собраны в группы и отображаются в левой колонке. Правая же колонка горизонтально поделена на две части. В верхней выбираем интересующий нас пакет, а снизу читаем информацию про него. Запутаться трудно, но возможно — я один раз долго не мог понять, почему rpmdrake никак не находил mplayer. А дело было в том, что сразу после установки системы он настроен на отображение пакетов с GUI. Просто в спадающем списке над левой колонкой выбираем «Все» и будет вам счастье :)

В завершение приведу русифицированную табличку, которую я бессовестно стащил с сайта http://distrowatch.com/. В ней можно найти основную информацию о командах и их применении. А также используйте ее как словарь-переводчик с других пакетных менеджеров.


Задача
Пакетный менеджер

apt (deb) Debian, Ubuntu

zypp (rpm) openSUSE

yum (rpm) Fedora, CentOS

urpmi (rpm) Mandriva

Управление пакетами

Установить пакет с репозитория

apt-get install pkg

zypper install pkg

yum install pkg

urpmi pkg

Установить ПО с файла

dpkg -i pkg

zypper install pkg

yum localinstall pkg

urpmi pkg

Обновить версию ПО

apt-get install pkg

zypper update -t package pkg

yum update pkg

urpmi pkg

Удалить ненужное ПО

apt-get remove pkg

zypper remove pkg

yum erase pkg

urpme pkg

Обновить список пакетов

apt-get update

aptitude update

zypper refresh

yum check-update

urpmi.update -a

Обновить систему

apt-get upgrade

aptitude safe-upgrade

zypper update

yum update

urpmi --auto-select

Поиск в БД пакетов

Поиск пакета по имени

apt-cache search pkg

zypper search pkg

yum list pkg

urpmq pkg

Поиск по содержимому

apt-cache search pattern

zypper search -t pattern pattern

yum search pattern

urpmq --fuzzy pkg

Поиск по файлу

apt-file search path

zypper wp file

yum provides file

urpmf file

Список установленных пакетов

dpkg -l

zypper search -is

rpm -qa

rpm -qa

Работа с репозиториями

Вывести список

cat /etc/apt/sources.list

zypper repos

yum repolist

urpmq --list-media

Добавить источник

(edit /etc/apt/sources.list)

zypper addrepo path name

(add repo to /etc/yum.repos.d/)

urpmi.addmedia name path

Удалить источник

(edit /etc/apt/sources.list)

zypper removerepo name

(remove repo from /etc/yum.repos.d/)

urpmi.removemedia media
P.S. Учите консольные команды. У меня один раз в самый ответственный момент rpmdrake просто рухнул и до сих пор не запускается. И где гарантия того, что это с вами не случится? Если изложенной мной информации вам мало, то просто запустите любую команду без параметров и получите хорошее, толковое руководство. Благо оно локализирована и легкая для понимания. И вы поймете, насколько мощным инструментом наградили разработчики мандриву!


понеділок, 21 лютого 2011 р.

Прозрачность фона в smplayer

Как-то раз внезапно на учетной записи моего брата стал дивным образом глючить smplayer: черный фон заставки и верхних/нижних скобок стал прозрачным. И когда смотришь широкоформатное видео на моем обычном мониторе, то сверху и снизу виден рабочий стол. У меня такого нет. Собственно, поглядите сами:
Как я понял, то причиной может быть особое сочетание compiz-fusion, OpenGL из пропиретарных драйверов и, возможно, cairo-dock. Решается это путем запуска плеера такой командой:
[keed'0'@mandrivka ~]$ env XLIB_SKIP_ARGB_VISUALS=1 smplayer
Теперь он будет работать нормально, по-человечески:
Чтобы не запоминать эту команду, поправьте главный .desktop файл. Для этого идем по адресу /usr/share/applications и находим и открываем значок smplayer в любимом текстовом редакторе от имени root. Находим там строку «Exec= smplayer %U» и меняем ее на «Exec=env XLIB_SKIP_ARGB_VISUALS=1 smplayer %U». Сохраняем. Значок рекомендую скопировать в папку ~/.local/share/applications. Если вы имеете право на редактирование значка, то посто поправьте его таким вот способом:


А я еще так сделал (я в основном так приложения и запускаю):
 [keed'0'@mandrivka ~]$ echo 'alias smplayer = env XLIB_SKIP_ARGB_VISUALS=1 smplayer' >> ~/.bashrc [keed'0'@mandrivka ~]$ . ~/.bashrc
Довольно геморойно, но если вы знаете способ проще, отпишитесь.


понеділок, 14 лютого 2011 р.

Опробовал GNOME Shell

После выхода KDE 4 ближайший конкурент этого популярного рабочего стола — GNOME, тоже решил обновится. Если вы следите за новостями, то скорее всего уже знаете то, чего стоит ожидать. Нам обещали новый, революционный подход к построению и управлению рабочим пространством (по словам самих разработчиков). Это поделие, которое придет в GNOME 3, получило название GNOME Shell. Смотрится, в принципе, красиво и анимировано, но только удобство его использования вызывает крупные споры. Вот и я решил глянуть и «пощупать» все это и сделать собственные выводы. Кстати, давненько уже я это хотел, вот только руки все никак не доходили. И вот на работе внезапно поставил свеженькую Mandriva One GNOME 2010.2 — там уже есть версия Gnome 3 Preview. Вот и попробовал. Хочу сказать, что ожидал большего... В основном я согласен с господином Сергеем Курганом, который в своем блоге уже написал то, что я хочу сказать, и повторять заезженное не буду. Просто хочу сказать, что критиковать еще немного рановато. Хай придет релиз, вот тогда уже можно ругать. А пока в защиту GNOME 3 выдвигаю два аргумента, которые я считаю справедливыми:


  1. GNOME 3 != GNOME Shell. То, что вы наблюдаете сейчас — это просто гном 2 с коряво надетым GNOME Shell на базе библиотек GTK +2. И правда, выглядит не очень аппетитно. Но ведь в GNOME 3 будет и много других вкусностей, таких как GTK+3, новая библиотека отрисовки виджетов и оконный менеджер. И говорить, что GNOME 3 — говно, судя только по Shell — это то же, что говорить плохо про KDE только исходя из работы Plasma.
  2. GNOME Shell — это только первая, пробная версия, которую, я уверен, еще сто раз перепишут и доведут до ума. Вспомните тот ужас, который звался KDE 4.0, и гляньте на KDE 4.6 — это очень большая разница. Или даже Windows 7 alfa, которая мало чем внешне отличалась от Vista. Думаю, с Гномом будет тоже самое, и через годик-второй разработчики учтут жалобы пользователей и напишут действительно удобный, мощный и качественный рабочий стол. А если нет, то все-равно, рано или поздно появятся сборки от сторонних разработчиков. Или хотя-бы патчи. Во всяком случае, на технологиях гнома много чего завязано, так что мы не пропадем!
P.S. Спустя 5 минут работы я уже успел найти баг — при отводе курсора в верхний левый угол появится возможность добавлять рабочие пространства. После 16-го кнопка с плюсиком стает неактивной. Если переключится на рабочий стол и обратно, эта кнопка опять стает активной, но после еще одного добавления рабочего стола опять дезактивируется. И так по кругу можно добиться бесконечного количества рабочих столов. Ниже на скриншоте у меня их сто, но было лень штамповать далее :)



пʼятницю, 11 лютого 2011 р.

Глюки Linux - пойман с поличным

Линукс - это конечно хорошо, но и он порой глючит. Некоторые скриншоты я сохранил. Вот привожу самые-самые за последние 4 года =) Наслаждайтесь!
Раньше такое только в винде видел - "До окончания копирывания осталось 2 года, 10 мес. 3 дня 10 часов" =))

Хороший, толковый индикатор удаления файлов :)
Если бы не глюк, то такая конфигурация смотрится более, чем серьезно!

Внимание на размер выделеного файла))

"Сподівайтесь на краще!" - а сегодня только так и можно...

Проблемы с кодировкой и в наше время встречаются))

А вендовый неро не пишет диски на таких скоростях))

Значит Убунта хорошая ось, говорите?



вівторок, 8 лютого 2011 р.

Чистим GNOME-меню

Когда ставишь новый, свеженький пакет, то в менюшке KDE и GNOME по возможности появляются значки, кликая по которым мы запускаем приложения. Но как я недавно заметил, что после удаления некоторых пакетов элементы меню остаются и они не рабочие. Это довольно странно, но причину возникновения мне сейчас искать лениво. Расскажу только как лечить. Напомню, что сама запускаемая иконка — это специальный текстовый документ с расширением .desktop. Это некий аналог ярлыков из мира Windows и OS/2, только более функциональные. Хранятся они в папке /usr/share/applications (доступны для всех и каждого) и  ~/.local/share/applications (для каждого пользователя можно определить свой набор). Так вот «битые» значки хранятся именно в последнем месте. Все, что нам нужно — это зайти в эту папку и просто удалить ненужное. В моем случае — это давно удаленные мной NetBeans IDE 6.0, Log Factor5 и Lxterminal:




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


понеділок, 7 лютого 2011 р.

Ручная чистка линукса

«Ну вот так всегда... Файл весит 700 мегабайт, а свободно лишь 500... И удалить ничего не могу — все нужно. Что делать - удалять нужное или бежать в круглосуточный магазин дисков?» Знакомая ситуация? А как же! Вот только не нужно спешить удалять нужное — сегодня я вам расскажу, как можно безболезненно освободить немного свободного места! Дело вот в чем. Линукс — это как живое существо. В процессе жизни он оставляет много продуктов своей жизнедеятельности. И вы, как настоящий заботливый хозяин, должны за ним убирать :-) Конечно, это только метафора, но в ней намек на то, чем мы сегодня будем заниматься. Наша цель — научится безопасно удалять ненужные файлы, при этом не повредив систему и освободить место на жестком диске. Могу сказать только одно — не бойтесь делать того, что я — все абсолютно безопасно. Итак, поехали!

Удаление настроек несуществующих программ. Программы приходят и уходят, а мусор, т.е. устаревшие настройки остаются. Обычно конфиги хранятся в домашней папке, в которой создаются файлы и папки, названые по такому принципу: [.]+[имя_программы]. Как вы знаете, файлы, название которых начинаются на точку, в UNIX, а соответственно и в Linux, являются скрытыми. Для их просмотра в Nautilus нажмите «Ctrl»+«H». Еще раз нажмете — они исчезнут. Их скрывают по понятным причинам — пользователю они не интересны. Посмотрите на эти папки — может каких то программ уже давно нет на компьютере. Только тут будьте осторожны — думайте, что удаляете, хотя ничего фатального произойти не может. Полагаюсь на вашу интуицию :) Также есть смысл заглянуть в папки ~/.config и ~/.gnome2 — некоторые программы там тоже настройки хранят.

Временные файлы fileroller. Эта программа служит стандартным менеджером архивов в GNOME. Когда мы с его помощью открываем архив, и прямо из окна архиватора открываем файл, то сначала создается папка ~/.cache/.fr-* (или ~/.fr-*). В нее распаковывается выбранный файл, который потом открывается в нужной программе. Обычно все удаляется после закрытия архиватор, но не всегда. Сейчас у меня там килобайты, но если вы открывали какой-нибудь «массивный» файл, туда стоит заглянуть.

Временные файлы mc. Этот отличный консольный файловый менеджер поддерживает множество разных форматов архивов. Распаковывает их очень просто — просто выделяем курсором архив и жмем «ENTER». А вот убирать после себя он не всегда может. Временная папка для распакованных файлов может быть как /tmp/mc-[username], так и ~/tmp/mc-[username], она же служит для командера виртуальной файловой системой. Давайте заглянем туда на моей машине:
[keed'0'@mandrivka ~]$ du -h $TMP/mc-`whoami`
du: не вдається отримати доступ до `/tmp/mc-keed': No such file or directory
[keed'0'@mandrivka ~]$ du -h ~/$TMP/mc-`whoami`
17M /home/keed/tmp/mc-keed
17 Мб — это немного, но помню один раз было почти 800 МБ — просматривал iso-образ и mc рухнул. Поэтому время от времени туда заглядывать было бы неплохо. Чистим так:
 [keed'0'@mandrivka ~]$ rm -Rf ~/$TMP/mc-`whoami`
 [keed'0'@mandrivka ~]$ du -h $TMP/mc-keed/
   0    /home/keed/tmp/mc-keed/
Эскизы (thumbnails). Мы уже привыкли к тому, что в nautilus отображаются эскизы для разных типов файлов — jpeg, png, xpm, pdf, djvu, avi, mpeg4... И вот как эта технология работает. Возьмем, к примеру, документ ~/document.pdf. Сначала наутилус определяет имя файла и его тип MIME. Затем он отправляет запрос программе evince-thumbnailer, которая обрабатывает первую страницу документа и создает ее уменьшенную png-копию. Далее миниатюра помещается в папку ~/.thumbnails/normal или ~/.thumbnails/large. Затем имя файла эскиза передается обратно наутилусу, а он в свою очередь, ставит его вместо стандартного значка. И так для многих файлов, только принцип создания может быть другим. Когда файл уаляется, эскиз для него еще остается, который, между прочем, занимает место:
keed'0'@mandrivka ~]$ du -h ~/.thumbnails/
   85K     ./.thumbnails/fail/gnome-thumbnail-factory
   85K     ./.thumbnails/fail
   6,5M    ./.thumbnails/large
   92M     ./.thumbnails/normal
   98M     ./.thumbnails/
Как видим, почти 100 МБ занимают эскизы. Для чистки их можно запустить специальный скрипт clean, который я написал пару лет назад, когда времени было побольше. Его можно скчать здесь: http://thumb-clean.narod.ru или здесь: http://keed.h1.ru/?page=clean. Он и почистит, и выведет подробную информацию. Clean также удобно ставить на задания в cron. давайте посмотрим на его работу:
[keed'0'@mandrivka ~]$ clean
   Видалено 6165 файлів.
   Звільнено місця: 95M /home/keed/.thumbnails/
   Використовуй -h або --help для отримання довідки,
   а також -v чи --version для отримання версії.
Временные файлы evince. Эта программа просмотра документов также создает временные файлы. Они находятся в папках /tmp/evince-* или ~/tmp/evince-*. В них лежат временные документы PDF, сканированные версии которых могут занимать очень много. Посмотрим, что у меня там:
[keed'0'@mandrivka ~]$ du -h $TMP/evince-*
   400K   /home/keed/tmp/evince-3123
   8,9M   /home/keed/tmp/evince-3825
[keed'0'@mandrivka ~]$ rm -Rf $TMP/evince-*
Вот еще 9 МБ освободили. Ура!

Кэш браузеров. Тут тоже много всякой всячины. Можно поудалять временные файлы и cookie вручную. Кэш оперы находится тут: ~/.opera/cache. Он у меня занимает аж 326 МБ. Кэш Mozilla Firefox хранится здесь: ~/.mozilla/firefox/[имя_пофиля]/Cache. У меня это папка /home/keed/.mozilla/firefox/47b0yujw.default/Cache и там 741 Мб! Сносим:
[keed'0'@mandrivka ~]$ rm -Rf ~/.opera/cache/* ~/.mozilla/firefox/*.default/Cache/*
Освободили 326+741=1067 Мб, чуть больше 1ГБ. Вот так. Только нужно помнить то, что потом и все сохраненные пароли будет нужно вводить заново (вроде как).

Индексы поисковика Beagle. Те, кто пользуется этим замечательным поисковиком, должны остаться довольны его возможностями и скоростью поиска. Однако такое удобство идет в ущерб занимаемому месту на жестком диске. Чем больше размер раздела и больше файлов на нем, тем больше места займут индексные файлы. Они хранятся по адресу ~/.beagle/Indexes. Так как жесткий у меня не маленький и Beagle сканирует все, кроме /boot, /dev, /proc и /sys, то и индексы у меня занимают аж 2,3 Гб. Ими можно смело пожертвовать при нехватке места, что сейчас и сделаем:
[keed'0'@mandrivka ~]$ rm -Rf ~/.beagle/Indexes/*

Заключение. В заключение давайте подсчитаем, сколько же мы сегодня места освободили: 17+98+9+1067+2300=3490 мегабайт, что составляет аж 34% моего 10 гигабайтного домашнего раздела. Хотя эта цифра могла быть и большей. Был ли смысл в этой статье? Цифры говорят, что был. Время от времени повторяйте описанные мной действия. И вам это надоест. И вы напишите скрипт, который автоматизирует эти действия и повысит знания языка shell.




середу, 2 лютого 2011 р.

Запускаем Opera Mini 5 под ПК


До сих пор у нас в стране не все люди подключены к интернету. Например, если старый компьютер отвез бабушке в село и хочешь в Сети полазить. Или живешь на отшибе какого нибудь маленького ПГТ, где про нормальный интернет даже не мечтают. Тут выход один — использовать мобильный GPRS-интернет. Про это говорят и многочисленные «лояльные» тарифные планы наших мобильных операторов, например, Internet XL от Kyivstar GSM®, специально для этого и предназначеные. И есть такой мобильный браузер — Opera Mini, о существовании которой вы скорее всего уже знаете. Она здорово экономит трафик — так сжимает на своих прокси-серверах информацию, что размер страниц уменьшается в 5-10 раз и соответственно в столько же экономит трафик. Вот было бы здорово, если такой броузер да и на десктоп. Opera Software объявила о выпуске технологии «Opera Turbo», которая так же жмет, как и мобильная версия. Но как показала практика, эта технология — фейк чистой воды, сжатие там довольно маленькое. Что же делать? Запустить Opera Mini на компьютере! Как? Сейчас расскажу!

Прелюдия. Все, что запускается не родное, то запускается через эмулятор. Вот и мы пойдем по этому пути. Хорошо, что есть таковой для мобильных JAVA-приложений под ПК. Называется он Micro Emulator. Он уже старенький, но весьма рабочий, и для нашей задачи полностью подходит. Итак, что нам нужно:
 Установка.  Итак, мы скачали и распаковали архив с дистрибутивом MicroEmulator. Внутри папки сможем найти файл microemulator.jar, который сейчас и запустим. Войдите в папку с этим файлом из-под консоли и выполните:
[keed'0'@mandrivka microemulator]$ java -jar microemulator.jar
Когда приложение запустится, вы увидите эмулятор мобильного телефона. Конечно, на таком размере экранчика работать неудобно. Поэтому сменим девайс на тот, который можно растянуть — Opera Mini великолепно поддерживает масштабирование экрана. Для этого идем в меню Option → Select device и там выбираем Resizable device:
Перезапускаемся. Теперь окно можно разворачивать на весь экран, что не может не радовать. Сейчас само время запустить оперу: копируем скачаный jar-пакет оперы в папку с эмулятором. Далее в окне программы через меню File → Open MIDlet File находим и открываем нашу оперу. Или же сделать как я люблю, через консоль:
  [keed'1'@mandrivka microemulator]$ java -jar microemulator.jar "Opera Mini 5.1 yandex.jar"
Все готово, теперь можно пользоваться дешевым GPRS-интернетом! Вот примерно как это должно выглядеть:

Известные проблемы. Самая большая проблема — это набор кириллических букв — начинаешь набирать слово, и буква 3-4ая начинает штамповаться до бесконечности, пока не нажмешь на клавишу Backspace. Решение таково — на месте ввода текста жмем мышкой и держим не отпуская пару секунд. В открывшемся меню выбираем пункт «Полноэкранное редактирование» и там пишем:


P.S. Эти действия можно также выполнить на всех платформах, где есть поддержка java — Windows, MacOS, *BSD, Solaris и других. Эмулятор годится также для запуска игр и мобильных программ, однако это кому как повезет.

вівторок, 1 лютого 2011 р.

loop-репозиторий в Mandriva Linux

Не надоедало вам, когда в Mandriva ставишь новый пакет, а он просит вставить диск? Да, это не очень удобно. И вот что я сделал — просто смонтировал образ репозитория на петлевое loop-устройство. При следующей попытке установить пакет, диск требоваться не будет. Вот что нужно сделать. Допустим, у меня образ лежит в папке /data. Тогда добавим в файл /etc/fstab такую строчку:
/data/mandriva-linux-free-2010-spring-i586.iso    /media/loop     iso9660 loop   0   0
и перечитаем его:
[keed'0'@mandrivka ~]$ sudo mount -a
Все готово - проще простого :-)
Андрей 'keedhost' Кондратьев

понеділок, 24 січня 2011 р.

Резервное копирование настроек GNOME 2

Если вы собираетесь что-то кардинально поменять в настройках своего GNOME и хотите иметь возможность их откатить в будущем, то можно сделать резервное копирование практически всех настроек рабочего стола и большинства приложений. Благо конфигурации находятся в одном месте — в папке ~/.gconf. Просто выполните такие команды:
[keed'2'@mandrivka ~]$ mkdir ~/.gconf_buckup
[keed'2'@mandrivka ~]$ tar -jcvf ~/.gconf_buckup/gconf_$(date +%F).tar.bz2 ~/.gconf/
Этот архив можно также перенести на другой компьютер и развернуть его там. В результате по понятным причинам могут не восстановится обоя рабочего стола, тема GTK и/или иконки если они будут отсутствовать. А настройки панелей, иконок на рабочем столе и их расположение останутся. Для восстановления выполните:
[keed'2'@mandrivka ~]$ tar -jvtf ~/.gconf_buckup/gconf_[нужная_дата].tar.bz2 -C ~/.gconf

пʼятницю, 21 січня 2011 р.

Эффективно работаем в консоли Линукса

Я очень много времени провожу под консолью. Да, именно под настоящей консолью, а не эмулятором терминала. И я не содержу сервер, как могут подумать. Просто это на самом деле удобно, как для меня. А для того, чтобы было еще удобнее, я ее настроил под себя — так и удобнее, и производительность труда немного выше. Для тех, кто тоже хочет посвятить себя ее изучению, дам несколько рекомендаций, что нужно сделать. 
Совет №1. Включить и настроить Framebuffer. В стандартном виде консоль линукса просто текстовая. Ее разрешение составляет всего 80x25 символов (это текстовый режим), а мой монитор умеет все 1280x1024 пикселей (графический режим), и это уже не рациональное использование ресурсов. Конечно, работать за ней можно, но не очень удобно — имена файлов могут не влезать, большие, прям таки огромные буквы и, как говорят, ШГ. А то, во что превращается Midnight Commander, им только детей пугать. Но время идет и прогресс не позабыл и консоль Linux! Что же этот прогресс может нам дать? А дать он может многое, и все благодаря использования технологии кадрового буфера, или Framebuffer.


Кадровый буфер (framebuffer, буфер кадра, видеобуфер, фреймбуфер) — виртуальное электронное устройство или область памяти для кратковременного хранения одного или нескольких кадров в цифровом виде перед его отправкой на устройство видеовывода. Буфер может быть использован для выполнения над кадром различных предварительных операций, организации стоп-кадра, устранения мерцания изображения и др. Обычно кадр хранится в виде последовательности цветовых значений каждого пикселя изображения. Цветовые значения чаще всего хранятся в следующих форматах: одноразрядный (монохромный; 1 бит), 4/8-битный (палитровый), 16-битный (High Color) и 24-битный (True Color); также может присутствовать альфа-канал. Размер памяти, необходимый для хранения одного кадра, зависит от разрешения и глубины цвета. При этом управление происходит уже не через устройства /dev/tty*, а через /dev/fb*.

Как его включить? Если у Вас современный дистрибьютив с ядром версии старше 2.4.5 (рекомендуется ядро ветки 2.6), даю 99,9% на то, что фреймбуфер у вас уже включен по-умолчанию. Нужно только настроить. Если Вы на 100% уверены, что эта технология все-таки у вас не работает, тогда только пересобирать ядро. Но как это делать, описывать не буду. Может как то потом. 
Настройка фреймбуфера. Для того, что бы от фреймбуфера было больше толка, давайте настроим его. Во-первых, выставим для него оптимальное разрешение — обычно настраивают максимальное, которое поддерживает LCD монитор. Мой имеет диагональ 17", значит наше рабочее разрешение будет 1280x1024. Глубину цвета возьмем тоже побольше — 24bit. Смотрим в таблицу и по этим параметрам узнаем код (больше можно узнать на английской вики):




640x480

800x600

1024x768

1280x1024

1600x1200

256 / 8bit

0x301 / 769

0x303 / 771

0x305 / 773

0x307 / 775

796

32k / 15bit

0x310 / 784

0x313 / 787

0x316 / 790

0x319 / 793

797

64k / 16bit

0x311 / 785

0x314 / 788

0x317 / 791

0x31A / 794

798

16M / 24bit

0x311 / 786

0x314 / 789

0x317 / 792

0x31b / 795

799
Предупреждение: режимы для разрешений более 1280x1024 еще не достаточно оттестированы, поэтому никаких гарантий не даю!
Итак, для меня подходит значение 0x31b. Его можно таким и оставить, а можно перевести в десятичную, более привычную систему счисления: запускаем редактор vim и в нем вводим команду :echo 0x31b. Я получил результат 795. Одно из этих значений нужно передать в ядро при загрузке через параметр «vga». Теперь настройте свой загрузчик. К примеру вот вырезка из моего /boot/grub/menu.lst:
title linux
root (hd0,0)
kernel /boot/vmlinuz splash=verbose vga=795
initrd /boot/initrd.img
Для отключения фреймбуфера просто убираем параметр vga. 
Что нам это дало? Во-первых глазам приятнее. Если еще поставить красивый шрифт, как я написал тут, то прямо загляденье. Во-вторых, удобнее работать. Представьте только, как на серверном 22" мониторе будет удобно читать логи! В-третьих, сейчас уже очень много программ и игр работают под этой чудо-технологией. К примеру, qemu, mplayer (один раз у меня сгорела видеокарта и Х просто не мог загрузится. Тогда я через mplayer под консолью фильмы с аниме гонял), frozen-bubble, mmc и так далее. Можно даже попробовать отказаться от X.org :) 
Совет№2. Настроить ~/.bashrc. Но это опционально. Я, например, добавил в запрос счетчик количества фоновых приложений — такое себе подобие панели задач. Для этого я дописал в файл ~/.bashrc такую строку:
export PS1="[\u'\j'@\H \W]$ "
Или вот, например, чтобы не набирать всю комманду перед каждым просмотром видео, создадим псевдоним для mplayer. Теперь можно просто набрать в консоли mplay с именем файла и смотреть с любимыми настройками:
alias mplay="mplayer -noquiet -nofs -nomouseinput -vc coreserve, -sub-fuzziness 1 -identify -slave -vo xv -ao pulse -stop-xscreensaver -ass -embeddedfonts -ass-line-spacing 0 -ass-font-scale 1 -ass-force-style PlayResX=512,PlayResY=320,Name=Default,Fontname=Arial,Fontsize=20,PrimaryColour=\&H00ffffff,BackColour=\&H00000000,OutlineColour=\&H00000000,Bold=0,Italic=0,Alignment=2,BorderStyle=1,Outline=1,Shadow=2,MarginL=20,MarginR=20,MarginV=8 -fontconfig -font Arial -subfont-autoscale 0 -subfont-osd-scale 20 -subfont-text-scale 20 -cache 2000 -osdlevel 1 -vf-add screenshot -slices -channels 2 -af scaletempo,equalizer=4:3:2:1:0:0:1:2:3:4 -softvol -softvol-max 110 -subcp enca:ru:cp1251"
Вы можете придумать что-то свое.
Совет№3. Научится эффективно управлять задачами. Linux, в отличии от MS-DOS, всегда был многозадачной ОС. Конечно, пользы от этого было бы мало, если бы не придумали нормального механизма управления процессами. И это таки сделали. Далее я опишу простейшие манипуляции с процессами, которые нужно знать для начала.
Запуск приложений. Большинство программ для Линукс умеют работать и под консолью, даже если они имеют графический интерфейс. Для запуска просто вводим команду и по возможности параметры. Для примера запустим консольный проигрыватель музыки с плейлистом:
[keed'0'@mandrivka ~]$ mpg123 -@ ~/enigma.m3u
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
    version 1.12.1; written and copyright by Michael Hipp and others
    free software (LGPL/GPL) without any warranty but with best wishes

Directory: /data/Music/Enigma/1991 - MCMXC a D Limited Edition/
Playing MPEG stream 1 of 107: 01 - The Voice Of Enigma.mp3 ...
Title:   The Voice Of Enigma             Artist: Enigma
Album:    MCMXC a D Limited Edition
Genre:   New Age
MPEG 1.0 layer III, 192 kbit/s, 44100 Hz stereo
С музыкой жить веселее. Вот только теперь наша консоль получилась занятой и ничего нового ввести не получается. Что делать?
Можно плеер «свернуть». Для этого просто жмем клавиши Ctrl+Z. Это доступно для любых приложений, не только плеера. Выведется примерно такое сообщение и музыка прекратит играть:
^Z
[1]+ Stopped                               mpg123 -@ ~/enigma.m3u
[keed'1'@mandrivka ~]$
Нет, мы не закрыли приложение, мы его временно приостановили — он все еще запущен и занимает ресурсы компьютера. Для продолжения в фоновом режиме вводим команду bg (от англ. background — фон):
[keed'1'@mandrivka ~]$ bg
[1]+ mpg123 -@ ~/enigma.m3u &
[keed'1'@mandrivka ~]$
Музыка снова заиграла — процесс продолжился в фоне. Посмотрите на вторую строку — там написана наша команда, а в конце стоит знак «&». Для чего он нужен? Так вот, если его дописать в конец команды и выполнить ее, то программа сразу запустится в фоне. В нашем случае мы запустили плеер в обычном режиме, потом остановили и перезапустили его в фоне. Для примера давайте еще что то еще запустим, скажем, одну бесконечную и бестолковую команду:
[keed'1'@mandrivka ~]$ cat /dev/zero > /dev/null &
[2] 15335
[keed'2'@mandrivka ~]$
Процессу присваивается PID 15335, условный идентификатор 2 и приложение ушло выполнятся на задний план. Запустим еще что-то и остановим его:
[keed'2'@mandrivka ~]$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.068 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms
^Z
[3]+  Stopped                ping 127.0.0.1
[keed'3'@mandrivka ~]$
Теперь у нас в фоне 3 процесса. Как с ними работать? Очень даже просто. Давайте глянем, что у нас запущено и в каком состоянии оно находится. Тут нам пригодится команда jobs:
[keed'3'@mandrivka ~]$ jobs
[1]   Running                 mpg123 -@ ~/enigma.m3u &
[2]-  Running                 cat /dev/zero > /dev/null &
[3]+  Stopped                 ping 127.0.0.1
[keed'3'@mandrivka ~]$
Два работающих процесса, один приостановленный. Теперь каждый из них можно «развернуть», то есть перевести на передний план. Для этого есть программа fg (от англ. foreground — передний план). Используем ее так: fg, далее ставим знак «%» и без пробела идентификатор процесса — число, что стоит в первом столбике вывода jobs в квадратных скобках. Проверим, пингуется еще сеть или уже нет и опять остановим процесс:
[keed'3'@mandrivka ~]$ fg %3
ping 127.0.0.1
64 bytes from 127.0.0.1: icmp_seq=21 ttl=64 time=0.074 ms
64 bytes from 127.0.0.1: icmp_seq=22 ttl=64 time=0.058 ms
^Z
[3]+ Stopped                 ping 127.0.0.1
[keed'3'@mandrivka ~]$
Завершение процессов. Завершить процесс можно «мягко» и «жестко». Что бы это сделать мягко, переключимся на его и нажмем «Ctrl+C» (если для этого в программе не придумано специальных горячих клавиш, как в mc, например — F10): 
[keed'3'@mandrivka ~]$ fg %2
cat /dev/zero > /dev/null
^C
[keed'2'@mandrivka ~]$
Но бывает так, что программа начинает вести себя странно и/или потреблять довольно много ресурсов. Мягкий способ при этом не всегда помогает. Придется процесс убить — команда kill поможет нам. Используется она также, как и fg — убивает по PID`у или числовому идентификатору:
[keed'3'@mandrivka ~]$ jobs
[1]   Running                 mpg123 -@ ~/enigma.m3u &
[2]-  Running                 cat /dev/zero > /dev/null &
[3]+  Stopped                 ping 127.0.0.1
[keed'3'@mandrivka ~]$
Тут понятно, что мы убили ping. Однако завершая процессы таким способом Вы скорее всего потеряете все не сохраненные данные. Поэтому только в крайних случаях! Убить процесс можно и не зная его числовых значений, а зная только имя:
[keed'3'@mandrivka ~]$ killall ping
[keed'2'@mandrivka ~]
Используйте top. top — замечательная стандартная утилита для управления процессами. Описывать ее огромный функционал я не буду — это за меня уже сотни раз было сделано. Читайте man top в консоли, это полезно :) И на всякий случай приведу маленькую шпаргалку по тем командам, которые мы сегодня выучили:



команда & — запуск команды в фоновом режиме;
bg — перевод команды в фоновую работу;
fg %n— перевод процесса [n] в развернутый режим;
jobs — вывод списка запущенных процессов;
kill %n — убить процесс [n];
killall команда — завершить команду по ее названию;
nohup команда — запуск команды без привязки к консоли;
Ctrl+Z — приостановить процесс;
Ctrl+C — мягкое завершение процесса;
top — консольный диспетчер задач.

Для еще более гибкой работы в консоли попробуйте изучить screen.
Совет №4. Освойте скрипты. Это просто находка для автоматизации процессов. И это совсем не такие скрипты, как bat и cmd из мира Microsoft. Это на самом деле очень серьезный и удобный инструментарий для системного администрирования — тот не админ, который не знает bash. Настоятельно рекомендую руководство Advanced Bash-Scripting Guide. Скачать его бесплатно можно вот от сюда —  http://nklug.org.ua/lg/rus/articles/index-abs-guide.html. Оно очень хорошо написано, будет полезно как новичкам, так и опытным программистам. Я сам по нему учился и знаю, что говорю. Даже если вы далеки от программирования, научитесь хотя бы читать сценарии. Начните с легкого — с Bash, а далее, если втянитесь, самим захочется освоить что то посерьезнее вроде Perl или Python. 
Совет №5. Запустите сервис консольной мыши. Для этого установите
и запустите сервис gpm:
[keed'0'@mandrivka ~]$ sudo urpmi gpm
[keed'0'@mandrivka ~]$ sudo /etc/init.d/gpm start
Теперь прямо в консоли можно выделять, копировать и вставлять текст, а также более эффективно работать с vim или mc, например.


Непонятки last

Как я знаю, команда last выводит информацию про то, кто, когда и сколько работал за системой. И один раз она мне сказала что-то очень странное:
Это же как получается, время идет назад? Хе-хе, забавно. Я время не переводил. Может я что-то не знаю? Тогда подскажите =)

четвер, 20 січня 2011 р.

Меняем Windows-атрибуты на файлы в Linux

Мне нравится мой телефон — Nokia 6303c. Для меня он еще и флешка. И, как положено, в корневой папке откровенный бардак. Например, папки boot, system, initrd мне нужны, но их отображение в самом телефоне нежелательно. Как их скрыть? Ведь права DOS и UNIX разные и не совместимы друг с другом? Раньше я это делал из-под Windows — правой кнопкой => Свойства => Галочка «Скрытый» => ОК. Сегодня я расскажу как добиться такого результата в Linux. Для этого используем пакет mtools (вот он и пригодился, кто бы мог подумать):
[keed'0'@mandrivka ~]$ sudo urpmi mtools
В состав пакета входит утилита mattrib, которая работает аналогично attrib от фирмы Microsoft. Для начала подготовка. Предположим, что Ваша флешка — это устройство /dev/sdb1. Его нужно прописать как диск A:\ в файле /etc/mtools.conf. Вот как примерно должно получится:
drive a: file="/dev/sdb1" exclusive
drive b: file="/dev/sdb2" exclusive
mtools работает только с размонтированными разделами, поэтому:
[keed'0'@mandrivka ~]$ sudo umount /dev/sdb1
Теперь скроем папку boot на карте памяти:
[keed'0'@mandrivka ~]$ mattrib +h +s a:\\boot\
Total number of sectors (8007796) not a multiple of sectors per track (63)!
Add mtools_skip_check=1 to your .mtoolsrc file to skip this test
Ошибка! Хорошо, сделаем так, как просят:
[keed'0'@mandrivka ~]$ echo 'mtools_skip_check=1' > ~/.mtoolsrc
Повторим попытку — все проходит гладко, так, как мы и хотели. Теперь можно монтировать раздел и
работать дальше. Если будет жаловаться на недостаток прав, то команду выполняем через sudo.

Что это нам дало? Под Windows и телефоном файлы теперь скрыты — чистенько и аккуратно. А так
как я свой девайс втыкаю в основном на Linux-машинах, то эти файлы видны и «инородные» права игнорируются.