feeds2read
Latest Flows from this sub-category:
LEPROSYS

Noticias de iSeries / AS400 y noticias de Clientes ligeros Linux, XP y CE.Net

Busby SEO Challenge STT-PLN Online Community

Блог программиста-дилетанта

Logging, Syslog and Log Anaylsys Forums

Royal HeHe2-ness!

КОТорый летает сам по себе...

Пакет дня Debian

Ohmpie.com - Linux, Programming, Electronics, Freedom

My Linux Way

random selection from this sub-category:
Debian-News.net

Gentoo-Es - La comunidad Hispana de Gentoo Linux

Shell Tips !

VoteLinux - New Linux Tips at a glance

Bama-365

LXer Linux News

FootNotes - GNOME Desktop News

Slave Lake Linux Guru

Gtk2Hs

Planet GNOME

Rss Directory > Computer > Unix/Linux > Пакет дня Debian


Пакет дня Debian
Переводы блога «Debian Package of the Day»
Copyright: © 2007—2008 Алексей Бешенов. Перепечатка текстов запрещена

Автор: Фати Алтинок.

Оригинал: «Sonata: an elegant music client for MPD», 27 апреля 2008 г.

Sonata — музыкальный плеер с интерфейсом GTK+, написанный на Python. На самом деле, это клиент MPD, и это основное преимущество программы. MPD — демон, воспроизводящий в фоновом режиме музыку (быть может даже на другом компьютере). Он может использовать различные внешние интерфейсы; его можно даже запустить из командной строки, и воспроизведение музыки не остановится при падении X. Sonata использует преимущества MPD и дает простой и дружественный интерфейс.

Sonata

Sonata предоставляет простой доступ к музыке. Можно выбрать свернутый или расширенный вид, работать со вкладками для очереди воспроизведения, плейлистов, библиотеки, информации о песне, потоков. Интерфейс настраивается, можно убрать ненужные вкладки, кнопки воспроизведения, индикатор воспроизведения, панель состояния, обложку альбома. Главное окнно скрывается по щелчку в трее или по команде sonata -t, которую для простоты можно привязать к комбинации клавиш. Также можно включить всплывающие сообщения о смене песни.

Список воспроизведения в Sonata Библиотека в Sonata Информация о песне в Sonata Настройки Sonata

В Sonata есть много полезных возможностей. Тексты песен могут загружаться с lyricwiki.org и сохраняться в каталоге ~/.lyrics. Можно настроить «скробблинг» песен в last.fm (для этого можно использовать и демон, выбирайте сами). На вкладке библиотеки можно просматривать базу данных по музыке и искать по ней. Можно редактировать теги ID3, по отдельности или сразу для нескольких песен. Можно просматривать обложки альбомов (из Сети или локальные — на ваше усмотрение). По щелчку на обложке открывается информация о песне, где доступно увеличенное изображение и слова. Также поддерживается прослушивание потокового аудио.

Это всё сойдет за обычные возможности продвинутого плеера, но есть кое-что еще: у Sonata простой и дружественный интерфейс. Забудьте о программах, которые невозможно использовать, не развернув на весь экран: Sonata не занимает больше места, чем боковая панель. Плееры со множеством возможностей выглядят сложно; в Sonata есть только то, что нужно.

Sonata есть в тестовой и нестабильной ветке Debian и во всех репозиториях Ubuntu. Сейчас программа находится в разработке, но довольно стабильна.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Роман Мамедов.

Оригинал: «mhddfs: join several real filesystems together to form a single larger one», 25 мая 2008 г.

Пусть имеются три диска: на 80, 40 и 60 Гб; и 150 Гб аудиофайлов, которые нужно разместить на дисках. Как вы это сделаете?

Раньше я знал о двух решениях: создать

  • либо три различных каталога с музыкой на каждом диске;
  • либо нечто вроде RAID и объединить диски в один массив.

Однако первый подход довольно утомительный: нужно определить, как распределять данные по дискам и помнить, что где хранится. Допустим, нужно будет хранить классическую музыку на первом диске, а рок-музыку — на втором. Потом первый диск внезапно заполняется, а втором остается много свободного места. Теперь нужно обменять файлы на дисках, либо переходить между ними при помощи символьных ссылок.

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

Но недавно я нашел более удачное решение для таких задач: mhddfs. Это модуль FUSE, позволяющий комбинировать файловые системы в одну большую виртуальную, содержащую все файлы компонентов, а также всё их свободное пространство. Более того, в отличие от прочих сходных модулей (unionfs?), mhddfs не ограничивает возможность добавления новых файлов в комбинированную файловую систему и разумно определяет, где эти файлы хранить.

Пусть три жестких диска монтированы в /mnt/hdd1, /mnt/hdd2 и /mnt/hdd3. Тогда у вас должно быть что-то такое:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3

После установки пакета mhddfs можно будет создать новую точку монтирования /mnt/virtual, объединяющую все диски. Благодаря FUSE для этого не нужно иметь привилегии суперпользователя (нужно только входить в группу fuse), но здесь для простоты положим, что вы вошли как root.

# mkdir /mnt/virtual
# mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual -o allow_other
option: allow_other (1)
mhddfs: directory '/mnt/hdd1' added to list
mhddfs: directory '/mnt/hdd2' added to list
mhddfs: directory '/mnt/hdd3' added to list
mhddfs: move size limit 4294967296 bytes
mhddfs: mount point '/mnt/virtual'

Опция «-o allow_other» здесь означает, что результирующая файловая система должна быть видна всем пользователям, а не только своему создателю.

В итоге получим:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3
mhddfs                180G   95G   85G  53% /mnt/virtual

Как видите, была создана новая файловая система, объединяющая емкости дисков. Если вы посмотрите /mnt/virtual, то увидите там файлы со всех трех дисков и наложенные друг на друга структуры директорий.

Но что если попытаться записать файлы в /mnt/virtual? Ну, это довольно хитрый вопрос, и, должен признать, автор mhddfs решил его очень хорошо. Когда вы создаете новый файл в виртуальной файловой системе, mhddfs проверяет свободное пространство на всех дисках. Если на первом диске достаточно места, то файл размещается там. Иначе, если на диске места мало (меньше значения параметра mlimit — по умолчанию 4 Гб), будет использован второй диск. Если и он занят, то будет использован третий. Если же на всех дисках свободное пространство не превышает mlimit, то используется диск, где свободного пространства больше.

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

Теперь можно просто работать с файлами в /mnt/virtual, не заботясь о том, что берется с какого диска, и о прочих вещах; также можно просто переместить туда новые файлы и не думать, где они на деле будут храниться.

Если нужно создавать точку монтирования автоматически при каждой загрузке, то можно добавить такую строчку в /etc/fstab:

mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual fuse defaults,allow_other 0 0

Подробности смотрите в man mhddfs.

В дальнейшем, если потребуется, то закончить работу с mhddfs и не потерять данные или структуру директорий будет просто. Допустим, вы купили новый жесткий диск на 500 Гб и хотите продать старые маленькие диски. Просто подключите новый диск и скопируйте на него содержимое /mnt/virtual, после чего удалите точку монтирования mhddfs и отсоедините старые диски. Вся виртуальная структура файлов будет зафиксирована на настоящем диске. И, благодаря тому, что сами файлы не разделяются на части для разных дисков, даже если mhddfs вдруг перестанет работать (что маловероятно), то всё равно можно будет копировать данные со всех трех дисков в один каталог и получить ту же структуру, что и была на /mnt/virtual.

Пакет mhddfs есть в тестовой и нестабильной ветке Debian; в Ubuntu его пока нет.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Флорис Брайнуж.

Оригинал: «cu: Simple serial communication program», 4 мая 2008 г.

Если у вас есть серверы, встроенные системы, высокопроизводительные маршрутизаторы (или старые ПК, выполняющие подобную работу), то скорее у них будет консоль на последовательном порте, нежели дисплей с клавиатурой. Даже если обычно для захода на эти машины вы используете ssh(1) или что-то подобное, то в сеансах отладки и восстановления часто требуется посмотреть консольные сообщения, отключить сетевой интерфейс или поработать с загрузчиком (например, выбрать в grub альтернативное ядро). Тогда нужен кабель нулевого модема (обычно прилагается производителями, если они используют для последовательной консоли разъем RJ45 вместо RS232) для соединения последовательного порта вашего компьютера с последовательной консолью устройства.

Также нужна программа для т. н. «последовательной связи», которая может соединиться с последовательным портом и позволяет использовать локальный терминал как консоль подсоединенного устройства. Однако большинство программ для последовательной связи создано во времена, когда работа с сетью шла через модем (поключенный к последовательному порту) для дозвона до других систем. В результате, у них, как правило, тяжелые интерфейсы со всей специфической для модемов функциональностью. Здесь поможет cu — очень простая программа, дающая минимально необходимую базу.

Для описанного выше простейшего случая она вызывается так:

$ cu -l /dev/ttyS0

Вот пример, как я подключаюсь к домашнему маршрутизатору (хотя обычно я бы использовал apt-get через ssh):

flub@laurie:~$ cu -l /dev/ttyS1
Connected.

Debian GNU/Linux 4.0 balder ttyS0

balder login: root
Password:
Last login: Sun Apr 13 19:58:46 2008 on ttyS0
balder:~# apt-get update
...
balder:~# apt-get upgrade
...
balder:~# logout

Debian GNU/Linux 4.0 balder ttyS0

balder login: ~.
Disconnected.
flub@laurie:~$ 

Как можно видеть, я использовал второй последовательный порт (ttyS1) локального компьютера laurie для соединения с первым последовательным портом (ttyS0) маршрутизатора balder, настроенного для работы getty. Это позволяет мне войти в систему и сделать все что нужно, как с любого другого терминала. Отсоединение производится как и по умолчанию в ssh — вводом «~.» и переводом строки.

Выше соединение осуществляется через последовательную линию, настроенную на скорости 9 600 бод, с 8 битами данных, без проверки по четности, с 1 стоповым битом. Скорее всего, это будет соответствовать параметрам устройства по умолчанию. Однако иногда это довольно медлено, и можно настроить сервер (или другое устройство) для работы на большей скорости, либо такая настройка уже осуществлена производителем, и нужная скорость обозначена в документации. Скорость просто меняется другим аргументом командной строки:

$ cu -l /dev/ttyS0 -s 150000

Если хотите поменять четность, то используйте -e (чет) или -o (нечет). К сожалению, стоповые биты и биты данных нельзя поменять аргументами командной строки, но это и требуется крайне редко.

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

Да, если вам уже не довелось иметь в наличии последовательный порт (так обстоит с многими современными лэптопами), то USB-заглушка для последовательного порта — обычно /dev/ttyUSB0.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Авторы: Энтони Брайан, Тацуширо Цуджикава.

Оригинал: «aria2: high speed command line download utility», 16 июля 2008 г.

Если вы часто загружаете файлы из Интернета, и вам удобно использовать командную строку, то стоит попробовать aria2 — кроссплатформенную утилиту, схожую с графическими менеджерами загрузки, но расходующую меньше системных ресурсов.

В aria2 есть ряд неоценимых возможностей вроде продолжения загрузки после обрыва, поддержки BitTorrent и Metalink, загрузки по сегментам, загрузки одного файла с нескольких серверов (BitTorrent, HTTP/FTP), одновременной загрузки нескольких файлов, автоматического исправления ошибок для BitTorrent и Metalink, и так далее.

Если вам больше нравится графический интерфейс, то можете использовать оболочку aria2fe.

Заметьте, что aria2 больше предназначена для объемных загрузок; если нужна утилита для сбора веб-страниц, то лучше будет wget.

Работа с aria2c

Проще всего вызвать aria2 — выполнить «aria2c URL/файл»:

$ aria2c http://host/image.iso

URL может указывать на обычный файл, либо .torrent или .metalink. Для BitTorrent и Metalink имеются дополнительные опции вроде регулирования скорости отдачи, выборочной загрузки файлов торрента, изменения портов, времени и частоты раздачи торрентов (seed). Для приостановки загрузки нажмите Ctrl-C; для возобновления запустите aria2c с тем же аргументом и в той же директории.

Загрузка одинаковых файлов из разных источников

aria2 поддерживает множественные URL для одного файла, вы можете перечислить их в командной строке через пробел.

$ aria2c http://host/image.iso http://mirror/image.iso

— эта команда распределит загрузку между несколькими серверами. aria2 может даже загружать один и тот же файл сразу с BitTorrent и с FTP/HTTP; при этом данные, полученные по FTP/HTTP, будут передаваться в BitTorrent.

Восстановление поврежденных загрузок

aria2 может восстанавливать поврежденные загрузки по информации файлов .torrent или .metalink.

$ aria2c -M test.metalink --check-integrity=true

Опция -M задает локальный файл test.metalink с информацией, по которой восстанавливается загрузка.

Параметры в URL

Можно задать шаблон с множеством вариантов участка URL. Следующая команда загружает части одного файла с трех серверов (не забудьте заключить параметр в кавычки, чтобы избежать раскрытия команды интерпретатором):

$ aria2c -P 'http://{host1,host2,host3}/file.iso'

Числовая последовательность может задаваться при помощи []. Следующая команда загружает файлы от image000.png до image100.png с одного сервера:

$ aria2c -Z -P 'http://host/image[000-100].png'

Опция -Z требуется, если URI не указывают на один и тот же файл, как в примере выше.

Другие опции

У aria2 есть много других опций; так, вы можете использовать

  • -T filename.torrent — чтобы указать локальный файл .torrent,
  • -M filename.metalink — чтобы указать локальный файл .metalink,
  • -i textfile — чтобы загрузить файлы по URL, перечисленным в textfile,
  • -sn — чтобы загрузить файл, используя n соединений,
  • -jn — чтобы совместно загрузить n файлов.

Для подробностей смотрите страницу руководства (man aria2c).

Доступность

aria2 есть в большинстве дистрибутивов Linux. Пакеты с aria2 есть в Debian stable, testing, unstable; Ubuntu Feisty, Gutsy, Hardy.

Программу активно поддерживает и разрабатывает Тацуширо Цуджикава.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: François Marier.

Оригинал: «email-reminder: Never forget a birthday or an anniversary again!», 13 июля 2008 г.

email-reminder — простое средство для задания событий, о которых вы хотите получать напоминания по электронной почте. Эти напоминания могут высылаться (ежедневно, по маленькому заданию cron) в соответствующий день, либо заранее.

События включают в себя дни рождения и годовщины; также они могут быть еженедельными, ежемесячными и ежегодными.

Вот пример того, что вы получите по почте к приближающемуся дню рождения:

From: Email-Reminder
Date: Tue, 12 May 2007 04:00:22 -0400 (EDT)
To: Francois Marier <fmarier@gmail.com>

Subject: Trent Reznor’s birthday

Hi Francois,

I just want to remind you that Trent Reznor is
turning 42 in 5 days.

You can reach Trent Reznor at trent@example.com.

Have a good day!

–
Sent by Email-Reminder

А вот пример того, что вы получите по поводу годовщины:

From: Email-Reminder
Date: Tue, 29 Jul 1996 04:00:11 -0400 (EDT)
To: Francois Marier <fmarier@gmail.com>
Subject: 15th anniversary of Prince Charles and Lady Diana

Hi Francois,

I just want to remind you that the 15th anniversary
(Crystal) of Prince Charles and Lady Diana is today.

Have a good day!

–
Sent by Email-Reminder

События каждого пользователя задаются в XML-файле ~/email-reminders. Пример: email-reminders.xml. Однако на деле нет необходимости вручную определять всё в XML. К email-reminder прилагается простой пользовательский интерфейс GTK:

email-reminder

email-reminder

email-reminder есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Dapper. Программа распространяется на условиях GPL.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

  Wed, 16 Jul 2008 13:10:20 +0200

Дорогие читатели!

Мы решили составить список ссылок на русскоязычные блоги о Debian и Ubuntu.

Напишите нам, если сами блоггерствуете или просто можете порекомендовать что-нибудь интересное. al@beshenov.ru.

Спасибо.

  Wed, 16 Jul 2008 11:05:29 +0200

Автор: Каспар Клеменс Мирау.

Оригинал: «aiccu: add IPv6 connectivity to your machine», 6 июля 2008 г.

Время пришло: ничто не должно помешать вам начать работать с IPv6 на своем компьютере. Конечно, есть проблема: большинство интернет-провайдеров не предоставляют настоящий IPv6. Поэтому в большинстве случаев проще будет настроить туннелирование с брокером IPv6. Сейчас уже есть несколько бесплатных брокеров; я покажу простой способ настроить IPv6 с aiccu и SixXS.

Получение учетной записи

Сначала нужно подать заявление на получение учетной записи SixXS. Заметьте, что SixXS — нечто вроде интернет-провайдера, поэтому им требуется верная информация о вас. Можно дать ссылку на профиль Xing или LinkedIn.

Вашу заявку проверят и, скорее всего, одобрят — ждите письма. После этого зайдите на сайт SixXS, запросите новый тоннель и выберите точку входа по близости. На этом шаге тоже требуется подтверждение администрации — ответ будет дан в течение дня.

Настройка aiccu

Установите пакет aiccu (sudo apt-get install aiccu). При установке будет задан вопрос, каким брокером вы пользуетесь. Для SixXS уже есть настройки, поэтому выберите его и введите данные учетной записи. Если все верно, то aiccu соединится с SixXS и запросит информацию о тоннеле.

Откройте терминал и запустите ifconfig sixxs — это должно отобразить новый сетевой интерфейс с адресом IPv6. Для проверки IPv6 откройте в браузере http://www.kame.net/. Если логотип с черепашкой на этой странице анимирован, то вы используете IPv6, в противном случае — IPv4.

Система баллов SixXS

Нужно разобраться с системой баллов SixXS. Она используется для ограничения пользователей в совершении нежелательных действий, а также чтобы убедиться, что пользователи поддерживают работу тоннелей. Например, при падении статического тоннеля с вас снимается определенное число баллов, поэтому вам лучше поддерживать его работу. Систему баллов похожа на банк — есть ограничение на кредит, и вы не можете выходить за него и покупать всё, что хотите; однако за работающий тоннель баллы начисляются, и с ними можно много чего сделать.

Вопросы безопасности

Помните, что весь трафик IPv6 будет идти через брокера, поэтому вы должны следить за безопасностью.

Контент IPv6

Интересный контент IPv6 смотрите на http://www.sixxs.net/misc/coolstuff/: серверы новостей, Freenode, и так далее. Помните, что еще не все приложения работают с IPv6, а многие требуется специально настроить для IPv6. В Debian и Ubuntu можно использовать, по крайней мере, Firefox, Thunderbird, Pan и Irssi.

aiccu есть в Debian, начиная с Etch, и а Ubuntu, начиная с Feisty.

Удачной работы в сети!

Примечание переводчика: имеются другие брокеры IPv6, см. обзор http://en.linuxreviews.org/Free_IPv4_to_IPv6_Tunnel_Brokers. SixXS обвиняют в беспричинном закрытии тоннелей и поддержке политической цензуры.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Андрас Хорфат.

Оригинал: «potrace: Transform bitmap images into vector graphics», 19 мая 2008 г.

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

Без специальных программ отрисовки можно сделать следующее: взять растровый редактор вроде GIMP, изменить размеры изображения с применением лучшего метода сглаживания, а потом добавить выборочное размытие. Чаще всего это не дает удовлетворительных результатов.

Есть маленькая, но мощная утилита potrace, написанная Питером Селинджером, профессором математики из университета Dalhousie.

Программы отрисовки (trace) вроде potrace принимают на входе растровое изображение и создают из него изображение в формате SVG. potrace даже поддерживает вывод в PDF.

Пример для командной строки:

$ potrace -s image.bmp

При этом программа преобразует пиксели изображения в закрашенные фигуры, которые выглядят гладкими при любом масштабе.

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

Преимущества potrace относительно других программ:

  • очень хорошие результаты,
  • работает довольно быстро,
  • легко запускать из командной строки
  • можно вызывать из свободного пакета для векторной графики Inkscape (командой меню «Path / Trace Bitmap» или Shift+Alt+B).

Минусы:

  • дает на выходе только монохромные изображения, работа с цветом пока не поддерживается,
  • не поддерживает на входе PNG (впрочем, преобразование из PNG можно осуществить множеством свободных программ).

Вот пример входного и выходного изображения, который можно найти на домашней странице проекта:

Было Стало

Пакет давно есть и в Debian, и в Ubuntu.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Штефан Виндм.

Оригинал: «kteatime - Small tray utility which reminds you of steeping tea», 11 мая 2008 г.

Для кого-то единственным напитком, который можно пить за компьютером, является кофе. Для тех же, кто иногда наслаждаетя чашечкой чая, может пригодиться kteatime.

Думаю, всем знакома ситуация: вода только вскипела, вы кладете в чашку зеленый чай, заливаете водой, возвращаетесь к делам... и уже 15 минут спустя понимаете, что забыли про чай, и спасти его может только множество кубиков сахара ;-)

kteatime не даст такому случиться и будет показывать в трее небольшой таймер.

Окно настроек kteatime

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

Когда чай готов, kteatime отображает небольшое сообщение и воспроизводит сигнал. Можно еще указать команду, которую нужно запустить.

tea ready pop-up

Для меня kteatime — единственная причина, если не считать k3b, чтобы держать в системе библиотеки KDE. Программа хорошо работает и в XFCE.

kteatime есть в Debian, начиная с Sarge (если не раньше), а также во всех версиях Ubuntu.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Каспар Клеменс Мирау.

Оригинал: «file: classify unknown files on the console», 29 июня 2008 г.

Вам только что прислали письмо с вложениями без пригодных расширений, поэтому вы не знаете, что с ними делать. Это аудио-файлы? PDF? Что же это?.. Похожая проблема возникает после восстановления файлов, с веб-страницами с возможностью загрузки на сервер, и т. д.

Можете, конечно, присвоить файлу расширение и открыть в подходящем, на ваш взгляд, приложении, но лучше, если с этим разберется компьютер. Как пользователь GNU/Linux, вы, должно быть, уже подумали: «Наверняка для этого есть утилита командной строки». Конечно есть: file Яна Дарвина.

Часто эта утилита устанавливается автоматически, исходя из зависимостей. В любом случае, поможет aptitude install file. file зависит от libmagic — пакета с шаблонами для распознания, так называемыми «волшебными числами».

Пусть есть такая директория с неизвестными файлами:

$ ls -l
total 2152
-rw-r--r-- 1 ccm ccm    4118 2008-03-30 06:32 unknown.0
-rw-r--r-- 1 ccm ccm   10220 2008-05-06 02:23 unknown.1
-rw-r--r-- 1 ccm ccm   12693 2008-05-06 02:23 unknown.2
-rw-r--r-- 1 ccm ccm   25933 2007-10-26 07:41 unknown.3
-rw-r--r-- 1 ccm ccm    2121 2007-10-26 07:41 unknown.4
-rw-r--r-- 1 ccm ccm     185 2007-10-14 20:14 unknown.5
-rw-r--r-- 1 ccm ccm 1189011 2008-05-17 22:37 unknown.6
-rw-r--r-- 1 ccm ccm  824163 2008-02-02 05:02 unknown.7
-rw-r--r-- 1 ccm ccm   82367 2007-09-20 06:18 unknown.8
-rw-r--r-- 1 ccm ccm    8872 2006-04-24 12:43 unknown.9

Теперь мы хотим узнать, что внутри этих черных ящиков. Поэтому просто выполняем «file *»:

$ file *
unknown.0: XML
unknown.1: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
unknown.2: ASCII C program text
unknown.3: PDF document, version 1.4
unknown.4: LaTeX 2e document text
unknown.5: perl script text executable
unknown.6: gzip compressed data, from Unix, last modified: Wed Oct  8 16:27:09 2003
unknown.7: Ogg data, Vorbis audio, stereo, 44100 Hz, ~192003 bps, created by: Xiph.Org libVorbis I (1.0)
unknown.8: PNG image data, 492 x 417, 8-bit/color RGBA, non-interlaced
unknown.9: HTML document text

Вот и всё! Впечатляет, да? file не только различает бинарные и текстовые файлы, но даже пытается определить, какой язык программирования использовался. Это не такое уж волшебство: например, в скрипте ZSH первая строчка — «#!/bin/zsh», PDF-файлы обычно начинаются с «%PDF», и так далее. Это всё шаблоны для распознания.

У file есть опции командной строки, которые делают утилиту еще более полезной. Одна из самых любопытных — -i — печатает вместо описаний MIME-типы. Если вы веб-разработчик и хотите узнать точный тип загруженного файла, то file здорово сбережет время:

$ file -i *
unknown.0: text/xml
unknown.1: application/x-object, not stripped
unknown.2: text/x-c; charset=us-ascii
unknown.3: application/pdf
unknown.4: text/x-tex
unknown.5: application/x-perl
unknown.6: application/x-gzip
unknown.7: application/ogg
unknown.8: image/png
unknown.9: text/html

Чудесно, не так ли? Веб-сервер Apache тоже использует в подобных целях libmagic. Собственно, file — это обертка к libmagic.

file давно есть в Debian и Ubuntu.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Данило Мартинс.

Оригинал: «zsh: a REALLY nice alternative for bash», 18 июня 2008 г.

После многих лет работы с ZSH вместо BASH, я никак не могу понять, почему еще не все перешли на ZSH. Это полноценная оболочка, которая обязательно облегчит вашу жизнь — только попробуйте.

Для начала ее нужно установить (а то!). В APT просто сделайте

$ sudo apt-get install zsh

и все должно настроиться. Можно использовать пакет zsh-beta, но он периодически падает. ZSH есть во всех репозитариях Debian и Ubuntu.

Для начала можно просто напечатать zsh, но вы не особо порадуетесь результату. Давайте сначала настроим оболочку под себя. Создадим в домашней директории файл .zshrc с примерно таким содержанием (обратите внимание на закоментированные строки и попробуйте их): zshrc.txt.

(В тестовой или нестабильной ветке Debian, если вы запустите ZSH без .zshrc, то будет предложен диалог настроек.)

Теперь запустим zsh. Если видите другое приглашение (особенно если не закоментировали соответствующие строки в примере .zshrc), то программа работает. Посмотрим, что можно с ней делать.

Первый пример. Пусть вы исполняете длинную команду (cat /etc/mailcap | grep "^audio" | sed s/mplayer/gmplayer) и забыли синтаксис sed. Просто переместите курсор к «sed» и нажмите Alt-H — вы получите страницу руководства sed, по закрытию которой можно продолжить набирать команду.

Второй пример. Вы соединились с удаленной системой через SSH. Вы хотите использовать опцию «X11 forwarding», но не помните, как. Напечатайте «ssh -» и нажмите Tab — в ZSH работает не только дополнение файлов, но и параметров. Проверьте с какой-нибудь командой, какую хотите использовать.

Третий пример. У вас есть ключ SSH для удаленной системы, и вы хотите копировать оттуда файл, используя SCP. Однако вы забыли, где именно этот файл находится. Напечатайте «scp user@remotehost:/home/myuser/myf» и нажмите Tab — ZSH дополнит имя удленного файла! (Для этого нужно иметь ключ RSA/DSA в удаленной системе.)

Четвертый пример. Вы хотите установить пакет Debian, но не помните его имя полностью (или лень печатать). Просто напишите «apt-get install mysql-client» и нажмите Tab — ZSH дополнит имя пакета. Если вариантов несколько, то они будут перечислены. Ну, достаточно примеров с автодополнением.

Пятый пример. Вы использовали вчера дли-и-и-и-инную команду, и снова ее печатать вам лень. И вы не хотите пролистывать стрелками журнал до появления команды. Вместо этого просто напечатайте начало команды и нажмите Alt-P. ZSH дополнит строчку до команды из журнала. Можете продолжить нажимать Alt-P и переходить к предыдущим записям (если упустили нужную, то Alt-N переходит к следующей).

Последний пример. Вы написали apt-gey install foo bar foo2 bar2 foo3 bar3 foo4 bar4 … foo239 bar239 и нажали Enter... #$@! Команды apt-gey не существует! Вместо того, чтобы нажимать и Home, а потом исправлять «gey» на «get», можно просто использовать ^gey^get — это комбинация для повторения прошлой команды с заменой «gey» на «get».

Если вам понравилась ZSH, и вы хотите использовать ее как оболочку по умолчанию — запустите команду chsh и укажите /usr/bin/zsh.

Пользуйтесь!


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Алекс Драхманн.

Оригинал: «Ghextris: tetris clone with a hexagonal makeover», 8 июня 2008 г.

Эта игра сходна с Тетрисом, только граница и падающие блоки состоят из шестиугольников. Нужно компоновать цветные элементы, чтобы они составляли строки. Законченные строки пропадают; игра завершается, как только стопка элементов достигнет верха.

Ghextris

Шестиугольники сложно компоновать, поэтому Ghextris сложнее, нежели другие подобные игры, но после тренировки все становится проще. Процесс усложняется, если вы допускаете ошибки, либо переполняете пространство; часто выпадают неподходящие блоки; кажется, со временем они еще и падают быстрее. Начисляемые очки зависят от количества заполненных строк. Текущий и наибольший счет показываются внизу окна.

Интерфейс и графика просты и хорошо вписываются в среду GNOME. Заливка элементов простая, без текстур и теней, поэтому не отвлекает от процесса.

В игре задействованы клавиши-стрелки: и  — для перемещения блоков, и  — для поворота. По нажатию пробела блок падает вниз.

Я играл в версию 0.9.0, которая сейчас содержится в репозитариях Ubuntu Hardy Heron и Debian. Ghextris есть во всех текущих версиях Debian и Ubuntu.

Официальный сайт проекта: http://mjr.iki.fi/software/ghextris.

Ghextris написал Микко Раухала по примеру схожей игры Девида Макли — Xhextris.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Нейл Стюарт.

Оригинал: «JOE Joe’s own editor: a really usable text editor», 2 июня 2008 г.

В те времена, когда я был новичком в Linux, JOE оказался первым текстовым редактором, который я смог закрывать, не перезагружая компьютера. То, что я его использую до сих пор, много лет спустя — свидетельство простоты и мощи JOE. Если не хотите использовать EMACS (зачем запускать сразу две операционные системы?) и все еще не можете разобраться, как работать в VI, то JOE — для вас.

JOE запускается из командной строки как joe, либо joe файл — для редактирования файла. Когда JOE запустится, вы увидите одну панель с заголовком, отображающую информацию о положении курсора, текущем времени и сообщение «Crtl-K H for help» (^KH в обозначениях JOE). Так что если одновременно нажать Ctrl и K, отпустить, после чего нажать H, то в верхней части экрана появится краткий список команд. Там я и узнал, как выйти из программы (без перезагрузки), открыть новый файл и сохранить его; как переместить курсор, осуществить поиск и замену, переходить по словам и строкам, помечать участки текста и перемещать их. Можно продолжать редактировать файл с окном помощи наверху — так вы быстро научитесь работать в JOE.

JOE

JOE — еще и мощный редактор. Например, можно пропустить любую часть текста через команду интерпретатора. Хороший пример приводится в файле помощи JOE. Если отметить кусок текста, нажав ^KB в начале и ^KK в конце, а потом пропустить его через ^K/ sort, то JOE отсортирует строки. Мощно, особенно вместе со старыми верными командами вроде tr и sed.

Поиск с заменой тоже делаются просто: нажмите ^KF и введите текст для поиска. Здесь тоже есть мощные возможности: стрелками курсора можно пролистать предыдущие запросы (включая те, что делались в других сессиях); по нажатию Tab работает дополнение до слов текста. Далее можно выбрать, что делать с найденным. Для замены нажмите R и введите новый текст. Можно заменить все сразу, а можно и просмотреть все совпадения — ^L переходит к следующему. Еще доступны регулярные выражения — это же все-таки *NIX. Опять же, хороший пример есть в файле помощи. Если заменять \*,\*,\*$ (где \* соответствует нулю и более символов, а $ — концу строки) на \2,\1,\0 (где \n соответствует n-му шаблону), то строка «раз,два,три» превратится в «три,два,один». Откройте справку с ^KH и пролистайте с ^[. пару экранов, чтобы вспомнить о том, как работают регулярные выражения.

С макросами тоже все просто. Запись одного из десяти макросов начинается при помощи ^K[ и добавочной цифры n, а заканчивается при помощи ^K]. Затем для вызова макроса используйте ^Kn.

В JOE много других возможностей. Он запоминает положение в тексте и возвращается к нему при следующем открытии файла. По умолчанию работает подсветка C, Java, LaTeX, HTML и многих других форматов. Есть выравнивание кода, поддержка нескольких окон, закладки. Можно скомпилировать исходный кода из joe (^[C) и пролистать места, где компилятор обнаружил ошибки (^C= — следующая, ^C- — предыдущая).

Наконец, JOE — старая, стабильная и рабочая программа. В Etch и Lenny находится версия 3.5. Я использую JOE для всех нужд, дни напролет, и он никогда не подводил. Подробности смотрите в info joe или на домашней странице проекта.


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Адриан вон Биддер.

Оригинал: «psmisc: a closer look to a standard package», 13 января 2008 г.

Пакет psmisc установлен практически во всех системах Debian и Ubuntu и содержит несколько маленьких программ, связанных с управлением процессами Unix: pstree, killall, fuser и peekfd. Ниже следует краткое описание этих полезных средств. Хотя, конечно, все знают про killall и даже про pstree, в пакете также есть fuser и peekfd, которые для меня лично до недавнего времени были новыми (хотя я слышал, что по крайней мере fuser существует давно; позор мне).

killall столь же ужасен, как и называется: он убивает все процессы с указанным именем. По умолчанию используется SIGTERM, но, конечно, может посылаться любой другой сигнал. Также есть опции определения процессов регулярными выражениями или по группам. Обычно я использую это для уничтожения элементов KDE командой вроде

$ killall kio_imap4

Это приходится делать, так как у KMail есть некоторые проблемы с работой с моим IMAP-сервером. (Отдельно стоит упомянуть программу slay из пакета slay, которая просто убивает процессы, принадлежащие указанному пользователю.)

Хороший обзор того, что запущено в системе, дает вывод pstree. Вот часть вывода у меня:

$ pstree
init─┬─NetworkManager───2*[{NetworkManager}]
     ├─NetworkManagerD
     ├─acpid
     ├─hald───hald-runner─┬─hald-addon-acpi
     │                    ├─hald-addon-cpuf
     │                    ├─hald-addon-dell
     │                    ├─hald-addon-inpu
     │                    └─hald-addon-stor
     ├─kdeinit─┬─artsd
     │         ├─2*[kio_file]
     │         ├─kio_http
     │         ├─3*[kio_imap4]
     │         ├─kioexec───wfica.sh───wfica
     │         ├─klauncher
     │         ├─konqueror
     │         ├─konsole───bash─┬─pstree
     │         │                └─xchat───{xchat}
     │         └─kwin
     ├─kdesktop───lineakd───2*[{lineakd}]
     ├─kdm─┬─Xorg
     │     └─kdm───startkde───kwrapper
     └─sshd

Опции pstree включают отображение идентификаторов процессов, пользователей и контекстов безопасности SE Linux.

fuser позволяет выяснить, какой процесс использует определенный файл, например:

$ fuser -v /home/avbidder/.xsession-errors
                    USER        PID ACCESS COMMAND
/home/avbidder/.xsession-errors:
                    avbidder   4409 F.... startkde
                    avbidder   4533 F.... kdeinit
                    avbidder   4536 F.... dcopserver
                    avbidder   4538 F.... klauncher
                    avbidder   4540 F.... kded
                    avbidder   4547 F.... kwrapper
                    avbidder   4549 F.... ksmserver
                    avbidder   4550 F.... kwin
                    avbidder   4552 F.... kdesktop
                    avbidder   4554 F.... kicker
                    avbidder   4562 F.... artsd
                    avbidder   4567 F.... kmix
                    avbidder   4568 F.... konsole
                    avbidder   4572 F.... beagled
                    avbidder   4574 F.... lineakd
                    avbidder   4579 F.... knetworkmanager
                    avbidder   4680 F.... knotify
                    avbidder   4916 F.... kio_uiserver
                    avbidder   5706 F.... akregator
                    avbidder   5708 F.... kttsd
                    avbidder   5742 F.... kio_file
                    avbidder   5864 F.... beagled-helper
                    avbidder   6939 F.... konqueror
                    avbidder   7076 F.... konqueror
                    avbidder   7185 F.... kmail
                    avbidder   7696 F.... kio_imap4

Также fuser может посылать сигналы этим программам, так что вы можете убить их при помощи

fuser -k /home/avbidder/.xsession-errors

(по умолчанию используется SIGKILL, но это, разумеется, можно поменять.)

В то время как fuser — обычный инструмент системного администратора, peekfd осуществляет более глубокое погружение: он позволяет смотреть, что происходит с файловым дескриптором процесса. (Обратите внимание: peekfd нет в Etch, требуется psmisc из Lenny или еще новее.)

Если вы запустите в терминале peekfd, команда просмотрит все дескрипторы процессов, чтобы вывести приблизительно такое:

$ peekfd 7808

writing fd 1:
foo bar

Здесь 7808 — просто cat >/dev/null в другом окне терминала, и я пишу там «foo bar». Страница руководства предупреждает, что отслеживаемые процессы могут завершаться; я с этим не встречался, но мне случалось получать несколько раз ошибку segmentation fault от peekfd, так что мне кажется, что за кулисами прячется настоящая черная магия.

Вместо отслеживания всего ввода-вывода процесса, можно получить просто список файлов, которые процесс открывал. Узнать, какие дескрипторы стоит проверить, удобно при помощи директории /proc//fd.

Итак, я надеюсь, что эта статья поможет более пристально взглянуть на пакеты, которые вы устанавливали еще со времен Potato и с тех пор внимательно не изучали…


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».

Автор: Кэм Солсбери.

Оригинал: «pwsafe: A cross-platform tool for password management», 6 января 2008 г.

PWSafe — консольная программа для работы с паролями, а также их защищенного хранения. Используя криптографический алгоритм Blowfish (находится в общественном достоянии), PWSafe работает с зашифрованной базой данных для входа в системы. Формат базы данных PWSafe кроссплатформенный, совместим с Counterpane PasswordSafe для Windows, MyPasswordSafe для QT и Password Gorilla для среды Tck/Tk (Windows, Mac OS X, Linux, Solaris, *BSD).

Установка PWSafe проводится через командную строку (apt-get) или X Windows (Synaptic), программа уже давно есть в Debian и Ubuntu.

PWSafe используется из командной строки, но также поддерживает копирование паролей в буфер выделения X и буфер обмена. Один главный пароль используется для открытия файла с данными. Примеры работы с PWSafe есть на сайте автора, Николаса Даде. Если нужно, то PWSafe также поддерживает генерирование случайных паролей, экспорт баз данных в текстовом виде и слияние воедино разных баз.

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


© 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/.

Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре».


Disclaimer|Rss Directory|Try a Feed|Suggest a Feed|F-A-Q|Partners
Links: Référencement internet | Annuaire Webmaster  | ubuntu/debian tips
Comparateur de Prix | Logos, Sonneries, Jeux Java | Sonneries pour portables | Ringtones and logos for mobile phone | Accéssoires pour téléphone portable | Sonneries Et Logos
© copyright feeds2read.net 2005-2008