«Деньги, карты, два ствола» (linux, kodi, tv-box)

— Мамо! Купіть мені плєєр!
— Який тобі плєєр, доцю? Ти ще коньків не сточила!..

Прогресс шёл себе, шёл, и дошёл до того, что наиболее универсальный плейер нынче представляет собой … компьютер в том или ином его обличии. А современный медийный контент — это различные файлы (видео/аудио/изображение/прочие), хранящиеся либо на каких-нибудь носителях, либо на серверах, как локальных, так и размещенных где-то в интернете. Миру явили даже такой симбиоз, как Smart-TV — (фактически, обычный) компьютер, который запхнули внутрь телика. Он тебе и в интернет сходит, и музычку проиграет, и киношку покажет, и еще целую кучу других разных дел сделает!

Но так уж вышло, что телик я себе купил … обычный (хорошо, хоть с HDMI-входами!). И это — лишь одна из причин всего того «перфоманса», который описан в этой заметке. Телевизор мой стоит себе на стенке в зале. Рядом разместился AV-ресивер (музыку тоже люблю послушать иногда), колонки, саб, одним словом — «всё пучком». И лишь компьютера там нет! Ну и последний «гвоздь в крышку» — моя домашняя «файлопомойка» (сервер, на котором хранятся все те самые файлы медиа-контента) живет на антресоли, образно говоря, «на другом краю мира» (квартиры). И никаких кабелей между этими локациями не было проложено по определению (ну кто мог себе такое даже представить в конце прошлого века, когда делался ремонт квартиры?!). Ну и последнее — музыку  я люблю «пускать» на ресивер «по цифре», но при этом, из цифровых входов у моего «старичка» имеются лишь S/PDIF и его оптическая разновидность — TOSLINK. А фильмы жена любит смотреть со звуком из телевизора («А чего оно так громко гупает с твоих колонок?»). Ну вот вроде как и закончили с «вводными»…

Итак, первый плейер, на который были возложены обязанности развлекать нас, представлял собой мини-ПК Raspberry-PI, с установленной на нем дополнительной платой PiFi-Digi (цифровые выходы звука S/PDIF и TOSLINK). Вот такая себе «сладкая парочка»:

Ах да, кроме «вышеперечисленных товарищей» в процессе также участвовали:

  • USB-адаптер беспроводной сети Tp-Link TL-WN725N (надо ж было как-то к «файлопомойке» подключаться)
  • Беспроводная «аэро-мышь» i7 Rii mini (в качестве пульта ДУ)

Установленное на «малину» ПО представляло собой (в разное время) различные дистрибутивы Linux, с установленной на них программой медиа-плейера Kodi («в девичестве» называвшейся XBMC, и к которой я за эти годы, можно сказать, «прикипел душой»). И все было бы хорошо, если бы не те самые «НО», которые по определению есть всегда и везде:

  • Компьютер сей особой производительностью не блистал. Это была модель из «более ранних» версий (model B): одно ядро частотой 700 МГц, памяти 512 Мб. Возможно, текущие версии «малины» (например, Raspberry-PI model 3B+) работали бы пошустрей, но тратить деньги на «эксперименты по проверке теорий» абсолютно не хотелось. Кроме того, и плату S/PDIF тоже пришлось бы покупать новую…
  • Дизайн изделия (именно такой, как и показан на фото выше, без корпуса) тоже особо глаз не радовал (не столько мой глаз, сколько жены).
  • Были еще какие-то мелочи, но, видимо, настолько незначительные, что уже и из памяти выветрились.

Железо

Вдруг как-то неожиданно освободился мини-пк, работавший моей домашней «файлопомойкой» (мини-сервером, выполнявшим разные задачи, в том числе и хранения медиа-контента). Вот такой, как показан на картинках ниже (разве что, wi-fi адаптера в моем не было, и как следствие, антенки — тоже):

А главный «сюрприз» ждал меня внутри этого компьютера — при тщательном осмотре его материнской платы на ней было обнаружено место для установки передатчика TOSLINK (оптического варианта S/PDIF). Использованный в компьютере чип аудио-кодека ALC662 от ф. Realtek имеет соответсвующий выход. Последующая проверка цепей показала, что все необходимые подключения и элементы на плате присутствовали, и не хватало лишь самого передатчика! На следующей картинке место для установки TOSLINK видно (в левом нижнем углу платы, пониже светло-зеленого гнезда аналогового аудио-выхода):

Отлично! Передатчик TOTX179 был куплен и распаян на плате, в корпусе мини-пк было «прогрызено» отверстие под него, и новый медиа-плейер был практически готов! Оставалось лишь поставить на него ОС и программу-проигрыватель.

«Муки выбора» (софт)

Глобально «что устанавливать» — вопрос не стоял абсолютно! Все тот же Kodi поверх все того же Linux-а. Ответ на вопрос о том, «какой Linux устанавливать», мне тоже известен уже давно — тот, который знаешь, иначе «танцы с бубном» затянутся надолго! А «знакомы» мне два дистрибутива — Ubuntu и Debian. Вопрос был лишь в том, «что где доступно и почем?». Речь о том, что версии плейера Kodi, включенные в различные дистрибутивы их авторами, во первых, отличаются, а во вторых, не дают «гибкости выбора» (как вы можете увидеть в приведенной ниже таблице, в официальных репозиториях присутствует лишь по одной версии Kodi для каждого из релизов). Но тут мною для Ubuntu были найдены так называемые PPA на сервере launchpad.net, «и всё сразу-же стало на свои места»! 🙂

Ниже приведена таблица, в которой указано, какие версии Kodi доступны в разных версиях Linux-ов (для Ubuntu рассматривались только LTS-релизы). На всякий случай уточню — приведенная в таблице информация была актуальна на момент написания данной заметки.

Дистрибутив Релиз Доступность Kodi в репозиториях
Официальный PPA
Ubuntu 16.04 LTS (Xenial) 15.2 16.1 (kodi-old)
17.6 (stable)
18.0 (unstable)
Ubuntu 18.04 LTS (Bionic) 17.6 17.6 (stable)
18.0 (unstable)
Debian 8 (jessie) 16.1 (backports)
Debian 9 (stretch) 17.1

По итогам «исследований» мною был выбран дистрибутив Ubuntu, и вот почему: использование PPA предоставляло возможность установить 2 или 3 разных версии проигрывателя Kodi, не меняя при этом саму ОС. Причем, в плане самого проигрывателя Kodi мои личные предпочтения склонялись к версиям 16 и 18. Поводом для такого моего выбора послужила опция в настройках звука, которая в 16-й версии Kodi присутствовала, в 17-й версии её убрали, а в 18-й — снова вернули! Речь идет о возможности «задрать» уровень громкости центрального канала, когда плейер выполняет т.н. downmix из многоканального (5.1) звука в двухканальное стерео. Эта штука очень сильно помогает при просмотре на телевизоре (имеющем лишь стерео-динамики) фильмов с такими «качественными» переводами, при которых голоса актеров «озвучки» выведены лишь в центральный канал да еще и со слабым уровнем, в результате чего их очень плохо слышно на фоне «громогласных» звуковых эффектов. А с учетом того, что иногда «задирать центр» приходится аж до уровня в +10…+16 дБ, то лично для себя эту опцию я считаю весьма и весьма полезной! Настройка параметра в 16-й версии Kodi показана на скриншоте:

Релиз Ubuntu мною был выбран такой: 16.04 LTS, и вот почему. Во первых, в нём возможно установить любую из ТРЁХ различных версий проигрывателя Kodi (естественно, речь про установку именно с помощью PPA). А во вторых — настройка сетевых адаптеров в нём осуществляется ещё «по-старому». Не скажу, что я не нашел для 18.04 LTS информацию о том, как в ней вернуться к «старому» ifupdown вместо «нового» netplan, или не нашел, что и как нужно прописать в настройках netplan для запуска моего адаптера TL-WN725N. НО, под управлением netplan он все равно стартовать не захотел, а менять в «новом» дистрибутиве «новый» netplan на «старый» ifupdown я посчитал просто «не красивым». Кстати, в случае использования Network Manager-а всё настраивалось, подключалось и работало на ура, но в том-то и дело, что в мои планы его использование не входило, о причинах чего будет сказано в следующем абзаце…

Дело в том, что для работы Kodi не нужны никакие «графические рабочие столы» (такие как Gnome, KDE, и т.п.). У него есть возможность работать в т.н. «standalone» режиме, для которого — да, нужен X-сервер, но вот desktop-ы всякие там — совсем не обязательны! А за то время, что пользуюсь линуксами разными, я уже успел убедиться, что «графический десктоп» — это самая «прожорливая» часть ПО в данных системах! Поэтому, ставить на свой плейер я режил серверную версию Ubuntu — ту самую, которая совсем без графики! Расчитывая при этом впоследствии «досыпать» поверх «голой консоли» лишь самый необходимый минимум. И вот именно по причине отсутсвия графического десктопа никакой Network Manager моему плейеру просто «не светил»!

Установка ОС

Установка ОС Ubuntu в интернете описана столько раз, что останавливаться на этом не вижу смысла. Пошли на сайт, скачали образ диска (iso-файл), записали его на «болванку» или флешку, загрузились с нее и установили. Единственное, на всякий случай повторюсь — лично себе я устанавливал 64-битную версию server-а Ubuntu 16.04.5 LTS. И еще одна настоятельная рекомендация — устанавливая ОС, не используйте слово «kodi» в качестве логина (юзер с таким именем будет создан позже, при установке программы Kodi).

Настройка беспроводной сети

Считаю нужным уточнить — всю установку и настройку плейера я проводил, подключив его к сети (роутеру) ETHERNET-КАБЕЛЕМ. Связано это с тем, что так БАНАЛЬНО ПРОЩЕ! Не могу сказать, что современные версии Ubuntu «проблемны» в плане поддержки большинства популярных (наиболее массово производимых) Wi-Fi-адаптеров, но сам я никогда не возился с их настройкой именно во время установки ОС. Проще всё проделать, подключившись кабелем. И лишь потом настраивать Wi-Fi (естественно, продолжая «висеть на кабеле», чтоб не отвечать на вопросы типа «А как я могу скачать пакеты, если к интернету не подключен?» 🙂 )…

Должен сделать еще одно краткое отступление. Естественно, описываемые в этой заметке действия проделывались не раз, не два, и не двадцать два. И лишь по итогам всех этих (за)нудных «экспериментов» была написана статья, которая теперь выглядит как «просто раз, два, три…». В ходе этих «экспериментов» действия предпринимались самые разные, и далеко не всегда действительно необходимые. А главное, потом было сложно понять, лучше стало после них, или хуже. Потому что «всё продолжало работать также, как и до того как…».

И вот сейчас речь пойдет именно о таком «сомнительной необходимости» действии — установке «из исходников» драйвера для моего Wi-Fi-адаптера. На всякий случай напомню, мною использовался USB адаптер Tp-Link TL-WN725N с чипом RTL8188EUS от Realtek внутри. Должен сразу же добавить — Ubuntu сама распознает указанный адаптер и сама устанавливает драйвер для него. Но я в эти «дебри» с установкой драйвера «из исходников» полез на том этапе, когда у меня в Ubuntu 18.04 LTS никак не получалось настроить подключение к беспроводной сети в программе netplan (подумал, «А вдруг поможет?»). По факту — не помогло, но инфа осталась, вот и выкладываю ее тут. Итак, чтобы установить драйвер на RTL8188EUS выполните следующее (приведены команды, которые необходимо выполнить в консоли):

  1. Установите необходимые дополнительные пакеты:
sudo apt-get update
sudo apt-get install -y linux-headers-$(uname -r) build-essential git
  1. Скопируйте исходники драйвера:
git clone https://github.com/lwfinger/rtl8188eu
  1. Перейдите в папку с исходниками:
cd rtl8188eu
  1. Выполните сборку и установку драйверов:
make all
sudo make install
  1. Включите использование системой модуля установленного вами драйвера:
sudo insmod 8188eu.ko

После перезагрузки ОС должна начать использовать установленный вами драйвер вместо встроенного. Но повторюсь, разницы в работе Wi-Fi после смены драйвера лично я не заметил, поэтому считаю установку драйвера не обязательной.

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

  1. Для этого в консоли введите команды:
sudo apt-get update
sudo apt-get install -y wireless-tools wpasupplicant
  1. Настройте параметры подключения к беспроводной сети (предполагается, что ваша сеть использует WPA-PSK или WPA-PSK2 шифрование). Для этого запустите редактор, указав для редактирования соответсвующий файл настроек:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  1. Редактор должен сообщить вам, что он открыл [Новый файл]. В файл впишите такие строки:
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
   ssid="тут_впишите_SSID_вашей_сети"
   psk="тут_впишите_ключ_шифрования_вашей_сети"
}

Естественно, что SSID и пароль (выделенные выше красным цветом) вы должны указать СВОИ собственные! Двухбуквенный код страны, при желании, также можете указать свой (список кодов можно тут просмотреть в таблице). Правда, я не заметил особой разницы от его смены. Выполнив это, сохраните файл (нажмите F3 и затем подтвердите имя файла для сохранения, нажав Enter) и выйдите из редактора (нажав F2).

  1. И завершающий шаг — настройка сетевых параметров адаптера в файле /etc/network/interfaces. Правда, перед этим вам нужно уточнить какое «имя» система присвоила вашему беспроводному адаптеру. Это можно сделать следующей командой:
iwconfig

В ответ вы должны получить список всех сетевых адаптеров, которые ОС обнаружила в вашем компьютере. Напротив тех  из них, которые не являются беспроводными, будет указано «no wireless extensions». По поводу же того адаптера, который программа опознает как беспроводной, будет указано нечто наподобие такого:

wlx30b5c216a241  unassociated  ESSID:""  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

В показанном примере видно, что имя беспроводного сетевого адаптера — wlx30b5c216a241 (выделено мной). Вот именно для него и нужно прописать настройки в файл /etc/network/interfaces. Откройте данный файл в редакторе:

sudo nano /etc/network/interfaces

Впишите в конце файла (не удаляя и не меняя остальные, уже имеющиеся там строки) следующее:

allow-hotplug wlx30b5c216a241
auto wlx30b5c216a241
iface wlx30b5c216a241 inet dhcp
#wireless-power off
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Естетсвенно, редактируя файл, «имя» адаптера указывайте то, которое будет использовано в вашей системе.

Вписанные вами в файл команды означают следующее: адаптер допускает «горячее подключение» (1-я строка), должен запускаться «автоматом» при старте системы (2-я строка), получать все настройки (IP-адрес, шлюз, DNS) автоматически, по DHCP-протоколу (3-я строка) и для подключения к беспроводной сети использовать настройки из соответсвующего файла (5-я строка). 4-я строка запрещает управление питанием для данного адаптера (в том смысле, что драйверу адаптера запрещено снижать мощность передатчика Wi-Fi-радиомодуля с целью экономии энергии), но чтобы данная директива начала работать, ее нужно «раскомментировать» (удалить «#» в начале строки).

  1. Сохраните изменения и выйдите из редактора.

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

Установка Kodi

Для установки Kodi на Ubuntu-server нужно выполнить несколько действий, а именно:

  • Добавить PPA репозитория Kodi на сервере launchpad.net;
  • Установить X-server;
  • Установить Kodi;
  • Создать новый Unit для Sysytemd, который будет запускать Kodi как standalone-демон при запуске ОС;
  • Создать новое правило для polkit, которое позволяет неавторизованному пользователю управлять перезагрузкой/выключением системы (это добавит соответсвующие кнопки в меню Kodi);

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

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

  1. Установите необходимый пакет:
sudo apt-get update
sudo apt install git -y
  1. Клонируйте скрипт автора с сайта GitHub на свой компьютер:
git clone https://github.com/abacao/Boot2Kodi.git
  1. Перейдите в папку со скриптом:
cd Boot2Kodi
  1. ВНИМАНИЕ — ЭТО НЕ ОБЯЗАТЕЛЬНЫЙ ШАГ! Так как по умолчанию этот скрипт подключает т.н. «stable»-ветку репозитория Kodi, то в результате его выполнения на компьютер будет установлена текущая «стабильная» версия программы, а именно — 17.6 (учтите, что данная информация была актуальна на момент написания заметки, при выходе новых версий проигрывателя наверняка всё изменится, поэтому, уточните свежую раскладку по версиям на странице проекта на сервере launchpad.net или тут). Если вы хотите установить именно текущую стабильную версию программы Kodi (17-ю), просто пропустите этот шаг и сразу переходите к 5-му пункту! Если же вы хотите установить Kodi версий 16.х (предыдущую) или 18.х («нестабильный» релиз-кандидат), то тогда вам нужно будет выполнить следующее:

Откройте файл скрипта в редакторе:

nano install.sh

Найдите в нем такую строку (где-то в начале файла):

add-apt-repository ppa:team-xbmc/ppa -y

И отредактируйте её. Если вы хотите установить Kodi версии 16.х, измените ее так, чтобы строка стала выглядеть следующим образом:

add-apt-repository ppa:team-xbmc/kodi-old -y

Если же вы хотите установить Kodi версии 18.х, то строку нужно привести к такому виду:

add-apt-repository ppa:team-xbmc/unstable -y

Сохраните изменения и выйдите из редактора.

  1. Запустите скрипт на выполнение:
sudo sh ./install.sh

По окончании работы скрипта программа Kodi будет установлена и запущена.

Звук — донастройка и метод переключения

Как уже было сказано в начале заметки, в моем случае звук проигрывателя должен был выводиться «наружу» двумя различными способами. При просмотре фильмов — по HDMI на телевизор. А при прослушивании музыки — по S/PDIF (TOSLINK) на AV-ресивер. Но тут меня поджидала «засада» — Kodi видела только лишь два выхода (а главное — ни одного из тех, что были нужны мне!):

Причина «фокуса» крылась в программе pulseaudio — это она предоставляла проигрывателю информацию о всего двух возможных способах вывода звука. В случае, если бы на компьютере был установлен какой-нибудь «графический десктоп», в нем присутствовали бы средства для настройки предпочтений из числа ВСЕХ имеющихся в компьютере аудио-устройств. Но увы, в моём распоряжении были сервер и «голая консоль» на нём! Решением оказалось «грохнуть» pulseaudio (и в таком случае Kodi использзовал бы сведения, предоставляемые другой программой аудио — alsa). И как показала дальнейшая проверка — в таком случае список для выбора оказывается гораздо шире:

Естественно, этот вариант устраивал меня намного лучше — в нем были доступны к  выбору нужные мне и HDMI, и S/PDIF!

Интернет предлагал мне вообще полностью удалить программу pulseaudio с компьютера. Но я воспользовался другими найдным советом — просто запретить pulseaudio сканирование аудио-устройств. И этого оказалось достаточно! Чтобы настроить систему таким образом, нужно выполнить следующее:

  1. Откройте в редакторе файл настроек программы pulseaudio:
sudo nano /etc/pulse/client.conf
  1. Найдите в файле такую строку:
; autospawn = yes
  1. Отредактируйте ее так, чтобы она стала выглядеть следующим образом:
 autospawn = no
  1. Сохраните изменения и выйдите из редактора.
  2. Перезагрузите компьютер.

Всё! После перезагрузки в настройках Kodi вы увидите максимально полный перечень устройств для вывода звука, имеющихся в вашем компьютере!

Для переключения вывода звука с одного интерфейса (в моем случае, с HDMI) на другой (S/PDIF) интернет настойчиво предлагал мне установить в программу Kodi дополнительный плагин. И я даже установил его! И даже выполнил весь тот «кордебалет», который нужен был для его настройки! Но скажу честно — это была не совсем тривиальная задача! Нужно было найти специальный xml-файл с настройками интерфейса, найти в нем конкретную запись, отредактировать её, дополнительно добавить туда еще какой-то код, скопировать файлы иконок, и т.д. и т.п… Короче говоря — не понравилось мне все это! И поэтому я свою задачу решил совсем иначе — просто создал в программе Kodi еще один (новый) профиль (пользователя)! В каждом из профилей я настроил свой собственный способ вывода звука (а также, и дополнительные параметры): в одном используется HDMI, в другом — S/PDIF! И теперь в случае необходимости я просто переключаюсь из одного профиля в другой (штатными средствами программы Kodi)! В итоге — никакой мороки с правкой xml-файлов…

Кеширование

100500 раз в интернете читал высказывания о том, что «мультимедиа по Wi-Fi — это плохое решение!». Но кабеля у меня как не было (между «файлопомойкой» и плейером), так и нет по сей день! А «киношку» посмотреть какую-никакую охота все-равно.

Еще во времена, когда плейером трудился старенький Raspberry, я нашел описание и настроил по нему кеширование в программе Kodi. И считаю эту возможность большим плюсом — благодаря ей Kodi старается скачать себе в буфер какой-то объем данных наперед. И благодаря буферизации вопроизведение намного меньше подвержено влиянию качества канала передачи данных, чем в случае, когда кеширование не используется. Например, «среднестатистическую» песню Kodi за пару-тройку секунд скачивает в свой буфер целиком и потом воспроизводит её непосредственно из памяти. Есть ли ему при этом какое-либо дело до нестабильности Wi-Fi, думаю, вы догадаетесь сами…

Чтобы настроить кеширование в программе Kodi нужно создать специальный файл настроек и вписать в него ряд параметров. Учтите, что названия параметров в файле для версии 16.х отличаются от таковых для версий 17.х и 18.х! Поэтому, будьте внимательны, выполняя приведенные ниже инструкции.

Чтобы настроить кеширование, выполните следующее:

  1. Запустите редактор, указав для редактирования соответсвующий файл настроек:
sudo nano /home/kodi/.kodi/userdata/advancedsettings.xml
  1. Редактор должен сообщить вам, что он открыл [Новый файл]. В файл нужно вписать настройки, которые будут определять параметры кеширования. Как уже было сказано выше, для разных версий программы Kodi эти строки должны отличаться:

ЕСЛИ ВЫ НАСТРАИВАЕТЕ ПРОГРАММУ KODI ВЕРСИИ 16.Х, то впишите в файл такие строки:

<advancedsettings>
    <network>
	<cachemembuffersize>268435456</cachemembuffersize>
	<buffermode>1</buffermode>
	<readbufferfactor>6</readbufferfactor>
    </network>
</advancedsettings>

ЕСЛИ ЖЕ ВЫ НАСТРАИВАЕТЕ ПРОГРАММУ KODI ВЕРСИЙ 17.Х или 18.Х, то строки должны быть такие:

<advancedsettings>
    <cache>
	<memorysize>268435456</memorysize>
	<buffermode>1</buffermode>
	<readfactor>6</readfactor>
    </cache>
</advancedsettings>
  1. Сохраните файл и выйдите из редактора.

Изменения вступят в силу после перезапуска Kodi (думаю, проще будет перезагрузить сам компьютер).

Параметров три (их значения выделены красным цветом), и не смотря на отличие имен параметров, определяют они одно и то же: первый указывает размер буфера в байтах (в моём мини-пк установлен модуль памяти объемом 2Гб, так что размер буфера я указал равным 256 Мб, но можно было указать и побольше), второй — опредеяет в каких случаях используется кеширование (вариант 1 означает — для любых протоколов и сетей, как локальных, так и «глобальных»), и третий параметр указывает, во сколько раз быстрее программа должна пытаться считывать данные из источника по сравнению с битрейтом самого медиа-файла. Подробнее прочесть о том, что и как можно настраивать в файле advancedsettings.xml, вы можете в Wiki на сайте Kodi.

И вот теперь действительно ВСЁ!…

Ах да,

…вишенка на торте

Чтобы сделать скриншот, можно обратиться к программе Kodi из браузера с «соседнего» в сети компьютера. Для этого вы дожны выполнить запрос на адрес:

http://адрес_компьютера_с_kodi:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Input.ExecuteAction","params":{"action":"screenshot"}}

Пару важных замечаний. Во первых, для того, чтобы это работало, в настройках Kodi нужно «Разрешить удаленное управление по HTTP». Во вторых, при выполнении самого первого скриншота программа попросит вас указать папку, в которую их сохранять. И третье — самое грустное: это работает лишь в версиях 16.х и 17.х…

2,5-дюймовый винчестер — в D’link DNS-320L

Так уж сложилось, что у меня завалялось несколько «свободных» ноутбучных винчестеров (2,5 дюйма). И захотелось мне NAS. Причем, естественно, такой, чтоб в него эти самые винчестеры пристроить. Гугл предлагал или «только дорого», или «только под винчестеры 3,5 дюйма». А хотелось, как обычно, «всё и на шару»…

«Глаз лег» на недорогой NAS для двух винчестеров от D’link — модель DNS-320L. НО! В интернете так и не нашлось никакой информации, о том, смог ли кто-то все-таки успешно установить в него винчестеры размера 2,5 дюйма?..

И терзали меня эти сомнения до тех самых пор, пока не нашел я в интернете вот такую картинку внутренностей аппарата со снятой крышкой. После этого мыслительный процесс пошел уже «в конструктивном направлении»…

Для начала сложил я кучку из винчестеров разного типоразмера:

CIMG0973

 

Целью построения этой «пирамиды» было желание увидеть, одинаково ли относительно края располагаются разъемы интерфейсов SATA и питания. Проверка показала — таки да! То есть, при попытке установить винчестер размером 2,5 дюйма ему ничего не должно мешать. Правда, отсутствует крепление винчестера, и тот будет держаться только на разъемах  интерфейсов SATA и питания! Но тут уже успокаивал тот самый «мыслительный процесс», который нашептывал: «Там же есть целая стенка металлического кожуха, сделаешь в ней дырки, прикрутишь винтами«…

В итоге, решение принято — «будем брать!«.

И вот девайс на столе. Разобрать его оказалось не сложно, как и в большинстве SOHO-устройств, крепежные винты были спрятаны под резиновыми ножками.

Осмотр той самой металлической стенки показал, что лишь в одном из 4-х возможных мест можно беспрепятственно просверлить отверстие для крепежного винта. «Мыслительный процесс» сказал «Не бойся! Один крепежный винт плюс два разъема  интерфейсов SATA и питания — для того чтобы удержать винчестер типоразмера 2,5 дюйма, — ДОСТАТОЧНО!»

Отлично, сверлим отверстие. В этом процессе главное — хорошо прицелиться (а не так, как это сделал я):

CIMG0966-1

Место, где я просверлил отверстие, на рисунке обведено красным. С учетом того, что «прицел меня подвел», пришлось еще немного поработать надфилями, чтобы отверстие под винт оказалось именно в том месте, где нужно.

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

CIMG0967

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

После этого устанавливаем винчестер:

CIMG0968-1

… и прикручиваем его винтом снаружи кожуха:

CIMG0970-1

Затем аккуратно устанавливаем назад пластмассовый кожух:

CIMG0971-1

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

Если винчестеров устанавливаете два, то аналогичные манипуляции проделываете и на другой стороне металлического кожуха.

Всё…

 

 

Зажигаем «LAMP-очку»

Наблюдая превеликое множество инструкций на тему установки вебсервера с поддержкой РНР, в которых идет нудное перечисление вида «Установите Apache», «Установите PHP», и т.д. и т.п., я всегда прихожу в уныние. Ну зачем все так сложно? По этому, я и решил написать эту заметку, в которой мы все это установим «на раз, два, три»…

Очень кратко о том, что такое LAMP.  Метапакет LAMP (Linux – Apache – MySQL – PHP) – это «объединенный пакет» устанавливающий «одним махом» несколько программ сразу. Он включает в себя: веб сервер Apache, сервер баз данных MySQL и сервер приложений на языке PHP. Установка этого метапакета в дистрибутивах Linux на самом деле позволяет максимально просто установить все указанные службы, а также автоматически настроить их взаимодействие. Результатом его установки является полноценный веб-сервер, с поддержкой PHP и MySQL, работающий на компьютере.

Именно поэтому мы и пойдем таким путем — установим метапакет LAMP. Выполняться это будет на «попсовом» дистрибутиве Ubuntu. Предполагается, что на момент начала установки у компьютера настроен доступ в интернет, и проблем с установкой пакетов нет.

Запустите терминал (меню «Приложения» — «Стандартные» — «Терминал»).

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

sudo tasksel install lamp-server

Должен заметить, что с некоторых пор в релизах Ubuntu команда tasksel по умолчанию не устанавливается. В таком случае в ответ на команду, приведенную выше, вы получите сообщение об ошибке (что команда tasksel не найдена). Ну нет, так нет. Установите ее! Для этого введите такую команду:

sudo apt-get install tasksel 

…а уже после того как программа tasksel будет установлена, снова введите команду (ту, первую) для установки метапакета LAMP…

Но, вернемся к установке.

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

Рис. 1 — Команда установки метапакета LAMP

После того, как правильный пароль будет вами введен, начнется установка метапакета LAMP. Первый этап — загрузка файлов.

Рис. 2 — Загрузка пакетов из интернета

После того, как загрузка файлов завершится, будет запущен процесс настройки. При этом вам будет предложено указать самостоятельно единственный зависящий от вас параметр, а именно — пароль пользователя root для сервера баз данных MySQL. Вам будет выведено вот такое диалоговое окно:

Рис. 3 — Ввод пароля пользователя root для сервера MySQL

Введите свой собственный, самостоятельно придуманный пароль. Табуляцией (кнопка Tab на клавиатуре) перейдите на поле <OK> и нажмите Enter.

Появится окно для повторного ввода пароля (верификация):

Рис. 4 — Повторный ввод пароля (верификация)

Еще раз введите ваш пароль. Пароль этот запомните, а лучше запишите, чтобы не забыть.

После того, как вы введете пароль, начнется установка пакетов:

Рис. 5 — Установка пакетов

По ее окончании можно начинать радоваться — сервер LAMP у вас на компьютере уже установлен.

Теперь, не выходя из терминала введите следующую команду

echo '<?php phpinfo(); ?>' | sudo tee -a /var/www/test.php

Эта команда создаст новый файл test.php в папке /var/www/ и в этот файл записывается одна единственная строка – <?php phpinfo(); ?>. С учетом его имени и месторасположения, вновь созданный файл является одной из веб-страниц, написанных на языке РНР, и обрабатываемых вашим веб-сервером. А его содержание представляет собой единственную команду PHP, выполняя которую, ваш сервер должен отобразить страницу со всевозможной информацией — о текущей версии сервера PHP, его настройках, а также об иных параметрах и данных. Файл этот нам понадобится в дальнейшем для проверки работоспособности сервера РНР.

Рис. 6 — Создание тестового файла для проверки работы РНР

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

sudo apt-get install phpmyadmin

Система запросит подтверждения — согласны ли вы установить «такое-то» количество пакетов.

Рис. 7 — Команда установки phpmyadmin

Соглашайтесь (нажмите «Y» на клавиатуре).

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

Рис. 8 — Выбор вебсервера, в который будет интегрирован phpmyadmin

Памятуя о том, что только что мы установили apache (в составе метапакета LAMP), выбираем соответствующий пункт (apache2), и щелкаем «любимое» <OK>.

Следующий вопрос будет посвящен настройке самого phpmyadmin. Вам предлагается настроить учетную запись административного пользователя в phpmyadmin.

Рис. 9 — Запрос дальнейшей настройки phpmyadmin

Выбираем «Да».

Вас попросят ввести пароль административного пользователя баз данных. ВНИМАНИЕ! Это тот самый пароль пользователя root для сервера MySQL, который вы только что вводили, когда устанавливали LAMP (см. рис. 3 выше). Вы ж его записали? Вот и чудно, введите его в ответ на этот запрос:

Рис. 10 — Запрос пароля пользователя root для сервера MySQL

После этого вам будет предложено ввести пароль  (как написано в диалоговом окне) «приложения для phpmyadmin». На самом деле настройщик создаст вам еще одного административного пользователя для сервера MySQL. Имя пользователя будет phpmyadmin, а пароль его вам как раз и предлагается ввести. Укажите свой самостоятельно придуманный пароль:

Рис.11 — Ввод пароля для нового пользователя — phpmyadmin

Как и любой вновь вводимый пароль вас попросят его ввести повторно для верификации:

Рис. 12 — Повторный ввод пароля пользователя phpmyadmin (верификация)

После того, как вы  успешно введете все пароли, установка и настройка phpmyadmin будет завершена.

Осталось лишь проверить, и убедиться, что все хорошо. Сначала проверяем работу именно веб-сервера Apache. Запустите браузер (в Ubuntu по умолчанию установлен Mozilla Firefox). В браузере введите следующий адрес (подразумевается, что ваш браузер запущен НА ТОМ ЖЕ САМОМ компьютере, на котором был установлен веб-сервер):

http://localhost/

Вы должны увидеть вот такое окно:

Рис. 13 — Проверка работы веб сервера Apache

«Радостная» надпись «It works!» является подтверждением того, что Apache работает.

Проверим теперь PHP. В адресной строке браузера введите другой адрес:

http://localhost/test.php

(это адрес той самой «тестовой» страницы, которую мы создали ранее). Должно появится вот такое окно:

Рис. 14 — Проверка работы сервера PHP

В нем, как и было обещано ранее, вы сможете прочесть все информацию о вашем сервере…

Ну и напоследок — а как там поживает наш phpmyadmin? Введите в строке адреса браузера следующее:

http://localhost/phpmyadmin/

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

Рис. 15 — Проверка работы phpmyadmin

В этом окне, чтобы попасть в phpmyadmin вы можете теперь ввести два различных варианта имен пользователя и паролей. Первый вариант — пользователь root и пароль, который вы вводили во время установки LAMP (см. рис. 3 выше). Или же второй вариант — пользователь phpmyadmin и пароль, который вы вводили во время настройки пакета phpmyadmin (см. рис. 11 выше).

НУ ВОТ И ВСЕ!

PS. А ведь и правда, вы читали и разглядывали картинки дольше, чем в итоге длилась сама установка?  🙂

Ну а в принципе, самым ленивым возможно пригодится уже готовый скрипт, который сам «по порядочку» выполняет все указанные действия. Скачать его можно с моего FTP по вот этой ссылке

Установка xneur в Mandriva

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

В уже упоминавшейся заметке была ссылка на пару пакетов, которые я скачал на одном из форумов и выложил у себя на FTP. Но, то были старые пакеты, старой версии программы. По этому, сейчас я расскажу о более традиционном способе установки более свежих версий Gxneur.

Итак, запускаем любой (любимый) браузер. И в нем выполним следующее:

Рис. 1 - Сайт http://urpmi.mandriva.ru/
  1. В поле адреса введем «http://urpmi.mandriva.ru/«. (Если вы читаете эту заметку именно на том самом компьютере, просто щелкните по ссылке http://urpmi.mandriva.ru/). Откроется сайт показанный на рисунке 1 (выше).
  2. В выпадающем списке выберите вашу версию дистрибутива Mandriva.
  3. В выпадающем списке выберите архитектуру (32 или 64-битная)
Рис. 2 - Добавление источника EduMandriva
  1. После того, как дистрибутив и архитектура выбраны, щелкаем кнопку «Добавить EduMandriva источники»
  2. Браузер предложит вам открыть или сохранить файл easyurpmi.urpmi-media

Что делать — решайте сами. В случае выбора варианта «Сохранить», после того, как файл будет записан на ваш компьютер, откройте его (дважды щелкните мышью). В случае выбора варианта «Открыть» система сама запустит файл по окончании загрузки. Так что конечный результат все равно будет один — система запросит у вас пароль системного администратора (root). Дело в том, что файл easyurpmi.urpmi-media — это скрипт, добавляющий в вашу систему новый репозиторий. А добавлять новые репозитории — это прерогатива только администратора системы. Вот и просят вас подтвердить правомочность действий.

После ввода пароля root-а вы получите вот такое сообщение:

Рис. 3 - Запрос на добавление нового репозитория

Соглашаемся с предложенным — жмем кнопку «Да»,

Рис. 4 - Загрузка списков пакетов нового репозитория

Начнется загрузка списка пакетов с выбранного источника.

Рис. 5 - Загрузка завершена

После этого новый источник пакетов (читай «программ») будет добавлен в вашу систему. В данном источнике присутствуют дополнительные программы, которых нет в основном репозитории Mandriva. В основном это программы обучающего и образовательного направления. Есть в этом репозитории и xneur.

Теперь вы можете установить в систему xneur скажем так, традиционным методом. Как устанавливать программы в Mandriva, я уже писал тут — «Установка програм в Mandriva«.

Вкратце — запускаем Центр управления Mandriva. Выбираем «Установку и удаление программ». В поле поиска вводим «xneur».

Рис. 6 - Поиск пакетов с именем, содержащим "xneur"

Выбираем пакет «gxneur» — это графическая оболочка к xneur. Ставим птичку напротив выбранного пакета. При этом менеджер пакетов сообщит вам, что нужно установить и следующие дополнительные пакеты:

Рис. 7 - Недостающие пакеты

Соглашаемся — жмем кнопку «Да».

После этого жмем кнопку «Применить» (внизу справа).  Менеджер пакетов еще раз переспросит вас — уверены ли вы в своем желании установить выбранные пакеты:

Рис. 8 - Подтверждение установки пакетов

Нажимаем кнопку «Да».

После этого пакеты будут установлены в компьютер. На этом Центр управления Mandriva можно закрывать.

Программа gxneur (и xneur тоже) теперь установлена, и запустить ее можно в меню «Утилиты». После этого, на иконке программы в системном трее щелкаем правой кнопкой, выбираем «Настройки» и далее, как говорится, «сахар и сливки добавить по вкусу»…

Установка програм в Mandriva

Один из первых вопросов, с которым сталкивается новичок в Mandriva Linux — «А как тут устанавливать программы?» Сразу оговорюсь — ниже речь пойдет об установке программ, написанных для Linux. Вопрос о том, «Как в Linux установить Photoshop?» (в том смысле, что любую Windows-программу) здесь рассматриваться не будет. Программ для Linux написано превеликое множество. При этом существуют функциональные аналоги многих популярных приложений для Windows. Перечисление их соответствий также не является целью данной заметки. При желании подобную информацию можно «нагуглить» буквально за пару минут.

Так о чем же пойдет речь? Только лишь о возможных вариантах установки программ из RPM-пакетов в Mandriva Linux. Два слова о RPM. Аббревиатура эта составлена из первых букв названия «Red Hat Package Manager», указывая в первую очередь на авторство (компания Red Hat) т.н.  «Менеджера пакетов». Естественно предположить, что этот Менеджер (фактически — это программа) нужен для управления «Пакетами». Что за «пакеты» такие? Все ПО для Mandriva поставляется в виде т.н. «пакетов». В пакете присутствуют как сами исходные коды программы, так и указание «месторасположения» куда устанавливать программу в «стандартной» файловой структуре Mandriva Linux, а также информация о т.н. «зависимостях». Зависимость — это информация о том, какие другие пакеты должны быть установлены в системе для нормальной работы устанавливаемого. Если необходимых пакетов нет, то менеджер предлагает доустановить недостающее. Ну и напоследок — rpm — это консольная программа. Новички же в подавляющем большинстве хотят графических интерфейсов. Вот об этом и пойдет речь…

Репозитории

Слово «Репозиторий» (в англ. написании — repository) обозначает хранилище. Применительно к данному случаю — это место, где хранятся все доступные программы. Даже если Вы установили Mandriva Linux с DVD-диска, наивно полагать, что это (всего один диск!!!) и есть все программы, которые могут быть установлены в системе! В полном объеме все программы, которые фирма-автор дистрибутива (в нашем случае, ф. Mandriva) проверила и (возможно) адаптировала для использования в своей системе, находятся на серверах компании, доступных в интернете. Не стоит, кстати, переживать, что «на всех не хватит»! Чтобы не было проблем как с доступом, так и со скоростью скачивания, существует целая система «зеркал» (копий репизитория), разбросанных по всему миру.

Изначально, как только Вы установили Mandriva Linux, в системе в качестве источника программ указан один лишь только диск, с которого Вы собственно и произвели установку. При этом следует учесть несколько моментов. Первый — «стартовый» набор доступных для установки программ ограничен объемом носителя. Если Вы скачали и установили Mandriva Free (на одном DVD-диске), то без подключения компьютера к интернету Вы сможете установить гораздо больше программ, чем в случае, когда Вы скачали и установили Mandriva One (на одном CD-диске). С другой стороны, ситуация изменится, если Ваш компьютер планируется подключить к интернету. В этом случае, после того, как Вы настроите систему на использование в качестве источников программ репозториев, расположенных в интернете, объем доступных к установке программ сравняется. И в таком случае, возможно, достаточно скачать 1 CD-диск, на котором присутствует только самый необходимый минимум, а всё остальное потом доставить из интернета, чем качать сразу целый DVD-диск, на котором наверняка найдется что-то невостребованное в случае Вашей инсталляции. Решать Вам…

А пока — запускаем Центр управления Mandriva. Для этого мышью жмем кнопку «Пуск» (или значок со звездой», расположенный (обычно) в левом нижнем углу экрана. В открывшемся списке выбираем «Утилиты«, затем «Системные» и щелкаем по ярлыку «Центр управления Mandriva» (может называться еще и как «Настройка компьютера«). Так как это утилита системного администрирования (управления системой), Вас попросят ввести пароль администратора. В процессе установки Mandriva Вы задавали пароль для пользователя root. Именно его и вводим вот в такое открывшееся окно:

mcc_enter_root_password
Рис. 1 - Ввод пароля при входе в "Центр управления Mandriva"

После того, как ввели правильный пароль, мы попадаем непосредственно в Центр управления Mandriva. По умолчание при этом сразу открывается закладка «Управление программами«, показанная на рис. 2 ниже:

mcc_control_of_programs
Рис. 2 - Центр управления Mandriva

(Если же у Вас открыта другая закладка, то просто щелкните на закладку «Управление программами«, расположенную слева.)

Меню «Управление программами» предлагает нам на выбор три возможных действия:

  • Установка и удаление программ
  • Обновление системы
  • Настройка источников установки/обновления ПО

На данном этапе мы хотим настроить систему на использование источников, находящихся на зеркалах репозитория в интернете. Поэтому, выбираем именно третий пункт — щелкаем на иконке «Настройка источников установки/обновления ПО«. Откроется меню «Настройка источников«. Изначально в данном окне будут присутствовать два пункта, указывающих на использование в качестве источника компакт-диска, использовавшегося при установке. Лично я их обычно удаляю. И вот почему. При установке новых программ система ищет их на всех источниках. Если в настройках остался как источник и компакт-диск, то при каждом поиске Вас будут просить вставить его в компьютер. С одной стороны, просто лень каждый раз дергаться и искать его. А с другой стороны, в интернет-репозиториях есть все то же самое, причем еще и «самое свежее» (об этом ниже). А компьютер мой подключен к интернету всегда. Вот именно поэтому я записи об использовании установочного диска в качестве источников программ сразу же удаляю.

Чтобы добавить источники программ, в меню «Настройка источников» щелкаем мышью кнопку «Добавить» (расположенную справа). Получаем вот такой запрос:

sources_choose_complect
Рис. 3 - Выбор набора источников программ

Попробую вкратце разъяснить суть вопроса. Ничто не стоит на месте. Программы, написанные для Linux не просто так «лежат и ждут Вас». Они постоянно обновляются — как с целю улучшения, так и с целью исправления обнаруженных ошибок. Обновленные версии программ после их проверки (на совместимость и зависимости) тут же попадают в репозитории. В итоге, в интернете (на зеркалах) всегда лежат наиболее «свежие» версии всех доступных программ (особенно по сравнению с инсталляционным диском). Далее. В репозиториях все пакеты (программы) поделены на три основные категории — Main. Contrib и Non-free. Категория Main — это все поддерживаемое свободное ПО (с открытыми исходными кодами). Contrib — это все неподдерживаемое свободное ПО (с открытыми исходными кодами). И наконец Non-free — это поддерживаемое несвободное ПО (авторы которого не предоставляют исходных кодов ПО). Каждая из категорий включает в себя четыре подкатегории. Первая из них раньше называлась Release. Сейчас она дополнительного названия она не имеет. В нее входят все те пакеты, которые были включены в дистрибутив на момент его выхода. Следующая подкатегория называется Updates (обновления). В нее входят пакеты с обновлениями, либо исправляющими ошибки, либо закрывающими «дыры» в безопасности пакетов, включенных в соответствующую подкатегорию Release. Третья подкатегория называется Testing. В ней находятся пакеты с обновлениями программ, вышедшими уже после выходя дистрибутива, которые поддерживаются официально и на данном этапе находятся в стадии проверки (тестирования) перед официальным выходом. И последняя подкатегория — это Backports. В ней находятся пакеты с новыми версиями ПО, вышедшими уже после выпуска дистрибутива, но еще не поддерживаемые официально. Более подробно о категориях дистрибутива можно почитать по ссылке (на английском).

Вернемся к вопросу, показанному на рис. 3. Вам предлагается выбрать — какой набор источников программ подключить — Только источники с обновлениями (то есть, те, которые «Updates«), или же полный набор. «Только обновления» имеет смысл подключать в том случае, если каких-либо изменений в конфигурации ПО, установленного на компьютере не предполагается, но требуется регулярно устанавливать все обновления. Смысл термина «Полный набор», думаю, объяснять не нужно…

Итак, чтобы иметь доступ к максимальному числу программ, выбираем кнопку «Полный набор источников«, и щелкаем по ней мышью. Программа задаст следующий вопрос:

sources_confirm_internet_conection
Рис. 4 - Подтверждение подключения к интернету

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

sources_downloading_lists
Рис. 5 - Загрузка списков программ

После того, как загрузка будет завершена, в окне «Настройка источников» появится вот такой список:

sources_added
Рис. 6 - Полный список источников

На этом настройка источников завершена. Жмем кнопку «ОК» (внизу справа) и возвращаемся в меню «Управление программами» (см. рис. 2 выше).Теперь наш компьютер готов к установке всего доступного объема наиболее новых версий программ. Пора ставить!…

Установка программ

Чтобы установить новую программу, в меню «Управление программами» (см. рис. 2) щелкаем на иконке «Установка и удаление программ«. Попадаем вот в  такой список:

mcc_select_type_of_packages
Рис. 7 - Выбор категорий отображаемых пакетов

По умолчанию в программе установки включен фильтр. Она выводит в качестве результата поиска только программы с графическим интерфейсом. Зачастую же оказывается необходимым установить не только то, что имеет GUI. Именно поэтому я этот фильтр обычно выключаю. Для этого нужно (как показано на рис. 7) щелкнуть мышью на выпадающем списке в левом верхнем углу и вместо пункта «Пакеты с графическим интерфейсом» выбрать пункт «Все«. Теперь при запросе будут выводиться все возможные варианты.

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

Теперь возвращаемся к процессу установки. Итак, Вы уже запустили «Центр управления Mandriva«, в нем выбрали закладку «Управление программами«, а в ней щелкнули по иконке «Установка и удаление программ«. Вводим в поле поиска имя программы (пакета) и нажимаем Enter на клавиатуре. В итоге получаем список пакетов, имя которых содержит введенное нами слово:

mcc_search_of_packages
Рис - 8. Результаты поиска пакетов

Нам остается лишь выбрать требующийся пакет из предложенного списка и поставить «птичку» в «чекбоксе» (пустом квадрате) слева от имени выбранного пакета:

mcc_select_of_packages
Рис. 9 - Выбор пакета

При этом справа от имени ( а точнее — версии) пакета появляется оранжеый символ со стрелкой, обозначающий Ваше намерение скачать данный пакет. Может оказаться так, что при установке «птички» Вы получите дополнительное сообщение о том, что «…для соблюдения зависимостей будут установлены следующие пакеты…» и под этим — целый список. Оно обозначает, что программа, которую Вы собираетесь установить, для своей работы требует, чтобы в системе были установлены программы или библиотеки, приведенные в данном списке, но на данном этапе отсутствующие в Вашей системе. Поэтому, менеджер пакетов предлагает Вам установить недостающее. Если Вы откажетесь, то установка выбранной программы также будет отменена. По этому, остается лишь ответить привычное «ОК» на данное предложение…

Если Вы планировали установить несколько программ, то нужно снова вернуться к процессу поиска (см. рис. 8 выше) и ввести имя следующей программы в строке поиска. Если же Вы хотели установить всего одну программу, то просто жмем кнопку «Применить» внизу справа. И получаем следующий вопрос:

mcc_confirm_of_setup
Рис. 10 - Подтверждение установки выбранного пакета

Можно вздохнуть с облегчением — так как это последний вопрос! Жмем кнопку «Да«, немножко ждем (пока пакет(ы) загрузится и установится). Все, выбранная программа установлена.

PS. Это далеко не единственный способ установить программу в Mandriva. Как говорится «Продолжение следует«…

Управление разделами HDD программой Gparted с диска Live-CD Ubuntu

Берем Live-CD Ubuntu. Как берем? Скачиваем. Где берем? На сайте Ubuntu. Пишем на болванку. Вставляем диск в привод компьютера и загружаемся с него.

У тех, кто хочет отредактировать разделы HDD у компьютера, на котором уже установлена Ubuntu (или другой дистрибутив Linux, использующий десктоп Gnome), может возникнуть вопрос — а почему именно Live-CD? Почему просто не загрузить Linux с жесткого диска, а потом запустить программу Gparted и поредактировать разделы? Ответ прост — Gparted не сможет работать со смонтированными разделами.  А раздел жесткого диска с которого компьютер только что загрузил Linux, размонтировать не получится (равно как и другие разделы, используемые Linux-ом в работе, если таковые имеются). Вот потому-то и нужно загрузиться с Live-CD — при этом все разделы жеского диска компьютера не смонтированы и доступны к редактированию.

Есть еще один «подводный камень», который может вас подстерегать при работе с разделами на жестком диске. Суть его в том, что если один из имеющихся на винчестере разделов — swap (подкачка), то Ubuntu, загружаясь даже с Live-CD его использует! В итоге, если допустим, swap находится на логическом диске в расширенном разделе, у вас не получится изменить что-либо в этом (расширенном) разделе до тех пор пока вы не прекратите использование подкачки Ubuntu-ой (swap-off)…

Вернемся к загрузке. У дистрибутивов версий 8.04 и выше первым делом автоматически появляется список, предлагающий Вам выбрать один из возможных языков интерфейса. Выбираем кнопками управления курсором («стрелками») и подтверждаем ENTER-ом. У более старых дистрибутивов этот список «автоматом» не выпрыгивает. Чтобы заполучить русский интерфейс в этом случае, нужно нажать кнопку «F2» и уже потом выбрать язык. В итоге мы видим вот такое меню:

ubuntu_boot_menu1
Рис. 1. Стартовое меню диска Live-CD Ubuntu

Выбираем пункт «Запустить Ubuntu без установки на компьютер«. Начнется загрузка Ubuntu. После того, как загрузка завершена, запускаем программу Gparted. Расположение ярлыка программы Gparted в стандартном меню Ubuntu показано на рисунке ниже:

Рис. 2 Запуск программы Gparted
Рис. 2. Запуск программы Gparted

При запуске программа Gparted автоматически определяет все дисковые накопители (жесткие диски), установленные в компьютере. Если винчестеров в системе несколько, то выбрать тот, с которым предполагается работать (менять/создавать/удалять разделы) позволяет кнопка в правой верхней части окна программы (см. рис. 3 ниже):

Рис. 3. Выбор жесткого диска
Рис. 3. Выбор жесткого диска

При выборе жесткого диска, думаю, полезной будет информация о правилах их нумерации в Linux-е. Диск, подключенный «мастером» на 1-м IDE контроллере, будет именоваться как /dev/hda. Второй IDE-винчестер (slave-устройство на 1-м контроллере) будет именоваться как /dev/hdb, третий (master-устройство на 2-м контроллере) — /dev/hdc, четвертый (slave-устройство на 2-м контроллере) — /dev/hdd. Первый винчестер, подключенный к SATA контроллеру будет иметь имя /dev/sda, второй — /dev/sdb, третий — /dev/sdc, и т.д. Также, cледует учесть, что флешки и карточки памяти также попадают в один ряд к устройствам SATA (то есть, тоже будут видны как /dev/sdx). Также, хорошей подсказкой при выборе жесткого диска будет информация о его физическом размере, отображаемая на кнопке рядом с номером устройства.

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

gparted_select_partition
Рис. 4. Выбор раздела жесткого диска

Изменение размера раздела

Выбираем раздел, который хотим изменить, и щелкаем на нем правой кнопкой мыши. Тот же самый результат достигается, если правой кнопкой мыши щелкать не на графическом поле, а на строке в списке, соответствующей выбранному разделу. Появляется контекстное меню со списком предлагаемых действий. Еще одно — если до запуска программы gparted Вы пользовались разделом диска, структуру которого теперь хотите изменить (например, копировали файлы и т.п.), то он будет смонтирован в файловую систему. В этом случае, чтобы иметь возможность менять параметры раздела, его нужно будет сначала отмонтировать. Для этого служит пункт «Unmount» контекстного меню. Жмем сначала его. После этого станут доступны остальные пункты контекстного меню.

Итак, раздел отмонтирован, приступаем к изменению его размера. Для этого в контекстном меню выбираем пункт «Resize/Move«. Появится следующий экран:

gparted_resize_partition
Рис. 5. Окно изменения размера раздела жесткого диска

В появившемся окне мы видим наш раздел, так сказать, графически, а также, цифры «про него» — под рисунком. Что нам дает это меню. Во первых, в графической половине мы видим какая часть раздела занята (выделено цветом) и какая свободна (белая). Также, по краям слева и справа присутствуют стрелки, которые можно тягать мышью. Сразу под рисунком присутствуют два параметра — Minimum size и Maximum size. Как нетрудно догадаться, это те значения, меньше и больше которых мы не сможем выставить новый размер данного раздела. Минимум определяется объемом уже записанной на данном разделе диска информации (кому нужна была бы программа, стирающая данные с диска?!). Максимум определяется либо текущим размером (как в приведенном примере), либо может быть и больше в случае, если на жестком диске есть еще неразмеченное пространство, примыкающее к данному разделу. В таком случае оно также будет присутствовать в графическом представлении раздела в виде серых полей слева или справа. Благодаря этому раздел можно сделать даже больше, чем он был до этого…

Теперь вернемся к цифрам (тем которые в нижней половине окна). Суть их такова. «Free space preceding» —  свободное место перед разделом. «New size» — новый размер диска. «Free space following» — сваободное место после раздела. Как видим, на моем рисунке в момент, когда это меню только открыли, свободного места нет ни до ни после раздела, а его новый размер равен старому. В случае, если же на жестком диске присутствуют неразмеченные области, примыкающие к данному разделы, то в полях «Free space preceding» и/или «Free space following» будут присутствовать соответствующие цифры, отличные от нуля.  Когда Вы начнете мышью тягать стрелки, изображенные по краям рисунка раздела, все эти цифры (место до и после, а также размер) начнут меняться. С другой стороны, Вы можете самостоятельно (вручную) в каждом из цифровых полей ввести новые значения (если Вы сторонник точных чисел)…

Теперь немножко «лирики». Если Вы читаете данную инструкцию с целью освободить немного места на диске с Windows, для того, чтобы установить Linux, то достаточно будет потянуть мышью стрелку справа так, чтобы свободного места после раздела (значение «Free space following«) стало больше той цифры, которую авторы выбранного Вами дистрибутива указывают как минимально необходимую для установки. Для Mandriva, например, рекомендуют не менее 4 Гб. Обратите внимание, что значения в указанных цифровых полях приведены в Мегабайтах…

gparted_new_partition_parameters_set
Рис. 6. Подтверждение нового размера раздела жесткого диска

После того, как новый размер раздела задан, жмем кнопку «Resize/Move«, как показано на рис. 6. Учтите, что:

  • Не стоит (по крайней мере в случае «откусывания от Windows чуток места под попробовать Linux«) освобождать место «до раздела» (слева).
  • Не бойтесь — что-либо потерять на этом этапе не получится! Все описанные выше действия — это пока только «план действий», и никаких реальных изменений с Вашим жестким диском еще не происходило!
  • Если Вы только освобождали место для Linux, и создавать новые разделы Вам не нужно, то можете сразу перходить к заголовку «А вот теперь приступим!!!» ниже.

Создание нового раздела

Теперь у нас появилось свободное место, чтобы создать новый раздел. Для этого жмем правой кнопкой либо на сером поле в графическом представлении структуры диска, либо на пункте «unallocated» в списке под рисунком. В контекстном меню выбираем пункт «New«.

gparted_new_partition
Рис. 7. Создание нового раздела

Откроется следующее меню:

gparted_new_partition_parameters
Рис. 8. Выбор параметров нового раздела жесткого диска

В нем мы создаем новый раздел и задаем все его параметры. Часть параметров нам уже знакома — они присутствовали в меню изменения раздела, описанном выше. Но добавились еще два параметра. Пункт «Create as» позволяет выбрать тип создаваемого раздела из следующих двух: «Primary partition» (основной раздел) и «Extended partition» (дополнительный раздел). Второй из «новых» пунтов «Filesystem» позволяет задать тип файловой системы, в которую будет отформатирован вновь созданный раздел. Список выбора достаточно широк, описывать его тут я не планировал. Почитать можно тут (по английски, правда). Определившись с параметрами нового раздела, жмем кнопку «+Add«. Если Вам нужно создать несколько разделов, то возвращаемся к заголовку «Создание нового раздела» выше…

А вот теперь приступим!!!

Обращаю внимание на то, что все описаные выше процедуры изменения старого раздела, создания нового раздела, НА САМОМ ДЕЛЕ ПОКА ЧТО НИЧЕГО НЕ СДЕЛАЛИ СО СТАРОЙ СТРУКТУРОЙ ЖЕСТКОГО ДИСКА, а всего лишь запланировали указанные действия. По мере того, как мы будем писать наш «план действий», его список будет расти в самом нижней части окна программы.  С другой стороны, в верхней части окна программы становится активной кнопка «Undo» (отмена). Она позволяет отменить действие (назначенное задание).

После того, как весь «план работы» создан, внимательно просматриваем его еще разок. Если находим ошибку — жмем кнопку «Undo» и создаем новое (в этот раз уже правильное) задание.

После того, как мы на 100% убедились, что все правильно, пришло время нажать кнопку «Apply» (применить). Вот именно после ее нажатия и начнется процесс изменения структуры Вашего жесткого диска…

gparted_apply_changes
Рис. 9. «Apply» — настройка завешена, пора менять разделы!!!

В зависимости от объема «запланированной работы», а также от объема информации на диске, Вам может потребоваться некоторое терпение, чтобы дождаться окончания…

Ставим OrangeHRM в Mandriva по-быстрому…

На днях ставил на своем «сервере» OrangeHRM. Запустил «Центр управления Mandriva», поискал в списке «Установка и удаление программ», Есть такая программа в списке пакетов! Отлично! Ставим «птичку», жмем кнопку «Применить». Система отвечает, что «для удовлетворения зависимостей» нужно поставить еще парочку пакетов. Соглашаемся (а что, разве у нас есть альтернатива?). Ждем, пока пакеты загрузятся и установятся. Несколько минут на все про все! А вот «про всё» ли — ещё тот вопрос?…

Кстати, не любите GUI, предпочитаете консоль? Тогда, в консоли от имени root-а вводим команду «urpmi orangehrm«. В остальном — все то же: сообщение о необходимости установки недостающих пакетов, подтверждение, закачка, установка…

А вот теперь — ручками!

Вообще-то, «установка пакетов» (описанная выше) и «установка и настройка программы» — это, как говорят в Одессе, «две большие разницы». Посему, теперь приступаем к установке и настройке. У программы предусмотрен т.н. Web-installer. По идее процесс должен был быть достаточно простым — нужно открыть браузер, и в адресной строке ввести что-то наподобие:

http://my.site.adress/orangehrm

(Естественно, вместо «my.site.adress» Вам нужно ввести адрес своего сайта). Программа проверяет — выполнялась ли уже ранее настройка и установка или нет. Если нет (программа запускается в первый раз), то стартует Web-installer. Вот тут меня ждали первые «грабли». Точнее, не грабли, а ответ в окне браузера: «ErrorDocument 403 «Access denied per /etc/httpd/conf/webapps.d/orangehrm.conf«. Не пущают!!! Чтож, имя и месторасположение файла «виновника торжества» указано — /etc/httpd/conf/webapps.d/orangehrm.conf. Вот его-то и идем читать на предмет того, что же там такое нам мешает. Написано в указанном файле следующее:

Alias /orangehrm /var/www/orangehrm

<Directory /var/www/orangehrm>
    Allow from All
</Directory>

<Directory /var/www/orangehrm/installer>
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1
    ErrorDocument 403 "Access denied per /etc/httpd/conf/webapps.d/orangehrm.conf"
</Directory>

Что это за файл вообще? Если присмотреться внимательней, то мы видим тот самый файл «.htacces«. «Стандартно» файлы «.htacces» управляют параметрами тех папок веб сервера Apache, в которых они расположены. Подробнее об этом можно почитать тут (по-английски) или же тут (по-русски). А причем здесь файл orangehrm.conf? В данном случае, файл orangehrm.conf (как и все другие файлы с расширением .conf, расположенные в папке /etc/httpd/conf/webapps.d/) автоматичнески включаются в основной файл конфигурации Apache его же директивой «Include conf/webapps.d/*.conf«. Будучи включенными в файл конфигурации, данные файлы действуют именно в режиме тех самых «.htacces«-файлов. Взглянувши на приведенное выше содержимое файла «/etc/httpd/conf/webapps.d/orangehrm.conf«, мы видим, что он ограничивает доступ в папку /var/www/orangehrm/installer (а это и есть папка Web-installer-а), а именно — разрешает его только лишь с адреса «127.0.0.1». В том смысле, что ТОЛЬКО с локальной консоли! То есть, если бы я запускал Web-installer на том компьютере, где непосредственно находится OrangeHRM, то проблем не возникло бы! Но у меня «несколько иной случай» — «сервер» мой лежит на холодильнике, мониторов/клавиатур/мышей не имеет, и прыгать к нему мне лень. Как следствие — запускал я установку с другого («соседнего» в сети) компьютера. Вот потому-то и наблюдал сообщение об отказе в доступе! Можно было бы, конечно, достать «сервер» с холодильника, подключить к нему всю периферию и повторить процесс с локальной консоли… Но, для меня ленивого проще оказалось изменить ограничения доступа — я вписал 192.169.1.0./24 (т.е. всю локальную подсеть) вместо 127.0.0.1, а потом перезапустил Apache командой /etc/init.d/httpd restart. Все! После этого процесс пошел…Итак, я повторно в браузере (на другом компьютере 🙂 ) ввел адрес:

http://my.site.adress/orangehrm

И в этот раз я таки увидел Web-installer:

orangehrm1
Рис. 1 Окно приветствия Web-installer-а

По быстрому читаем приветствие и жмем кнопочку «Next«. Наблюдаем следующее окно — лицензионное соглашение:

orangehrm2
Рис. 2 Лицензионное соглашение

Его полагается прочитать и принять (нажать кнопочку «I Accept» в самом низу (в моем скриншоте она не поместилась)). После этого переходим к следующему меню — настройке параметров базы данных:

orangehrm3
Рис. 3 Параметры подключения к базе данных.

В этом окне все вроде как просто и понятно. И если бы меня не потянуло «поумничать», то дальше вопросов у меня возникло бы намного меньше. Но, как говорится, «не было печали — черти накачали»! Решил я «добровольно помочь» Web-installer-у. Запустил консоль, вошел в MySQL и там «ручками» создал для OrangeHRM всё: базу, пользователя, прописал пользователю и пароль, и привилегии… После этого вернулся к меню, показанному на рис. 3 и прописал все параметры в соответствующие поля. Вписал имя созданной мною базы в поле «Database Name«. Затем поставил птичку в поле «Use the same Database User for OrangeHRM«. Как следствие — два нижних поля («OrangeHRM Database Username» и «OrangeHRM Database User Password«) стали недоступны. Пользователя, созданого мной для базы я вписал вверху в поле «Priviledged Database Username«, и в соседнем поле («Priviledged Database User Password«) ввел его пароль. А то ведь там был root прописан. Не хорошо же ведь пользоваться учетной записью администратора! Короче говоря, постарался как мог! После этого нажал кнопку «Next«…

Самое первое, что я после этого получил … было сообщение об ошибке «База данных уже существует»! То есть Web-installer попытался создать базу и не смог — она там уже была (я ж сам ее «ручками» создал)! Ясно, пошел в консоль, в MySQL и удалил базу. После этого вернулся в меню конфигурирования базы данных и, ничего не меняя, снова нажал кнопку «Next«.

И тут же «заполучил» следующее сообщение об ошибке — «MySql InnoDB support not available«. В том смысле, что отключена в моем MySQL-сервере поддержка баз InnoDB. В инструкции по установке OrangeHRM (ведь Вы же тоже заметили ссылку «[Help ?]» в правом верхнем углу Web-installer-а? 😉 ) по этому поводу написано следующее:

  • Войти в консоль от имени root-а.
  • Открыть в (любом «любимом») редакторе файл /etc/my.cnf.
  • Найти в нем строку skip-innodb.
  • Закомментировать данную строку (вставить в начале строки символ комментария — «#«).
  • Сохранить файл и выйти из редактора.
  • Перезапустить сервер MySQL коммандой /etc/init.d/mysqld restart.

Все коротко и ясно! Именно так я и собирался поступить. Остановил меня лишь тот факт, что в моем файле /etc/my.cnf я не нашел строки «skip-innodb«! Зато я нашел там следующие строки:

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

Как следует из приведенных в файле настроек комментариев, чтобы активировать поддержку InnoDB в моем MySQL-сервере, нужно просто «раскомментировать» соответствующие строки, Для наглядности в приведенном выше фрагменте файла настроек «лишние» символы «#» я выделил красным — вот их-то и нужно удалить. Чтож, нужно, так нужно:

  • Раскомментировал.
  • Перезапустил сервер
  • Все равно все то же сообщение об ошибке — «MySql InnoDB support not available«.

В чем же дело? По-быстрому «погуглил». Как-то вскользь наступил на фразу, что мол с MySQL в плане InnoDB «каши не сваришь», нужно ставить MySQL-MAX. Снова запустил поиск в списке «Установка и удаление программ» в «Центре управления Mandriva». Есть такая программа в списке пакетов! Поставил «птичку», нажал «Применить». Через пару минут у мея уже стоял MySQL-MAX. Опять вернулся в меню конфигурирования базы данных и, ничего не меняя, снова нажал кнопку «Next«. Все равно сообщение об ошибке — «MySql InnoDB support not available«! Странно. Неужели таки не работает InnoDB? Надо бы как-то проверить! «Погуглил» чуток и нашел в сети такой совет — войти в консоль, затем от имени root-а — в MySQL и там уже запустить команду «show engines;«. В ответ я должен получить таблицу наподобие вот такой:

+------------+----------+----------------------------------------------------------------+
| Engine     | Support  | Comment                                                        |
+------------+----------+----------------------------------------------------------------+
| MyISAM     | DEFAULT  | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES      | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | YES      | Supports transactions, row-level locking, and foreign keys     |
| BerkeleyDB | YES      | Supports transactions and page-level locking                   |
| BLACKHOLE  | YES      | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE    | YES      | Example storage engine                                         |
| ARCHIVE    | YES      | Archive storage engine                                         |
| CSV        | YES      | CSV storage engine                                             |
| SPHINX     | YES      | Sphinx storage engine 0.9.8                                    |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables                 |
| FEDERATED  | YES      | Federated MySQL storage engine                                 |
| MRG_MYISAM | YES      | Collection of identical MyISAM tables                          |
| ISAM       | NO       | Obsolete storage engine                                        |
+------------+----------+----------------------------------------------------------------+
13 rows in set (0.00 sec)

…в которой в числе прочих должен увидеть «Yes» напротив InnoDB. Вошел, запустил, увидел — написано «Yes«! То есть, InnoDB все-таки работает (значит, поддержку InnoDB я все-таки активировал, когда раскомментировал те строки в файле my.cnf), а вот Web-installer все-равно его не видит! Парадокс, однако! Нюанс лишь в том, что как обычно «творцом» парадоксов является человек, в данном случае — я сам. В чем немногим позже я и убедился. Но…

«Погуглил» уже чуть больше чем просто «немножко». На форуме OrangeHRM набрел на фразу о том, что Web-installer наличие поддержки InnoDB проверяет попыткой создания таблицы с использованием данного «движка». И одной из причин неудачи (читай — «сообщения об отсутствии поддержки InnoDB») может быть отсутствие необходимых прав у пользователя от имени которого выполняется данная проверка. А именно — у пользователя, вписанного в графе «Priviledged Database Username«. А я ж там вписал того пользователя, которого создал для работы с OrangeHRM. Вот и нашлась причина-то — «избыточно мудрый» администратор попался — сам себе забот наворотил!

Чтож, снова вернулся в меню конфигурирования базы данных (рис. 3) и наконец-то включил мозг. Итог был таков: Web-installer самостоятельно создает базу данных для OrangeHRM. Для этого он использует привелегированную учетную запись, имя и пароль которой мы должны вписать в графы (соответственно) «Priviledged Database Username» и «Priviledged Database User Password«. Эта же самая учетная запись впоследстви используется для проверки наличия поддержки InnoDB. И, кроме того, эта же учетная запись («Priviledged Database Username«) используется при создании пользователя OrangeHRM и назначения ему необходимых прав. Исходя из всего вышесказанного это должна быть учетная запись именно администратора базы данных MySQL (по умолчанию — root)! А вот, чтобы не быть идиотом и не заставлять конкретную программу работать с конкретной базой от имени root-а, птичку в графе «Use the same Database User for OrangeHRM» ни в коем случае ставить нельзя! Для работы с вновь создаваемой базой OrangeHRM, имя которой мы вписываем в графу «Database Name«, Web-installer создаст нового пользователя, имя которого мы указываем в графе «OrangeHRM Database Username» и назначит ему пароль, который мы вписываем в графу «OrangeHRM Database User Password«. Исходя из этого трудночитаемого абзаца, ПРАВИЛЬНО заполняем поля в форме настройки подключения к базе данных (рис. 3) следующим образом:

Database Host Name localhost Если база данных установлена на том же компьютере, что и OrangeHRM, ничего менять не нужно. В противном случае — указываем имя или адрес сервера, на котором установлен сервер баз данных MySQL
Database Host (Port) 3306 Номер порта, на котором сервер баз данных MySQL ожидает подключений. Если Вы ничего не меняли в настройках то и тут ничего менять не нужно.
Database Name hr_mysql Имя создаваемой для OrangeHRM базы данных. При желании можете изменить на любое другое, которое придумаете сами. Единственное — в MySQL не должно быть уже существующей базы данных с таким именем!
Priviledged Database Username root С этим разобрались выше — здесь только root и никакое другое имя.
Priviledged Database User Password *********** Пароль пользователя root в MySQL.Он у сервера MySQL свой собственный и может отличаться от пароля root-а в самой ОС. По умолчанию он в сервере MySQL не установлен (пустой). Если Вы его устанавливали (или меняли) — введите правильное значение.
Use the same Database User for OrangeHRM __ Не ставить «птичку» ни в коем случае!!!
OrangeHRM Database Username orange_user Имя пользователя, которое OrangeHRM будет использовать для связи с базой данных MySQL. Вводите любое имя, которое придумаете сами.
OrangeHRM Database User Password *********** Пароль пользователя, который OrangeHRM будет использовать для связи с базой данных MySQL. Вводите любой пароль, который придумаете сами.

Кстати, еще — перед этим я снова «сходил» в консоль MySQL и теперь уже поудалял все то, что «ручками» насоздавал ранее. Ну вот, форму настройки связи с базой данных мы с горем пополам заполнили. Жмем «Next«. Если поддержка InnoDB в MySQL уже была активирована (как описано выше — изменением файла /etc/my.cnf), то проблем с базой данных при установке быть уже не должно. Была парочка мелких нюансов — пришлось, во-первых, сменить владельца файлов в папке /var/www/orangehrm на пользователя, от имени которого запущен сервер Apache (в моем случае — это «apache«), и во вторых, разрешить этому пользователю запись файлов в папке /var/www/orangehrm/lib/confs. После этого я получил вот такое сообщение о положительных результатах всех проверок:

orangehrm4
Рис. 4 Все проверки успешно завершены!

Чтож, раз все «ОК», идем дальше — жмем кнопку «Next«. Если же на этом этапе Вы получали сообщения об ошибках, то после их устранения достаточно нажать кнопку «Re-check» для повторной проверки.

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

orangehrm5
Рис. 5 Ввод имени и пароля администратора программы OrangeHRM

По умолчанию предлагается использовать имя «Admin» и ввести (дважды) свой собственный пароль для него. Но это не догма — Вы можете ввести свои собственные не только пароль, но и имя этого пользователя — администратора OrangeHRM. Вводим, не ошибаемся с паролем (в обоих строках он должен быть одинаковым 😉 ), и жмем «Next«. Попадаем в меню подтверждения:

orangehrm6
Рис. 6 Сводка параметров установки

В нем просто перечислены все те параметры (за исключением паролей), что мы навводили ранее. На всякий случай внимательно проверяем, если замечаем ошибки — возвращаемся и исправляем. Если же все правильно, то нажимаем кнопку «Install«. Немножко ждем (установка ведь идет!). После того, как установка завершена, наблюдаем вот такое сообщение:

orangehrm7
Рис. 7 Установка успешно завершена

По сути — установка завершена. С чем я Вас и поздравляю! Следующий после нажатия кнопки «Next» пункт — это предложение зарегистрировать свою установку на сайте разработчика. Я даже скриншот не стал делать. Желаете зарегистрироваться — указываете в ссответствующих полях свои данные — и вперед — кнопка «Register» ждет Вас. Не желаете — просто жмете кнопку «No thanks!» и пристуаете к работе с OrangeHRM.

Успехов!…

«Живая» флешка с Linux-ом

Сразу же опускаем вопрос — «А зачем это нужно?». Здесь я лишь опишу пару способов, как это сделать. Причем, постараюсь описать те варианты, для которых достаточно мышью в кнопку «ОК» попадать…

Вариант первый — тот же самый Live-CD, но на флешке.

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

Помочь в этом могут, например, следующие программы:

  1. Unetbootin (сайт)
  2. FUSBi (сайт)

Программы эти — практически «близнецы-братья» (что и не удивительно с поправкой на тот факт, что одна — усовершенствованная модификация второй).

Что нужно сделать (рассмотрим вариант использования их из-под Windows).

  1. Естественно, скачать программу и (если она в архиве) распаковать в (какую-нибудь) папку на жестком диске.
  2. Скачать ISO-образ LIVE CD диска выбранного дистрибутива. При этом очень стОит почитать на сайтах указанных программ, с какими дистрибутивами они работают без проблем. Лично я проверял их на «совместимость» с Ubuntu — все было нормально. (Образ диска сохранить на жесткий диск компьютера, единственное, не забыть куда).
  3. Подготовить «объект для установки». В смысле — флешку. С учетом того, что дистрибутив (Ubuntu) умещается на компакт диск, то понадобится флешка размером не менее 700 Мб (в принцие, 1 Гб — будет нормально). Если выбран дистрибутив бОльшего размера, то флешку тоже нужно взять поболее (чтобы ее размер превышал размер образа диска дистрибутива). Теперь про Ваши  личные файлы, уже имеющиеся на флешке. В процессе установки форматирование флешки не происходит, но в нее должен с небольшим запасом помещаться выбранный дистрибутив. То есть, если у Вас флешка 1 Гб, а дистрибутив — 700 Мб, то перед началом установки «посторонних» файлов на флешке  должно быть не более чем на 300 Мб. Но, по большому счету, перед началом установки файлы с флешки лучше убрать, а саму ее отформатировать. Если файлы так уж необходимы, то их можно вернуть на флешку уже после установки дистрибутива.
  4. Запустить программу.
  5. Выбрать тип источника дистрибутива «Disk Image ISO», нажать кнопку «» и найти, куда сохранили ISO-образ установочного диска дистрибутива Linux (указатель 1 а рис. 1 ниже).
  6. Указать, что писать будем на «USB Drive» и выбрать букву диска, соответствующую флешке (указатель 2 на рис. 1 ниже).
  7. Попасть мышью в любимую кнопку «ОК» (указатель 3 на рис. 1 ниже).
screenshot
Рис. 1 Интерфейс программы

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

По окончании работы программы Вы получите флешку, с которой будет загружаться выбранный Вами дистрибутив (естественно, если bios Вашего компьютера поддерживает загрузку с USB драйвов). Все будет происходить точно так же, как будто Вы загружаетесь с компакт-диска. Все хорошо, задача выполнена. Правда, через время возникает ощущение, что чего-то не хватает. И это «что-то» называется :

Persistent Mode

Что же это такое? Представим, что Вы в своей работе пользуетесь карандашом. В первый раз, начиная работать, Вы достаете из коробки новый карандаш, точите его и работаете. По окончании работы Вы кладете карандаш назад в коробку. А на следующий день, достав тот же самый карандаш из коробки, Вы вновь вынуждены его точить. Persistent Mode — это возможность сохранять все изменения, которые Вы произвели во время работы с флешкой на самой флешке. Как следствие, при следующей загрузке не будет нужды снова настраивать те же самые параметры (например, язык, пароли доступа к Wi-Fi или почте, и т. д. и т. п.)…

Итак, взглянем на первый метод создания флешки, сохраняющей изменения. В свое время меня даный метод подкупил своей относительой простотой.

Оригинал этой инструкции на английском языке («Ubuntu 8.10 USB Flash Drive Installation tutorial«) опубликован по адресу: http://www.pendrivelinux.com/live-ubuntu-810-usb-persistent-install-windows/. Ниже приведен мой «вольный» перевод этой инструкции на русский язык. «Вводная» — «по умолчанию» данная инструкция предполагает, что Вы используете чистую (отформатированную в FAT) флешку размером 2 Гб. и инструкция выполняется на компьютере под управлением ОС Windows.

  1. Скачайте и запустите файл U810p.exe. Архив распакуется на Ваш компьютер. Автоматически будет создана папка U810p.
  2. Скачайте ISO-образ диска Ubuntu 8.10 и поместите его в папку U810p на Вашем компьютере.
  3. Перейдите в папку U810p на Вашем компьютере и дважды щелкните мышью на файле U810.bat. Начнется выполнение скрипта. (Естественно, не забудьте включить флешку в компьютер). Следуйте инструкциям на экране. (От себя — инструкции будут на английском, но особых сложностей там нет никаких — сначала нужно указать букву диска, присвоенную флешке, а по окончании копирования файлов подтвердить согласие на создание на флешке загрузочной записи). Будьте внимательны, указывая букву диска — иначе Вы рискуете повредить загрузочную запись жесткого диска компьютера!
  4. По окончании работы скрипта перезавгрузите компьютер и настройте его BIOS на загрузку с USB драйва.

Если все ОК, Вы получите дистрибутив Ubuntu 8.10, загружающийся с флешки, и сохраняющий все произведенные изменения и настройки.

Размер файла для сохранения изменений. Как я уже писал выше «по умолчанию» данная инструкция подразумевает установку дистрибутива на фпешку размером 2 Гб. Как следствие, при выполнении данной инструкции на флешке создается специальный файл casper-rw размером 1 Гб. Именно в нем и сохраняются все выполненные Вами в процессе работы изменения. (А второй Гигабайт флешки при этом займет собственно сам дистрибутив)… Если же размер Вашей флешки позволяет, то для сохранения изменений Вы сможете использовать файл бОльшего размера. Для этого нужно скачать файл соответствующего размера по одной из ссылок ниже (пугаться не стоит — по ссылкам выкачиваются zip-архивы, размер которых значительно меньше):

После того, как архив скачали, его нужно распаковать в какую-нибудь папку на жестком диске и потом файлом, полученным из архива, заменить файл casper-rw, созданный на флешке при выполнении данной инструкции. Замену файла casper-rw следует выполнять еще до загрузки с флешки и внесения каких-либо изменений в систему. Или же (в противном случае), все ранее выполненные изменения, записанные в старый файл casper-rw, будут утеряны при замене его новым файлом большего размера…

Если же ни один из предложенных размеров «не подошел», можете создать файл требуемого размера самостоятельно

ЗЫ. На этом же сайте (http://www.pendrivelinux.com/) можно с легкостью найти и такие файлы: U904p.exe, KU904p.exe и XU904p.exe. Думаю, догадаться о их назначении несложно. Для тех, кому все-таки сложно, подсказываю — создание загрузочной флешки из дистрибутивов (соответственно) Ubuntu 9.04, Kubuntu 9.04 и Xibuntu 9.04. При этом, инструкция по их применению практически ничем (кроме используемого файла образа исходного диска) не отличается от описанной выше.

ЗЗЫ. Повторил данную инструкцию, вот только вместо флешки взял внешний USB винчестер. Однако, syslinux отказался ставить загрузчик на диск, мотивируя это тем, что он не флешка. Пришлось подредактировать файл makeboot.bat (причем, я редактировал уже тот, который в результате выполнения инструкции был скопирован на мой винчестер). В нем, в команде запуска syslinux я добавил ключик -f (force), и команда стала выглядеть следующим образом:

sysl\win32\syslinux.exe -f -ma %~d0

(Добавленый ключ выделен красным цветом). После этого я повторно запустил файл makeboot.bat (прямо с внешнего винчестера) и загрузчик syslinux установился на диск. В итоге у меня теперь флешка «чуток поболе» стала 🙂 …

Проще некуда — liveusb-creator

Как я уже писал, предыдущий способ в свое время подкупил меня своей относительной простотой. Но, через некоторое время я нашел ссылку на страницу программы liveusb-creator, которая (на мой взгляд) упростила процесс создания «флешки с Linux-ом с сохранением параметров» до безобразия. Смотрим на рисунок:

liveusb-creator
Рис. 2 Интерфейс программы

Во первых, данная программа устанавливает на флешку дистрибутивы Fedora Linux (версий с 9-й по 11-ю). Во вторых, все управление программой осуществляется мышью — никаких коммандных строк. Итак, что нужно сделать (кроме того, что скачать и запустить саму программу):

  1. Нажать кнопку Browse и указать где лежит скачанный образ дистрибутива. (Естественно, он должен быть выкачан заранее с сайта проекта Fedora. С другой стороны, можно просто выбрать версию дистрибутива в выпадающем списке справа от кнопки Browse. В этом случае сначала программа сама выкачает из интернета образ диска, а уже потом приступит к созданию загрузочной флешки.
  2. В выпадающем списке выбрать букву диска, соответствующую Вашей флешке-«кандидату».
  3. Просто двигая мышью ползунок, установить желаемый размер файла для сохранения изменений. Переживать не стоит — выставить больше, чем сможет влезть на флешку (за вычетом размера самого дистрибутива) — не получится.
  4. Нажать кнопку «Create Live USB» и дождаться окончания процесса…

Пока что все.

А вот и не все (добавлено 24.04.2009)

Ubuntu — «просто разуй глаза!»

Скачал я (как и «положено», в день выхода 🙂 ) Ubuntu 9.04. Записал на болванку и загрузился с нее, чтобы посмотреть — что же там есть нового. И, просматривая пункты меню, «неожиданно наткнулся» вот на такой:

ubuntu_menu
Рис. 3 Меню Ubuntu, запуск программы создания загрузочной флешки

Да уж, воистину: «внимательность — друг идейца»! Сколько вариантов с интернета накачал, программок всяких перепробовал, а оно вот тут, прямо под носом лежало!!! Запустил и получил вот такой интерфейс:

ubuntu_make_usb
Рис. 4 Интерфейс программы

Интерфейс программы «USB Startup Disk Creator» немного напоминает программу liveusb-creator, описанную выше.

  • В поле «Source disk image (.iso) or CD» (если Вы, как и я, загрузились с компакт-диска) будет указан диск, находящийся в приводе. Но, Вы можете, нажав кнопку «Other…«, выбрать другой файл образа диска, если таковой найдется на, допустим, жестком диске Вашего комьютера.
  • В поле «USB disk to use:» будет указана Ваша флешка (если Вы уже включили ее в компьютер), ее полная емкость («Capacity«), а также — свободное место («Free Space«). Запустить установку не получится, если на флешке будет не достаточно места для записи дистрибутива.
  • Если мы хотим, чтобы при работе с флешкой все изменения сохранялись (Persistent mode), то «ставим птичку» в пункте «Stored in reserved extra space«, и затем в поле «How much» движком устанавливаем желаемый объем файла для сохранения.
  • После этого осталось лишь нажать кнопку «Make Startup Disk» и дождаться окончания работы программы.

Первое, что сделал я, увидевши эту программу, проверил на предмет ее наличия в предыдущих релизах дистрибутива Ubuntu. В Ubuntu 8.10 эта программа уже присутствовала, а вот в Ubuntu 8.4 — не нашлось…

добавлено 27.02.2010

LILI

Еще одна программа для создания загрузочных флешек с Linux-ом из различных дистрибутивов с поддержкой Persistent Mode — «LiLi USB Creator«.

RADIUS, MySQL и парочка “веб-морд” ко всему этому …

Приспичило на днях мне RADIUS установить. На вопрос о том, «Зачем?», отвечу — именно с этого я начал, когда захотел создать себе хотспот. Но пока что рассмотрим вопрос «Как я это делал, и с какими трудностями при установке боролся»…

1. Ставим FreeRADIUS.

Итак, начнем с «вводных». На «сервере» моем установлена Mandriva (на данном этапе — версии 2008.1), репозитории её давным-давно настроены, а RADIUS мне приспичило настроить именно с использованием базы данных MySQL. Кстати, Apache, PHP5 и MySQL у меня тоже уже давным-давно были и установлены и настроены. Чтож, начинаем ставить RADIUS. Ставить будем не из исходников, которые при желании можно скачать с сайта FreeRADIUS, а из репозитория. Запускаем консоль от имени администратора (root) и вводим следующую команду:

urpmi freeradius freeradius-mysql libfreeradius1

Дожидаемся окончания успешной установки. Этим самым мы устанавливаем три пакета: сам сервер FreeRADIUS, модуль поддержки MySQL для FreeRADIUS, а также «базовый» набор библиотек. Просматривая список пакетов, которые можно установить из официальных репозиториев Mandriva, в имени которых присутствует слово «RADIUS», я выбрал еще парочку кандидатов для установки. Все в той же консоли от имени root вводим следующую команду:

urpmi freeradius-web libfreeradius-devel

Что это было такое? Пакет «libfreeradius-devel» — это набор дополнительных библиотек для разработчиков. Не уверен, что мне он так уж сильно будет нужен, но как говорится возьмем «на всякий случай». А вот «freeradius-web» — это уже один из тех двух веб-интерфейсов для управления RADIUS-сервером, установку которых я и планирую описать тут. На самом деле программа называется Dialup Admin, при желании, почитать о ней можно тут, а скачать (если кому-то не нравится ставить из репозитория) — тут.

Итак, пять пакетов мы скачали и установили. Не стоит даже и надеяться, что все это уже работает! Пока что мы только готовим ту «глыбу», из которой потом высечем нашу «статую». И для этого нам понадобится еще кое что.

2. Ставим daloRADIUS.

Вопросов собственно, возникает два:

  1. Почему, не доделав одно, мы перескакиваем на другое?
  2. И что это вообще такое и зачем оно нам нужно?

Отвечу сначала на второй вопрос. daloRADIUS — это второй веб-интерфейс для управления все тем же RADIUS-сервером. Зачем второй, если один уже есть? Честно говоря, поначалу у меня Dialup Admin попросту не запустился, и я быстренько «нагуглил» другой. А потом, когда запустил их оба, то решил тут описать все это сразу. А уж кому что больше нравится — решайте сами. Кстати, daloRADIUS по сравнению с Dialup Admin — более новый и более функционально насыщенный. Ну и справедливости ради должен отметить — в конечном итоге, установив и попробовав оба эти веб-интерфейса, я не нашел их достаточно удобными инструментами для управления хотспотом. Но об этом ниже в «Выводах»…

А теперь о том, зачем нам понадобилось устанавливать daloRADIUS до того, как завершено конфигурирование «связки» FreeRADIUS и MySQL. Дело в том, что установка FreeRADIUS с модулем поддержки MySQL еще не означает автоматического создания требуемой базы данных. Как я и говорил, это только «глыба», над которой нам еще предстоит поработать ручками! Но возвращаясь к базе — после установки 5 пакетов, описанных в первой части, у нас на компьютере только того и появляется, что всего-лишь … скрипт для создания в MySQL той самой требующейся для работы FreeRADIUS базы данных. В принципе, ничто не мешает сразу же взять этот скрипт и создать необходимую базу. И так и стоит поступить, только если Вы не планируете … установить daloRADIUS. Дело в том, что с ним также поставляется скрипт создания базы данных MySQL для FreeRADIUS. Но, в отличие от скрипта, поставляемого с самим FreeRADIUS-сервером, скрипт, идущий в комплекте с daloRADIUS, создает более объемную базу, добавляя в нее кроме базовых еще дополнительные таблицы и поля, требующиеся для его собственной работы. А с другой стороны, если изначально создать базу при помощи скрипта «от FreeRADIUS», то впоследствии, при выполнении скрипта «от daloRADIUS», первую базу придется снести. Так зачем дважды делать одно и то же? Уговорил?

Так как в репозиториях Mandriva данной программы нет, идем на сайт daloRADIUS или же на страницу проекта на SourceForge.net. В любом случае — качаем архив с программой. Собственно, сама установка сводится к нескольким простым действиям:

  • Распаковать содержимое архива.

Переходим в ту папку, куда сохранили скачанный архив с программой и выполняем команду:

tar -zxvf имя_архива.tar.gz

  • Полученный результат нужно скопировать в папку веб-сервера Apache.

Примечания по копированию. Во первых, результатом распаковки реального архива будет папка с именем наподобие такого — daloradius-0.9-8. Лично я для удобства папку эту сразу же переименовал в просто daloradius. А во вторых, папка, в которой находятся документы веб-сервера Apache в моем случае (так настроено), называется /var/www/html, и именно это и показано в приведенной ниже команде. А теперь вернемся к тому факту, что мы только что (командой приведенной выше) распаковали архив с программой. Находясь там же, выполняем следующую команду:

cp daloradius/ /var/www/html -R

  • Теперь нужно назначить владельцем папки с программой того пользователя, от имени которого работает веб-сервер.

В моем случае, это пользователь apache из группы apache. Чтобы сменить владельца, выполняем команду:

chown apache:apache /var/www/html/daloradius -R

  • Ну и напоследок, нужно изменить права доступа на файл конфигурации daloRADIUS.

Для этого выполняем команду:

chmod 644 /var/www/html/daloradius/library/daloradius.conf.php

На этом предварительную установку daloRADIUS можно считать законченой.

3. Подготавливаем MySQL (создаем базы).

Ну вот и добрались мы до «высечения» нашей «статуи»!.. Собственно, до настройки взаимодействия FreeRADIUS с базой данных MySQL нужно эту самую базу создать. Как я писал уже выше, на данном этапе у нас есть только скрипты для ее создания. И из двух возможных «претендентов» лично я выбрал скрипт, поставлявшийся в комплекте с daloRADIUS. Вот его и будем сейчас «юзать». В приведенном ниже примере я использую имя базы «radius_db«, имя пользователя для данной базы — «radius_user» и пароль «radius_passwd» для доступа данного пользователя к данной базе. Вам же я рекомендую выбрать свои значения и подставлять их в соответствующие команды. Предполагается, что мы по-прежнему находимся в консоли от имени root-а. Запускаем команду:

mysql -uroot -p

Если попросит, вводим пароль root-а для MySQL. (Если же не попросит, то совет на будущее — установить этот самый пароль в целях повышения безопасности). После успешного ввода пароля мы попадаем в консоль MySQL. На всякий случай напомню, что все команды в ней должны заканчиваться точкой с запятой (;). Создаем базу даных:

CREATE DATABASE radius_db;

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

use radius_db;

Запускаем тот самый скрипт, который и создаст в этой базе данных всё необходимое:

source /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql;

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

После того, как база создана (мы получили ответ наподобие «Query OK, ХХХ rows affected…»), создаем пользователя и назначаем ему права на данную базу данных:

GRANT ALL PRIVILEGES ON radius_db.* TO 'radius_user'@'localhost' IDENTIFIED BY 'radius_passwd';

В данном случае следует обратить внимание на слово «localhost», означающее, что и база данных MySQL и сервер FreeRADIUS установлены на одном компьютере. В противном случае имя компьютера в приведенной команде нужно будет изменить.

Теперь наша база готова, но … только для случая использования веб-интерфейса daloRADIUS. Если же планируется использовать Dialup Admin, то нам необходимо добавить в базу еще несколько таблиц. Необходимое примечание — после установки пакета freeradius-web файлы программы Dialup Admin на моем «сервере» расположились в папке /var/www/freeradius-web, а документация к ней — в папке /usr/share/doc/freeradius-web/sql. В папке с документацией, в подпапке /sql/mysql находятся четыре скрипта для создания недостающих для работы Dialup Admin дополнительных таблиц. Если Вы еще не вышли из консоли MySQL, то просто вводим приведенные ниже четыре команды. Если же вышли, то сначала возвращаемся в консоль MySQL командой «mysql -uroot -p» и выбираем базу командой «use radius_db;«. А уже потом создаем 4 новые таблицы — «badusers»

source /usr/share/doc/freeradius-web/sql/mysql/badusers.sql;

«userinfo»:

source /usr/share/doc/freeradius-web/sql/mysql/userinfo.sql;

«mtotacct:»

source /usr/share/doc/freeradius-web/sql/mysql/mtotacct.sql;

«totacct»:

source /usr/share/doc/freeradius-web/sql/mysql/totacct.sql;

После того, как успешно созданы и эти 4 таблицы, можно выйти из консоли MySQL командой «exit«. Но, в моем случае попытка создания данных 4 таблиц привела лишь к сообщениям об ошибках. «Удачным» примером может служить скрипт для создания таблицы badusers (badusers.sql). При попытке его запуска MySQL выдал два сообщения об ошибках — «ERROR 1067 (42000): Invalid default value for ‘id’» и «ERROR 1072 (42000): Key column ‘Date’ doesn’t exist in table«. Пришлось редактировать вручную.

Вот так скрипт выглядел изначально:

#
# Table structure for table 'badusers'
#
CREATE TABLE badusers (
  id int(10) DEFAULT '0' NOT NULL auto_increment,
  UserName varchar(30),
  IncidentDate	datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
  Reason varchar(200),
  Admin varchar(30) DEFAULT '-',
  PRIMARY KEY (id),
  KEY UserName (UserName),
  KEY Date (Date)
);

А вот так — после правки:

#
# Table structure for table 'badusers'
#
CREATE TABLE badusers (
  id int(10) DEFAULT NULL NOT NULL auto_increment,
  UserName varchar(30),
  IncidentDate	datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
  Reason varchar(200),
  Admin varchar(30) DEFAULT '-',
  PRIMARY KEY (id),
  KEY UserName (UserName),
  KEY IncidentDate (IncidentDate)
);

Для наглядности различия выделены красным. Как мы видим, для исправления первой ошибки (1067) я просто заменил числовой ноль (0) на значение «NULL». После этого сообщение о неверном «умолчательном» значении дл колонки «id» ушло. Второе сообщение об ошибке (1072) говорит нам, что мы пытаемся сделать ключевым невуществующий в таблице (!!!) столбец «Date». И это действительно так! Взглянувши на структуру таблицы, мы видим, что там из дат есть только столбец «IncidentDate». Вот именно его я и сделал ключевым…  Подобная правка может потребоваться и для трех остальных скриптов. После правки повторно запускаем создание 4 дополнительных таблиц. Получив ответ вида «Query OK, ХХХ rows affected…» на все четыре команды по созданию доп. таблиц, выходим из консоли MySQL командой «exit«.

4. Настраиваем FreeRADIUS на использование базы MySQL.

В самом начале мы установили FreeRADIUS. Помните? И все это время он тихонько работал! Не верите? Введите команду:

ps -e|grep radiusd

Нюанс в том, что пока что наш FreeRADIUS не использует базу MySQL. Чтож, будем «принуждать». Для этого необходимо выполнить несколько действий. Во первых, нужно отредактировать файл /etc/raddb/sql.conf. В нем нужно найти указанные строки (они не будут идти подряд, как в примере ниже) и присвоить им следующие значения:

	database = "mysql"
	server = "localhost"
	login = "radius_user"
	password = "radius_passwd"
	radius_db = "radius_db"
	usergroup_table = "radusergroup"
	readclients = yes

Это были параметры, используемые FreeRADIUS при подключении к базе MySQL. Важно, чтобы имя базы, пользователя и пароль, вписанные нами в файл /etc/raddb/sql.conf, совпадали с теми, которые мы ранее использовали при создании базы в MySQL. Следующим шагом мы редактируем файл /etc/raddb/radiusd.conf. В нем нам нужно найти и раскомментировать (убрать символ #) строку:

	$INCLUDE sql.conf

Этим самым мы «глобально» разрешаем FreeRADIUS использовать в своей работе sql-базу данных (параметры которой мы только что описали в файле /etc/raddb/sql.conf). И напоследок нужно отредактировать файл /etc/raddb/sites-available/default. Файл сам по себе не маленький, но придется постараться. В нем нужно найти секцию authorize{} и в ней раскомментировать строку, содержащую директиву «sql». Это позволяет FreeRADIUS искать записи о пользователях в sql-базе данных при их авторизации. Также, нужно найти секцию accounting{} и в ней также раскомментировать строку «sql». Это вынуждвет FreeRADIUS свои записи о подсчете трафика также хранить в sql-базе данных.

Все. Настройка взаимодействия FreeRADIUS с базой данных MySQL завершена. Чтобы внесенные нами изменения вступили в силу, сервер FreeRADIUS нужно перезапустить. Мы же все еще в консоли с правами root-а? Тогда просто вводим команду:

/etc/init.d/radiusd restart

Если все хорошо, то сначала мы прочтем «ОК» по поводу остановки сервера freeradius, а потом — «ОК» по поводу его запуска. С этого момента «связка» FreeRADIUS с базой данных MySQL работает, и нам пора это проверить…

5. Проверка «связки» FreeRADIUS + MySQL

Чтобы убедиться, что наш сервер работает и «общается» с базой данных, выполним следующее. Сначала войдем в консоль MySQL:

mysql -uroot -p

Выберем базу данных :

use radius_db;

Вставим в нее новую запись (в таблицу «radcheck» про пользователя «sqltest» и его пароль «testpwd»):

INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('sqltest', 'Password', 'testpwd');

(По сути, мы только что «по быстрому» завели в нашем RADIUS-сервере тестового пользователя). На всякий случай проверим, что запись таки была добавлена:

select * from radcheck where UserName='sqltest';

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

+----+----------+-----------+----+---------+
| id | username | attribute | op | value   |
+----+----------+-----------+----+---------+
|  1 | sqltest  | Password  | == | testpwd |
+----+----------+-----------+----+---------+
1 row in set (0.00 sec)

Если все хорошо, выходим из консоли MySQL:

exit

А теперь пошлем запрос нашему RADIUS-серверу:

radtest sqltest testpwd localhost 1812 testing123

В данном случае служебная программа radtest (предназначенная для проверки сервера RADIUS) посылает запрос на порт 1812 локального (localhost) RADIUS-сервера с просьбой подтвердить авторизацию пользователя с именем “sqltest” и паролем “testpwd“. Ответ сервера выглядит примерно так:

Sending Access-Request of id 136 to 127.0.0.1 port 1812
        User-Name = "sqltest"
        User-Password = "testpwd"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=136, length=20

И нам в нем важна выделенная красным цветом строка “Access-Accept”, которая подтверждает, что клиент “sqltest” принят сервером RADIUS, а значит наша “связка” FreeRADIUS + MySQL работает нормально! Следовательно, пора прикручивать веб-интерфейсы…

6. Настраиваем Dialup Admin

Настройка программы проста и сводится к редактированию всего лишь одного файла конфигурации — /etc/freeradius-web/admin.conf. В нем нужно найти указанные строки (они не обязательно будут идти подряд, как в примере ниже) и присвоить им следующие значения:

sql_type: mysql
sql_server: localhost
sql_port: 3306
sql_username: radius_user
sql_password: radius_passwd
sql_database: radius_db
sql_usergroup_table: radusergroup
sql_debug: false

Важно, чтобы имя базы, имя пользователя и пароль, вписанные нами в файл /etc/freeradius-web/admin.conf, совпадали с теми, которые мы ранее использовали при создании базы в MySQL. Все. Даже перезапускать ничего не нужно. Просто запускаем браузер (любой) и набираем в поле адреса:

http://localhost/freeradius-web/

  • Подразумевается, что браузер запущен на том самом компьютере, где установлен Dialup Admin. Если Вы пытаетесь войти в программу с другого — укажите в браузере имя или ip-адрес компьютера, на котором установлен Dialup Admin.
  • Программа сразу же открывает интерфейс для управления сервером RADIUS, не спрашивая никакого имени и пароля. То есть, никакой собственной защиты она не использует. Поэтому доступ к странице программы настоятельно рекомендуется защитить, например с помощью файла .htaccess, настроив его по собственному разумению.

7. Настраиваем daloRADIUS.

Подразумевается, что Вы уже установили программу и настроили ее владельца и права доступа, как описано выше в пункте 2 «Ставим daloRADIUS». Для настройки программы необходимо отредактировать всего лишь один файл конфигурации — /var/www/html/daloradius/library/daloradius.conf.php. В нем нужно найти указанные строки (они не обязательно будут идти подряд, как в примере ниже) и присвоить им следующие значения:

$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_USER'] = 'radius_user';
$configValues['CONFIG_DB_PASS'] = 'radius_passwd';
$configValues['CONFIG_DB_NAME'] = 'radius_db';
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup';
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';
$configValues['CONFIG_LANG'] = 'ru';

Важно, чтобы имя базы, имя пользователя и пароль, вписанные нами в файл /var/www/html/daloradius/library/daloradius.conf.php, совпадали с теми, которые мы ранее использовали при создании базы в MySQL. Программа готова к запуску. Просто запускаем браузер (любой) и набираем в поле адреса:

http://localhost/daloradius/

  • Подразумевается, что браузер запущен на том самом компьютере, где установлен daloRADIUS. Если Вы пытаетесь войти в программу с другого — укажите в браузере имя или ip-адрес компьютера, на котором установлен daloRADIUS.
  • Программа при запуске открывает окно входа (login) в котором нужно ввести имя пользователя и пароль. При первом запуске (то есть, Вы ничего не меняли еще) вводим пользователя «administrator» и пароль «radius«. В дальнейшем настоятельно рекомендуется сменить хотя-бы пароль, а то будет как с левым Windows — пользователей миллионы, а пароль один. Более того, я бы порекомендовал дополнительно защитить доступ к странице программы с помощью файла .htaccess, настроив его по собственному разумению.

Ну вот и все… Ах, ну да —

Выводы

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

В итоге — предлагаю всем желающим приобрести русифицированный и модернизированный вариант программы Easyhotspot плюс подробнейшее руководство по установке хотспота. Подробности здесь.

Почитать еще:

  1. http://daloradius.wiki.sourceforge.net/
  2. http://wiki.freeradius.org/ и в том числе http://wiki.freeradius.org/SQL_HOWTO
  3. http://www.howtoforge.com/authentication-authorization-and-accounting-with-freeradius-and-mysql-backend-and-webbased-management-with-daloradius

Почитать все мои заметки о хотспотах:

  1. https://wifi-hotspot.zp.ua/wp/category/xotspot/

Обновление Mandriva 2008.0 до Mandriva 2008.1 через интернет

Прочитал тут я недавно заметку о том, как обновить версию дистрибутива «на лету». Нашел я и ту статью на howtoforge, на которую ссылается автор. И решился тоже повторить процедуру сию применительно к своему «серверу». Как говорится, «не мала баба клопоту…» Сначала все было отлично:

  • С удалением старых репозиториев вопросов не возникло.
  • Подключение новых репозиториев (уже от версии 2008.1) тоже прошло без сучка и задоринки.

Вопросы начались позже… Во первых, в русской заметке не переведена фраза о том, что обновление будет выполняться в два этапа. Сначала должны обновится собственно программы urpmi, rpm, а также еще некоторое количество пакетов. Собственно, не беда. Беда была в том, что у меня этот (первый) этап установки никак не хотел выполнялся — отваливался на проверке зависимостей пакетов. После пары безуспешных попыток пришлось добавить в команду обновления ключик:

--allow-nodeps

После этого обновления пошли.

Но, как и указано (правда тоже, только в английском оригинале) — иногда процесс обновления подвисает на этапе загрузки пакетов. Как сказано в той статье, зависший процесс нужно прервать командой «Ctrl+C«, и затем запустить вновь. Он при этом продолжится с того места, на котором завис. Не знаю, что я делал не так, но в моем случае, после перезапуска процесс обновления начинал по-новой качать из интернета ВСЕ ПАКЕТЫ!!! А их было ни много, ни мало, всего-то 1800 штук общим объемом 1,3 Гб.  Посмотрел я на это разок, другой, и решил, что так не годится. И добавил в команду еще один ключик:

--resume

Теперь, те пакеты, которе были ранее выкачаны из интернета и лежали в кеше программы urpmi, не закачивались по-новой, а брались из кеша.

Таким образом, «моя» команда для обновления в конечном итоге имела следующий вид:

urpmi --auto-update --allow-nodeps --resume -v

Как я устанавливал Alfresco

Решил я установить на свой «сервер» программу Alfresco. Почитать «что такое Alfresco и с чем его едят» на русском языке можно, например, в Википедии. Также, можно почитать про Alfresco, например тут

Далее. На сайте компании-разработчика — http://www.alfresco.com/ присутствуют как коммерческая так и бесплатная версия программы. Коммерческую версию можно бесплатно использовать (пробовать) 30 дней. Бесплатная (или же т. н. Community) версия программы отличается в первую очередь отсутствием поддержки и не рекомендуется для использования «в ответственных случаях». В моем случае — я сам себе «ответственный», «энтерпрайз» мой невелик, и денег на поддержку мне жалко. Короче говоря, скачал я себе бесплатную Community-версию. На всякий случай, копию инсталятора сложил и к себе на ftp. Скачать ее с моего ftp-сервера можно по вот этой ссылке (учтите лишь, что размер файла Alfresco-Labs-3b-Linux-x86-Install составляет примерно 120 Мб, а скорость скачивания с моего сервенра неважненькая).

Ну чтож, скачал. Запустил консоль, переключился в режим администратора (ввел команду su и затем пароль root-а). Перешел в папку, в которую скачал инсталятор. Запустил команду:

chmod +x Alfresco-Labs-3b-Linux-x86-Install

(это я сделал для того, чтобы файл инсталятора стал исполняемым). Затем запустил сам инсталятор. Запустилась утилита установки. Графическая!!! Первым делом спросила меня про язык. В списке для выбора был в том числе и русский. Его и выбрал. Но, как показали итоги установки, данный факт самому интерфейсу уже установленной программы русского языка не прибавил, но вот вся моя дальнейшая установка проходила в режиме «угадай, что это за «бНОПНЯ!» (как я понимаю, сообщения в том инсталяторе под ср1251 писаны). Посему, мой совет — выбирайте «родной английский» и устанавливайте программу, а уж русифицируем мы ее позже…

Первый мой «затык» в установке был связан с отсутствием установленного на моем «сервере» пакета Java DK. То есть, JRE (Java Runtime Environment) был, а вот JDK (Java Development Kit) — не было. Чтож, прервал установку, пошел в Центр управления устанавливать пакеты. Для моей Mandriva 2008.0 это оказался пакет java-1.6.0-sun-devel (после всех обновлений — стала версия 1.6.0.06-2mdv2008.0). Его и установил. Тем кто не пользуется репозиториями дистрибутива, следует искать Java на сервере Sun. Впоследствии, при установке Alfresco, нужно будет указать путь к Java DK. Решил я посмотреть, где же он живет. Оказалось — в папке /usr/lib/jvm. Посмотрел я на ее содержимое:

~java
~java-1.6.0
~java-1.6.0-sun
/java-1.6.0-sun-1.6.0.02
/java-1.6.0-sun-1.6.0.04
/java-1.6.0-sun-1.6.0.06
~java-sun
~jre
~jre-1.6.0
~jre-1.6.0-sun
~jre-sun

И увидел три реальные папки и кучу симлинков. В двух папках (/java-1.6.0-sun-1.6.0.02 и /java-1.6.0-sun-1.6.0.04) было уже пусто — как видно, обновлялось. А в папке /java-1.6.0-sun-1.6.0.06 была как раз Java DK последней версии. Проверка же симлинков показала, что все они так или иначе приводят меня именно в эту папку. Зачем я так подробно? Затем, что впоследствии при настройке Alfresco нам потребуется указать путь к Java DK…

Чтож, с JDK разобрался. Опять запустил установку Alfresco. Про Java вопросов больше не возникло. Программа установки поинтересовалась, куда устанавливать Alfresco. Выбрал путь, предложенный по умолчанию — /opt/Alfresco. Потом инсталятор поинтересовался, где у меня живет Openoffice. Я кинулся указывать ему путь непосредственно к самому исполняемому файлу — /opt/openoffice.org2.4/program/soffice.bin. «Программа не найдена!» — сказал инсталятор!!! Ладно, указал просто путь к папке — /opt/openoffice.org2.4/program/. Ответ инсталятора был тот же — «Программа не найдена!» Где-то в интернете прочел, что мол, «…инсталятор 3-й версии ищет файл soffice.exe а не soffice.bin«… Чтобы «ублажить» инсталятор, там же рекомендовалось скопировать файл soffice.bin в файл soffice.exe. Скопировал (командой cp soffice.bin soffice.exe). Указал инсталятору на результат. «Программа не найдена!» — сказал инсталятор!!! В конечном итоге, методом «проб и ошибок» ответ был найден — инсталятору нужно было всего-лишь указать на каталог (папку) /opt/openoffice.org2.4/. И всё… Инсталятор остается доволен таким ответом. Но, как показал в дальнейшем анализ логов, для реального запуска Openoffice этого недостаточно. Подробнее читаем тут.

После того, как установка завершена, нужно запустить Alfresco. Переходим в папку, которую мы ранее выбрали для установки программы (/opt/Alfresco). В ней присутствуют два исполняемых файла — ./alf_start.sh и ./alf_stop.sh — предназначенных для запуска и остановки Alfresco соответственно. Просмотр их содержимого показал, что на самом деле они всего лишь запускают выполнение другого файла — ./alfresco.sh — но с различными ключами (start и stop, соответственно). В итоге, консольная команда запуска Alfresco выглядит так:

./alfresco.sh start

А команда остановки — вот так:

./alfresco.sh stop

Перед запуском я бы порекомендовал открыть файл ./alfresco.sh в редакторе и проверить, а в случае необходимости и подкорректировать значение переменной JAVA_HOME. В файле должно быть указано, где расположены файлы JDK (Java Development Kit). Указывает этот параметр строка:

export JAVA_HOME="/usr/lib/jvm/java"

(Увы, я уже не помню, что там было прописано изначально. В приведенном выше примере прописано уже откорректированное мной значение). Есть простой способ проверить, что значение переменной JAVA_HOME указано корректно. Для этого в консоли нужно запустить команду:

./alfresco.sh stop

Если путь к Java-машине указано неверно, Вы тут же получите сообщение о том, что «нет такого файла или каталога». В противном случае — получите целую кучу сообщений от самой Java-машины, которую мы пытаемся заставить остановить не запущенный процесс…

Если путь к Java-машине прописан верно, самое время запустить Alfresco . Вводим команду:

./alfresco.sh start

Потом запускаем свой любимый браузер (любой) и в поле адреса вводим:

http://localhost:8080/alfresco/

Итог выглядит примерно так:

Alfresco - first looks
Alfresco — first looks
  • Первое и самое важное — в адресе использован «нестандартный» номер порта — 8080. Следовательно, чтобы иметь доступ к программе извне (с других компьютеров) нужно «открыть» соответствующий порт в файерволе.
  • Как видим, на данном этапе приложение стартует с английским языком интерфейса…
  • Если что-то «пошло не так», то Вы получите сообщение «Error 400» (приложение не найдено) от Tomcat. Чаще всего эта ошибка означает, что не запустилась Java-машина. Тогда возвращаетесь к редактированию файла ./alfresco.sh на предмет правильного указания значения переменной JAVA_HOME…

Заметил, что попадают на мою эту заметку и люди с вопросом про пароль. Уж не помню, где я это брал. Но тем не менее

The default administrator user of the Alfresco application is:
LOGIN: admin
PASSWORD: admin

Естественное, пароль затем рекомендуется сменить на свой.

Есть в такой работе Alfresco еще одно «непрофессиональное» обстоятельство — при работе приложения используется «встроенная» база данных (Derby). Правда, кругом пишут о том, что по умолчанию используется HSQL, но в моем случае оказалось, что приложение настроено на использование именно базы Derby. Отчего такое не соответствие, я не знаю. Возможно, это отличие дистрибутива 3-й версии от более ранней 2-й (описаний которой в интернете как раз подавляющее большинство). Решил я воспользоваться инструкциями по настройке использования в качестве базы данных MySQL, коих в интернете превеликое множество. Но, настроить «с пол-пинка» лично у меня не вышло, и поэтому отложил я этот вопрос «до лучших времен». И дело даже не в моей привычке откладывать на потом то, что не вышло сделать за пять минут. Просто мне не терпелось русифицировать интерфейс…

Ох уж эта мне локализация интерфейсов! В принципе, согласно информации, найденной в интернете, данный вопрос не должен был вызвать у меня никаких проблем. «Все просто!», «Все очень просто!», написано, например, в Wiki-Alfresco. Достаточно всего лишь найти файл (путь указан с учетом моей установки) /opt/Alfresco/tomcat/shared/classes/alfresco/extension/web-client-config-custom.xml, а в нем — раздел Languages, выглядящий следующим образом:

  <!--
<config evaluator="string-compare" condition="Languages">
<languages>
<language locale="fr_FR">French</language>
<language locale="de_DE">German</language>
<language locale="ja_JP">Japanese</language>
</languages>
</config>
  -->

И затем в разделе этом нужно лишь убрать строки с «лишними» языками интерфейса, а оставить с «нужными» (в моем случае — с русским). И будет Вам счастье! Но не тут то было… По мере моей возни с данной программой я все больше укреплялся во мнении, что 2-й Alfresco, описанный везде и кругом, и 3-й Alfresco, с которым возился лично я, как говорят в Одессе, «две большие разницы».

Например, в указанном разделе указанного файла НЕ БЫЛО строки про русский язык интерфейса! Пришлось её дописывать руками:

<language locale="ru_RU">Russian</language>

И что это мне дало? Да ничего! Перезапустил Alfresco, а у интерфейса как был только английский язык и отсутствовала возможность выбрать русский, так всё и осталось!

На первую подсказку меня натолкнул … встроенный текстовый редактор менеджера Midnight Commander. Точнее — его (редактора) автоматическое расцвечивание синтаксиса. А еще точнее — его (расцвечивания) отсутствие в случае именно тех строк, которые должны были управлять выбором языка интерфейса. Проверка закравшегося сомнения много времени не заняла. Первый же найденный справочник по синтаксису языка подтвердил мои опасения. О чем я? Согласно справочнику, текст между тегами <!- — и — -> является КОММЕНТАРИЕМ!!! Да, да! В приведенной выше цитате из файла web-client-config-custom.xml ВЕСЬ модуль инструкций по выбору языка является ИМЕННО комментарием!!! А чтобы он стал директивой, метки коментария (теги <!- — в начале , и — -> в конце) НЕОБХОДИМО УБРАТЬ!!!

Убрал. Сохранил. Перезапустил Alfresco. В меню появилась возможость выбора (пункт «Russian»). Но!.. Но не сам русский язык интерфейса…

А дело оставалось за малым. Я-то «прикрутил» возможность выбора сообщений (интерфейса) на русском языке. Но, как оказалось, не было в инсталяторе Alfresco 3-й версии самих этих сообщений-то. То есть, в папке (путь указан с учетом моей установки) /opt/Alfresco/tomcat/shared/classes/alfresco/messages/ должны были находиться файлы, в имени которых присутствует ru_RU. Вот в них как раз и находятся те самые сообщения на русском языке. Но файлов этих там, увы, не было… На одном из форумов прочел, что 3-й Alfresco еще не переведен. Там же давался совет «скопировать файлы английского интерфейса, давши им новые имена с ru_RU внутри, а потом в этих файлах самостоятельно перевести все сообщения на русский». Хороший совет, но не для таких лентяев как я. Чтоб не переводить 3-й Alfresco «руками», погуглив самую малость, нашел я страницу проекта по русификации интерфейса Alfresco. На странице этой можно взять архив уже готовых переведенных файлов сообщений. (Кстати, копия этого архива (на всякий случай) лежит у меня тут).
И пусть не смущает номер версии (архива). У меня пристегнулось на ура! Распаковал содержимое архива в папку /opt/Alfresco/tomcat/shared/classes/alfresco/messages/. Перезапустил Alfresco. Вуаля! Есть русский язык! Результат видно на картинке:

Alfresco - русский интерфейс
Alfresco — русский интерфейс

ЗЫ. Кто знает, может и не было бы всей этой эквилибристики, если бы я скачал и установил Alfresco 2-й версии. Но так уж вышло…

Еще об Alfresco

Проблема с установкой OpenOffice на Mandriva 2008.0

После установки OpenOffice Pro (версии 2.4) от «Инфра-Ресурс» возникли проблемы с интеграцией в KDE и прикладных программах. Пришлось зайти в «Настройку компьютера» и через «Установку программ» удалить OpenOffice. После этого выполнил следующее:

1. Распаковал архив в подпапку с произвольным именем (я назвал «oo_24»), расположенную в папке (так посоветовали) /usr/src.

2. Зашел там в папку RPMS/desktop-integration.

3. Файл openoffice.org-mandriva-menus-2.4-9286.noarch.rpm перенес в папку RPMS.

4. Папку desktop-integration удалил.

5. Запустил консоль с правами администратора (root).

6. Перешел в папку RPMS.

7. Запустил команду rpm -ihv * (именно так — со звездочкой в конце — чтобы установить все RPM-ы).

Всё.

ЗЫ. Если нужно обновить. а не установить пакеты, команда выглядит несколько иначе: rpm -Uhv *