четверг, 3 мая 2007 г.

Howto: Устатовка Windows из Linux с помощью VMWare Server.

В этом Howto я расскажу о том, как поставить VMWare Server на компьютер под управлением Linux, в частности Debian и [K]Ubuntu, и с помощью этой программы установить виртуальную машину Windows. Я взял Windows лишь для примера, хотя ничего не мешает создать гостевую операционную систему с FreeBSD, Solaris, другого дистрибутива Linux или просто попробовать Live-CD.

Установка.

Установка VMWare Server в Ubuntu Feisty Fawn.

Проще всего установить VMWare Server в последней версии [K]Ubuntu. Для этого нужно лишь добавить коммерческий (commercial) репозиторий в список доступных репозиториев, обновить список и установить программу.
Т.е., открываем файл /etc/apt/source.list

$ sudo vi /etc/apt/source.list

и вносим в него следующую строчку:

deb http://archive.canonical.com/ubuntu feisty-commercial main

обновляем список

$ sudo apt-get update

и ставим VMWare Server

$ sudo apt-get install vmware-server

Здесь вам придется ответить на десяток-другой вопросов, но ничего страшного в этом нет. В подавляющем большинстве случаев нужно лишь жать Enter. Единственное, что желательно изменить, - это директория, в которой будут находится виртуальные машины. Для примера я выбрал /var/vmware/. Главное, чтобы было достаточно свободного места (хотя бы 5-7 Гб).

Получение лицензионного номера.
В самом конце нужно ввести лицензионный номер. Для того чтобы получить последний, нужно зайти на сайт проекта и заполнить форму регистрации на этой странице http://register.vmware.com/content/registration.html В поле "VMware products you currently use:" укажите VMware GSX Server.
Советую сохранить этот номер, так как он может понадобиться в будущем.

На этом установка в Feisty Fawn закончена. Можно приступать к созданию виртуальной машины. О том как это сделать я расскажу в следующем пункте, сразу после описания установки в Debian и более старых версиях семейства Ubuntu.

Установка VMWare Server в Debian Etch.

Поскольку VMWare Server в репозиториях Debian нет (по крайней мере я о таких не слышал), придется скачивать архив и ставить из него. Но опять же, это совсем не сложней установки в Ubuntu 7.04, все за вас сделают скрипты, написанные на Perl.
Приступим, пожалуй.

Первым делом обновляем базу данных доступных пакетов:

$ su
# apt-get update

и устанавливаем необходимые пакеты:

# apt-get install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential

Скачиваем архив VMWare Server с сайта программы http://www.vmware.com/download/server/. На данный момент самая новая версия 1.0.3. Если лень идти на сайт и читать лицензионное соглашение (многие ли из нас его читают?), то можно скачать по нижеприведенной ссылке:

# cd /tmp
# wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.3-44356.tar.gz

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

Разархивируем и заходим в созданную директорию:

# tar xzvf VMware-server-1.0.3-44356.tar.gz
# cd vmware-server-distrib/

и запускаем установочный скрипт

# ./vmware-install.pl

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

Создание виртуальной машины Windows в Ubuntu и Debian.

Если установка прошла успешно, то набрав в терминале vmware&, вы должны увидеть следующее окошко:



Здесь выбираем Local host и жмем Connect.

Теперь:
- вставляем диск с Windows (или с чем-нибудь другим) в CD-ROM;
- в окне VMware Server Console (именно оно должно открыться при запуске команды vmware) выбираем 'Create a new virtual machine'
- Next
- Typical - Next
- Оставляем Microsoft Windows и выбираем версию Windows - Next
- Указываем директорию, в которой будут находиться виртуальные машины (впишите то же, что и при установке) - Next
- В пункте выбора типа подсоединения к сети я выбрал NAT - Next
- Выделяем место под будущую машину. Советую задать не меньше 5 Гб, хотя все зависит от того, насколько интенсивно вы собираетесь использовать данную систему и что собираетесь в ней устанавливать. - Finish

Создание виртуальной машины займет некоторое время.

Установка Windows из Linux.

После создания, виртуальная машина должна появиться в меню Inventory.Запускаем ее и начинаем установку Windows.



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

После пары перезагрузок (виртуальных) вы окажетесь в полноценной среде Microsoft Windows (ой, что-то знакомое:)).

Я не тестировал установленную таким способом систему на производительность, но такое впечатление, что работает почти также как и обычная система (это при том, что по умолчанию стоит 256 Мб оперативки). В общем не знаю, как на счет игр, но работать в IE можно без проблем (именно из-за этого чуда я и устанавливал Windows).

Вот так это выглядит сейчас (дело дошло до запуска иксовых приложений родного Debian с помощью putty).



Ну и напоследок несколько подсказок по работе с VMWare Server.
Используйте комбинацию клавиш Ctrl + Alt для перемещения курсора мыши из Linux в виртуальную машину и обратно. Для того чтобы виртуальная машина занимала весь экран монитора, нажмите Full Screen. Все просто!

Удачных вам экспериментов!

Читать дальше...

среда, 18 апреля 2007 г.

Чтение-запись NTFS с использованием драйвера ntfs-3g в Debian.

NTFS-3g - это свободный драйвер для работы в режиме чтения и записи с файловой системой NTFS. Это еще одно детище файловой системы в пространстве пользователя - FUSE. По умолчанию (без этого драйвера) в большинстве дистрибутивов Linux поддерживается только чтение, для разделов NTFS и чтение/запись, для разделов FAT. Поэтому, если у вас помимо Linux на компьютере установлена Windows, работающая на NTFS, вам понадобится установка дополнительного драйвера, лучшим из которых является NTFS-3g.

Установка в Debian Sarge, Debian Sid и Ubuntu.

Здесь никаких проблем нет, так как данный драйвер входит в репозитории дистрибутивов.

$ sudo apt-get install ntfs-3g

FUSE и пару дополнительных библиотек установятся, как нужные для работы драйвера.

Установка в Debian Etch.

По причинам безопасности NTFS-3g не был вкючен в Debian Etch (выглядит странно, так как уже вышла стабильная версия драйвера 1.0). О том, чем заменить этот драйвер, я так ничего и не нашел. Поэтому решил ставить из backports.

Добавляем backports в список доступных репозиториев:

$ sudo vi /etc/apt/source.list

и вставляем

deb http://www.backports.org/debian sarge-backports main

(в edgy-backports драйвера пока нет)

Загружаем и добавляем ключи:

$sudo wget -O - http://backports.org/debian/archive.key | sudo apt-key add -

(можно и не добавлять, но в таком случае все время при обновлении списка репозиториев будет выскакивать предупреждение)

Обновляем список репозиториев и устанавливаем NTFS-3g:

$ sudo apt-get update
$ sudo apt-get install ntfs-3g
Альтернативный способ:
$ wget ftp://ftp.ru.debian.org/debian/pool/main/n/ntfs-3g/libntfs-3g0_1.328-2_i386.deb
$ wget ftp://ftp.ru.debian.org/debian/pool/main/n/ntfs-3g/ntfs-3g_1.328-2_i386.deb
$ sudo apt-get install fuse-utils libfuse2
$ sudo dpkg -i libntfs-3g0_1.328-2_i386.deb
$ sudo dpkg -i ntfs-3g_1.328-2_i386.deb

Монтирование.

Создаем точку монтирования:

$ sudo mkdir /mnt/win

Монтируем:

$ sudo mount -t ntfs-3g /dev/sda1 /mnt/win -o umask=0

Вместо /dev/sda1 запишите windows раздел вашего диска (обычно это /dev/hda1). Если у вас локаль отличная от UTF8, выставьте ее значение с помощью опции nls (например nls=koi8-r)

Отмонтировать можно командой:

$ sudo umount /mnt/win

Убедившись в том, что все работает правильно, запись можно добавить в файл /etc/fstab:

$sudo vi /etc/fstab

добавляем:

/dev/sda1 /mnt/win ntfs-3g umask=0,nls=ваша_локаль 0 0

(в случае, если у вас несколько разделов - таким же образом добавьте их все)

Монтируем:

$ sudo mount /mnt/win

После монтирования можно зайти в папку /mnt/win и проверить содержимое. Скорость работы с файловой системой должна быть такой же как и с Linux разделами. Также не должно быть никаких проблем с отображением русских имен файлов.

P.S. Будьте осторожны при удалении файлов из папки windows :).

Читать дальше...

Как оно... в космосе!?

До чего техника дошла! Вашу маму и тут, и там показывают! Человеки с космоса блоги ведут, да еще поговорить со всеми просятся...






Кому интересно, вот ссылка.

P.S. Извините за маленький оффтоп, уж больно реклама понравилась.

Читать дальше...

понедельник, 16 апреля 2007 г.

Gspace - платформонезависимый доступ к виртуальному диску Gmail.

Для тех, кому не хочется возиться с GmailFS, советую попробовать Gspace.

Gspace - это плагин для Firefox, позволяющий легко перемещать файлы на виртуальный диск Gmail. Все, что нужно, - это аккаунт на gmail и браузер Firefox. Установить плагин можно отсюда.
Запускается Gspace из меню "Инструменты". После запуска в браузере откроется новая вкладка.



Как видно из рисунка, внешне работа с Gspace сродни с работой с обычным FTP клиентом, слева выбираем раздел на своем компьютере - справа высвечивается виртуальный раздел gs:/.

Первым делом нужно залогиниться, жмем на Manage Accounts, заполняем поля Gmail Id и Password (можно ввести несколько аккаунтов) и жмем на кнопку Login. Для копирования файлов нужно нажать на стрелочку, расположенную между двумя панелями. Процесс показывается в поле Transfers.
По умолчанию стоят ограничения на некоторые расширения файлов и на их размер (до 14 мегабайт). Изменить это можно в пункте меню Preferences.
Пункт Inbox предназначен для быстрого доступа к папке входящих сообщений на почтовом ящике gmail. Больше внимания заслуживает следующий пункт - выбора моды, по умолчанию стоит File Transfer Mode. Кроме нее есть еще Photo Mode, Player Mode и Gmail drive Mode для просмотра изображений, прослушивания музыкальных файлов и работы с виртуальным диском соответственно. Ниже приведен пример работы в Photo Mode.



Как видно Gspace - это очень простая утилита для работы с дисковым пространством, предоставляемым вам вместе с аккаунтом на Gmail. Gspace будет полезен тем, кто хочет иметь доступ к определенным файлам с любого компьютера.

Читать дальше...

Gmailfs. Монтируем Gmail как сетевой диск.

Продолжаю играться с виртуальными файловыми системами, построенными на основе fuse (Filesystem in Userspace) - файловой системы в пространстве пользователя. Здесь (SSHFS -монтирование удаленных систем через SSH) я уже писал о sshfs - утилите, позволяющей монтировать разделы удаленного компьютера с помощью fuse. Также существуют еще fuseftp, для монтирования ftp разделов, fusesmb монтирования сетевых директорий Windows, ntfs-3g для монтирования ntfs разделов с возможностью записи, о которых я, надеюсь, напишу позже. Вообще, для желающих создать свою виртуальную файловую систему есть статья Разработка собственной файловой системы с помощью FUSE.


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

Установка.

Здесь я рассматриваю установку программы в Debian Etch. Все должно работать и в последних версиях (Edgy и Feisty) Ubuntu/Kubuntu. С Dapper были некоторые проблемы, решение описано здесь.
Бинарные пакеты для других популярных дистрибутивов тоже существуют. Проверьте с помощью менеджера пакетов вашей системы.
Для работы программы в системе должен быть установлен Python версии 2.3 или позже. Также ядро должно быть собрано с поддержкой fuse. В последних версиях ядра он включен по умолчанию. Если в ядро вашего дистрибутива этот модуль не включен, соберите и установите его как описано здесь.

Собственно установка:

$ sudo apt-get install gmailfs

Проверяем, загружен ли модуль fuse (у меня не был):

$ lsmod | grep fuse

Если команда выдает что-нибудь наподобие:

fuse 48944 0

все замечательно, следующий шаг можно пропустить, иначе
подгружаем модуль fuse:

$ sudo modprobe fuse

Модуль должен подгрузиться. Можете проверить опять.

Теперь можно приступить и к знакомой работе, связанной с монтированием.

Монтирование.

Создаем точку монтирования:

$ sudo mkdir -p /mnt/gmail

Монтировать как всегда можно вручную (после перезагрузки все теряется) и прописав опции монтирования в файле /etc/fstab. Все зависит от частоты перезагрузки вашего компьютера и частоты пользования данной утилитой. Рассмотрим оба варианта.

Монтирование вручную:

Наберите в терминале следующее:
$ sudo mount -t gmailfs none /mnt/gmail -o username=account_name@gmail.com,password=password,fsname=xxx
Ignored option :rw

Вставьте соответственно имя своего аккаунта и пароль. Также введите что-нибудь пооригинальней в пункте fsname (вроде пароля).

Для проверки скопируйте файл в созданную директорию и проверьте ее содержимое (только под пользователем root).

$su
#cd /mnt/gmail/
#mc (копируем файлы в папку /mnt/gmail)
#ls
1.png 2.png 3.png 4.png

Закончив работу, отмонтируем:

#umount /mnt/gmail

Монтируем с записью в /etc/fstab/:

Открываем упомянутый файл:

$ sudo nano /etc/fstab

и вносим в него опции монтирования:

/usr/share/pycentral/gmailfs/site-packages/gmailfs.py /mnt/gmail gmailfs username=account_name@gmail.com,password=password,fsname=xxx

Сохраняем изменения и монтируем:

$sudo mount /mnt/gmail

Виртуальная файловая система смонтирована и готова к работе.

В качестве альтернативы все данные (имя, пароль и fsname) можно занести в файл /etc/gmailfs/gmailfs.conf и после этого монтировать без них.

Теперь несколько слов о проблемах:

1. При копировании файла на gmail-disc на ящик приходит 3 письма с такими заголовками:
"v=3 r=1137456558 q=__g__gmail__h__ "

Я эту проблему решил с помощью настройки фильтров на аккаунте gmail и в почтовой программе. В качестве параметра для фильтрования можно задать величину q=__g__123123__h__, где 123123 ваш fsname.


2. Работать можно только от пользователя root
От имени обычного пользователя зайти в примонтированную папку не получается. При попытке просмотреть права доступа выдает следующее:

serhiy@debian:/mnt$ ls -l
итого 6
?--------- ? ? ? ? ? gmail

Пока не знаю как с этим бороться. Добавление пользователя в группу fuse не помогло. Может, кто-нибудь сталкивался?

Монтировать нужно от имени обычного пользователя, а размонтировать с помощью sudo:

serhiy@debian:/mnt$ mount /mnt/gmail/
serhiy@debian:/mnt$ cd gmail/
serhiy@debian:/mnt/gmail$ ls
1.png 2.png 3.png 4.png IMG_0001.JPG
serhiy@debian:/mnt/gmail$ umount /mnt/gmail
serhiy@debian:/mnt/gmail$ cd ..
serhiy@debian:/mnt$ umount /mnt/gmail
umount: /mnt/gmail mount disagrees with the fstab
serhiy@debian:/mnt$ sudo umount /mnt/gmail/
serhiy@debian:/mnt$
Может это выглядит и не очень красиво, но зато работать можно от имени обычного пользователя. В целом, меня все устраивает.

Пока же буду работать только от имени суперпользователя.

Читать дальше...

четверг, 12 апреля 2007 г.

Gutsy Gibbon, в зверинце Ubuntu пополнение.

Еще не вышел Feisty Fawn (выход планировался на 19 апреля, но, видимо, будет немного задержан), а Mark Suttleworth уже назвал имя его приемника - Gutsy Gibbon (бесстрашный гиббон). В заявлении основателя дистрибутива Ubuntu прозвучала также еще одна новость, даже интереснее предыдущей. О новом ультра-свободном дистрибутиве, который будет разрабатываться параллельно с Gutsy. "Ультра-свободный" означает, что он не будет включать никаких программ, не предоставляющих исходные коды, свободные для редактирования.
Что касается Gutsy Gibbon, то Mark предсказывает (хотя не без боязни), что композитный менеджер Compiz/Beryl будет включен по умолчанию (что обещалось и для Edgy и для Feisty). Поживем - увидим.

Читать дальше...

Macromedia Flashplayer в Debian Etch/AMD64.

Adobe упорно игнорирует пользователей 64-битных Linux дистрибутивов, не предоставляя Flashplayer. Так, установив Debian Etch/AMD64 и запустив Iceweasel (Firefox), даже не пытайтесь заходить на такие сайты, как Youtube и Google Video. Без Flashplayer там делать нечего. А хотелось бы. В Kubuntu Dapper Drake эту проблему я решил с помощью специального скрипта (описано здесь), но в Debian Etch он не заработал. Поэтому было найдено другое решение - воспользоваться услугами Nspluginwrapper. Nspluginwrapper - это кроссплатформенный интерфейс, разработанный как раз для того, чтобы пользователи Mozilla/Firefox архитектур AMD64 и PowerPC могли использовать плагины, разработанные только для i386.

Установка

Первым делом установим Nspluginwrapper:

$ sudo apt-get install nspluginwrapper

(contrib - должен быть добавлен в source.list)

Хоть в названии я и указал Debian Etch, но думаю, что бинарные пакеты есть и для других дистрибутивов. В любом случае на сайте разработчика можно взять исходники. Установив у себя nspluginwrapper, все нижеописанное можно применить практически к любому дистрибутиву.

Теперь идем на сайт Adobe и качаем плеер (TAR.GZ, 2.5 MB):

$wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz

Распаковываем:

$tar -xzvf flash_player_9_linux_dev.tar.gz

Заходим в созданную директорию и копируем нужные файлы в папку с плагинами Iceweasel (Firefox):

$ cd install_flash_player_9_linux/
$ sudo cp libflashplayer.so flashplayer.xpt /usr/lib/mozilla/plugins

В случае с Firefox вместо mozilla может быть firefox (т.е. /usr/lib/firefox/plugins).

Запускаем Nspluginwrapper с нужными ключами:

$nspluginwrapper -v -a -i

Проверяем работу плеера (заходим на сайт yuotubu.com и запускаем первый попавшийся видео-ролик).
Последнюю команду нужно будет запускать каждый раз после обновления браузера.

Таким же образом можно запускать и другие i386 плагины.

В конце добавлю, что данный метод работает со всеми браузерами, основанными на движке Gecko (Epiphany, Firefox, Galeon,...).

Читать дальше...

Сделай сам... Tux'а.

Чего только не найдешь в интернете. Знакомьтесь, бумажный Tux (в перспективе):



Вечером попробую собрать :).

Читать дальше...

пятница, 6 апреля 2007 г.

Поставил Debian.

После долгих мучительных раздумий - обновиться до Kubuntu 7.04 или все бросить и поставить Debian Etch - выбрал второй вариант. Сработало элементарное любопытство. С новинками же от Kubuntu буду знакомиться на ноутбуке.
Несколько слов о моих впечатлениях. В основном - приятные. Не сработал скрипт для установки Firefox+Macromedia Flash в Linux 64-bit (работавший в Ubuntu Dapper). Немного попотев поставил вручную (теперь это Iceweasel). В принципе все. Все остальное ставилось и работало без проблем.

Понравилось то, что все ставишь сам (конечно не Gentoo, но после Kubuntu...). Никаких проблем с мультимедиа (даже не о чем писать :)).

Главное, что меня поразило - это скорость. На моем компьютере и Kubuntu летал, но Debian намного быстрей. Правда, склонен считать, что это связано с тем, что в Kubuntu работало огромное количество дополнительных служб, которые в Debian я еще не поставил (не знаю, измерял ли кто скорость работы Debian с KDE и Kubuntu сразу после установки? есть ли разница?).

В общем ничего страшного в Debian нет. Тот же Kubuntu :).

Читать дальше...

Как долго Вы в Linux?

Голосование именно под таким названием больше месяца проходило на этом блоге. Больше 200 человек проголосовали за это время. Результаты приведены ниже:


Как видно из таблицы, больше всего пользователей (30%) работают в Linux больше двух лет, но меньше четырех. Далее, новичков (меньше года), от 1 до 2 лет и опытных пользователей (больше 5 лет) приблизительно одинаково (по 20%). Меньше всего тех, кто только собирается переходить. Таких только 10%. Ничего странного в этом нет. Честно говоря, думал что будет меньше (есть работа для linux-миссионеров :)). Если говорить о выводах, то вывод один - блог посещают пользователи с разным уровнем владения системой. Поэтому, при написании статей нужно ориентироваться на всех (как? напиши слишком просто, опытный и читать не захочет; напиши, без подробностей - новичок не поймет, а спросить в комментариях не захочет, пойдет дальше в Google искать попроще; напиши что нибудь на серьезном уровне - уупс, тут пока и у самого знаний не хватает)... Но все же буду пытаться.

Написав о результатах, голосование закрываю. Главная причина - это нечестность бесплатных сервисов, предоставляющих свои услуги, как они говорят, "за маленькую текстовую рекламу". Это уже второй случай. Для первого голосования "Какой вы используете дистрибутив Linux?" я воспользовался услугами Bravenet Mini Poll (послушавшись совета google). Результат - всплывающие окна с рекламой (больше всего ненавижу, хоть браузеры и блокируют их). Для следующего голосования, основательно почитав перед этим на форумах, вышел на www.addpoll.com. Результат - такого здоровенного всплывающего окна я не видел уже давно.



И это на моем блоге. Пошел гуглить и узнал, что информации по запросу ilead.itrack.it просто куча. Не один я такой. Узнал с чем это связано.
Таким образом, больше никаких голосований. Разве что создавать самому (но для блога на blogspot я пока не представляю как это сделать).

В качестве постскриптума прошу прощения у всех посетителей блога, терпевших это безобразие.

Читать дальше...

вторник, 27 марта 2007 г.

Создание скринкастов в Linux.

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

Большинство таких видео файлов создается с помощью специальных программ, которые могут сохранять все действия, происходящие на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .gif или флеш .swf). Сохраненный таким образом файл называется скринкастом (screencast). Часто такая запись сопровождается аудио комментарием. Изначально скринкасты создавались в учебных целях, для того чтобы пользователю было легче разобраться с программой. Но область применения скринкастов на этом не ограничилась, чему служит доказательством широкое распространение видео файлов, показывающих лишь красоту десктопа и различных 3D эффектов.

Если и вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе, или если вы хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией Beryl'a, тогда эта статья для вас.

Istanbul

Причина, по которой я начал именно с этой программы, довольно таки банальна, Istanbul входит в репозитории Ubuntu. Поэтому для установки достаточно лишь набрать в консоли:

serhiy@kubuntu:~$ sudo apt-get install istanbul

Пользователям других дистрибутивов можно скачать и установить программу из исходников. После запуска Istanbul в трее появится белый квадратик с красным шариком посередине (такой себе квадратный флаг Японии). Все настройки доступны в пункте меню "Параметры", в который можно зайти, нажав по иконке правой кнопкой мыши.



Проделав все настройки, можно приступать к записи экрана (по умолчанию файл будет сохранен под названием desktop-recording.ogg в домашней директории). Для этого нужно лишь нажать левой кнопкой мыши по иконке (нажмите еще раз для того чтобы выключить).
Поскольку у меня нет возможности приводить здесь пример в видео формате, буду вставлять скриншоты.



Как видно из рисунка, при сжатии четкость немного теряется, но зато размер файла радует, короткий ролик занимает чуть больше мегабайта. Единственное, что раздражает, это желтый шлейф, оставляемый курсором мыши. Я так и не нашел как с этим бороться. Но эта проблема возникает не у всех (с чем она связана?). Поэтому можете попытать счастья. Тем более это не так уж и сложно. В целом, если бы не этот дефект, программа по простоте установки и использования и по качеству скринкаста заслуживает высокую оценку.


Byzanz

Еще одна программа, которую можно установить с репозитория:

$ sudo apt-get install byzanz

Эта программа не имеет GUI интерфейса, поэтому вся работа происходит в консоли. Самый простой способ записать скринкаст сводится к выполнению следующей команды:

$ byzanz-record my_desktop.gif

Как видите, результат сохранеется в виде GIF-файла. Для более подробного ознакомления с программой наберите:

$ byzanz-record --help




Вы увидите, что можно задавать длительность ролика (по умолчанию 10 сек.), координаты области экрана, которую нужно записывать, ширину и высоту записываемого прямоугольника, записывать ли курсор и некоторые другие возможности. Теперь о результатах. Ролик длительностью 10 секунд занял 5.8 мегабайт (запись всего экрана размером 1280-1024 пикселей). Качество изображения как минимум не лучше чем у Istanbul. Сказать определнно не могу, так как просмотрщик изображений очень тормозит при просмотре такой "малютки". В общем программа может и подойтет для записи некоторой (маленькой) части экрана, но определенно не всего экрана.

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


Recordmydesktop

Как говорится, название говорит само за себя. Для установки программы нужно скачать исходники. Распаковываем полученный архив, заходим в созданную директорию и устанавливаем:

$ tar -xzvf recocrmydesktop-0.3.3.1.tar.gz
$ cd recordmydesktop-0.3.3.1
$ ./configure
$ make
$ sudo make install

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

alsa (libasound)
X
libXext
libXdamage
libogg
libvorbis
libtheora

Если при конфигурации увидите сообщения об ошибках, скорей всего это будет связано как раз с отсутствием этих файлов. Установите их с помощью apt (aptitude). У меня программа стала без проблем.

Для создания видео файла (программа сохраняет выход в формате Ogg Theora-Vorbis) наберите в консоли следующее:

$ recordmydesktop -o mydesk.ogg

С помощью ключа --help можно посмотреть дополнительные опции. Их немного больше чем у byzanz, но в целом они похожи. Ниже приведен скриншот из скринкаста (извините за такой каламбур), созданного с помощью recordmydesktop.


Качество изображения лучше чем у Istanbul, но зато и размер больше. Видео файл длительностью 15 секунд занял почти 6 Мегабайт. Зато все дейтсвия, которые я вытворял с окнами и рабочим столом с устновленным Beryl воспроизводились как живые. Для записи 3D десктопа эта программа определнно лучше всех рассмотренных выше.
Если вам больше по душе программы с GUI интерфейсом, то можно установить gtk-RecordMyDesktop - .deb и исходники.


Xvidcap

Программа доступна в исходных кодах и в виде .deb пакета. Если у вас [K]Ubuntu версии 6.10 или выше, програма должна стать без проблем. Также не должно быть проблем и в Debian-testing. Пользователям других дистрибутивов скорей всего придется ставить из исходников. В процессе кодирования видео программа широко использует FFMPEG. Поэтому для нормальной работы последний должен быть установлен в системе вместе с требуемыми библиотеками.

Запустить программу можно набрав xvidcap& в терминале. В левом верхнем углу рабочего стола появится следующее окошко:





Для настройки программы нужно кликнуть правой кнопкой мыши по названию файла и пройти в пункn меню "Параметры":

Как видно из рисунка, программа не скупится на настройки. Можно выбрать различные аудио и видео кодеки, качество картинки, количество кадров в секунду.... Записываемую область экрана можно задать с помощью инструмента "Select rectangular area to capture" (ручка с зеленым колпачком). Закончив все настройки и сохранив изменения можно приступить и к записи. Для этого нужно нажать на красную кнопку. Для завершения записи нажмите квадратик.

Помимо настроек, доступных в главном окне программы, параметры "съемки" можно задавать и при старте программы. Вот как выглядит задание снять весь экран, без аудио сопровождения в файл test.mpeg.

$ xvidcap --audio no --cap_geometry 1280x1024[+0+0] --file test.mpeg

И скриншот снятый с этого видео:



Как видно качество тоже на уровне. Единственный недостаток - присутствие окна программы на экране во время "съемки". Бороться с этим можно по разному. Например можно запустить программу на съемку и свернуть, а при выключении развернуть. Потом начало и конец обрезать.

pyvnc2swf

Это скрипт, написанный на Python, который записывает рабочий стол через протокол vnc и сохраняет в флеш файл .swf. Перед установкой программы установите следующие пакеты x11vnc,python-tk и python-pygame. В Ubuntu:
$sudo apt-get install x11vnc
$sudo apt-get install python-tk
$sudo apt-get install python-pygame
Если все установилось, то можно приступить и к самой программе. Для этого скачайте архив отсюда, распакуйте:

$tar -xzvf pyvnc2swf-0.9.1.tar.gz

и зайдите в созданный каталог:

$ cd pyvnc2swf-0.9.1

Теперь откройте новый терминал (или новую вкладку(окно) теринала) и запустите там x11vnc:

$ x11vnc
вернитесь к предыдущему терминалу и запустите следующее:

$ ./vnc2swf.py

Должно появиться окошко программы:



Для записи нажмите кнопку Start. Записав, нажмите кнопку Stop, проследуйте в пункт меню File -> Save As и сохраните записанную сессию. Для просмотра скринкаста можно воспользоваться обычным браузером. Если говорить о качестве, то динамические сюжеты (игра с Beryl) отображаются плохо. Изображение явно притормаживает. Зато статические моменты отображает очень хорошо.

Wink

Загрузить программу можно отсюда.

Распаковываем скачанный архив:

$ tar -xzvf wink15.tar.gz

Запускаем инсталлер:

$ ./installer.sh

Как работать с программой можно почитать здесь. Я сам не пробовал, так как версии для 64-битных систем я не нашел.

Как видим, программ для съемки рабочего стола в Linux много, и выбор за вами, какую из них использовать. Мне больше нравятся те, которые сохраняют результат в видео файл, а не gif ил swf. Поэтому, если возникнет острое желание в создании скринкаста, то я пожалуй воспользуюсь программой recordmydesktop или xvidcap.

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

Screencast Guide: Capure Your Linux Desktop on Video!
Make a Movie of Your Linux Desktop
Пособие по видеопособиям
create screencast using xvidcap
HOW TO: Record Videos Of Your Desktop
Screencasting with Linux
Creating training movies with VNC2SWF

Читать дальше...

понедельник, 19 марта 2007 г.

Tilda и Yakuake.

Работая в основном в KDE и использую терминал konsole, никогда даже не задумывался о существовании других эмуляторов терминала в Linux. Знал, что они существуют, знал (вроде даже когда-то отрывал), что некоторым пользователям больше нравится xterm. Но почему-то взять и попробовать самому желания не возникало вообще. Наверное, потому что konsole меня полностью устраивает. А сегодня в новостях наткнулся на статью о Tilda. Почему-то сразу захотелось попробовать - понравился. Заодно установил и Yakuake. Дело в том что они очень похожи. Это терминалы, построенные по принципу классических терминалов шутеров от первого лица Quake, Doom, Half-Life и других. Терминалы, у которых нет рамки, и которые могут появляться и исчезать из экрана при нажатии определенных клавиш.

Tilda

Установка Tilda в Ubuntu:

$sudo apt-get install tilda

(Если вам больше по душе Synaptic или aptitude, установите с их помощью)
Точно не знаю, но думаю что и для других дистрибутивов существуют бинарники. В любом случае можно скачать и установить из исходников.
После запуска программы в правом верхнем углу экрана появилось маленькое окошко черного цвета и без границ с приглашением почти на четверть экрана программы. Для того чтобы свернуть(развернуть) терминал, по умолчанию нужно нажать F1. Настроить Tilda можно нажав правой кнопкой мыши на ее окошко и выбрав Preferences.
Внизу можно выбрать шрифт. По умолчанию был установлен Monospace 13, который я изменил на Dejave Sans Mono 10. В пункте Appearance можно изменить размеры окна и расположение на рабочем столе. Там же выставляется и прозрачность. В пунке Colors можно изменить цвет теста и фона. В общем, все интуитивно настраивается. Вот так выглядит терминал после настройки.


Yakuake

Устанавовка yakuake в Ubuntu:

$sudo apt-get install yakuake.

Исходники скачать можно здесь.

Если говорить коротко, то yakuake это tilda для KDE. yakuake построен на основе konsole, поэтому даже пункт настроек тот же. Для того чтобы свернуть (развернуть) терминал, нужно нажать F12. Настройки описывать не буду, все аналогично настройкам konsole. Скажу лишь, что есть пункт "Применить параметры konsole", которым я и воспользовался:


Чтобы подвести черту, скажу, что короткого знакомства с этими программами хватило для того, чтобы мне захотелось использовать их постоянно (уж очень удобны). Я остановил свой выбор на yakuake, но лишь потому, что я работаю в KDE.

p.s. пока писал, наткнулся на заметку о yakuake в Заметках на память. Не одному мне понравилось=).

Читать дальше...

пятница, 16 марта 2007 г.

Клавиатурные тренажеры в Linux.

KTouch

KTouch входит в стандартный набор обучающих программ KDE - kdeedu. Для того, что установить ее в [K]Ubuntu нужно лишь ввести в консоли:

sudo apt-get install ktouch

Теперь можно, нажав Alt + F2 и набрав ktouch, запустить программу.



Интерфейс программы полностью русифицирован, встретил меня надписью "Упражнение не загружено". Но нас этим не остановить. Идем в пункт Упражнение -> Упражнения по умолчанию и выбираем русский язык (по умолчанию установлено больше двух десятков языков). На самом деле это файлы в .xml формате, расположенные в /usr/share/apps/ktouch. Сюда вы можете загрузить дополнительные упражнения или, если есть желание, можете создать свои собственные. Для этого нужно зайти в меню Файл -> Изменить упражнения и выбрать "создать упражнения". Теперь было бы хорошо изменить раскладку клавиатуры (хотя Вы выбрали упражнение на русском языке, буквы на клавиатуре так и остались латиницей). Для этого идем в пункт Настройка -> Раскладка клавиатуры и выбираем /usr/share/apps/ktouch/ru.keyboard.
Попотев с набором, можно проверить результаты зайдя в Упражнение -> Статистика.
В общем, есть все что нужно. Не могу ничего сказать о качестве уроков, так как я их не проходил. Но если есть возможность загружать чужие и создавать свои, то, думаю, проблем возникнуть не должно.

TuxType

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



Соло на клавиатуре

Культовый клавиатурный тренажер, который проходили (или пытались пройти) большинство отечественных пользователей, теперь доступен и для Linux. Описывать программу, наверное, нет смысла. Вставлю лишь то, что пишут разработчики:

  • 1. Дистрибутив разделен на несколько установочных пакетов, которые можно загружать и устанавливать практически независимо.
  • 2. Основные параметры настройки вынесены в отдельное окно.
  • 3. Существует возможность расширенной настройки параметров программы в файле конфигурации.
  • 4. Для хранения результатов используются файлы сохранений .sav совместимые с «СОЛО на клавиатуре» 8.8 для Windows. Поддерживаются файлы сохранений от «СОЛО на клавиатуре» 8.1 для Windows (с возможностью автоматической конвертации).
  • 5. Расширение функциональности программы при помощи подгружаемых модулей.
  • 6. Возможность добавления новых курсов по мере их появления.

Как и для Windows, полная версия для Linux тоже платная. Купить можно прямо с сайта, отправив SMS на указанный номер. Стоимость SMS 5 y.e. Бесплатный ознакомительный вариант содержит лишь 20 из 100 уроков.
В репозиториях программы нет, поэтому придется качать с сайта разработчика http://ergosolo.ru/rus/download/. Для этого нужно заполнить анкету, после которой вы переместитесь на страничку загрузки. Хотя отсюда можно зайти и скачать без всяких анкет. Список доступных пакетов меня порадовал. Есть RPM пакеты для большинства дистрибутивов, пакет для Gentoo и Debian. Но для "счастливых" обладателей 64-битных процессоров ничего не предусмотрено. Надеюсь в будущем будет версия и для моей системы.
Для дистрибутива Ubuntu есть пакет лишь для версии 6.06. Впрочем, я без проблем поставил программу и в Kubuntu 6.10.
Как уже упоминалось выше, дистрибутив разделен на несколько установочных пакетов. Для нормальной работы потребуется сама программа "Соло на клавиатуре" и пакеты с курсами обучения.
После запуска жмем "Зарегистрироваться позже" -> Выбираем (создаем) пользователя -> выбираем курс - и в бой. В общем, все как в Windows версии.



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

Вот и все. Выбора почти нет. Разве что купить клавиатуру с китайской раскладкой. Способ проверенный. Быстрый слепой набор на русском языке осваивается за пару недель. Если говорить о программах, рассмотренных здесь, то меня полностью устраивает KTouch. В дополнение можно поиграться с Tuxtype. В случае, если у вас есть некоторый опыт работы с "СОЛО на клавиатуре" с Windows (например пройденные задания) и не жалко 5 долларов, то можно остановиться и на этой программе.

А тем, кому никакая программа по каким-нибудь причинам так и не понравилась, рекомендую посетить следующую страничку - http://freshmeat.net
Здесь собраны 86 различных клавиатурных тренажеров. Правда, найти среди них те, которые работают с русской раскладкой, наверное будет тяжело (если вообще возможно).

Читать дальше...

понедельник, 12 марта 2007 г.

SSHFS -монтирование удаленных систем через SSH.

sshfs - это утилита, основанная на FUSE (Filesystem in Userspace), которая позволяет монтировать удаленные системы и работать с ними так, как будто это файловая система на вашем компьютере (что-то на подобие /proc и /sys). Если вы читали предыдущую статью Установка и настройка NFS сервера и NFS клиента в [K]Ubuntu., то вам это покажется знакомым. В отличии от NFS, в sshfs все данные передаются через зашифрованное SSH–соединения. Но с другой стороны sshfs работает немного медленее. В любом случае, можно выделить несколько положительных сторон sshfs:

  • очень легка в использовании (не нужно ничего делать на сервере);
  • все данные передаются в зашифрованном виде;
  • хорошо работает при медленном и нестабильном соединении (пересоединяется в случае разрыва соединения);

Установка.
Как я уже говорил, ничего дополнительно на сервере делать не нужно. Все что надо, это установленный и настроеный OpenSSH. Поэтому переходим к настройкам на стороне клиента. FUSE был включен в ядро начиная лишь с версии 2.6.14. Если у вас версия ядра 2.6.14 или выше (чтобы узнать, запустите uname -r), можете вздохнуть с облегчением. Если нет, придется скопилировать модуль fuse и подключить его к ядру:

$sudo modprobe fuse
Теперь можно переходить к установке FUSE и sshfs. Если ваша система не предоставляет бинарных пакетов, вам придется скачать исходники и скомпилировать самому. Скачать можно здесь - FUSE и sshfs-fuse.

В Ubuntu или Kubuntu и Debian testing этого делать не нужно. Все сделали за вас. Нужно лишь установить пакеты:

$sudo apt-get install sshfs

(fuse поставится вместе с зависимостями)

Теперь, поскольку sshfs предназначен для использования от имени обычного пользователя (не рута), добавьте себя (возможно и других пользователей) в группу fuse:

$sudo usermod -a -G fuse имя_пользователя

После этого нужно перелогиниться чтобы попасть в группу fuse.

Использование.

Создайте точку монтирования, скажем, папку local в домашней директории

$cd ~
$mkdir local

Монтируем:

$ sshfs alien@10.52.31.1:/home/data /home/serhiy/local

(заметьте, монтирование происходит от имени обычного юзера (нет sudo перед командой монтирования))

здесь:
alien - это имя пользователя на удаленной машине
10.52.31.1 - IP удаленного компьютера
/home/data - директория на удаленном компьютере
/home/serhiy/local - точка монтирования на компьютере пользователя, куда будет монтирована /home/data.

После этого должно появиться приглашение:

The authenticity of host '10.52.31.1 (10.52.31.1)' can't be established.
RSA key fingerprint is 28:a2:c5:8c:93:db:3c:95:1c:e0:90:c8:71:7f:53:43.
Are you sure you want to continue connecting (yes/no)? yes
alien@10.52.31.1's password:

(введите пароль пользователя alien). Все. Заходим в /home/serhiy/local, гды вы должны увидеть содержимое /home/data удаленного компьютера.

Если после ввода пароля Вы увидите запись (у меня она появилась при входе с Kubuntu Edgy Eft на Kubuntu Dapper Drake):

$fusermount: failed to open /dev/fuse: Permission denied

это может быть связано с багом fuse. Для решения этой проблемы измените группу файла /dev/fuse на fuse:

$sudo chgrp fuse /dev/fuse

Поработав, можно и отмонтировать:

$ fusermount -u ~/local

Как я уже упомянул, после запуска команды на монтирование приходится вводить пароль SSH (если вы не настроили доступ по ключам до этого). Это не очень удобно. Поэтому, для большего удобства, настроим соединение с помощью ключей. Для этого на компьютере пользователя:
$cd ~
$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/serhiy/.ssh/id_rsa):ENTER
Enter passphrase (empty for no passphrase): ENTER
Enter same passphrase again: ENTER
Your identification has been saved in /home/serhiy/.ssh/id_rsa.
Your public key has been saved in /home/serhiy/.ssh/id_rsa.pub.
The key fingerprint is:
fa:e7:7c:e1:cb:7b:66:8b:67:07:05:99:7f:05:b9:4a
Все. Ключи были созданы в папке .ssh. После этого нужно добавить ключ id_rsa.pub в список авторизованных ключей на сервер:


$cat ~/.ssh/id_rsa.pub | ssh alien@10.52.31.1 "cat - >> .ssh/authorized_keys"

Замените alien и 10.52.31.1 на имя пользователя и IP удаленного сервера.

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

$ fusermount -u ~/local

и примонтируйте заново.

Источники:
http://linux.inet.hr/sshfs_secure_and_transparent_access_to_remote_filesystems.html
http://www.linuxjournal.com/article/8904
http://iar.spb.ru/ssh/mount

Читать дальше...

четверг, 8 марта 2007 г.

Установка и настройка NFS сервера и NFS клиента в [K]Ubuntu.

Network File System (NFS) — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS - это клиент-серверное приложение. Т.е. в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство - NFS-сервер. Здесь я хочу показать, как просто установить и настроить эти программы в [K]Ubuntu Linux. (Вся информация рассчитана для новичка в Linux. Если вы имели опыт установки NFS в Linux - ничего нового, вероятно, вы здесь не найдете. Целью статьи является, показать как легко это может быть реализовано.)

Установка и настройка NFS-сервера.

Устанавливаем NFS-сервер:

$sudo apt-get install nfs-kernel-server nfs-common portmap

Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:

$sudo vi /etc/exports

В приведенном ниже примере я выделил директорию /data (директория с данными на сервере) в совместное пользование всем компьютерам с IP - 192.168.1.1 - 192.168.1.255 с правами чтения и записи:

/data 192.168.1.1/24(rw,no_root_squash,async)

Или еще пример:

/home/serhiy/ 192.168.1.34(ro,async)

домашняя директория пользователя serhiy стала доступной в режиме только чтение для компьютера с IP 192.168.1.34. Все остальные компьютеры сети к этому разделу доступа не имеют.

Опции:
ro - права только на чтение. Можно и не указывать, так как она установлена по умолчанию.
rw - дает клиентам право на запись.
no_root_squash - по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.
noaccess - запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
О других опция можно почитать здесь.

Теперь нужно перезапустить nfs-kernel-server:

$sudo /etc/init.d/nfs-kernel-server restart

Если после этого вы захотите поменять что-нибудь в файле /etc/exports, то для того, чтобы изменения вступили в силу, достаточно запустить следующую команду:

$sudo exportfs -a

Все. NFS-сервер установлен и настроен. Можно переходить к настройке NFS клиента.

Установка и настройка NFS-клиента.

Установка:

$sudo apt-get install portmap nfs-common

Монтирование:

Создаем точку монтирования. Допустим, это будет папка в вашей домашней директории с названием data:

$cd ~
$mkdir data

Монтировать можно двумя способами - каждый раз вручную или прописав опции монтирования в файл /etc/fstab. Мне больше нравится второй способ:

$sudo vi /etc/fstab

и в конце дописываем следующую строку:

192.168.1.1:/data ~/data nfs rw,hard,intr 0 0

Вместо 192.168.1.1:/data впишите IP или имя сервера и путь к директории совместного пользования.
Опции монтирования можно изменить.

Записав и сохранив изменения, можно монтировать:

$sudo mount ~/data

Если все прошло успешно, то набрав в терминале

$cd ~/data
$ls

вы увидете содержимое папки /data, находящейся на NFS-сервере. Можете проверить скорость работы и запустить, например, фильм с этого раздела.

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

Читать дальше...

суббота, 3 марта 2007 г.

Дисковые квоты в Linux

Как известно, Linux - это многопользовательская операционная система. Это значит, что на одном компьютере могут работать несколько человек одновременно. Каждый из них имеет свою домашнюю директорию, которая находятся в разделе /home. Многие администраторы для /home создают отдельный раздел на жестком диске. Следовательно, что мы имеем? Есть отдельный раздел диска фиксированного размера и есть несколько пользователей, которые могут им пользоваться. Здесь возникает вопрос. А как разделить это пространство между всеми пользователями? Как застраховаться от ситуации, когда пользователь захочет перенести в свой раздел всю коллекцию фильмов или музыки? Для решения этой проблемы в Linux и существуют квоты.


Установка дисковых квот.

Первым делом в ядре должна быть включена поддержка квот. Если у вас ядро серии 2.6, то по умолчанию квоты включены, если - 2.4 - пересоберите ядро (посмотреть версию ядра можно командой uname -r). Для того, чтобы проделать все нижеописанное, Вам понадобится утилита quota, установленная на вашем компьютере. Бинарные пакеты существуют для всех распространенных дистрибутивов.
В Debian-производных дистрибутивах установка с помощью утилиты apt-get выглядит так:

$ sudo apt-get install quota

Все. Никаких дополнительных пакетов не требуется.

Теперь, как я уже упоминал выше, допустим, у нас есть папка /home, смонтированная на отдельном разделе жесткого диска, скажем /dev/sda8, размером 20Гб, и два пользователя - serhiy и nadiia с домашними директориями /home/serhiy/ и /home/nadiia. И что я хочу сделать? Правильно, ограничим пользователя nadiia всего 50 мегабайтами. Приступим.

1. Загрузитесь в однопользовательский режим. Поскольку директория /home будет перемонтирована, то мы должны застраховаться от того, что другие пользователи могут потерять свои данные.

#init 1

(этого можно и не делать, если вы уверены, что за компьютером больше никто кроме вас не работает)

2. Отредактируйте файл /etc/fstab/:

$sudo vi /etc/fstab/

добавив usrqouta к опциям раздела /home.
Вот так это выглядит у меня:

/dev/sda8 /home ext3 defaults,usrquota 0 2

3. Перемонтируйте раздел /home:

$ sudo mount -o remount /home

4. Создайте файлы aquota.user и/или aquota.group. Файлы должны быть созданы в самой верхней директории раздела. В нашем случае это /home. Поскольку я хочу ограничить квотами лишь пользователей, файл aquota.group я создавать не буду.

$ sudo touch /home/aquota.user
$ sudo chmod 600 /home/aquota.user

5. Разрешаем linux читать файл aquota.user. Это делается с помощью команды quotackeck. Будьте готовы к тому, что будет выведена ошибка, как показано ниже. Это связано с тем, что файл был создан вручную, а не командами qouta. Также будет сказано об отсутствии файла для групп. Ничего страшного в этом нет

$ sudo quotacheck -vagum
quotacheck: WARNING - Quotafile /home/aquota.user was probably truncated. Can't save quota settings...
quotacheck: Scanning /dev/sda8 [/home] quotacheck: Old group file not found. Usage will not be substracted.
done
quotacheck: Checked 5265 directories and 74403 files

6. Задайте квоты для пользователей, используя команду edquota

$sudo edquota -u nadiia

Эта команда запустит редактор, установленный по умолчанию (переменная EDITOR) (в моем случае это редактор mc -mcedit):

Disk quotas for user nadiia (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 16 0 0 5 0 0

(Если используемый по умолчанию редактор вам не нравится, всегда можно его изменить, запустив в консоли export EDITOR=vi. Вместо vi запишите удобный для вас редактор)

В приведенном выше файле:

Blocks : Место, используемое пользователем в блоках длиной 1kB.
inodes : Число используемых пользователем файлов
Soft Limit : Максимальное количество блоков/файлов, которое пользователь может иметь на данном разделе. Если используется период отсрочки (grace period), то вместо жесткого ограничения, пользователь нарушивший данные требования, получит лишь сообщение об этом. Значение 0 отключает данную опцию.
Hard Limit : Максимальное количество блоков/файлов, которое пользователь может иметь на данном разделе даже с установленным периодом отсрочки. Это жесткое ограничение, которое пользователь не может превысить.

Ограничим пользователя всего 50-ю мегабайтами (приблизительно).

Disk quotas for user nadiia (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 16 50000 0 5 0 0

7. Теперь можно выйти из однопользовательского режима (если вы работали в нем), набрав

#init 5

Все. Теперь пользователь nadiia не может превысить 50Mb.


Другие команды quota.

Изменяем период отсрочки:

$sudo edquota -t

Эта команда установит период отсрочки для всех пользователей. Период отсрочки - это период, во время которого опция soft period будет лишь предупреждать, но не ограничивать. Могут быть использованы секунды, минуты, часы, дни, недели и месяцы (нужно вписать на английском языке seconds, minutes, hours, days, weeks и months ) Так выглядит запуск этой команды у меня:

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda8 7days 7days

Редактирование квот для групп:

$sudo edquota -g


Регулярная проверка квот:

Полезно регулярно выполнять quotacheck. Это можно реализовать, добавив задание в файл crontab

0 3 * * 0 /sbin/quotacheck -vagu
(частоту выполнения задания можно выставить, используя синтаксис cron)

Отчет об квотах:

Команда repquota показывает суммарный отчет по квотам на файловой системе. У меня отчет выглядит следующим образом:

$ sudo repquota /home
*** Report for user quotas on device /dev/sda8
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 131312 0 0 15 0 0
serhiy -- 18774192 0 0 79512 0 0
sshd -- 14512 0 0 137 0 0
nadiia -- 16 50000 0 5 0 0


Для более подробной информации обращайтесь к страницам man. Также рекомендую почитать перевод Quota mini-HOWTO.

Источники:
Disk Quotas in GNU/Linux explained
Quota mini-HOWTO.
File system quota

Читать дальше...

суббота, 24 февраля 2007 г.

Скриншоты в стиле Web2.0, используя Gimp.

Нашел интересный плагин для Gimp - "Screenshot with style". Плагин превращает обычные скриншоты в нечто более прекрасное:).

Установка:

1. Скачайте плагин.
2. Скопируйте в папку ~/.gimp-2.2/scripts (2.2 замените на вашу версию Gimp).
3. Перезапустите Gimp или обновите список сриптов в панели меню Xtns -> Script-Fu -> Refresh Scripts.
Все. Скрипт установлен и готов к работе.


Использование:
1. Откройте созданный раньше скриншот (как сделать скриншот в KDE, описано здесь).
2. Пройдите в Xtns -> Script-Fu -> Screenshot with style. Появится следующее окошко настройки различных эффектов:



3. Выставьте все, что нужно или выберите по умолчанию
4. Запустите скрипт, нажав Ok.

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




должна получиться такая вот красота:





Замечания:
1. Скрипт лучше всего работает со скриншотами, снятыми с экрана с соотношением сторон 16:10 (на многих ноутбуках). В случае стандартного соотношения 4:3, картинка будет выглядеть немного хуже. Попробуйте подредактировать скрипт.
2. Окошко настройки различных визуальных параметров на французком языке. Если вас это смущает, переведите термины и замените их в скрипте.
3. Для более подробного разъяснения обратитесь на сайт разработчика(на французском). Если вы французским не владеете, то переведите страницу на английский с помощью сайта babelfish.altavista.com. Переводит довольно-таки неплохо.


Читать дальше...

Парадокс. Цена Windows Vista -53$.

Сколько всего было написано о том, что производители компьютеров выбирают Open Source, что Dell будет продавать компьютеры и ноутбуки с предустановленным Linux и как все будет замечательно в этом мире... И что мы имеем сейчас? Ноутбук с предустановленной Windows Vista стоит на 53 доллара дешевле, чем аналогичный - с OpenDOS.

Данную цифру получил Derek Buranen, взяв для примера ноутбук Dell D420.
Если не верите, можете проверить сами:

Ноутбук Dell’s D420N установленным OpenDOS: $1,252.



И такой-же ноутбук, но с Windows Vista: $1,199.


(изображения взяты отсюда)

Ну и кто теперь захочет покупать компьютер с OpenDOS на борту!? Я сомневаюсь, что найдутся такие энтузиасты. Сомневаюсь также и в том, что повторятся случаи с возвратом Windows и получением за это денег. Вам просто предложат доплатить и взять свободный DOS. Или я не прав?..

Читать дальше...

среда, 21 февраля 2007 г.

Стильный текст с помощью Gimp.

Вот такой симпатичный текст можно получить проделав действия, описанные ниже.

Начнем с того, что откроем Gimp и создадим новый файл (CTRL + N) шириной 800px и высотой 100px. В зависимости от того, что вы хотите написать и какой размер шрифта хотите выбрать, размеры изображения могут варьироваться. Только не выбирайте очень маленький шрифт (меньше 40px).
Дальше выбираем цвет фона, в моем случае я оставил белый. Жмем T на клавиатуре (или выбираем T в панели инструментов) и создаем текст. Я советую взять шрифт "Sans Bold" размером 50px. Если нужно, текст передвигаем с помощью инструмента перемещения (M). Заливам текст желаемым цветом. Я выбрал #2e25e5.
Теперь идем в меню изображения Dialogues - > Layers, жмем правой кнопкой мыши на слой с текстом и выбираем "Alpa to Selection".







Создаем новый слой (для этого кликаем по левой нижней кнопке окна "Layers" ) и называем его "Dark Border". Пункт Layer Fill Type оставляем прозрачным (Transparency).
Выставляем цвет переднего плана (foreground) в значение #1b1b1b. Теперь идем в пункт меню изображения select -> Grow и устанавливаем значение 1px. Заполняем выделение выбранным цветом с помощью инструмента заполнения (SHIFT + B)(весь текст должен окраситься цветом #1b1b1b). Переходим к окну слоев и опускаем слой "Dark Border" с помощью стрелочки внизу. Изменив порядок слоев, вы должны получить текст цветом #2e25e5 с краями цвета #1b1b1b. Вот так должно выглядеть окно слоев после этого:


Создаем новый слой (как это сделать описано выше) с названием "Light Border" с прозрачным заполнением. Изменяем цвет переднего и заднего плана на #ffffff и #b2b2b2, соответственно. Выбираем инструмент градиент (L) и создаем градиент (удерживая нажатой кнопку CTRL) от верхнего к нижнему краю текста. Опускаем и этот слой и снимаем выделение, нажав CTRL+SHIFT+A. Окно слоев после этого:



В окне слоев жмем правой кнопкой мыши на слой с текстом и выбираем "Alpa to Selection". Создаем новый слой с прозрачным заполнением и называем его "HighLight". Теперь в панели инструментов выбираем инструмент "прямоугольное выделение"(R) и выставляем Mode в значение Subtract (третья кнопка). Дальше идем к окну с текстом и снимаем выделение с нижней половины текста (выделите прямоугольник, охватывающий весь текст по ширине и нижнюю половину текста по высоте). Должно получиться следующее:



Снова выбираем инструмент градиент. В пункте Gradient: выставляем "FG to Transparent". Удерживая нажатой кнопку CTRL, создаем градиент с верхнего края текста к нижнему. Снимаем выделение (CTRL+SHIFT+A). Дальше, в окне слоев выбираем слой "Light Border" и в окне с изображением идем в Script-Fu -> Shadow -> Drop-Shadow и выставляем x и y offsets по нулям и blur radius - 6px.
Что мы имеем:



Можете попытаться усовершенствовать. Скажем, добавьте отблеск как описано здесь и получите отличный Web2.0 логотип для вашего сайта.
Источник: http://www.technomono.com/tutorials/gimp/stylish-text/index.php

Читать дальше...

четверг, 15 февраля 2007 г.

Мониторинг сервера и клиентов с помощью Munin.

Munin - это приложение для мониторинга серверов и обычных клиентских компьютеров под управлением Linux, написанное на языке Perl. Программа создает вывод изменений характеристик системы в виде графиков, встроенных в html страничку. По умолчанию осуществляется мониторинг использования файловой системы, памяти, процессора, активности сетевых служб и др. В принципе, вам должно этого хватить. Если же нужно отслеживать какие-нибудь специфические параметры, то можно добавить дополнительные плагины из уже созданных или написать самому.

В состав Munin входят пакеты как для сервера (munin), так и для клиентов (munin-node). Серверную часть нужно устанавливать только на самом сервере, клиентскую, как на сервере (если вы хотите анализировать и его), так и на всех клиентских машинах.

Здесь я опишу установку в Kubuntu Dapper Drake. Но, так как при написании я использовал материалы статей, описывающих установку в Debian, - считаю, что приведенное ниже годится для всех Debian-производных дистрибутивов. В конце приведена ссылка на статью, описывающую установку в SLES 10. Установив из RPM-пакетов, настраивать можно так же, как описано здесь.

Настройка Munin сервера.

Установка:
$ sudo apt-get install munin munin-node

Конфигурация:

Конфигурация munin сервера осуществляется редактированием конфигурационного файла /etc/munin/munin.conf.
Если вы осуществляете мониторинг лишь одной машины (самого сервера), то менять ничего не нужно. Если же есть клиентские машины - информацию о них нужно внести в этот файл.

$sudo vi /etc/munin/munin.conf

и найти секцию

# a simple host tree
[localhost.localdomain]
address 127.0.0.1
use_node_name yes

после этого добавляем клиентскую машину(ы);

[test.skku.ac.kr]
address 172.30.5.129
use_node_name yes

Замените test.skku.ac.kr и 172.30.5.129 на имя и IP клиентского компьютера соответственно.

Настройка munin клиента.

Установка:

$ sudo apt-get install munin-node

В результате установки будет создана директория /etc/munin, содержащая:

munin-node.conf - конфигурационный файл клиента

plugin-conf.d/munin-node - конфигурационный файл для настройки плагинов клиента

plugins - папка, в которой находятся символьные ссылки к плагинам в /usr/share/munin/plugins

Конфигурация:

Открываем файл munin-node.conf

$sudo vi /etc/munin/munin-node.conf

и добавляем:

полное имя клиентской машины

#host_name localhost.localdomain

host_name test.skku.ac.kr


и после allow ^127\.0\.0\.1$ записываем IP-адрес сервера, таким образом разрешая с него доступ на клиентскую машину

allow ^127\.0\.0\.1$

allow ^10\.52\.31\.41$

(можно задавать несколько серверов)

По умолчанию будут запускаться плагины, ссылки на которые находятся в директории /etc/munin/plugins. Это:

cpu entropy forks if_eth0 iostat memory mysql_slowqueries open_files processes df exim_mailqueue if_err_eth0 if_eth1 irqstats mysql_bytes mysql_threads open_inodes swap df_inode exim_mailstats if_err_eth1 interrupts load mysql_queries netstat postfix_mailvolume vmstat

Если же вы хотите добавить другие, нужно редактировать файл /etc/munin/plugin-conf.d/munin-node, где надо указать плагин, задание, пользователя и группу по аналогии с уже приведенными записями.

После этого нужно перезапустить munin клиент:

$sudo /etc/init.d/munin-node restart

и запустить следующее на сервере:

$sudo /usr/share/munin/munin-update --force-root

Munin задаст задание cron в файле /etc/cron.d/munin, который в свою очередь запустит /usr/bin/munin-cron.

Запуск и работа Munin.

Для того, чтобы проверить работу Munin на сервере в браузере, набираем:

http://ipaddress/munin

В случае возникновения каких либо проблем проверьте логи в папке /var/log/munin/
для сервера:
munin-node.log - отображает данные о состоявшихся соединениях
munin-graph.log - отображает данные о сервисах, для которых были построены графики
munin-html.log - информация о сгенерированном коде html.
для клиента:
munin-node.log - отображает данные о состоявшихся соединениях

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



Т.е. я буду осуществлять мониторинг своей локальной машины (в данном случае она выступает и сервером) и удаленного клиента в домене skku.ac.kr.

Список параметров, для которых будут строиться графики, приведен на следующем рисунке:



Ну и сами результаты мониторинга (на следующий день после установки)






Ссылки:
http://munin.projects.linpro.no/
http://www.debianhelp.co.uk/munin.htm
http://www.debian-administration.org/articles/229
http://www.howtoforge.com/server_monitoring_monit_munin
http://www.novell.com/coolsolutions/feature/17913.html#9

Читать дальше...