AngryGantz

Заметки о Web-стройках

Блог-машина Octopress+Slitaz

| Comments

Как-то у меня не получилось любови между Windows и Octopress. Не знаю, может это я такой везучий но при генерации постов периодически выползали ошибки «Неверный аргумент UTF-8». Бесило, что я никак не мог понять откуда и что. Обычная текстовая строка. Стираешь её, пишешь то же самое, ошибка пропадает. (естественно локали были настроены, все файлы utf и так далее.)

Устав бороться не пойми с чем, решил сделать себе виртуальную машинку с Linux под блог и для других всяких мелочей, где Linux предпочтительнее. Причем не на основном компьютере, а на “таскаемом ноутбуке”. Рабочий нотик у меня старенький, особо нагружать не хотелось. Да и места там свободного кот наплакал. Не то что-бы каждый мегабайт критичен, но и не размахнешся.

По этим соображениям был выбран очень миленький дистрибутивчик Slitaz (Домашняя страница). Отличается он минималистичным стартовым размером (iso весит ~50mb), замечательно работает на 100 мегабайтах оперативки вместе с Gui, который к тому же удобен и продуман, обладает нормальной системой работы с пакетами (они у него свои). Вобщем на мой взгляд то, что доктор прописал. По моим прикидкам после установки всего, чего надо (не только для блога) всё это хозяйство легко впишется в 600-800мб и будет летать на чем угодно.

Для виртуализации я выбрал Virtual Box из соображений простоты, небольших размеров и удобства использования. Гипервизор мне точно ни к чему тут ;-)

Установка Virtual Box

  • Забираем отсюда последнюю версию инсталлятора и просто запускаем setup. Внимание! Есть один подводный камень. Ни в пути к установленному VB, ни в пути к его виртуальным машинам не должно быть кириллицы, иначе эта штука работать не будет. В остальном проблем нет. Ставим, выбираем папку для виртуальных машин. Собственно вот и весь процесс.

Создание ВМ Slitaz

  • Забираем отсюда последнюю стабильную версию Live CD. В моем случае это был Slitaz 4.0 Вес Live CD 37,4Mb.
  • Создание виртуальной машины.
  • Открываем VB, создаем машину, обзываем Slitaz, отмечаем что тип Linux, версия Linux 2.6. Далее в диалоге оставляем по умолчаниб 256mb памяти, отдаваемой машине (это даже с избытком, но пусть будет).
    • Выбор жесткого диска. Выбираем пункт «Создать новый виртуальный жесткий диск». Далее выбор типа жесткого диска - выбираем VDI. Далее идет вопрос о формате хранения. В данном случае оптимально будет выбрать «Динамический виртуальный жесткий диск» Пусть занимает столько места, сколько действительно надо. Минусы этого решения в данном случае не существенны абсолютно. Далее размер. Ставлю 2Gb. По моим предположениям это раза в 3 больше чем надо, но у нас выбрана динамика в форматах диска, так что пусть будет, займет машина всё равно ровно столько, сколько ей надо. Почему тогда не 100Gb? Служебная информация файловой системызанимает место. Обьявим 100Gb диск и в зависимости от выбраной ФС файл виртуальной машины сразу станет 2-4Gb.

    • Далее подключение образа. Идём в настройки машины и в пункте «Носители» подсовываем приводу ВМ скачанный образ. Собственно всё.

Установка Slitaz на виртуальный HDD

Скачанный нами образ является Live-CD, но в нашем случае лучше работать с установленной на виртуальный жесткий диск системой. Так что будем наш «слитазик» устанавливать.

Запускаем машину. В первом появившемся меню просто жмём «Enter» на первом пункте и ждём. По дороге спросят локаль и раскладку клавиатуры. Везде выбираем русский и буквально через несколько секунд мы уже лицезреем десктоп.

Готовим систему к установке. Сначала надо подготовить наш жесткий диск. В установщик SliTaz не входит программа подготовки жесткого диска, поэтому надо его приготовить заранее. В меню «Application» выбираем Система->GParted Partition editor. На вопрос о пароле отвечаем root.

Видим наш 2gb диск, помеченный как unallocated. Не будем мудрить и всё пространство отдадим под один раздел, который отформатируем как ext3. Сначала в меню Device выбираем Create Partition Table... и в открывшемся диалоге жмем apply. Далее меню Partition пункт New. В открывшемся диалоге меняем метку диска по желанию (label) и файловую систему (File system) меняем на ext3. «Служебка» на ext3 занимает в 2 раза больше места, чем на ext2 (в районе 3% от общего размера диска, то есть около 70mb в нашем случае), но она всё таки понадежнее. Предпочитаю её даже на виртуальной машине. Остальное устраивает, жмем Apply. И последнее - в меню Edit выбираем пункт Apply All operatuons Все, диск готов к использованию, закрываем программу.

Запускаем панель администрации (слева вверху иконка с гаечным ключом на красном фоне). Нас спрашивают рутовые логин и пароль, вводим root, root и попадаем в панель администрации.

В меню выбираем пункт install, в «выпавшем» списке выбираем install SliTaz и далее Continue Installation. «Siltaz source media» оставляем без изменений, в разделе «Hard Disk drive» выбираем partition для установки (она у нас одна), галочку о форматировании можно снять, диск у нас и так готов. Далее заполняем данные на рута и первого пользователя и обязательно ставим галочку на пункте «Install Grub» и жмем кнопку продолжения инсталляции. собственно всё. Жмем кнопку перезагрузки, заново выбираем русский при первом старте и система готова.

Пока наш файл виртуальной машины занимает 220mb (из которых около 70 это служебка файловой системы ext3).

Установка VBox Guest Additions

Для того, что-бы заработали приятные плюшки вроде нормального полноэкранного режима, двусторонний буфер обмена между гостевой и хост-машинами, общие папки, «Drag-and-drop» между хостом и гостевой, необходимо в гостевую машину установить специальный пакет утилит. И вот тут начинается Марлезонский балет по полной программе. Помучался я изрядно, но в итоге всё заработало. Поехали.

  1. Приводу cd ВМ подсовываем VBoxGuestAdditions.iso, который лежит в папке, куда установлен VBox.
  2. Запускаем ВМ
  3. Административная панель, пункт Package.
  4. Выполняем Recharge list - обновляем информацию о доступных пакетах.
  5. Устанавливаем пакет linux-api-headers
  6. Устанавливаем пакет linux-module-headers
  7. Устанавливаем пакет bzip2
  8. На десктопе открываем папку My Documents. Там видим примонтированный CD с утилитами, кликаем на него, жмём «F4». В нужном нам месте открывается терминал. Дальше нужны права рута. в терминале даем команду su и вводим пароль рута (root, если не меняли при установке).
  9. Ставим пакет дав команду в терминале ./VBoxLinuxAdditions.run. Установка идет около минуты и сопровождается потоком информации, на которую можно не обращать внимания.
  10. в папке ‘/etc/X11/xorg.conf.d’ удаляем несколько файлов, вызывающих конфликт:
    • rm /etc/X11/xorg.conf.d/10-ServerLayout.conf
    • rm /etc/X11/xorg.conf.d/50-Monitor.conf
    • rm /etc/X11/xorg.conf.d/60-Device.conf
    • rm /etc/X11/xorg.conf.d/70-Screen.conf
  11. Открываем файл /etc/rcS.conf (vi /etc/rcS.conf или nano /etc/rcS.conf для не знающих vi) и добавляем “vboxguest vboxsf vboxvideo” в строку LOAD_MODULES. После редактирования должно выглядеть примерно так: LOAD_MODULES=" snd_hda_intel vboxguest vboxsf vboxvideo"
  12. Открываем файл /etc/slim.conf и меняем строку login_cmd следующим образом: login_cmd VBoxClient-all & exec /bin/sh -l ~/.xinitrc %session
  13. Уффф. Всё. Рестарт ;-)
  14. После перезагрузки системы поставьте разрешение монитора в auto (это в главном меню, в параметрах).
  15. Если собираетесь использовать 3D, поставьте ещё пакет mesa-demos и в настройках виртуальной машины включите галочку о поддержке 3D

После установки этого удовольствия наша виртуальная машина выросла почти в 2 раза - до 500Mb.

Установка Octopress

Сначала надо подготовить среду. Ставим следующие пакеты:

*Ruby
* Ruby-dev
* Python-dev
* openssh
* git

Внимание. На момент написания этих строк Octopress без танцев с бубнами на тему версий, нормально работал только с Ruby 1.9.2.

  1. Зарегистрируйтесь на github.com и создайте репозиторий с именем username.github.com Именно так, с «github.com» (иначе нужны будут дополнительные танцы с настройкой)
  2. Тащим Octopress. Откройте терминал в домашней папке и дайте команду git clone git://github.com/imathis/octopress.git octopress (последний параметр - это папка котурую создаст git и сложит туда всё, что вытащит)
  3. Переходим в новую папку с Octopress. Сейчас нам потребуются права рута, что-бы поставить недостающие части. (команда su). Выполняем команду gem install bundler и затем bundle install. Затем выходим из режима рута (команда exit)
  4. Назначаем тему по умолчанию = ‘rake install`
  5. Для того, чтобы git смог работать по SSH протоколу, необходим обмен ключами. Сгенерируем ключи. Команда `ssh-keygen -t rsa -C “name@mail.ru” создаст в домашней директории папку ~.ssh/ c 2 файлами в ней - id_rsa и id_rsa.pub. Соответственно закрытый и публичный ключи. Если не страдаете паранойей в тяжелой форме, на предложение ввести пассфразу для доступа к закрытому ключу просто нажмите ввод. Иначе при каждом чихе гита он будет с вас её требовать.
  6. id_rsa.pub откройте в текстовом редакторе (не консольном). Проще всего на десктопе открыть папку My Documents, в меню view выбрать Show hidden files, кликнуть на папку .ssh и кликнуть на файл id_rsa.pub Открыв файл скопируйте всё содержимое. На github.com в своём аккаунте зайдите в настройки и в разделе SSH Keys добавьте ключ. Название любое, поле ключа - то, что вы скопировали из файла. перед добавлением у вас попросят ввести пароль от аккаунта.
  7. Необходимо чуть донастроить git. в терминале выполните команды:
    • git config –global user.name “GithubComUserName”
    • git config –global user.email “GithubComUserEmail” Где “GithubComUserName” и “GithubComUserEmail” соответственно ваши имя пользователя и Email с которыми вы регистрировались на github.com
  8. Остался последний шаг по установке Octopress. Команда rake setup_github_pages. На вопрос об url напишите git@github:USERNAME/REPONAME.git (например git@github:Pupkin/pupkin.github.com.git ) если ваш юзернэйм на github.com pupkin и вы создали репозиторий pupkin.github.com

Собственно на этом установка завершена. можно проверить работоспособность. дайте 2 команды. rake new_post["My First Post Octo"] и затем rake gen_deploy. Если всё сделано правильно, вы минут через 10 сможете лицезреть свой новый блог с вашим первым постом по адресу, соответствующему названию репозитория (например pupkin.github.com)

Так как в установленном SliTaz присутствует http сервер, вы можете просматривать ваш блог до публикации. Делается это с помощью команд rake generate и затем rake preview. В браузере наберите http://localhost:4000

Небольшая донастройка среды

Переключение клавиатуры

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

Простейший метод включения. В домашней директории создаем файлик rus.sh (touch rus.sh), делаем его исполняемым (chmod +x rus.sh), открываем его в текстовом редакторе и пишем в него следующее:

1
2
#!/bin/sh
echo `setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle,grp_led:scroll"`


Теперь идем в меню->параметры->Auto started applications. Там жмем Add и в первое поле пишем имя файлика вместе с путем нему (например /home/tux/rus.sh

Теперь отобразим индикатор раскладки. На верхней панели правый клик -> Add remove Panel items -> add -> из списка выбираем Keyboard layot switcher добвляем и кнопками Up/Down выбираем позицию показа.

Установка русской локали.

Несмотря на то, что при установке мы выбирали русскую локаль и даже часть менюшек видна русском, на самом деле пакет русской локали в системе не установлен. Исправляем этот недочет и ставим пакет locale ru или через менеджер пакетов, как вы делали это раньше, или в терминале командой tazpkg get-install locale-ru

Локаль ru_RU.UTF-8

Команда терминала loccale -a | grep ru_RU показывает, что локали ru_RU.UTF-8 всистеме нет. Необходимо её создать. это необходимо делать под рутом (после команды su в терминале):

localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

теперь в /etc/locale.conf прописываем

1
2
LANG=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8

Русифкация консоли

Что-то под SH у меня не получилось написать русские буквы в терминале. А вот с bash + терминал sakura (иконка которого изначльно на верхней панели) получилось. Рецепт следующий:

  • Сначала надо установть следующие пакеты:
    • bash
    • kbd
    • kbd-base
  • Далее сменить оболочку по умолчанию. Для этого:
    • сделайте копию файла .profile, расположенного в вашей домашней папке, и переименуйте его в .bashrc
    • отредактируйте файл /etc/passwd и измените путь к командной строке на /bin/bash. Найдите там строчку с именем пользователя, под которым работаете и поменяйте в конце строки sh на bash (это надо сделать под рутом). Этот метод конечно не по феншую, но для виртуалки и 1 пользователя сойдёт. После всех этих манипуяций надо или перегрузиться или закончить сессию и войти заново. Всё. теперь у нас более менее корректная локаль, есть русские буквы в терминале sakura. Может какие-то подводные камни потом вылезут, а пока вроде порядок.

На сладкое

Если вам лениво повторять весь процесс настройки, вы можете скачать готовую виртуальную машину отсюда. Вам останется только подключить её к установленному Virtual Box и проделать шаги 1-8 (кроме 3-го) из раздела установка Octopress. Вес архива - 173Mb.

На этом Шахерезада и заканчивает дозволенные речи. Удачной работы!

Comments