вторник, 27 января 2009 г.

Linux. Установка LinuxDC++ из исходников

Дано: LinuxDC++, Debian
Задание: скомпилировать

Вообще на каждую систему существует свой пакет - deb'ы, rpm'ы и т.д. Но версия там скорее всего не самая свежая. Поэтому выход - либо искать по просторам интернета, либо собирать самим.
Последнее, как выяснилось, занятие совершенно не сложное.

Сайт - https://code.launchpad.net/linuxdcpp
Все свежие ветки проекта лежат там. Задача проста - выбрать ветку, да поставить.

Для начала поставим bzr (пакет так и называется). С его помощью будем копировать себе исходники.

После установки выбираем ветку и, собственно, копируем исходники командой, которая указана на странице с выбранным проектом. Например для ветки i18n команда такая:
bzr branch lp:~individ/linuxdcpp/i18n

После чего сидим и ждем, когда они свалятся нам в home каталог. Переходим. Осталось скомпилировать и установить. Пишем дял компиляции:
scons PREFIX=/dir-to-install

В качестве папки установки можно взять "/usr/local" (говорят помогает так же от некоторых ошибок)

Команда для установки:
scons install

Все просто. Но самое веселое это всякие зависимости. Вероятно придется установить много чего, хотя и не большого при этом размера (половина из которых различные dev-пакеты). Но в процессе установки она пишет чего конкретно не хватает и проблем в общем возникнуть не должно - достаточно грамотно пользоваться aptitude search и уметь внимательно читать.
Вот тут есть примерный список нужных пакетов:
http://packages.debian.org/sid/i386/linuxdcpp

Кстати, в процессе поиска вам может помочь такая связка:
aptitude search something | grep "abc"
Ищет все пакеты со словом something в которых присутствует и подстрока abc. Например чтобы найти C++ надо написать:
aptitude search c | grep "++"

Сравните с:
aptitude search c
... и почувствуйте разницу =)

Кстати, в догонку. Если надо протестировать LinuxDC++, а искать файлы для расшаривания лень\долго\такихнету - можно создать виртуальный файл и подсунуть его программе! =)
Делается командой:
dd if=/dev/null of=/virtual-file-name bs=1 count=0 seek=нужная_длина_файла
Да, а для создания swap-файла можно написать так:
dd if=/dev/zero of=/swapfile bs=1024 count=65535
ну и потом команды mkswap, swapon

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.

пятница, 9 января 2009 г.

Linux. Настройка VirtualBox в Debian

Так!
Свершилось!
Я разобрался в том, как поставить VirtualBox. А точнее нашел выход после того, как заблудился в 3 соснах =)

В общем все довольно тривиально и очень просто. Типичная проблема у многих при установке vbox'a. Значит как оно ставится в Дебиане...
(в других дистрибутивах, например в Мандриве - примерно аналогично. По крайней мере шаги настройки те же, ну а команды установки могут отличаться - тут aptitude, там urpmi ну и т.д.).
Часть инструкции можно найти тут:
http://www.virtualbox.org/wiki/Linux_Downloads
Да, кстати, шаги 1-4, наверное, можно пропустить, просто скачав пакет для вашей ОС отсюда:
http://www.virtualbox.org/wiki/Download_Old_Builds

Первое. Добавляем источник в файл "/etc/apt/sources.list"
deb http://download.virtualbox.org/virtualbox/debian lenny non-free

Второе. Добавляем ключ источника. Для чего качаем ключ-файл со странички выше, сохраняем и добавляем его командой:
apt-key add /home/vasya/sun_vbox.asc

Третье. Обновляем источники:
aptitude update

Четвертое. Ставим версию 1.6 (ну можете поставить свежее, но я 1.6):
apt-get install virtualbox

Пятое. Запускаем программу, запускаем любую вирт.машину, и скорее всего получаем ошибку:
VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

Прекрасно. Надо выполнить команду от рута:
/etc/init.d/vboxdrv setup

У меня не выполнялась ни в Мандриве, ни в Дебиане. Лог ошибки:
Makefile:127: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again.  Останов.

Шестое. Надо ставить исходники ядра.
Чтобы узнать какое у вас ядро можно написать, например, команду:
uname -a

Будет что-то типа:
Linux debian 2.6.26-1-686 #1 SMP Mon Dec 15 18:15:07 UTC 2008 i686 GNU/Linux

Это значит надо поставить следующие две вещи:
i   linux-headers-2.6.26-1-686      - Header files for Linux 2.6.26-1-686
i   linux-headers-2.6.26-1-common   - Common header files for Linux 2.6.26-1

После установки которых "/etc/init.d/vboxdrv setup" выполняется и все прекрасно работает ^_^

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.

За помощь по настройке большое спасибо GrayCat, без которого я бы так и продолжал блуждать в трех соснах =D

вторник, 6 января 2009 г.

Linux. Консольный ликбез

Краткая заметка о нескольких популярных консольных приложениях. Аналогов много, в которых все расписано в деталях, поэтому буду краток.
*например, подробно можно прочитать тут: http://www.computerra.ru/think/sentinel/34373/

Notepad - Nano

ICQ - Centericq

Audio-video players - Orpheus, Mplayer

Web - Links, w3m

Mail - Mutt

Downloader - wget

Graphic-Shells - GNU Screen, Twin

До кучи, цвет консоли меняется командой - setterm

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.

воскресенье, 4 января 2009 г.

Linux. Добавляем новый пункт в контекстное меню KDE

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

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

Достало.

Решил добавить новый пункт в меню KDE - добавление папки и вложенных подпапок в Амарок. Для этого достаточно иметь более-менее прямые руки и пару свободных минут. Даже не так. Так как это KDE - руки вообще могут расти из одного места - никаких проблем не возникнет =)

Сама инструкция лежит тут:
http://developer.kde.org/documentation/tutorials/dot/servicemenus.html

У меня только пример.
Итак, суть в том, что есть у вас папка с этими пунктами меню. Вероятно одна из трех:
/opt/kde3/share/apps/konqueror/servicemenus/
/usr/share/apps/konqueror/servicemenus/
/home/user/.kde3/share/apps/konqueror/servicemenus/

Выбираете одну. Я взял "/home/diman/.kde/share/apps/konqueror/servicemenus/"

Создаете в выбранной папке файл "bla-bla.desktop", где бла-бла любое имя. Отлично - пол-дела сделано.

Заносим в него сей текст:

[Desktop Entry]
ServiceTypes=inode/directory
Actions=addDir

[Desktop Action addDir]
Name=Add to Amarok
Icon=/usr/share/icons/hicolor/16x16/apps/amarok.png
Exec=/bin/sh -c "find %U -iname *mp3 -exec amarok -e {} \;"

Суть текста.
[Desktop Entry] это описание, указывающее что появится пункт меню только при нажатии на Папки (директории то бишь, а не файлы). А так же указывает что надо бы вызывать "процедуру" addDir при нажатии на пункт меню.
[Desktop Action addDir] это как-бы "процедура". Условно очень. В ней мы присваиваем нашему действию имя в меню (Name), выбираем картинку (Icon; я через команду find нашел перво-попавшуюся в системе). Наконец Exec - команда, которая будет выполняться, она заключена в кавычки. Если команда одна - кавычки не нужны. И вообще будет выглядеть так:
Exec=find %U -iname *mp3 -exec amarok -e {} \;

Ну да я на всякий заключил. А команда Exec это обычная bash-команда.
Сохраняете файл и KDE моментально подхватывает ваш скрипт.

Правда есть один большой нюанс - она не работает в окнах с адресом "system:/media/hda5". Т.е. путь должен быть стандартный, типа: "/home/music"

Вот так - эта штуковина добавляет mp3-файлы из нужной папки. Надо еще придумать как приделать остальные типы файлов (ogg, flac). Ну а так суть, думаю - понятна.

Удачи :)

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.