Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

четверг, 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. Все просто!

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

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

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

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$
Может это выглядит и не очень красиво, но зато работать можно от имени обычного пользователя. В целом, меня все устраивает.

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

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

пятница, 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 я пока не представляю как это сделать).

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

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

понедельник, 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 различных клавиатурных тренажеров. Правда, найти среди них те, которые работают с русской раскладкой, наверное будет тяжело (если вообще возможно).

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

четверг, 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 г.

Парадокс. Цена 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. Или я не прав?..

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

четверг, 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

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

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

Запись интернет радио в Linux. Streamripper.

В статье Запись интернет радио в Linux я описал простой пример, показывающий, как легко можно записать mp3 c интернет радио пользуясь популярным плеером Mplayer. Там же была упомянута программа Streamripper и то, как хорошо она работает в паре с Winamp в Windows. Но я даже и не подозревал, что эта программа существует и для Linux (спасибо anonymous, что подсказал в комментариях).

Что меня не устраивало в Mplayer и почему я решил попробовать Streamripper? Mplayer весь поток пишет в один файл, что для прослушивания не очень удобно. Полученный файл нужно разбивать на отдельные песни в специальном редакторе. Хлопотно, в общем. Streamripper же пишет отдельные треки в отдельные mp3 файлы. Бери и слушай!




Установка.

Streamripper включен [K]Ubuntu репозитории. Поэтому ставим с помощь apt-get:

sudo apt-get install streamripper kstreamripper

kstreamripper - это KDE frontend для streamripper. Если Вас не пугает консоль, то его можно и не ставить. Здесь я буду рассматривать лишь streamripper.

Пользователи других дистрибутивов могут скачать исходники,
разархивировать и поставить:

$tar -xzvf streamripper-1.61.27.tar.gz
$cd streamripper-1.61.27
$./configure
$make
$sudo make install

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

Запись радио.

Наверное, это не законно :). Страшно? Если нет, то пошли дальше...

Первое что нам нужно - это собственно интернет радио. Будем тестировать на радио The EDGE ROCKS!!

$ streamripper http://67.43.161.248:6005 -d songs2
Connecting...

Синтаксис довольно прост. После команды нужно записать URL вещающего сервера. В принципе, этого достаточно. Треки будут сохраняться в директории, с которой был запущен streamripper. Если хотите, чтобы файлы сохранялись в отдельную директорию, задайте ее название после ключа -d.
А вот ответ сервера и информация о треках.

stream: The EDGE ROCKS!! - 100% ROCK :::: (Godsmack, Ozzy, SlipKnot, Pantera, etc) :::: Format: Active Rock / Extreme Rock 24 HOURS a day :::
server name: SHOUTcast/Linux v1.9.5
bitrate: 128
meta interval: 32768
[ripping... ] ****** - **** [ 2,53M]
[ripping... ] ***** - **** [ 4,49M]
..........................
Видим, что каждая песня идет одним файлом. Вместо **** должны быть названия исполнителя и песни.

Если возникает желание одновременно и сохранять песни и слушать радио, нужно воспользоваться ключем -r, который создает ретрансляционный сервер по умолчанию на порту 8000. Все что теперь нужно, открыть адрес http://localhost:8000 в любимом mp3 плеере.

Это, пожалуй, все, что я хотел сказать касательно самой программы.

Теперь пару слов о русскоязычных песнях. Может случиться, что названия песен и теги будут в кодировке CP1251 (скорей всего, так оно и будет). Поэтому придется их перекодировать. Как это сделать с помощь программы EasyTag, можно почитать здесь. Там же написано, как заполнить имена файлов из тегов. Если по каким нибудь причинам Вам это не нравится, то сами имена файлов можно перекодировать с помощь convmv:

$ convmv -f CP1251 -t UTF-8 --notest *.mp3

Это нужно запустить в директории с файлами. Если у Вас другая кодировка (KOI8-R) - замените UTF-8 на KOI8-R. Результат можно проверить командой ls.


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

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

Популярные Linux и Unix форумы.

Сегодня в своем RSS ридере Akregator я увидел довольно-таки интересную статью под названием Most popular GNU/Linux, Unix forums. Просмотрев ее, я захотел написать что-нибудь подобное, но с добавленными русскоязычными форумами.

Наверное это не будет новым, если я скажу, что одним из главных помощников начинающему пользователю Linux являются форумы. Фо́рум (от лат. forum) — это площадь для массового тематического общения. Слово произошло от первоначального Римского Форума, по подобию которого затем появились форумы по всей Римской империи; это слово также часто используется для обозначения мест публичного общения — в частности, интернет-форумов (wikipedia). На данный момент в Интернете существует огромное количество форумов, посвященных Linux. Это могут быть официальные форумы самих дистрибутивов Linux или же неофициальные, созданные любителями, чтобы помогать друг другу.

Начнем пожалуй с русскоязычных форумов.

Linuxforum.ru - наверное, самый популярный из русских форумов. Он работает уже почти три года и за это время на сайте оставлено порядка 330 тысяч сообщений и зарегистрировано почто 10 тысяч пользователей!. Этот форум является общим для таких сайтов как rus-linux.net, linuxforum.ru и linuxcenter.ru. Здесь можно найти информации буквально обо всем, касающемся Linux.

linux.org.ru - (сокращённо LOR). Одной из главных особенностей этого форума являются острые флеймы, возникающие при обсуждении практически каждой новости. Так что, если Вы являетесь фанатом какого-нибудь определенного дистрибутива (десктопа, оконного менеджера, браузера, плеера....) и хотите высказаться в его защиту - Вам определенно сюда.

lafox.net - это форум при одноименном украинском сайте. На сайте можно заказать диски дистрибутивов Linux. Удобно для жителей Украины. Что касается форума, то он тоже радует количеством постов - почти 120 тыс., и участников - 3634.

forum.opennet.ru - форум проекта OpenNet, предоставляющего информацию о Unix системах и открытых технологиях для администраторов, программистов и пользователей. На сайте можно найти много хороших статей, а в форуме - обсудить.

forum.posix.ru - форум сайта Posix.ru, созданного для пропаганды POSIX'ивизма и идей Open Source среди широких кругов прогрессивной общественности.

forum.oszone.net - вообще это общий форум, посвященный компьютеру вообще и операционным системам в частности. Для пользователей *nix систем работает ветка Linux-FreeBSD.

forum.ubuntu.ru - как видно из названия, форум посвящен самому популярному дистрибутиву - Ubuntu. Здесь зарегестрировано более 3 тыс. пользователей. Так что, думаю, новичок, установивший себе Ubuntu, без проблем сможет получить помощь на этом форуме.

slackware.pp.ru/forum/YaBB.pl - форум пользователей Slackware.

archlinux.org.ru/forum - форум пользователей ArchLinux.

Англоязычные форумы.

Linux Questions.org - Один из самых активных форумов, посвященных Linux, в мире. Количество постов и зарегистрированных посетителей просто поражает - 2.6 миллиона и 280 тысяч соответственно. Наверное здесь можно найти ВСЕ!

Ubuntu Forums - форум дистрибутива Ubuntu.


Linux Forums.org - даже не знаю что сказать. Еще один хороший Linux форум.

HowToForge.com - это сайт, который постоянно радует очень хорошими статьями, посвященными работе в GNU/Linux. А форум, собственно находится при этом сайте. Таким образом, если у Вас возникли вопросы по статьям сайта, можно всегда спросить на форуме.

SuSE Forums - форум, призванный помочь пользователям SuSE Linux.

Debian Forums - Я не смог найти официального форума Debian. Приведенный здесь является ближайшим кандидатом. Очень хороший форум пользователей Debian Linux.


BSD Forums - форум для пользователей BSDs.

Unix Forums - форум в основном ориентирован на различные юниксы - Solaris, HP-UX и AIX. Хотя есть и посты о Linux.
`
* Open Solaris Forum - Open Solaris форум.
`
Конечно, это не все форумы, посвященные операционной системе Linux. Почти каждый дистрибутив имеет свои. Поэтому, для Вас может быть полезным найти форум дистрибутива, установленного на Вашем компьютере. Однако большинство из рассмотренных здесь не относятся к какой-нибудь системе в отдельности, а охватывают все дистрибутивы. Таким образом, они будут полезны всем.

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

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

Linux. Мониторинг системы.

Данная статья написана в основном для новичков в Linux. Большинство информации, представленной здесь, может быть найдено в страницах man. Если Вы опытный пользователь Linux - большинство из написанного здесь Вам должно быть знакомо. Так что можете спокойно переходить к другим статьям или же, если хотите проверить свои знания - можете просмотреть мельком. Но а в случае если Вы являетесь новичком в Linux, если Вам нудно читать страницы man и хочется узнать обо все этом побыстрей - эта статья для Вас.


Команда: top

Это одна из чаще всего используемых комманд раздела мониторинга системы. Команда top предоставляет информацию о запущенных процессах, включая данные об использовании процессом CPU и памяти, пользователях, запустивших процесс и их pid (Process ID), а также о времени, прошедшем с момента запуска процесса. Данные все время обновляются с определенной частотой (по умолчанию 3 сек). Изменить частоту можно нажав клавишу "s" - ввести нужное число - Enter.

Вывод команды top показан ниже:

$ top - 12:39:28 up 2:20, 1 user, load average: 0.09, 0.14, 0.09
Tasks: 131 total, 1 running, 130 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.7% us, 0.5% sy, 0.0% ni, 97.5% id, 0.0% wa, 0.2% hi, 0.2% si
Mem: 1028144k total, 911324k used, 116820k free, 28604k buffers
Swap: 530104k total, 20268k used, 509836k free, 396324k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5144 root 16 0 119m 63m 6452 S 1 6.3 3:07.04 Xorg
7867 serhiy 16 0 102m 18m 13m S 1 1.9 0:01.15 konsole
6379 serhiy 15 0 162m 35m 24m S 1 3.5 0:25.17 ktorrent
3666 root 15 0 0 0 0 S 0 0.0 0:00.82 kjournald
5393 serhiy 15 0 162m 33m 18m S 0 3.3 0:13.74 stardict
7885 serhiy 16 0 10700 1300 952 R 0 0.1 0:00.49 top
1 root 16 0 2640 564 476 S 0 0.1 0:00.89 init
2 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
6 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
7 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1
8 root 10 -5 0 0 0 S 0 0.0 0:00.06 events/0
9 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/1
10 root 10 -5 0 0 0 S 0 0.0 0:00.00 khelper

Вы можете модифицировать вид выводимой информации. Так, нажав "i" можно отключить вывод неработающих процессов. Повторное нажатие "i" вернет все в прежнее положение. "M" - отсортирует по количеству используемой памяти, а "P" - по использованию процессора.
Приведенные опции вводились при запущенной команде top. В дополнение к этому, существуют опции, которые можно вводить при запуске команды. Например, с помощью "u" можно задать вывод только процессов, принадлежащих определенному пользователю:
$ top -u serhiy
top - 12:56:54 up 2:37, 1 user, load average: 0.08, 0.10, 0.09
Tasks: 137 total, 1 running, 136 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7% us, 0.2% sy, 0.0% ni, 98.8% id, 0.0% wa, 0.2% hi, 0.2% si
Mem: 1028144k total, 972308k used, 55836k free, 33260k buffers
Swap: 530104k total, 20268k used, 509836k free, 445252k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6379 serhiy 15 0 162m 35m 25m S 1 3.6 0:30.55 ktorrent
5393 serhiy 15 0 162m 33m 18m S 0 3.3 0:15.96 stardict
7867 serhiy 15 0 102m 18m 13m S 0 1.9 0:03.91 konsole
8109 serhiy 16 0 10696 1304 952 R 0 0.1 0:00.24 top
5210 serhiy 17 0 7584 1896 1188 S 0 0.2 0:00.09 startkde
5260 serhiy 16 0 20144 852 492 S 0 0.1 0:00.00 ssh-agent
5263 serhiy 16 0 10084 696 528 S 0 0.1 0:00.00 dbus-launch
5264 serhiy 17 0 8448 888 744 S 0 0.1 0:00.00 dbus-daemon
5296 serhiy 18 0 74596 5720 2120 S 0 0.6 0:00.27 kdeinit

С помощью опции "k" можно убить процесс, а "r" (renice) изменит его приоритет (колонка PR в выводе команды top).
Для того, чтобы выйти из программы, нужно нажать клавишу "q".

Для более подробной информации о системных процессах следует обратиться к псевдофайловой системе /proc. Здесь информация о процессах представлена в виде файлов.
Будьте осторожны, поскольку это не обычные файлы, а лишь текущее состояние устройства, эти файлы редактировать НЕЛЬЗЯ!

Команда: ps

'ps' отображает список запущенных процессов.

$ ps
PID TTY TIME CMD
11065 pts/2 00:00:00 bash
11082 pts/2 00:00:00 ps

По умолчанию информация дается только о процессах, ассоциированных с данным терминалом. Выводятся идентификатор процесса, идентификатор терминала, истраченное к данному моменту время ЦП и имя команды. Если нужна иная информация, следует пользоваться опциями. Следует заметить, что данная команда может работать как в стандартном виде записи опций (-опция), так и в режиме BSD (знака "-" между командой и опцией нет).

Так, чтобы просмотреть информацию о всех запущенных в системе процессах можно воспользоваться как

ps -e
ps -ef
ps -eF
ps -ely

так и

ps ax
ps axu

Обычно используется команда ps axu. Она выдает практически всю информацию о системе.

serhiy@kubuntu:~$ ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2640 564 ? S 10:19 0:00 init [2]
root 2 0.0 0.0 0 0 ? S 10:19 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 10:19 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 10:19 0:00 [watchdog/0]
................................................
Вывод команды очень большой. Поэтому я привел лишь начало. Если же нужна информация о запущенных Вами процессах - воспользуйтесь.
ps cxu
или
ps cx
В первом случае информация будет выведена в более подробном виде. Обычно данную программу запускают для того, чтобы узнать PID (первая колонка) команды, с последующим ее уничтожением с помощью команды kill -9.

Команда: free

'free' показывает информацию о памяти компьютера, включающей в себя физическую память (RAM), swap, разделяемую память и буферы, используемые ядром. Вся информация выдается в килобайтах.
$ free
total used free shared buffers cached
Mem: 1028144 1020468 7676 0 16316 379828
-/+ buffers/cache: 624324 403820
Swap: 530104 21644 508460

В строке Mem: показано использование физической памяти, в строке Swap: — использование пространства подкачки, а в строке -/+ buffers/cache: — объем физической памяти, выделенный в настоящее время для буферов системы. Команда free выводит лишь единоразово информацию о задействованной памяти. Для того, чтобы просматривать показатели каждые n секунд, нужно воспользоваться опцией -s n, где n - число в секундах. Но это может быть неудобно. Строки пробегают по экрану и человеку тяжело уловить разницу. Поэтому следует воспользоваться командой watch:
$watch free
Вы можете менять задержку между обновлениями (по умолчанию 2 сек.) с помощью параметра -n или сделать так, чтобы любые отличия результатов выделялись, указав параметр -d, как показано в следующей команде:
$watch -n 1 -d free
Команда: du

'du' используется для того, чтобы узнать размер директории
$ du
Без дополнительных опций команда du выдает список директорий, находящихся в текущей директории, и их размеры. Последняя строка показывает общий размер текущей директории. По умолчанию информация отображается в килобайтах. Во многих случаях это может быть неудобно. Поэтому воспользуемся некоторыми дополнительными опциями.
$ du -h /home/serhiy/pic/
4,0M /home/serhiy/pic/from_sky
1,1M /home/serhiy/pic/smoke
11M /home/serhiy/pic/mini_world
16M /home/serhiy/pic/

В приведенном примере видно, что папка pic в домашней директории пользователя serhiy содержит три вложенных папки, размерами 4.0, 1.1, и 11 мегабайт. Размер всей папки - 16 Мб. Опция -h задает отображение в более удобном виде.
$ du -ah

du -ah /home/serhiy/pic/
148K /home/serhiy/pic/from_sky/1.jpg
144K /home/serhiy/pic/from_sky/2.jpg
168K /home/serhiy/pic/from_sky/3.jpg
100K /home/serhiy/pic/from_sky/4.jpg
..............................

136K /home/serhiy/pic/mini_world/mini_world_84.jpg
152K /home/serhiy/pic/mini_world/mini_world_85.jpg
11M /home/serhiy/pic/mini_world
16M /home/serhiy/pic/
С помощью опции -a можно задать вывод размера каждого файла. Информация о полном размере вложенных папок также выводится.
$ du -mc /home/serhiy/pic/ | grep total
16 total
Здесь опция -m задает, чтобы размер выводился в мегабайтах, а -c добавляет дополнительную строку, показывающую полный размер директории (total). Таким образом мы можем воспользоваться командой grep, чтобы оставить лишь информацию о размере директории /home/serhiy/pic/. Это будет полезно, если директория содержит много вложенных поддиректорий и файлов, а Вам нужно знать лишь ее полный размер. Хотя это можно сделать и проще:
$ du -s /home/serhiy/pic/
16028 /home/serhiy/pic/

Если же Вам нужно узнать размер директории без входящих в нее директорий, воспользуйтесь опцией -S.
$ du -Sh /home/serhiy/pic/
4,0M /home/serhiy/pic/from_sky
1,1M /home/serhiy/pic/smoke
11M /home/serhiy/pic/mini_world
4,0K /home/serhiy/pic/

Как видно, директория pic/ содержит три поддиректории и ничего больше. Поэтому ее размер 4,0K.
Еще один пример из серии исключений:
$ du -h --exclude=*.jpg /home/serhiy/pic/
4,0K /home/serhiy/pic/from_sky
4,0K /home/serhiy/pic/smoke
4,0K /home/serhiy/pic/mini_world
16K /home/serhiy/pic/

Опция --exclude=*.jpg - исключает из отображения полной иформации о размере директории /home/serhiy/pic/ и ее поддиректории файлы, имеющие в своем названии .jpg. Поскольку в указанной директории и поддиректориях находятся лишь изображения в формате .jpg, все папки занимают 4,0K. Вместо .jpg можно вставить любую последовательность символов.
Например:
serhiy@kubuntu:~/pic/from_sky$ du -h --exclude=1?.jpg
2,8M .
serhiy@kubuntu:~/pic/from_sky$ du -h
4,0M .

В первом случае я исключил все файлы, состоящие из двух символов, первый из которых 1.

Команда: df

'df' - показывает информацию об использовании дискового пространства.
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 9629880 5732280 3408424 63% /
varrun 514072 112 513960 1% /var/run
varlock 514072 4 514068 1% /var/lock

Вывод команды df состоит из 6 колонок. Fylesystem - физический раздел, Mounted on - точка монтирования этого раздела, 1K-blocks - размер раздела в килобайтах, Used - сколько занято, Available - свободно, Use% - сколько занято места в процентах.
$ df -h
Как и в случае с командой du, опция -h задает вывод в удобном для человека виде. Обычно это мегабайты и гигабайты. (-m - вывести только в мегабайтах)
Команда df имеет и другие опции, но большинство пользователей ограничиваются лишь приведенными, поэтому я их рассматривать не буду. Если Вам интересно знать больше. обратитесь к man df.

Если хочется узнать лишь информацию о том, сколько места в процентах используется на заданном диске, то можно воспользоваться утилитами grep и cut.
$ df -h | grep /dev/sda8 | cut -c41-43
83%
Здесь grep из вывода команды df -h вырезает лишь строку, где встречается /dev/sda8 (на этот раздел у меня примонтирована директория /home), а cut-c41-43 обрезает лишь 41-43 символы строки (именно там находится информация о процентном использовании разделов).

Команда: who

Поскольку операционная система Linux является многопользовательской, количество пользователей компьютера может быть больше чем один. Для того чтобы узнать, кто работает за компьютером в данный момент, и предназначена команда who. Эта команда показывает, кто работает за компьютером, сколько времени прошло с момента, когда он вошел в систему, и когда он это сделал.
$ who
serhiy tty2 2007-02-04 13:50
root tty3 2007-02-04 13:50
serhiy :0 2007-02-01 10:19

С помощью этой команды можно узнать и информацию о себе:
$ whoami
serhiy

Команда: w

'w' - это собранный воедино вывод команд 'uptime', 'who' и 'ps a' для более подробной информации о системе. Для того, чтобы задать информацию для одного пользователя, а не для всех, допишите имя пользователя к команде:
w serhiy
14:05:12 up 3 days, 3:46, 1 user, load average: 0,35, 0,32, 0,33
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
serhiy :0 - Thu10 ?xdm? 9:06 0.09s /bin/sh /usr/bin/startkde

Команда: vmstat
vmstat - показывает информацию о процессах , виртуальной памяти, физических томах и активности ЦПУ . По умолчанию выдается полный список статистики с момента загрузки системы, что не очень полезно с точки зрения анализа ситуации в данный момент. Поэтому, стоит запускать vmstat с аргументом interval, указанным в секундах.

$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 21680 22248 16480 416000 0 0 99 45 166 3 3 1 95 1
0 0 21680 21872 16504 415976 0 0 0 34 1250 3087 2 1 98 0
0 0 21680 25388 16520 416436 0 0 96 11 1209 3458 3 1 95 1


(вывод может отличаться в зависимости от используемой системы)

Каждая последующая линия показывают параметры системы за предыдущие 5 секунд.
Рассмотрим поля вывода команды vmstat:

procs - число процессов, которые: r - находятся в очереди на выполнение;
b - заблокированы в ожидании ресурсов.

memory - информация о памяти: swpd - количество используемой виртуальной памяти;
free - незадействованная память; buff - количество памяти, используемой в качестве буфера, cache - в качестве кэш.

swap: si - количество свап-памяти взятой с диска, so - записанной на диск (/s).

IO: bi - количество блоков взятых с блочного устройства (жесткий диск), b0 - отправленных на блочное устройство.

System: in - количество прерываний за секунду, cs - количество контекстных переключений за секунду.

CPU: процент цикла процессора, затрачиваемый на различные режимы: us - пользователь; sy - система; id - ожидание; wa - ввод/вывод.

Команда: iostat
(входит в пакет sysstat).
iostat (input/output statistics) - без аргументов показывает краткую статистику использования процессора и дисковых операций ввода/вывода:
$ iostat
Linux 2.6.15-23-amd64-generic (kubuntu) 21.02.2007

avg-cpu: %user %nice %system %iowait %steal %idle
1,64 0,87 0,84 1,33 0,00 95,32

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 0,00 0,00 0,00 152 0
sda 9,97 399,79 182,30 18796197 8570744

В первой строке представлены версия ядра системы, имя узла и текущая дата. Во второй - усредненная информация использования процессора после загрузки системы. В поле Device - данные использования дисковых устройств (hda и sda):

tps - число операций передачи данных (или операций ввода/вывода) в секунду;
Blk_read/s - число блоков (обычно 512 байт), прочитанных за секунду;
Blk_wrtn/s - число блоков, записанных за секунду;
Blk_read - общее число прочитанных блоков;
Blk_wrtn - общее число записанных блоков.

Если Вам не удобно возиться с блоками, можете воспользоваться ключами -k - для отображения в килобайтах и -m - мегабайтах.

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


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

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

Howto: Установка Beryl в Ubuntu (Kubutu) 64-bit.

Просмотрев видео-ролики о том, как красив Linux с установленным Beryl и попробовав его на ноутбуке со стандартной i386 архитектурой, захотелось запустить это украшательство и на компьютере с 64-битным процессором. На компьютере установлен Kubuntu 6.06 LTS Dapper Drake 64-bit Linux. Погуглив немного, я узнал, что поскольку в репозиториях Dapper Drake пакета Beryl нет, обычной установкой не отделаешься. Но я так просто не сдался и нашел почти то, что мне нужно - HOWTO: Build beryl from source, gnome. Правда, вместо Gnome у меня KDE, но это не суть важно - разберемся.

1) Начнем с того, что добавим источники в файл /etc/apt/sources.list.
sudo vi /etc/apt/sources.list
в самом конце списка добавляем следующее
deb http://www.beerorkid.com/compiz dapper main main-amd64
deb-src http://www.beerorkid.com/compiz dapper main main-amd64

2) Установка драйверов видеокарты.

Nvidia:
sudo aptitude update
sudo aptitude dist-upgrade
sudo aptitude install nvidia-glx



Ati: (поскольку у меня Nvidia, установку драйверов Ati я не проверял)
Устанавливаем fglx, как описано здесь.
Запускаем:
glxinfo
И смотрим вывод. Если видите direct rendering: yes - можно идти дальше.


3) Редактируем xorg.conf.

Начнем с создания копии:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup
Только для Nvidia:
sudo vi /etc/X11/xorg.conf
В открытом файле ищем секцию "Module". Если в этом разделе присутствуют Load "dri" и(или) Load "glcore" - комментируем их (ставим # в начале строки):
# Load "dri"
# Load "glcore"

Убедитесь что присутствует запись:
Load "glx"
Опускаемся дальше к секции "Device" и смотрим чтобы все было как указано ниже:
Section "Device"
Identifier "NVIDIA Corporation NV41.0"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "RenderAccel" "true"
EndSection

Не изменяйте значение BusID, вверху приведен лишь пример, у Вас может быть другое значение. Если нет Option "RenderAccel" "true" - допишите.

(конец только Nvidia)

4) Установка xgl
sudo aptitude install xserver-xgl libgl1-mesa libglitz-glx1
Настройка запуска xgl.

Gnome:
sudo gedit /etc/gdm/gdm.conf-custom
В конец секции servers добавляем следующее:

Для Nvidia:
[servers]
0=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Для Ati:
[servers]
# Override display 1 to use Xgl (DISPLAY 1 IMPORTANT FOR ATI FGLRX).
1=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Только ATI:

Изменяем /etc/gdm/gdm.conf:
sudo gedit /etc/gdm/gdm.conf-custom
следующим образом
#0=Standard
1=Standard

Идем к строке 198 и изменяем GdmXserverTimeout=10 на (это очень важно!!!):
GdmXserverTimeout=50
KDE:

Nvidia:
sudo vi /etc/kde3/kdm/kdmrc
Ищем строку ServerCmd=/usr/X11R6/bin/X -br, комментируем ее и добавляем следующее:
#ServerCmd=/usr/X11R6/bin/X -br
ServerCmd=/usr/bin/Xgl -fullscreen -ac -accel xv:fbo -accel glx:pbuffer


Для Ati попытайтесь модифицировать, то что было сделано для Gnome.


5) Установка Beryl с исходников.

Начнем с того, что удалим compiz (если он установлен)
sudo aptitude remove compiz-core compiz-gnome cgwd csm
Если выдает, что не знает таких пакетов - это нормально. Не обращайте внимания.

Ну а теперь самая важная и самая тяжелая часть. Ниже будет приведен листинг. Все команды запускайте построчно, как указано там. Уделяйте внимание сообщениям об ошибках. Особенно это касается пунктов ./autogen.sh --prefix=/usr. Если видите надписи типа unmet зависимости и названия пакетов, установите указанные пакеты через sudo apt-get install пакет и запустите ./autogen.sh --prefix=/usr еще раз.

Проделываем все как здесь:
cd ~/
sudo aptitude update
sudo aptitude dist-upgrade
sudo apt-get update
sudo apt-get build-dep compiz
sudo aptitude install fakeroot libtool automake1.9 librsvg2-dev x11proto-gl-dev subversion libneon25-dev libapr0-dev libsvn0-dev
sudo update-alternatives --config automake
svn co svn://svn.beryl-project.org/beryl/tags/release-0.1.4/

ln -s ~/release-0.1.4/distro-specific-build-files/bdock/debian ~/release-0.1.4/bdock/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-core/debian ~/release-0.1.4/beryl-core/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-plugins/debian ~/release-0.1.4/beryl-plugins/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-dbus/debian ~/release-0.1.4/beryl-dbus/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-manager/debian ~/release-0.1.4/beryl-manager/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-settings/debian ~/release-0.1.4/beryl-settings/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald/debian ~/release-0.1.4/emerald/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald-themes/debian ~/release-0.1.4/emerald-themes/
ln -s ~/release-0.1.4/distro-specific-build-files/heliodor/debian ~/release-0.1.4/heliodor/

cd ~/release-0.1.4/beryl-core
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-core*.deb beryl-dev*.deb

cd beryl-plugins
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-plugins-data*.deb beryl-plugins*.deb

cd emerald
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald*.deb

cd emerald-themes
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald-themes*.deb

cd beryl-settings
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-settings*.deb

cd beryl-manager
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-manager*.deb *.deb

Если все прошло без проблем - значит, Beryl установлен.

Проблемы, которые возникли у меня.
1.
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
не поставило, а потребовало библиотеки libberylsettings0*, но они были в той же папке. Поэтому поставил их, а потом уже без проблем пакеты указанные выше:

sudo dpkg -i libberylsettings0*.deb
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
2.
sudo dpkg -i emerald*.deb
Выдало, что пакеты зависят от libemeraldengine0*. Фокус, проделанный выше, не прошел, так как при установке libemeraldengine0* выдало, что пакеты зависят от emerald*. Какой-то замкнутый круг. Не знаю, что нужно делать в таких случаях. Сделал по своему. Поставил emerald*, указав игнорировать зависимости от libberylsettings0* и после этого поставил без проблем libberylsettings0*:

sudo dpkg -i --ignore-depends=libberylsettings0 emerald*.deb
sudo dpkg -i libberylsettings0*.deb
Со всем остальным проблем не было.

6) Автозапуск при старте KDE (GNOME):

Для KDE:
ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager
Для Gnome:
В Control Center -> Sessions -> Startup Programs добавляем:
beryl-manager
Перегружаем иксы (Ctrl + Alt + Backspace) и с умилением смотрим на работу Beryl :).

При написании данного Howto главным образом использовался материал отсюда

http://www.ubuntuforums.org/showthread.php?t=281613
и дополнительно
http://www.linuxjournal.com/node/1000081
http://linuxforum.ru/index.php?showtopic=30208&st=0


Если у Вас возникли какие-нибудь проблемы при установке или предложение сделать все это более рационально - пишите в комментарии. С удовольствием все рассмотрю.

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