Как прочитать ext3/ext4 из под Windows?

Linux — это хорошо, но иногда приходится переключаться на Windows, чтобы выполнять ряд задач, которые либо нельзя выполнить в Линуксе, либо выполнить можно, но очень геморройно.

В общем, мы перешли на Windows, и хотим что-то скопировать с диска, на котором сохраняли в Linux’е, но тут у новичков возникнет проблема – ведь диски Линукса не отображаются в  Windows, т.к. данная ОС их просто не распознает. Ей не понятно, что это за такая файловая система (к примеру, ext3 или ext4), которая используется в Linux. Ну и что теперь делать? Каждый раз переносить необходимые данные на флешку или другой сменный носитель, когда вы под Linux’ом, и потом снова копировать уже с флешки к себе, когда вы под Windows? Можно, конечно, оставить данные на флешке, и работать с ними напрямую со сменного носителя, но это не всегда бывает целесообразным.

Итак, проблемы обозначены, и теперь необходимо их решить. Они (решения), конечно же, существуют. На свете есть несколько полезных программ (бесплатных), которые как раз и позволяют читать файловую систему Linux из под Windows, совершая операции копирования в файловую систему Windows (но не обратно!). Хотя, этого, в принципе, будет достаточно.

Программы для чтения ext3/ext4 разделов в Windows:

  • Ext2Fsd (поддержка разделов ext2, ext3 и raserFS)
  • Ext2IFS (поддержка разделов ext2, ext3 и raserFS)
  • DiskInternal Linux Reader (поддержка разделов ext2, ext3 и raserFS)
  • ext2explore (поддержка разделов ext2, ext3, ext4 и raserFS)
Программа Ext2explorer

Про текстовый браузер

Сбылась мечта идиота! Именно так можно охарактеризовать то, что вчера я обнаружил. Благодаря установленным хинтам для Ubuntu, узнал, как можно просмотреть веб-сайт через консоль. Я об этом еще давно думал, но все время забывал погуглить данный вопрос. И вот теперь я знаю, как это сделать! Достаточно ввести такую команду (если у вас Ubuntu, то никаких дополнительных пакетов устанавливать не надо):

w3m http://www.yandex.ru

и на консоль будет выведен сайт, страшный, правда, но а чего еще было ожидать? Форматирование, в принципе, не очень сильно едет, к тому же, у браузера w3m есть много опций для настройки отображения веб-страниц.

Порыв в Интернете, нашел еще несколько схожих текстовых браузеров:

  • Elinks
  • Links
  • Emacs/W3
  • Lynx
Текстовый браузер w3m

Хинты для Ubuntu

Есть такой очень интересный пакет, который после установки может выводить подсказки (хинты) по работе с ОС Linux (в частности, с Ubuntu). Подсказок очень много, и будут полезны для изучения не только начинающим линуксоидам, но и даже «продвинутым» пользователям.

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

sudo apt-get install fortunes-ubuntu-server

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

fortune ubuntu-server

Если хочется лицезреть хинты на русском языке, то:

fortune ubuntu-server-tips-ru

Можно сделать так, чтобы каждый раз при открытии консоли в начале показывалась подсказка:

echo "ubuntu-server-tip" >> ~/.bashrc

Или же тоже самое, но уже на русском (правда, тут есть глюк – сначала выводится хинт на английском, а под ним уже совсем другой хинт, но уже на русском):

echo 'fortune' >> ~/.bashrc

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

Вывод хинтов на консоль

Про команду top

Помню, когда у нас в университете была дисциплина под названием «Операционные системы», первая лабораторная была связана с ознакомлением процессов в ОС Ununtu. Преподаватель расхваливал нам Убунту (на тот момент релизом была восьмая версия), говорил, что это очень чудная ОС, которая установилась даже на его старенький лаптоп. Список процессов мы смотрели через команду top.

С командой top придется столкнуться, наверно, всем, кто постигает азы администрирования линуксом. При вводе в консоли команды top, на экран выводится информативная таблица, которая обновляется каждые 2 секунды (по умолчанию, процессы сортируются по проценту использования процессорного времени). Ниже приводится описание столбцов, для чего они нужны и что показывают.

Вывод информации о процессах через команду top
  • PID (process ID) — идентификатор процесса.
  • USER — пользователь, от которого запущен данный процесс (root — суперпользователь).
  • PR — текущий приоритет процесса. Чем меньше цифра, тем выше приоритет.
  • NI — приоритет, который можно выставить командой nice. Может быть от −20 (наивысший приоритет) до 19.
  • VIRT — общее количество виртуальной памяти, используемой программой (в килобайтах).
  • RES — текущее использование оперативной памяти.
  • SHR — количество разделяемой (shared) памяти программы (в килобайтах).
  • S — состояние процесса. Может быть:
    • D — состояние ожидания;
    • R — процесс выполняется процессором или стоит в очереди на выполнение;
    • S — состояние «сна»;
    • T — выполнение процесса приостановлено;
    • Z — состояние «зомби».
  • %CPU — процент доступного времени процессора, которое использовала запущенная программа.
  • %MEM — процент доступной памяти, которое использовала запущенная программа.
  • COMMAND — название команды, под которой работает процесс.

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

  • Загрузка системы (первая строка):
    • текущее время;
    • up time — время работы системы после включения питания;
    • user — количество пользователей, которые в данный момент работают в системе;
    • load average — средняя загрузка системы  (минута, пять минут и пятнадцать минут назад).
  • Процессы (вторая строка):
    • total — общее количество процессов в системе;
    • running — количество процессов, выполняемых процессором или стоящих в очереди на выполнение;
    • sleeping — количество процессов, ожидающих какого-либо события ввода-вывода;
    • stoped — количество приостановленных процессов;
    • zombie — количество процессов, находящихся в состоянии «зомби».
  • Состояние процессора (третья строка):
    • us — процент использования процессорного времени программами пользователей;
    • sy — процент использования процессорного времени процессами ядра Linux;
    • ni — процент использования процессорного времени программами с измененным приоритетом;
    • id — простой процессора;
    • hi — процент времени, которое процессор тратит на обработку прерываний на уровне железа (IRQ);
    • si — то же, что и hi, только для софт-прерываний;
    • st — процент «уворованного» времени.
  • Использование оперативной памяти (четвертая строка):
    • total — общее количество оперативной памяти;
    • used — количество использованной оперативной памяти;
    • free — количество свободной оперативной памяти.
  • Использование swap-пространства (пятая строка):
    • total — общее количество swap-пространства;
    • used — количество использованного swap-пространства;
    • free — количество свободного swap-пространства.

Управлять top’ом можно, используя следующие команды:

  • a — переключить количество одновременно выводимых на экран окон (по умолчанию показывается одно окно);
  • d или s — установить значение задержки перерисовки экрана (по умолчанию 3 секунды);
  • l — включение/выключение поля «средняя загрузка системы» в заголовке;
  • t —  включение/выключение полей описания процессов и загрузки процессора в заголовке;
  • m — включение/выключение полей, описывающих использование оперативной памяти и файла подкачки;.
  • b — включение процессов, выполняемых процессором (состояние Run);
  • c — включение/выключает отображение имени программы/полной командной строки в поле COMMAND;
  • i — включение отображение только процессов, выполняемым процессором, или всех процессов системы;
  • x — включение/выключает подсветку колонки, по которой происходит сортировка процессов;
  • z — включение/выключает цвет;
  • u — показать процессы, выполняемые определенным пользователем;
  • k — послать сигнал процессу;
  • r — изменить значение поля nice (приоритет процесса);
  • Пробел — заставить программу перечитать список процессов (т.е. обновить экран).

У команды top есть аналоги, но о них в следующий раз.

Шпаргалка по командам в Debian

Официальная памятка по наиболее часто используемым командам в ОС Debian располагается по этому адресу. Пригодится новичкам, которые только постигают азы линукса.

О том, как удалить осиротевшие пакеты в Linux

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

apt-get install имя_пакета

Когда программа нам больше не нужна, целесообразно ее удалить, для этого можно сделать так:

apt-get remove имя_пакета

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

apt-get purge имя_пакета

Тогда удалится сам пакет и его настройки.

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

apt-get autoremove

Если при установке/удалении возникли фатальные ошибки, то можно ввести команду apt-get check, которая обновит кэш и проверит целостность зависимостей пакетов.

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

О том, как поднять Jabber сервер

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

Про стандарт FHS

Иерархия файловой системы UNIX-подобных систем придерживается единого стандарта, который называется FHS (Filesystem Hierarchy Standard). Идея этого стандарта заключается в том, что все файлы и директории ОС должны иметь определенное местонахождение (что, в принципе, разумно). FHS позволяет пользователям и программному обеспечению быть уверенным в расположении файлов и каталогов.

Рассмотрим необходимые директории, предписываемые FHS:

bin — содержатся необходимые исполняемые файлы.
boot — содержатся статичные файлы системного загрузчика. Данная директория часто выносится на отдельный раздел.
dev — содержатся основные файлы устройств.
etc — содержатся настройки (конфигурационные файлы) системы компьютера.
home — содержатся домашние каталоги пользователей. Данная директория часто выносится на отдельный раздел.
lib — содержатся необходимые библиотеки (модули) общего пользования и модули ядра.
media — содержатся точки монтирования для съёмных носителей.
mnt — содержатся точки монтирования для временно монтируемых файловых систем.
opt — содержится дополнительное программное обеспечение.
proc — содержится виртуальный каталог для системной информации (для ядер 2.4 и 2.6).
root — содержится домашний каталог суперпользователя.
sbin — содержатся необходимые системные исполняемые файлы.
sys — содержится виртуальный каталог для системной информации (для ядер 2.6).
tmp — содержатся временные файлы.
usr — содержится вторичная иерархия, в ней хранятся все пользовательские программы (/usr/bin), библиотеки (/usr/lib), документация (/usr/share/doc) и т.д.
var — содержатся изменяемые данные, будь то данные новостных статей, сообщений электронной почты, веб сайтов, баз данных, кэша системы управления пакетами и т.д.
srv — содержатся данные сервисов, предоставляемых системой.

Структура каталогов в OC Ubuntu 10.10

Про тестирование нагрузки с помощью Siege

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

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

apt-get install siege

Siege имеет три основных модели работы:

1. Режим регрессионного тестирования — считывается порция ссылок из конфигурационного файла и к ним по очереди происходит обращение.
2. Режим имитации Интернета — тоже, что и в первом пункте, однако обращение происходит случайным образом.
3. Режим грубой силы — указывается один адрес, к которому производятся все обращения.

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

siege -c NUM1 -r NUM2 -b site.ru

где параметры — это:

-c NUM1 — задает количество имитируемых пользователей
-r NUM2 — задает количество имитируемых обращений

К примеру, 10 пользователей, обратившись по 20 раз, создают 200 запросов.

После того, как Siege произведет имитацию запросов, на экран консоли выведится стастика, которая включает в себя:

Transactions — количество обращений к серверу.
Elapsed time — общая продолжительность тестирования, которая высчитывается начиная с первого обращения к серверу и кончая получением ответа на последний запрос.
Data transferred — суммарное количество данных, переданных всеми имитируемыми пользователями.
Response time — среднее время, за которое сервер успел ответить клиенту.
Transaction rate — среднее число обращений, которые сервер успел обработать за секунду. Формируется путём деления общего числа запросов на затраченное время.
Throughput — среднее число данных, передаваемых ежесекундно от сервера к клиентам.
Concurrency — количество одновременных подключений, при которых сервер отвечает без задержек.
Successful transactions — количество запросов, на которые сервер ответил кодом, меньше 400.

Статистика, выводимая Siege

Материалы по теме: ссылка.

Об Ubuntu

Про Linux знал давно, но установить его и опробовать решил только года два назад. Из всех дистрибутивов решил поставить Mandriva (французский проект). Установка прошла легко и быстро, правда без косяков в дальнейшем не обошлось: не работал звук. Была какая-та несовместимость драйверов со звуковой картой моего ноутбука. Поиски решения проблемы в глобальной сети не привели ни к чему (а может плохо искал?), поэтому работать в линуксе с каждым днем приходилось все труднее и труднее. Я не тот человек, которому не нужны звуки. Сидеть в полной тишине, без возможности послушать музыку, или звука приходящего сообщения ICQ — это для меня чересчур. В связи с чем, чем неделю с небольшим я Мандриву удалил.

Недавно снова решил вернуться к этой теме. Во-первых, хотелось начать получать знания в ОС, отличной от Windows. Знания эти, как я считаю, должны мне пригодиться, когда буду устраиваться на работу. На многие IT-специальности работодатели хотят видеть человека, умеющего работать/администрировать Linux/UNIX. На сей раз выбор из всего многообразия дистрибутивов линукса остановился на Debian, именно на нем работает сервер, на котором расположен этот сайт. Да и вообще, из всех редакций линукса Дебиан является самым популярным и чуть ли не фундаментом для многих других дистрибутивов.

Скачал Debian Lenny (стабильный выпуск), установил на ноут только основу, потом доустанавливал X-Window Server и KDE. Как оказалось, для Lenny KDE идет еще аж 3.x версии, хотя на данный момент уже имеется в наличии 4.x. Со старой версией работать как-то не хотелось, поэтому решил обновить систему до Squeeze (тестируемый выпуск). Тут и начались проблемы, оказывается, чтобы установить Сквиз, надо обновить ядро линукса до последней стабильной версии. А знаний пока сделать этого у меня нет. Читал, конечно, как это делается, но не стал рисковать.

В итоге решил установить Ubuntu 10.04, которая как раз основана на Debian. Скачал декстоп-версию, поставил, запустил. Интерфейс по сравнению с восьмой версией сильно изменился в лучшую сторону (за что спасибо обновленной оболочке GNOM). Почему я вспомнил восьмую версию Убунты? Дело в том, что с ней я познакомился в университете на предмете «Операционные системы». На ней мы как раз делали примитивные лабораторные работы. Изучали, что такое процессы в ОС, как их удалять, замораживать и т.д.

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

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