[Перейти к основному содержимому]

Ссылки

MyTop: top для MySQL

Автор: Клаудио Крисционе.

Оригинал: «mytop: a top clone for MySQL», 26 декабря 2007 г.

Никогда не думали: «Какого черта делает сервер MySQL?!» Ответ на вопрос — MyTop.

Это клон top, утилиты, с которой знаком каждый системный администратор, но он следит не за системой, а за потоками MySQL. В двух словах, это отличная утилита командной строки, которая подключается к серверу MySQL, периодически выполняет команды SHOW PROCESSLIST, SHOW STATUS и отображает сводные результаты, к которым можно применять различные фильтры.

После установки вы можете запускать mytop с некоторым параметрами, например,

mytop -u пользователь -p пароль -d база_данных

Параметры можно записать в файл настроек ~/.mytop.

MyTop

Как видно на снимке, основной экран делится на две части. Сверху находится статистика по серверу (прячется по нажатию H). Там указаны

Во второй части экрана отображены все активные потоки (в том числе тот, который использует MyTop). Здесь можно видеть имя пользователя, базы данных и узла; текущий запрос или состояние. Как сказано в документации, лучше запускать программу в xterm — этот терминал шире обычных 80 символов, и строки таблицы потоков можно видеть целиком.

Для выбора конкретных узлов или баз данных нажмите h или d, фильтр пользователей вызывается клавишей u. Фильтры сбрасывает F.

Для получения дополнительной информации по выбранному потоку нажмите f. k уничтожает поток.

Если вы хотите использовать MyTop в скрипте или веб-приложении, доступен пакетный режим — запуск с ключом -b. В пакетном режиме MyTop печатает таблицу без ограничения на число строк, после чего завершает работу.

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

cpipe: определите пропускную способность конвейера команд

Автор: Тод Троксель.

Оригинал: «cpipe: Determine the throughput of a pipe», 23 декабря 2007 г.

Этот полезный пакет содержит простенькую программу cpipe для определения пропускной способности конвейера команд. Например, может использоваться для измерения скорости

Например, для определим скорость чтения из /dev/urandom и записи в /dev/null:

$ cpipe -vt < /dev/urandom > /dev/null
thru: 56.045ms at 2.2MB/s ( 1.3MB/s avg) 1.1MB
thru: 74.936ms at 1.7MB/s ( 1.3MB/s avg) 1.2MB
thru: 21.748ms at 5.7MB/s ( 1.4MB/s avg) 1.4MB
thru: 90.131ms at 1.4MB/s ( 1.4MB/s avg) 1.5MB

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

$ cat /dev/zero | cpipe -s 100 -vt > /dev/null
thru: 1256.079ms at 101.9kB/s ( 101.9kB/s avg) 128.0kB
thru: 1259.942ms at 101.6kB/s ( 101.7kB/s avg) 256.0kB
thru: 1260.469ms at 101.5kB/s ( 101.7kB/s avg) 384.0kB

Автор программы — Харальд Кирш. Соответствующий пакет есть в Debian начиная с Sarge, и в Ubuntu, начиная с Dapper.

Liferea: программа чтения RSS для GNOME

Автор: Пол Гир.

Оригинал: «Liferea: an RSS reader for GNOME», 19 декабря 2007 г.

Недавно я открыл для себя программу чтения RSS Liferea, основанную на XULRunner и движке браузера Mozilla. Интерфейс напоминает почтовый клиент Mozilla Thunderbird (в Debian известный как icedove) и работает примерно так же: все новости делятся на прочитанные и непрочитанные. Вот снимок экрана с Liferea:

Liferea

Возможности программы:

Установка легко производится с менеджерами пакетов Debian или Ubuntu, соответствующий пункт добавляется в меню GNOME. Для каждого канала можно выбрать особые настройки; например, Liferea устанавливает подходящую частоту обновления, но ее можно задать вручную.

Хотелось бы видеть еще и возможность отправки интересных ссылок по электронной почте, но ее отсутствие не доставляет особых неудобств.

Хотя я открыл приложение почти случайно (нашел упоминание в логах Apache своего блога), теперь Liferea постоянно работает на моем компьютере. Если вам не понравится Liferea, можете попробовать другие программы:

Liferea есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Dapper.

HTTrack: скачивание и зеркалирование сайтов

Автор: Жао Дифей.

Оригинал: «HTTrack: Website crawler / copier», 16 декабря 2007 г.

HTTrack — мощное средство, позволяющее загружать содержимое сайтов на локальную машину или создавать зеркала.

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

Синтаксис команды httrack очень прост:

$ httrack –help
HTTrack version 3.41-3 (compiled Jul 3 2007)
usage: httrack <urls> [-option] [+<URL_FILTER>] [-<URL_FILTER>]
[+<mime:MIME_FILTER>] [-<mime:MIME_FILTER>]

Вот пример загрузки копии debian.org в директорию «httrack»:

$ mkdir httrack
$ cd httrack/
$ httrack debian.org
Mirror launched on Sun, 30 Sep 2007 18:05:40
by HTTrack Website Copier/3.41-3+libhtsjava.so.2 [XR&CO’2007]
mirroring debian.org with the wizard help.
* debian.org/intro/about.ro.html (17854 bytes) - OK

HTTrack может также использовать фильтры: шаблон с суффиксом + обозначает загрузку, а шаблон с суффиксом - — пропуск отдельных страниц. Например, можно загрузить документы Slashdot, за исключением тех, что относятся к субдомену apple.slashdot.org:

$ httrack slashdot.org -apple.slashdot.org*

Вот другой пример — пропуск документов типа image/jpeg:

$ httrack slashdot.org -mime:image/jpeg

Для загрузки содержимого двух сайтов, разделяющих общие ссылки, запустите

$ httrack www.microsoft.com www.evil.com

Есть еще много продвинутых возможностей, заинтересованные читатели могут обратиться к руководству. HTTrack есть в Debian, от Sarge до Sid, и в Ubuntu, от Dapper до Gutsy.

gddrescue: средство восстановления данных с поврежденных носителей

Автор: Джон Карлайл-Клэрк.

Оригинал: «gddrescue: a tool for recovering data from damaged media», 12 декабря 2007 г.

Мне нужно было восстановить данные со сбойного винчестера, и я спросил в IRC, есть ли хорошие средства для Ubuntu. Кто-то назвал GNU ddrescue (в Debian и Ubuntu — пакет gddrescue), разработанный для восстановления данных из любого файла или блочного устройства.

Не путайте это с dd_rescue (соответствующий пакет — ddrescue), GNU ddrescue лучше.

На сайте GNU перечислены основные возможности программы:

Алгоритм работы GNU ddrescue таков:

  1. Если нужно, считывается журнал, где описано состояние предыдущего прерванного сеанса работы, либо прежних попыток восстановления различных участков файла.
  2. До указанного места, либо до прерывания пользователем считываются неповрежденные участки входного файла.
  3. Делается попытка прочитать поврежденные участки. Поврежденные участки разбиваются на более маленькие, из них считываются уцелевшие фрагменты; и так пока не будет достигнут физический размер блока устройства, либо работу не прервет пользователь.
  4. Поврежденные блоки считываются в указанное число попыток, либо до прерывания работы.
  5. Если нужно для последующего вызова, записывается журнал работы.

Для использования требуется установить пакет gddrescue, но запускать нужно ddrescue. Эта путаница связана с тем, что соответствующее название пакета уже использовалось dd_rescue.

Синтаксис команды прост, и к программе прилагается хорошая документация man и info. Вот пример работы с компакт-диском (ошибок не найдено).

$ ddrescue -v /dev/cdrom Recovered.iso ddrescue.log

About to copy 101763 kBytes from /dev/cdrom to Recovered.iso
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 hard blocks
Hard block size: 512 bytes
Max_retries: 0 Split: yes Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 101763 kB, errsize: 0 B, current rate: 3801 kB/s
ipos: 101711 kB, errors: 0, average rate: 2702 kB/s
opos: 101711 kB

Полезные ссылки

Схожие проекты

Live CD с программами для восстановления данных

gddrescue есть в Debian, начиная с Etch, и в Ubuntu, начиная с Edgy. Проект разрабатывает Антонио Диаз Диаз с 2004 года.

Clusterssh: работа с несколькими сеансами SSH через общий интерфейс

Автор: Маурицио Педральжио.

Оригинал: «Clusterssh: control serveral ssh sessions via a single interface», 9 декабря 2007 г.

Clusterssh — программа с графическим интерфесом, позволяющая открыть несколько соединений по SSH и выполнять одновременно во всех них команды. Для меня Clusterssh полезна во многих ситуациях, например, когда нужно сделать dist-upgrade на множестве серверов.

Для управления сеансами служит маленькое меню программы, а на каждый из сеансов открывается окно Xterm. Сеанс открывается по щелчку на «Hosts → Add Host».

Открытие сеанса в Clusterssh

В окне «Add Host» нужно написать «пользователь@сервер», тогда появится новое окно с командной оболочкой. Для каждого сервера можно открывать отдельный сеанс. Через поле ввода в основном окне Clusterssh можно посылать команды во все сеансы.

Массовое выполнение команд в Clusterssh

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

Чтобы исключить сеанс из перечня массового выполнения команд, нужно снять соответствующий флажок в меню «Hosts». На снимке ниже команды будут исполняться на 192.168.15.104, и localhost1, но не на localhost:

Перечень сеансов для массового выполнения команд в Clusterssh

Чтобы исключить все сеансы, используйте команду «Toggle active state»; для упорядочивания окон на экране служит «Retile». Clusterssh можно запустить из командной строки:

cssh сервер_1 сервер_2 … сервер_N

Clusterssh уже давно есть в Debian и Ubuntu.

VirtualBox: ваш виртуальный ПК

Автор: Томас Посписек.

Оригинал: «VirtualBox: A virtual PC for you», 5 декабря 2007 г.

VirtualBox — эмулятор ПК. При помощи него из-под Debian можно запускать Windows, Open BSD или даже Linux. Так как программа имеет версии для Windows и Mac OS, вы можете использовать ее для запуска Debian в несвободных системах. Однако имейте в виду, что VirtualBox работает только на платформах x86 и x86_64.

Эмулятор можно использовать, чтобы посмотреть дистрибутив Live CD, либо помочь проекту KDE с тестированием KDE4, не трогая систему, в которой вы работаете.

У VirtualBox есть хороший графический интерфейс — вот снимок экрана с загруженным диском KDE4:

VirtualBox с KDE4

Для работы VirtualBox требуются особые модули. Пакет virtualbox-ose-modules содержит собранные модули для основных тестируемых ядер, подходящую версию нужно будет установить вручную. Если пакет не подойдет, придется собирать модули самостоятельно. В Debian это делается так:

$ sudo apt-get install virtualbox-ose virtualbox-ose-sources module-assistant
$ sudo module-assistant prepare virtualbox-ose
$ sudo module-assistant auto-install virtualbox-ose
$ ls /usr/src/virtualbox-ose-modules-*
$ sudo dpkg -i /usr/src/virtualbox-ose-modules-*.deb

Последнюю строчку нужно поменять, чтобы использовать пакет virtualbox-ose-modules для своего ядра.

Также всех пользователей, которые могут запускать VirtualBox, требуется объединить в группе vboxusers. Текущий пользователь добавляется так:

$ sudo adduser `whoami` vboxusers

Теперь нужно заново войти в систему, чтобы контекст процесса узнал, что вы входите в группу vboxusers. Вы можете это сделать при помощи su:

$ su `whoami` -

Теперь можно приступать:

$ virtualbox

Если кому интересно, как это работает: VirtualBox, где это возможно, пытается исполнять родной код, а, если требуется, использует динамическую пересборку, как QEMU. Также программа перемещает исполняемый код, предназначенный для нулевого кольца защиты (в котором исполняется код ядра), в первое кольцо; из-за этого функции процессора VMX используются в небольшой степени. Подробности смотрите в технической документации.

Пакет virtualbox-ose есть в тестовой и нестабильной ветке Debian и в Ubuntu, начиная с Gutsy (если будете переходить к тестовой ветке, учтите, что нужно будет поучаствовать в самом тестировании). Для текущей стабильной версии Debian (Etch) есть бэкпорт.

Примечание переводчика: Вместо su `whoami` - лучше newgrp(1).