Mar 29 2009

Spotify – альтернатива last.fm

Spotify Думаю, все слышали новость о том, что интернет-радио на last.fm скоро станет платным? Вот решил попробовать альтернативу, предложенную пользователями одного уютного бложека и поделиться с вами результатами моих опытов.

Вкратце о проекте.
Spotify – это довольно молодой музыкальный сервис, позволяющий слушать музыку в режиме он-лайн, используя p2p-технологию (принцип работы торрент-сетей: вы не только качаете музыку, но и отдаёте её другим) . После получения доступа к сервису пользователям нужно будет скачать и установить небольшое приложение, которое позволит прослушивать и обмениваться музыкой. Коллекция постоянно пополняется и на данный момент содержит более 10 млн. песен.  Есть также поддержка скробблинга в аккаунт last.fm.

Бесплатно сервис доступен пока только для нескольких стран (России в их числе, увы нет). Поэтому воспользуемся прокси-сервером и пусть думают, что мы англичане. Идём по этой ссылке и регистрируемся. Почтовые индексы Англии выбираем здесь. Далле вам будет предложено скачать саму программу. Есть версия для Win, MacOS, в Linux работает через wine. Качаем, ставим, вводим логин/пароль, улыбаемся и машем.

О самой программе
Внешне она напоминает iTunes. В вашем распоряжении умный поиск, удобное радио по исполнителям и жанрам, плейлисты, дискографии, рекомендации на основе прослушанных треков, рейтинги и т. п.

Вот несколько скриншотов (кликабельно):

Поиск в Spotify Spotify радио Spotify - информация об исполнителе Spotify - история исполнителя Spotify - радио исполнителя Spotify - главное окно приложения

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

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

UPD 26.04.09: Ввиду того, что старая ссылка на регистрацию перестала работать, регстрируемся через другой анонимайзер! Ссылка тут (в посте тоже обновил).

  • Share/Bookmark

Sep 30 2008

Установка Maple 12 во FreeBSD

Да! Я-таки поставил эту чудо-программу на свою систему :)

Установка оказалась не такой уж сложной, но небольшие проблемы всё же были.

Первым делом идём на официальный сайт продукта, покупаем лицензию (да-да :) ) и берём дистрибутив для ОС Linux.

Далее нам необходимо “обмануть” инсталлятор, дабы он думал, что программа будет устанавливаться на Linux-систему и создать все необходимые условия для бинарной совместимости с пингвином. Для этого:

Проверяем, установлен ли в системе linux_base:

# pkg_info | grep linux_base
linux_base-fc-4_13 Base set of packages needed in Linux mode (for i386/amd64)

Если нет, то устанавливаем и настраиваем его:

# cd /usr/ports/emulators/linux_base-fc4
# make install clean
# echo “linux_load=YES” >> /etc/rc.conf
# kldload linux.ko

Далее сэмулируем и подключим каталог /proc для пингвина:

# echo “linprocfs /compat/linux/proc linprocfs rw 0 0″ >> /etc/fstab
# kldload linprocfs
# mount /compat/linux/proc

Всё, теперь FreeBSD будет понимать линуксовые пакеты. Перейдём непосредственно к установке Maple.

Идём в каталог с дистрибутивом, запускаем скрипт установки в режиме бинарной совместимости с linux:

# /compat/linux/bin/sh Maple12Linux32Installer.bin

Здесь у меня была проблема нехватки места в каталоге /tmp, поэтому я его временно изменил:

# IATEMPDIR=/home/rainer/temp
# export IATEMPDIR

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

Далее запустится графический инсталлятор, в котором указываем установочный путь. Я выбрал /usr/local/maple.

Завершаем установку, копируем лицензию (license.bat) в /usr/local/maple/license и запускаем программу:

% /compat/linux/bin/sh /usr/local/maple/bin/xmaple

Работает? А куда она денется! ;)

P.S.: Теперь осталось портировать сюда мой курсач по ТОЭ из виндового маткада :-D

  • Share/Bookmark

Aug 26 2008

Настройка ftpd

Этот пост пишу потому, что в интернете не нашел нормальной статьи по настройке встроенного во FreeBSD ftp-сервера: кругом сплошные сслыки на “man ftpd”. Интак, мне необходимо поднять ftp с ограниченным доступом по логину/паролю к отдельным папкам для каждого пользователя. Для этих целей ftpd будет выше крыши.

1. В файл /etc/rc.conf добавляем строчки:

ftpd_enable=”YES”
ftpd_flags=”" # здесь прописываем нужные флаги. Их описание я привёл ниже.

Доступные флаги:
-D: запускать ftpd в режиме демона.
-a <адрес>: в режиме демона принимать соединения только на указанный IP-адрес.
-d: включить режим отладки (подробная информация о работе будет выдаваться серверу syslog как LOG_FTP).
-h: не выводить информацию о системе в сообщениях сервера.
-l: протоколировать все сессии (обычно используется/var/log/xferlog).
-A: разрешить только анонимный доступ.
-M: запретить анонимным пользователям создавать папки.
-m: разрешить анонимным пользователям модифицировать существующие файлы (если для этого достаточно системных прав).
-o, -O: разрешить только запись на сервер всем пользователям (-o) или только анонимному пользователю (-O). В частности, таким образом можно организовать сбор с удаленных серверов файлов резервных копий, чтение которых пользователями не предусмотрено.
-r: перевести сервер в режим «только для чтения». Любая модификация размещенных данных будет запрещена.

2. Создаем учётные записи пользователей (например, с помощью adduser), которым будут разрешен доступ к серверу, после чего убеждаемся в том, что их имена не упоминаются в файле /etc/ftpuser (пользователям, упомянутым в этом файле, доступ к ftp будет запрещён).
Для анонимного доступа к серверу необходимо создать учётную запись с именем “ftp”. Корневым каталогом и будет его домашняя папка.

3. Создаем файл /etc/ftpchroot и заполняем его по такому шаблону:

<имя пользователя> <путь к папке>
<@ имя группы> # это для того, чтобы все пользователи данной группы были ограничены одной папкой (можно не указывать).

Пример:

test /home/test
@ wheel

4. Устанавливаем нужные права на папку /home/test (то, что мы хотим разрешить/запретить пользователю test).

5. При необходимости редактируем:
/etc/ftphosts – настройка виртуальных хостов
/etc/ftpwelcome – приветственное сообщение
/etc/ftpmotd – приветственное сообщение, выводимое при входе на сервер

6. Определяемся, как мы будем запускать сервер – через inetd, или же как standalone.
В первом случае в файле /etc/inetd.conf раскоментируем строчку

ftp stream tcp nowait root usr/liexec/ftpd ftpd -l

Во втором случае для запуска используем скрипт /etc/rc.d/ftpd:

# /etc/rc.d/ftpd start

Если его в системе нет (старые версии FreeBSD), создаём вручную:

#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/ftpd,v 1.1 2006/01/21 18:08:15 yar Exp $
#

# PROVIDE: ftpd
# REQUIRE: LOGIN cleanvar

. /etc/rc.subr

name=”ftpd”
rcvar=`set_rcvar`
command=”/usr/libexec/${name}”
pidfile=”/var/run/${name}.pid”
start_precmd=ftpd_prestart

ftpd_prestart()
{
rc_flags=”-D ${rc_flags}”
return 0
}

load_rc_config $name
run_rc_command “$1″

Вот и всё :) Заходим на свой сервер и радуемся жизни ;)

  • Share/Bookmark

Aug 26 2008

Первоначальная настройка FreeBSD

В последнее время приходилось частенько ставить и настраивать эту ОС. Кое-что забывается, поэтому решил написать краткий мануал для быстрого освежения памяти :) . Описаний типа “почему именно так, а не так, что это такое и зачем оно здесь нужно” не привожу. Для этого есть handbook. Да, в интернете много подобных статей, но ни одна не помогла мне на 100%. Цель данного поста – описать первоначальную рабочую конфигурацию FreeBSD 7.0, которая проверена на моём железе. Итак, начнём.

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

1) В файл /etc/profile добавляем строчки:

LANG=ru_RU.KOI8-R; export LANG
MM_CHARSET=KOI8-R; export MM_CHARSET

2) /etc/rc.conf:

font8×14=”cp866-8×14″
font8×16=”cp866b-8×16″
font8×8=”cp866-8×8″
keychange=”61 ^[[K"
keymap="ru.koi8-r.win"
scrnmap="koi8-r2cp866"

3) В /etc/ttys меняем все значения cons25 на cons25r.

4) Редактируем /etc/passwd. Находим строчки нужных пользователей:

root:пыщьпыщьпыщь:0:0::0:0:Vladimir &:/root:/usr/local/bin/zsh

Добавляем к каждому нужному юзеру между двумя двоеточиями слово "russian":

root:пыщьпыщьпыщь:0:0:russian:0:0:Vladimir &:/root:/usr/local/bin/zsh

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

Настройка Xorg:

Для создания пробного конфигурационного файла выполняем:

# Xorg -configure

Копируем полученный  конфиг /root/xorg.conf.new в /etc/X11/xorg.conf и редактируем его.

Настройка мыши

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/sysmouse"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

В моём случае мы имеем дело с ноутбуком, поэтому необходимо настроить ещё и тачпад (если у вас его нет, переходим к следующему пункту). Редактируем секцию "ServerLayout":

Section "ServerLayout"
  ...
    InputDevice    "Touchpad" "CorePointer"
    InputDevice    "Mouse0" "SendCoreEvents"
  ...
EndSection

И добавляем секцию тачпада:

Section "InputDevice"
    Identifier      "Touchpad"
    Driver          "mouse"
    Option         "Device" "/dev/psm0"
    Option         "Protocol" "PS/2"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection

Также можно использовать драйвер "synaptics", но в моём случае он не поддерживается.

Настройка клавиатуры

У меня возникали проблемы с этой секцией в различных версиях XOrg. Вот мои текущие рабочие настройки:

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us,ru"
    Option "XkbVariant" ",winkeys"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" # переключение между языками (в данном случае Alt+Shift,
            #индикатор смены языка - лампочка Scroll Lock)
EndSection

Итого, в графической оболочке мы имеем рабочую win-клавиатуру с правильной раскладкой русских символов.

Настройка видеокарты:

Ниже описана настройка карточки nvidia, дрова для которой можно взять из портов:

# cd /usr/ports/x11/nvidia-driver/
# make install clean

Я конфигурировал, исопльзуя лишь одну опцию "LINUX". "FREEBSD_AGP" не выбираем, т.к. с ней видео не работает должным образом (по крайней мере, у меня).

Жмём "OK", ждём, пока драйвер скомпиллируется и поставится.

Если при установке не возникло проблем - возвращаемся к редактированию /etc/X11/xorg.conf. Правим секцию "Device" для видеокарты:

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    VendorName  "nVidia Corporation"
    BoardName   "NV43 [GeForce Go 6200/6400]”
    BusID       “PCI:1:0:0″
    Option      “NoLogo” “true”
    Option      “RenderAccel” “true”
EndSection

При желании включаем дополнительные опции, о которых можно почитать на официальном сайте NVIDIA.

В файл /boot/loader.conf добавляем две строчки:

linux_load=”YES”
nvidia_load=”YES”

Далее необходима перезагрузка, но мы это сделаем позже, после настройки звуковой карты.

Настройка звука

У меня интеловская звуковая карта “High Definition Audio”. Для неё, начиная с седьмой версии фри, есть свой модуль ядра (snd_hda.ko). Убедимся в его наличии:

# ls -la /boot/kernel/snd_hda.ko
-r-xr-xr-x  1 root  wheel  83714 24 фев  2008 /boot/kernel/snd_hda.ko*

Посмотреть все доступные модули можно так:

ls -la /boot/kernel/snd_*

Выбираем нужный нам и подключаем его:

# kldload snd_hda

Теперь должен появиться звук. Для того, чтобы при загрузке системы модуль подключался автоматически, в файл /boot/loader.conf добавляем строку

snd_hda_load=”YES”

Перезагружаемся. Теперь в системе должна быть поддержка клавиатуры, мыши, видео и звука. А что ещё для счастья надо? :)

  • Share/Bookmark