Впечатления: Дебиан для домохозяйки - Freespire



8 коммент.
История вопроса
Linspire - достаточно старый и известный коммерческий дистрибутив, и стоит упомянуть, что раньше он назывался Lindows. Однако Микро$офт подала на них в суд с требованием переименоваться, т.к. сие название слишком уж созвучно их гениальному проприетарному творению.
После этого деятельность Linspire несколько поутихла. И вот - на DesktopLinux новость, в которой говорилось о скором релизе нового открытого дистрибутива. Из Linspire убрали всё коммерческое и не-GPL, привлекли к этому сообщество - и появилась Freespire.

Зачем нужен Freespire?

В первую очередь - корпоративным пользователям, нуждающимся в простой и "автопилотной" ОС, не слишком жадной до лицензионных отчислений. И тут на сцене появляется Linspire/Freespire, основанный на Debian GNU/Linux и дополненный фирменными технологиями, упрощающими его использование для неквалифицированных граждан. Впрочем, и простых пользователей может заинтересовать простой, надёжный и не требующий знакомства с конфигами Линукс.
Дистрибутив отличается фирменной технологией Click-and-Run. Вы подписываетесь на эту услугу, подключаетесь к Интернету, и если вам нужна какая-нибудь программа - жмёте в специальном меню "Установить". Программа скачивается их репозитория Linspire, распаковывается и ставится. Сразу можно начинать с ней работать. Так ставятся не только GPL-приложения, но и коммерческие, при условии, что ваш карман настолько широк для их оплаты.

Знакомство с Freespire
На момент написания статьи, имеется Freespire Beta2, которая и была установлена в эмуляторе QEMU (с ускоряющим модулем kqemu). При запуске диска спросили - хочу ли я ставить дистрибутив или просто посмотреть Live-версию.
Посмотрел на Live. Да, это доведённое до ума КДЕ с простым и понятным меню, где нет ничего лишнего и ничего, что могло бы ввести в замешательство новичка.



Русского языка пока нет, но я уверен, что это временное явление. Всё-таки бета-релиз. Остальное работает весьма быстро и без неожиданностей: OpenOffice, Firefox, и другие популярные ОпенСорс программы. Названий их в меню нет - только функциональное назначение. В общем, для новичков - правильный подход.

Установка Freespire
Итак, в QEMU создан образ жёсткого диска на 4Гб, подключён ISO-образ с Freespire 1.0beta и при загрузке выбрана "Установка на жёсткий диск". Установка проходила так:

1. Меня поприветствовали.
2. Попросили выбрать раскладку (было около двух десятков, русской не нашлось - выбрал английскую).
3. Спросили, как я хочу ставить систему - с автоматической разбивкой или ручной - выбрал автоматику.
4. Спросили про название компьютера (оно тут же отдублировалось в имя пользователя - удобно :-)), пароль.
5. Попросили подтвердить, правильно ли я всё написал и перепроверить всё на всякий случай. Ответил "Далее".
6. Спросили, в здравом ли уме и твёрдой памяти нахожусь - понимаю ли, что хочу поставить Линукс? Ответил утвердительно, нажав на "Я уверен".


Всё. В эмуляторе установка заняла не больше 20 минут, весь процесс от вставки диска в привод до получения готовой системы отнял ровно полчаса. На местном форуме были некоторые прения по поводу того, откуда у Lin/Freespire такая скорость - дескать, он просто копирует пакеты, не разархивируя их. Таким образом, получается заметная экономия времени - ставится стандартная система, которую затем можно догнать нужными программами, воспользовавшись либо apt-get, либо графической утилитой, либо (за деньги) фирменным Click-and-Run.

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

Ссылки:
http://www.desktoplinux.com/articles/AT7106426180.html
http://www.linux.com/article.pl?sid=06/07/26/1836241
http://www.desktoplinux.com/news/NS8253027915.html
http://www.freesoftwaremagazine.com/articles/interview_kevin_carmody_freespire
Читать далее

QEMU в Linux: тонкости и настройки



20 коммент.
Итак, эмулятор QEMU мы поставили, запустить Windows смогли, но это ещё не всё. Есть несколько тонкостей, о которых в Сети пишут мало или совсем ничего - это, вроде как, очевидно.
Дальнейшее изложение предполагает, что вы дали себе за труд хотя бы пробежать глазами man qemu (на русском - здесь), который открывает много интересного пользователю.

Тонкость №1. Как получить доступ к файлам внутри "жёсткого диска" QEMU?
Поставили Windows в эмуляторе, программы и теперь хочется иметь доступ к его файлам. Это можно. Создаём точку монтирования, даём ей нужные права и прописываем в конфиге /etc/fstab:
/opt/qemu/images/win2k.img /mnt/windows vfat rw,user,loop,noauto,offset=32256 0 0
Точки монтирования и имя образа, естественно, в вашем случае замените на те, которые существуют. Теперь можно монтировать и отмонтировать Windows диск как и любой другой.

Примечание: будьте внимательны при монтировании диска Windows при запущенном эмуляторе с Windows. Этого вообще лучше не делать, а если и делать, то монтировать диск в режиме "только-чтение". И не удивляйтесь, что некоторые свежие файлы (только что созданные Windows в эмуляторе) не будут видны даже на FAT. Партизанская система, как говорит мой хороший друг.

Тонкость №2. Графическая оболочка в Windows тормозит. Как её ускорить?
Для этого тыкаем правой кнопкой мыши по рабочему столу, заходим в Свойства экрана, поставим 16-битный цвет, тыкаем в кнопку Дополнительно, заходим в расширенные настройки и убираем все "ускоряющие" свистелки Windows: выводим бегунок "аппаратное ускорение" в крайнее левое положение и отключаем "Совмещённые записи". Linux управляет оборудованием на порядок лучше, так что умничать Windows теперь не обязательно.

И естественно, выключаем все спецэффекты: тени, затухания и прочую белиберду. Ставим классический интерфейс и по CTRL+ALT+F переключаемся в полноэкранный режим. После данных манипуляций Windows должен отзываться радикально шустрее.

Тонкость №3. Сколько ресурсов надо операционной системе Windows для приемлемой работы?
1. Обязательно работать с ускоряющим модулем kqemu - ради него, собственно, всё и затевалось (без него можно было просто поставить QEMU из дистрибутива по apt-get qemu).
2. Памяти Windows много не давать - всё равно не умеет ей пользоваться, лезет в своппинг (что под эмулятором очень медленно).
3. Объём "жёсткого диска" - вот тут чем больше, тем лучше. Разрастается Windows быстро - у меня со всеми необходимыми программами занимает 8Гб и уже тесно - приходится подключать новые "диски". Диски лучше делать в FAT - меньше проблем с чтением/записью.
4. Через bridge в сети лучше не пускать - нахватается вирусов. Правда, хост-системе (Debian, например) на это плевать, но всё-таки неприятно.
Как ни странно, но Windows XP работает в эмуляторе заметно стабильнее, чем на реальной аппаратуре. Программы вылетают только от недостатка памяти/своппинга. Так что "форточки" работают стабильно только в окне эмулятора :-)

Тонкость №4. А сколько ресурсов надо давать другим системам?
Здесь всё куда предсказуемее. Linux и FreeBSD памяти - чем больше, тем лучше. Особенно это касается LiveCD - быстрее работать будут и отзываться живее. Если хотите ставить на жёсткий диск - 3Гб максимум, 4Гб - если очень щедры. Больше не надо.

Тонкость №5. Запускаю BeOS/Haiku, Reactos, Syllable с ускоряющим kqemu, а оно виснет. Что делать?
Соответственно, не использовать kqemu :-) Делается это добавлением в строку параметров -no-kqemu
Запускается немного медленнее (особенно тормоза заметны на графической оболочке), но идёт. Лично запускал и Haiku, и ReactOS, и Syllable - идёт отлично, но без ускорения.

Тонкость №6. Хочу поставить операционную систему Windows в QEMU - какая пойдёт быстрее?
Запускал Windows с 95 по XP включительно. Опыт:
1. Windows 95 идёт быстрее всех (не удивительно - там тормозить просто нечему), но из-за низкого IQ грузит процессор на 100%. Отличилось тем, что выпадало в синий экран при простом запуске Photoshop 4.
2. Windows 98 тормозит не детским образом. Те же проблемы с IQ.
3. Windows ME я не ставил.
4. Windows 2000 идёт нормально, но в некоторых версиях эмулятора есть проблемы с его установкой. По причине IQ менее 40 процессор под завязку грузит только когда что-то делает, в простое - простаивает.
5. Windows XP - тоже самое, что и 2000, если выключить большинство его рюшечек.
Всё перечисленное выше NTёвое поделие работает с kqemu без проблем.
6. Windows Vista - пробовал по настоятельными просьбам трудящихся... Но оно не пошло. Сказало, что "ошибка 0хс0000225 Да у тебя, отец, ACPI нет? Как же ты живёшь? Иди ты к ... вендору за новым компом".

Тонкость №7. Хочу эмулировать дискетку/жёсткий диск - сколько их можно всего подсунуть?
Два флоппи-диска и четыре IDEшных харда. В man qemu это подробненько растолковано (а здесь ещё и на русском), причём прямо на первой странице. Но на всякий случай приведу цитату:
использование: qemu [опции] [образ_диска] 
disk_image
- это "сырой" образ жёсткого диска, соответствующий нулевому жёсткому IDE-диску.

Общие параметры:

`-fda файл'
`-fdb файл'

Здесь файл - образ дискеты для дисковода 0/1 соответственно. Вы можете использовать дискету системы-хозяина, указав `/dev/fd0' в качестве файла.

`-hda файл'
`-hdb файл'
`-hdc файл'
`-hdd файл'

Здесь файл - образ жёсткого диска 0, 1, 2 или 3 соответственно.

`-cdrom файл'

Здесь file - образ CD-ROM (вы не можете одновременно использовать `-hdc' и `-cdrom'). Вы можете использовать CD-ROM системы-хозяина, указав `/dev/cdrom' в качестве файла.

`-boot [a|c|d]'

Загрузка с дискеты (a), жёсткого диска (c) или CD-ROM (d). По умолчанию выполняется загрузка с жёсткого диска.


Тонкость №8. Указал в QEMU вместо сидюка ISO-образ, а надо его сменить на другой исошник. Как?
Подсвечиваем (выделяем мышкой) окно эмулятора и ударом в волшебный бубен CTRL+ALT+2 - попадаем в служебный терминал эмулятора. Дальше пишем: info block - получаем список всего, чего прикручено к эмулятору в качестве "устройств ввода-вывода". Вспоминаем, что мы в эмуляторе компьютера - пишем eject. Так наш исошник освобождается эмулятором. Далее, переходим в консольку xterm (ну, в нормальный линуксовый терминал) и как обычно монтируем исошник:
#mount -t iso9660 my.iso /mnt/loop -o loop
При этом (если ничего больше на петлю не прикручено) наш исошник закрепится за /dev/loop0 (не забываем, что у настоящих программистов отсчёт идёт с нуля, а не с единицы). Возвращаемся в служебный терминал эмулятора и пишем там: change cdrom /dev/loop0

Переключаемся в эмулятор ударом в бубен CTRL+ALT+1 - всё, теперь работаем дальше.
Добавление: как выяснилось, можно просто в терминале QEMU указывать имя и путь к ISO-образу и сразу его монтировать командой:
change cdrom /path/to/image.iso
и образ сразу становится доступным для работы.

Внимание!
Прежде, чем вы с радостным воплем побежите дальше, на вашем пути будут небольшие грабельки. Именно: если при уже примонтированном iso-шнике вы сделаете change cdrom, ваша петля прикипит - то есть ядро будет продолжать считать, что loop0 в работе и не даст его размонтировать даже после закрытия эмулятора. Очень неприятно, учитывая, что потом надо будет писать другое устройство - /dev/loop1 и далее. Их всего 8. Чтобы отодрать "прикипевшую" таким образом петлю, пишем от рута:
# losetup -d /dev/loop0
Петля с радостным звоном отлетает и на неё можно снова монтировать. Спасибо Шурику с форума

Тонкость №9. Послать сочетание клавиш в эмулируемую ОС.
Вариант: вы захотели в эмулируемом линуксе переключиться на консоль из графического режима, и по привычке нажимаете CTRL+ALT+F1 и... вываливаетесь в консоль основной системы. Чтобы этого не случалось, можно послать комбинацию клавиш, которую нажмёт за вас эмулятор. Для переключения виртуальных консолей в гостевой Linux-системе следует переключиться в монитор и использовать команды вида:

sendkey ctrl-alt-f2

Регистр важен: например, "sendkey ctrl-alt-delete" работает, а вот "sendkey CTRL-ALT-DELETE" не будет работать. Хотя в документации говорят, что должно работать оба варианта.
Читать далее

SquashFS, или Зачем в Linux архиваторы?



8 коммент.

Как скажет любая поисковая система, SquashFS - это сжатая файловая система, разработанная для удобного и компактного хранения файлов с быстрым доступом к ним из Linux. Разработанная прежде всего для создателей LiveCD (Knoppix-based LiveCD), может пригодиться и простому линуксоиду благодаря высокой степени сжатия, скорости доступа и удобству работы. В Linux работать со SquashFS очень просто и легко.


Архиватор vs SquashFS

Всем когда-нибудь требовалось архивировать свои файлы, и для этого уже давно разработаны утилиты типа gzip, bzip2, rar, arj... Одни из них быстрее, другие обладают высокой степенью сжатия, некоторые архиваторы избирательны (заточены на сжатие текста или графики), другие претендуют на универсальность. Так зачем нужены сжатые файловые системы?


Архиваторы в Linux

Так или иначе, архиваторы создают из предъявленных ему данных сжатый файл. Прекрасно, данные заархивированы и положены на хранение. Теперь нам захотелось просмотреть архив. Есть много файловых менеджеров, которые умеют входить внутрь архивов и дают возможность работать со сжатыми файлами, как с обычными. Однако чтобы перечитать архив, требуется время (попробуйте зайти внутрь архива ядра linux.*.*.tar.gz - это будет не быстро). А теперь нам надо из архива вытащить один или несколько файлов - и вот архиватору приходится распаковывать весь архив и лишь после этого получаем нужный файл.

Теперь нужно добавить в архив файлы. Вот тут без перепаковки всего архива не обойтись. Долго, муторно, неудобно. К тому же некоторые архиваторы, особенно rar, "забывают" права доступа к файлам, что в Linux совсем ни в какие рамки не лезет. Или нам хочется создать свой загрузочный диск с подборкой нужного софта. Да, можно скачать чужие LiveCD, а можно создать свой собственный. Если приблизительно подсчитать, сколько софта на том же Knoppix, можно ужаснуться: ну и как такой объём впихнул Клаус Кноппер в маленький диск?


SquashFS

Очень просто. Специальной утилитой mksquashfs создаётся файл со сжатой файловой системой SquashFS. Далее, при необходимости, этот файл прикручивается (монтируется) на петлевое устройство (loop) и в точке монтирования видим наши файлы. Быстро и удобно, что особенно ценно при разборе старых архивов.

Степень сжатия, как правило, выше, чем у tar.gz при ощутимо более высокой скорости сжатия и несравненном удобстве пользования. Это уже оценили создатели LiveCD и ушлые пользователи. Если требуется извлечь файл - без проблем, просто копируем его куда нам нужно. Скорость чуть ниже, чем при обычном копировании, больше нагрузка на процессор (всё-таки декомпрессия архива), но по сравнению с архиваторами - небо и земля. Нужно добавить файлы? Не вопрос: указываем mksquashfs целью старый архив и происходит дописывание данных в конец, безо всякой перепаковки. Просто и удобно. Единственное, чего нельзя - это переписать файлы "на лету": файловая система SquashFS только для чтения. Приходится дописывать в архив файлы.

Достоинства и недостатки
Конечно, при всех достоинствах SquashFS обладает и недостатками. Архивы нужно каждый раз примонтировать и отмонтировать, обновление - дописыванием в конец или перепаковкой; кроме того, для использования нужен патч на ядро, который есть не для всех версий ядер. Компрессия больших файлов (несколько гигабайт) отнимает большое количество памяти. Зато для маленьких файлов это ценная находка: выкачанный из интернета сайт легко и быстро сжимается в один архив, а потом его можно легко читать броузером, указав точку монтирования.


Установка SquashFS в Linux
Если вы заинтересовались возможностями SquashFS и хотите его установить, то вам потребуются исходники ядра, установленный gcc, утилита patch и скачанный с сайта http://squashfs.sourceforge.net/ архив с патчем на ядро и исходниками mksquashfs. Поддерживаются последние ядра 2.4.х и ветка 2.6 начиная с 2.6.8 Можно включить поддержку SquashFS в ядро монолитно или модулем - накладываем патч на ядро:
#patch -p1 -i squashfs-patch
и вызываем make menuconfig. Теперь в разделе "File systems", "Miscellaneous file systems", должна появиться строчка "Squashed filesystem", которую можно поставить как модуль или вкомпилировать в ядро. Надеюсь, как компилировать ядро, вы знаете, а если что-то забылось - освежить знания можно тут.
Так же следует включить поддержку "Loopback device support" в секции "Device drivers"section, "Block devices" подсекции. Для более подробной справки идём сюда. Собрав ядро и перезагрузившись, компилируем mksquashfs:
# cd /usr/src/squashfs/squashfs-tools
# make
# cp mksquashfs /usr/sbin
Для этого потребуются пакеты zlib*, которые потребуется установить. Скомпилированные однажды утилиты mksquashfs и прочие можно переносить с компьютера на компьютер - и они будут работать.
Чтобы создать архив из файлов в директории /temp потребуется ввести:
mksquashfs temp temp.sq

Расширение добавляется для удобства - оно может быть любым или вообще отсутствовать. Лишь бы вам было понятно, что это архив. Увидеть и работать с файлами можно, прикрутив на петлевое устройство архив штатными средствами любой *никс системы:
mount -t squashfs temp.sq /mnt/squash -o loop
Далее работаем с файлами, как обычно. После использования не забываем отмонтировать.

Что ещё почитать по Squashfs
http://www.linux.org/docs/ldp/howto/SquashFS-HOWTO/gettingready.html
http://tldp.org/HOWTO/SquashFS-HOWTO/mksqoverview.html
http://ldp.linux.by/HOWTO/SquashFS-HOWTO/whatis.html
Читать далее

QEMU в Linux: установка и использование



42 коммент.
Исходные данные: есть установленный Debian (или Ubuntu в крайнем случае) и некоторые программы Windows, которые в WINE не запускаются.
Проблема: нужно запускать Windows и заточенные под Windows приложения.

Вступление
В Сети много слов о QEMU, но мало нормальных руководств по его установке. Выдающимся документом является этот, по мотивам которого и написано данное руководство, с учётом собственного опыта и некоторых поправок на то, что запускать будем в частности виндовс.

Ставим!
Идём сюда и качаем последнюю версию эмулятора QEMU вместе с ускоряющим модулем kqemu. Распаковываем в свою временную директорию:
$ mkdir temp
$ cd temp
$ tar zxvf qemu-0.7.2.tar.gz
$ cd qemu-0.7.2
$ tar zxvf ../kqemu-0.7.2.tar.gz
Эмулятор очень небольшой, но он потребует для своей работы некоторое количество пакетов, которые мы сейчас быстренько поставим (от рута):
# apt-get install libsdl1.2debian zlib1g libx11-dev libsdl1.2-dev texi2html sharutils libgpmg1-dev vgabios bochsbios

Обновлено: если у вас Debian Etch 4.0 и выше, нужен пакет proll

Это если ядро самосборное. Если нет - нам нужен ещё и компилятор вместе с заголовками ядра. К тем пакетам, что мы поставили выше, доставляем ещё:
# apt-get install kernel-headers-$(uname -r) gcc g++ make
Оно потащит за собой другие пакеты, и мы их тоже ставим. На всё требуется около 20Мб, что не так много за запуск других ОС. Самое важное - это чтобы среди пакетов оказались относящиеся к SDL, иначе QEMU откажется работать с графическим выводом.
Дальше в том каталоге, где у нас распакован QEMU, даём команду:
#./configure
И внимательно смотрим на её вывод - должно быть что-то вроде:

notebeast:/home/beast/temp/qemu-0.7.2# ./configure
Install prefix /usr/local BIOS
directory /usr/local/share/qemu

binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/beast/temp/qemu-0.7.2
C compiler gcc
Host C compiler gcc
make make
host CPU i386
host big endian no
target list i386-user arm-user armeb-user sparc-user ppc-user i386- ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link yes
mingw32 support no
Adlib support no
FMOD support no
kqemu support yes
KQEMU Linux module configuration: kernel sources /lib/modules/2.6.15.7/build kbuild type 2.6
Смотрим внимательно, чтобы не тратить зря время: самые важные строчки отмечены красным полужирным шрифтом. Особенно первая и третья у вас должны быть в значении yes, иначе смысла собирать QEMU мало: значение no в первой строчке лишает вас возможности графического режима QEMU, значение no в третьей - у вас не будет ускоряющего модуля kqemu, без которого любая ОС будет запускаться в 5-10 раз медленнее.
Надеюсь, что у вас всё получилось - теперь собираем исходники компилятором. В той же директории, где мы находимся, пишем:
# make
По экрану побегут служебные записи, в которые вчитываться не обязательно. Главное, чтобы компиляция не прервалась словами Aborted, Fatal Error и прочими. Компиляция будет довольно длительной, даже на мощных машинах (P4 3GHz, 2Gb DDR = 10 минут).
Если всё кончилось хорошо, то пишем там же
# make install
Снова побегут строчки служебных записей, только их будет меньше. Компилятор распихал всё куда надо, и теперь мы почти готовы запалить QEMU. Надо активировать поддержку ускоряющего модуля kqemu, делаем так (тоже от рута):
# mknod /dev/kqemu c 250 0
# chmod 666 /dev/kqemu
# modprobe kqemu
Для надёжности проверяем командой
# lsmod | grep kqemu
Оно должно написать что-то вроде:
kqemu 39304 0
Всё, эмулятор QEMU собран, ускорение включено, и теперь..

...Ключ на старт!
Поехали! Достаём из-под кровати пыльный диск Windows XP и создаём "жесткий диск" для установки Windows XP:
$ qemu-img create mustdie.img 4096M
То есть: создать образ диска для QEMU размером 4Гб и именем winxp.img
Так, сделали. Теперь вставляем диск с Windows в CD-привод и пишем:
$ qemu -m 512 -hda mustdie.img -cdrom /dev/cdrom -boot d -localtime
То есть: запускаем эмулятор QEMU с выделением ему 512Мб памяти, жёстким диском в виде файла mustdie.img и реальным CD-приводом (в нём должен быть диск!) в виде ссылки на реальное устройство /dev/cdrom, загружаемся с компакт-диска (если хотим с "жёсткого диска" грузиться пишем -boot c) и в эмуляторе течёт реальное время (-localtime то есть то, что у нас в системе). Понятные установки? А вы говорили сложно будет...

Что ещё?
В следующих постах я расскажу о некоторых интересных моментах с QEMU, возможности заставить Windows шевелиться быстрее и возможностях доступа к "жесткому диску" эмулятора. Не забываем, что так можно поставить почти любую ОС.
В качестве развлечения можно запустить любой Linux LiveCD командой:
$ qemu -m 512 -cdrom /dev/cdrom
Или, если он уже на жёстком диске в виде исо-образа:
$ qemu -m 512 -cdrom knoppix.iso

Ссылки:

Замечательная статья, которая мне в своё время очень помогла, посвящена как раз установке QEMU на Debian-based дистрибутивы (на английском):
http://www.linuxquestions.org/questions/history/320569
Единственный форум, посвящённый полностью QEMU:
http://m2.dad-answers.com/qemu-forum/ и углубляемся в чтение, если остались вопросы.
Сравнение (несколько устаревшее, но интересное) с другими эмуляторами (для особо продвинутых): http://unix.ginras.ru/apps/gam001.html
Читать далее

Мониторинг состояния устройств в Linux



5 коммент.
На улице жара, и вентиляторы на полных оборотах едва справляются с охлаждением системы. Когда, бывает, откроешь крышку системного блока и прикоснёшься, например, к жёстким дискам, становится страшно - какая же температура на критичных компонентах? И как её измерить? Пост на тему утилит мониторинга для Linux.

Что будем мерять?
Имеется несколько утилит в составе Debian, которые могут помочь в мониторинге установленного в системе железа. Установка их не представляет труда, но перед этим надо систему соответственным образом настроить. Этого вполне достаточно, чтобы иметь представление о том, что происходит с системой.

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

Подготовка системы
Для того, чтобы все установленные утилиты заработали, требуется иметь в ядре I2C и Hardware Monitoring включёнными монолитно, а так же модульно все драйверы для вашей материнской платы. Это всё, что относится к фирме-изготовителю материнки плюс обязательно скомпилируйте все модули lm*, например lm85.
Короче, в ядре должно быть:

Device Drivers | ---
I2C Support
| --- [*]
I2C support

I2C device interface
I2C Algorithms ---
I2C bit-banging interfaces I2C PCF 8584 interfaces
I2C PCA 9564 interfaces I2C Hardware Bus support ---
всё модулями
Miscellaneous I2C Chip support ---
всё модулями [ ]
I2C Core debugging messages
[ ]
I2C Algorithm debugging messages
[ ]
I2C Bus debugging messages
[ ]
I2C Chip debugging messages

Device Drivers
- Hardware Monitoring support

National Semiconductor LM63
National Semiconductor LM75 and compatibles
National Semiconductor LM77

National Semiconductor LM78 and compatibles

National Semiconductor LM80

National Semiconductor LM83
National Semiconductor LM85 and compatibles

National Semiconductor LM87

National Semiconductor LM90 and compatibles

National Semiconductor LM92 and compatibles


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


lm_sensors

Это проект поддержки мониторинга оборудования (температура, вращение вентиляторов, напряжения питания). Мониторинг этот осуществляется посредством обмена по шине SMB (System Management Bus). Кроме чипов мониторинга к этой шине могут быть подключены чипы EEPROM современных модулей памяти. Чипы мониторинга и датчики в настоящее время располагаются не только на M/B, но и на CPU и некоторых видеокартах (*).
Теперь как всю эту прелесть водрузить в Дебиане? Очень просто - ставим пакеты:
# apt-get install sensord lm-sensors
И все зависимости, которые он потянет. Теперь опять-таки от рута даём команду:
# sensors-detect
Не пугайтесь - она устроит вам допрос с пристрастием и будет перебирать все скомпилированные вами модули (вот зачем мы их все компилировали!) на предмет их соответствия вашим ресурсам. Пусть смотрит все шины - будет искать и по ISA, и по PCI, и везде, куда доберётся.
В результате утилита или "разведёт руками", или радостно обнаружит модули, подходящие к вашей плате. Если найдёт - скажет, какие и посоветует сразу их добавить в стартовые файлы. Добавляйте, чтобы потом не мучаться.
После чего можно уже от простого пользователя утилитой sensors получить информацию о том, как и что делается в вашей системе.


hddtemp
Это ещё не всё. Теперь черёд жестких дисков и их здоровья. Больше ничего компилировать нам не надо - всё уже есть. Осталось только дебианским проверенным движением:
# apt-cache search sensor | grep hdd
Получить то, что сейчас будем ставить:

hddtemp - Utility to monitor the temperature of your hard drive
Стало быть,
# apt-get install hddtemp
Оно совсем маленькое, но выполняет важную задачу - смотрит на температуру диска. У этой утилиты большое преимущество перед заточенными на s.m.a.r.t - она умеет общаться с дисками SATA. Вызов очень прост: hddtemp /dev/ваш_диск Вот так это выглядит для винчестера моего ноутбука:
# hddtemp /dev/hda
WARNING: Drive /dev/hda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/hda: HTS421260H9AT00: 27C or F
Вполне прилично. Единственное, что если диск не значится в базе программы, будет страшно сокрушаться по этому поводу (выделено серым, чтобы в глаза не било). В остальном всё честно - температура харда в цельсиях. Удобно завернуть в скрипт и мониторить, например, через определённые интервалы времени.


smartctl
Всем хорош hddtemp, но уж чья сестра краткость - так это именно его. Зато True UNIXway - она делает только одно дело, зато очень хорошо. Если хочется большего, например, диагностики своего винчестера, смотрим в сторону утилит, поддерживающих S.M.A.R.T. Расшифровывается как Self-Monitoring, Analysis and Reporting Technology (SMART). Такая система встроена во многие винчестеры ATA-3 (и выше), IDE и SCSI.
Звучит громко, на самом же деле считывает данные о самодиагностике, которые предоставляют современные винчестеры. Умеет работать в режиме демона, и особенно хорошо смотрится на серверах: ресурсов ест мало, дело делает хорошо и информации может дать море.
Ставится очень просто - инстинктивным движением:
# apt-get install smartmontools
получаем в распоряжение демона (который будет запускаться и мониторить диски - или не будет, если не захотите) smartd. Демона по пустякам тревожить не стоит, для общения с пользователем есть его заместитель smartctl, вызов которого производится заклинанием:
# smartctl -i /dev/hda
Если у вас другой диск, соответственно, поправьте. После недолгих раздумий заместитель демона вас либо огорчит (нет поддержки SMART в вашем винчестере, или диск с SATA), или порадует:

smartctl version 5.34 [i686-pc-linux-gnu] Copyright (C) 2002-5 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG SV2002H
Serial Number: 0395J1FR904324
Firmware Version: RA100-04
User Capacity: 20,060,651,520 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 1
Local Time is: Tue May 2 15:44:09 2006 IST

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

You can configure the smartd daemon by editing the file /etc/smartd.conf.
In above output the lines:
SMART support is: Available - device has SMART capability.
SMART support is: Enabled


Конфигурировать его можно через правку конфига в /etc/smartd.conf
К сожалению, он не поддерживает мониторинг SATA-дисков, зато с IDEшными хардами выдаёт кучу полезной информации. Это актуально для владельцев ноутбуков, например.


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

torsmo - system monitor that sits in the corner of your desktop

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


Ссылки:
http://www.cyberciti.biz/nixcraft/vivek/blogger/2006/05/monitoring-hard-disk-health-with.php
http://citforum.ru/open_source/lm_sensor/
http://secure.netroedge.com/~lm78/supported.html
Читать далее

Бухгалтерия в Linux



17 коммент.
Бухгалтерия в Linux есть, и бухгалтерских программ под Linux тоже достаточно. Что имеется для решения этих проблем уже и что грядёт? Об этом - в данном посте.

Сначала - отечественные опенсорс-решения.


Открытая бухгалтерия iceB
Открытая бухгалтерия "iceB" разработана для работы под управлением POSIX-совместимых операционных систем (POSIX-название международного стандарта на операционные системы). Для разработки использовался язык
"С++". Находится в промышленной эксплуатации с 1992 года. В качестве базы данных используется база данных "MySQL".
Комментарий: Отзывы очень положительные, есть опыты успешной эксплуатации. Открытые исходники, GPL.
Ссылки:
http://www.iceb.vc.ukrtel.net/
http://www.osdn.org.ua/meetings/2002/0928/reports/iceb/
http://motivation.ru/mv_iceb.ru.html

Свободная реализация 1С - 1L

На сегодня (прим.: 2005 год) работают аналоги прикладных типов (v.8) Перечислени*, Констант* и Справочник*. Для минимального счастья осталось сделать Документ*, Журнал* и какой-то из Регистр*. Графики пока нет, все тренировки ведутся на базе живой базы (калабур) v.7, конвертированной в XML (конфа) и MySQL (данные). К сожалению, в соответствии с тем же планом при наличных ресурсах разработчиков (а они экстремально малы) нечто бета-тестируемое по расчетам появится только ч-з несколько лет.
Комментарий: Открытая реализация, бесплатно, GPL, состояние - тестирование, бета. На сайте новостей мало, оптимизма тоже.
Ссылки:
http://1l.w4b.ru/

Ananas
Ананас является программным обеспечением автоматизации учета. Ананас позволяет автоматизировать основные учетные операции. Ананас дружит с Windows и GNU/Linux. Ананас доступен бесплатно для установки на любое количество рабочих мест.
Комментарий: Открытый проект, GPL, бесплатно. Функциональность базовая, состояние - релиз.
Ссылки:
http://ananas.lrn.ru/


E/AS Automation Solutions
Целью проекта E/AS является создание и развитие системы по производству решений для потребителей информационных технологий. Программные продукты и документация в рамках проекта разрабатывается под лицензией GPL (GNU GENERAL PUBLIC LICENSE) версии 2, и открыт для всех желающих участвовать в разработке.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://eas.lrn.ru/



Millennium Business Suite Anywhere
Комплексная система управления предприятием Millennium Business Suite Anywhere ориентирована на использование в свободно распространяемых средах и средах с открытым кодом (Open Source). Данная версия системы является полностью кросс-платформенной, включая слои СУБД, сервера приложений и клиентской части.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://www.m-g.ru/


R2D2

Мультиплатформная, объектно-ориентированная среда для создания информационных систем управления различных назначений, включая многомерный бухучет, финучет и прочие "учеты". Основой программы является объектно-ориентированная база данных CODB и язык программирования CLIP . Собственно R2D2 представляет собой метаданные, загруженные в CODB и (в настоящий момент) CGI скрипты для доступа к этим данным.
Клиентская часть в настоящее время реализована на основе механизма GUI интерфесов Mozilla/FireFox/XulRunner - XPFE (XUL, JavaScript, CSS). Передача данных от сервера к клиенту осуществляется по протоколу HTTP в форматах RDF,XUL(XML),XHTML и объектах JavaScript. Есть положительный опыт внедрения, имеются дебиановские пакеты.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://www.itk.ru/r2d2/



Отечественные коммерческие решения:

Etersoft@Wine

В нашей стране многое поставлено на 1С - так вот, бухгалтерия 1С под Linux есть. Реализована возможность запуска таких программ, как 1С:Предприятие 7.7, 1С:Бухгалтерия 6.0, Консультант Плюс, Инфо-Бухгалтер, Кодекс, Референт, MS Office 97 и т.д. Поддержка работы 1С:Предприятие 7.7 и возможность совместной работы с файлами имеется только в коммерческой версии. Бесплатную версию можно скачать здесь http://etersoft.ru/download/WINE@Etersoft/WINE/
Комментарий:
Отзывы положительные, активно внедряется.
Ссылки:
http://etersoft.ru/

БЭСТ+
Кросс-платформенное решение для учета и управления предприятием, возможность подключения рабочих станций под ОС Windows и Linux с файл-сервером Linux через SMB-протокол (SAMBA) или IPX-протокол
Комментарий: Коммерческий пакет, который раньше был под DOS, а теперь имеет Linux версии своих продуктов. Говорят, даже дебиановские пакеты есть. Платный, состояние - релиз.
Ссылки:
http://www.bestnet.ru/program/best4+/


Зарубежные опенсорс-решения.

ERP5
ERP5 is a full featured high end Open Source / Libre Software solution published under GPL license and used for mission critial ERP / CRM / MRP / SCM / PDM applications by industrial organisations and government agencies.
Комментарий: Свободный проект Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.erp5.org/

Compiere
Compiere is open source ERP and CRM software that provides a seamless 360-degree view of your company, its customers and vendors. For years only large corporations have been able to enjoy the benefits of ERP applications. Now, Compiere ERP and CRM puts the power of timely and consistent communications within reach of small to medium-sized businesses by offering superior ERP.
Комментарий: Свободный проект. Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.compiere.org/

Tiny ERP
Tiny ERP is an open source application that boosts productivity and
profit through data integration. It connects and improves business
processes; sales, finance, supply chain, project management, inventory
control, ...
Комментарий: Свободный проект. Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.tinyerp.org/

Ещё ссылки на Linux-бухгалтерию и системы учёта можно найти на сайте E/AS Андрея Черепанова (большое спасибо за ценный комментарий!). Вот лишь некоторые из них:

Так же есть обзор ПО для Учета Торговли и Склада от тов. Tuxedo.

Читать далее

Как правильно задавать вопросы - Questions Mini HOWTO



7 коммент.
Тема поста одной фразой:
Сколько надо времени, чтобы что-то настроить в Linux?
Ответ: мало, если умеешь задавать вопросы.


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

1. Прежде, чем спрашивать, воспользуйтесь поисковыми системами!
Не ленитесь - вбейте в строку поиска Гугла или Яндекса краткое описание своей проблемы. Вы не поверите - уже написано грандиозное количество документации по UNIX-системам вообще и Linux в частности. Возможно, вы быстро найдёте решение своей проблемы. Как правило, в мире Linux кто-то где-то уже сталкивался с тем, с чем столкнулись вы, и уже описал решение.

2. Тоже, что в п.1, но есть ещё поиск на форуме!
Поиск - вообще прекрасная вещь, так что создатели форумных движков разместили поиск в частности по форумам. Очень часто люди задают одни и те же вопросы, не подозревая, что вот буквально на предыдущей странице вашу проблему обсудили до последней невозможности. Кроме поиска:
2.1 Пользуйтесь встроенной помощью unix-систем: если это возможно, прочитайте справку в по команде или программе: в консоли написать man имя_команды или info имя_команды. Если не знаете, какая команда нужна, наберите apropos свой_вопрос (на английском).

3. Вопрос должен быть сформулирован членораздельно!
Да, вы в отчаянии, вам очень плохо и грустно - но это не повод вешать нос. Представьте, что вы на приёме у врача - его тоже не устроит единственная фраза: "доктор, мне больно!". Дело осложняется ещё и тем, что мы оказываем вам помощь удалённо - и, в отличие от доктора, не можем провести диагностику непосредственно вашего "пациента"-компьютера.
Поэтому:

3.1 Внятно изложите суть проблемы: что случилось? что делалось незадолго перед этим? что вы пытались сделать для решения проблемы и к чему это привело? что приводит к проблеме (опишите ваши шаги)?

3.2 Подробно опишите вашу аппаратную конфигурацию: марка процессора? производитель материнской платы? объём оперативной/дисковой/видеопамяти? марка и объём жёсткого диска? а так же любая другая информация, связанная с вопросом

3.3 Назовите вашу операционную систему: как называется дистрибутив, его версия, версия ядра системы (можно посмотреть набрав в консоли uname -a), если собирали ядро сами - опять-таки версию и какие патчи накладывали (если такое было).

3.4 Опубликуйте вывод команд диагностики или скриншоты: напишите вывод команд, характеризующих работу вашей системы - это очень облегчит удалённую диагностику вашей проблемы. О том, как достать эти самые диагностические выводы читайте в этом посте, но на всякий случай:
lspci вывод всех устройств, подключённых к шине PCI
lsusb вывод всех устройств на шине USB
lsmod вывод всех модулей ядра

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

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

5. Пишите о результатах и ходе работы!
Не партизаньте, пишите о том, какие из советов вам помогли, как продвинулись поиски решения вашей проблемы, что изменилось и всё, что относится к этому. Если решение найдено - не поленитесь его описать. Возможно, оно поможет кому-то ещё и в конце-концов осядет в каком-нибудь WiKi или HOWTO, которым смогут воспользоваться все остальные. Если проблема не решена - пишите всё, что пробовали и к чему привело. Будет на что ориентироваться.

6. Не отчаивайтесь!
Может быть, решение вашей проблемы уже набирается форумчанином, а вы уйдёте со страницы и никогда не узнаете, что вам ответили. Оставьте свои координаты (ссылку на домашнюю страницу, электронную почту, мобильный телефон) - чтобы вас известили, если кто-то найдёт решение проблемы. Если в Линукс что-то не заработало сегодня - очень может быть, что заработает завтра или чуть позже.

7. Вы уйдёте с этой страницы просветлённым!
По каким бы причинам вы ни попали на эту страницу - после прочтения этой заметки, одним человеком, умеющим задавать вопросы, станет больше. Возвращайтесь на страницу, где вы задавали вопрос, и попытайтесь воспользоваться приведёнными выше советами.

И помните: терпение и труд все настроят и откомпилят.
Читать далее