Digital Artcore
Поиск по сайту
сейчас слушаю
I Suppose
Enchanted Duo, Marco Minnemann
Werifesteria
2 days ago
Dive
Enchanted Duo, Marco Minnemann, Mohini Dey
Werifesteria
2 days ago
Unguarded
Enchanted Duo, Marco Minnemann, Mohini Dey, Milana Zilnik
Werifesteria
2 days ago
Gotta Surrender to the Way Things Are
Enchanted Duo
Werifesteria
2 days ago
Snjall Jungfrú
Enchanted Duo, Marco Minnemann, Ivan Churkin, Mohini Dey
Werifesteria
2 days ago

Музыкальный сервер

Установка и настройка операционной системы

Так как в качестве системного диска использовался SSD, пришлось погуглить и подумать, как использовать преимущества этой технологии, и при этом не загубить сам диск банальным незнанием особенностей работы SSD. В результате все сделал по вот этому руководству.

Если вкратце — было создано три партиции (root, var и usr), при создании выравнивал их по секторам и включал поддержку TRIM.

После этого, уже на простом и медленном диске был создан swap файл, а для самых востребованных директорий, куда система постоянно пишет логи или создает временные файлы были прописаны виртуальные партиции, которые система создает в памяти каждый раз при загрузке и благополучно прощается с ними при выключении. Вот как эта часть системы выглядит в файле /etc/fstab:

tmpfs /tmp tmpfs rw,nosuid,noexec,mode=01777 0 0
tmpfs /var/run tmpfs rw,nosuid,noexec,mode=01777 0 0
tmpfs /var/spool tmpfs rw,nosuid,noexec,mode=01777 0 0
tmpfs /var/log tmpfs rw,nosuid,noexec,mode=01777 0 0

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

Для нормальной работы нужен только порт musicpd из /usr/ports/audio. Он сам установит нужные библиотеки, очень советую при конфигурации включить поддержку ffmpeg, тогда список поддерживаемых форматов резко увеличиться. У меня примерно 95% музыки в формате FLAC, тем не менее поддержка других lossless форматов греет душу.

Кроме того были установлены:

  • Midnight Commander: удобно работать с файлами и править конфиги
  • TinyHTTPD: для того, чтобы можно было локально вытаскивать обложки дисков
  • ncmpc и ncmpcpp: два очень удобных консольных клиента для управления MusicPD

Маленький хак: так как мой вебсервер имеет поступ на чтение к музыкальной библиотеке, потеницально через него можно скачать мою музыку, чего я очень не хотел. Если бы в качестве сервера использовался Apache, защитить музыку и разрешить скачивание только JPG файлов не составило бы особого труда. Однако TinyHTTPD не может похвастаться богатством настроек, но решение все таки есть, вот такая строка в настройках thttpd.conf:

urlpat=**.flac|**.ape|**.mp3|**.wav|**.dsf

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

Одной из проблем, с которой я столкнулся, была поддержка кодировки UTF8 в FreeBSD. Русские буквы отказывались правильно отображаться, почитав советы, все решил. Правда оказалось, что для счастья мне не надо было выполнять все шаги, если нужно просто работать с русскими именами файлов и видеть русские тэги в консольных программах управления, то достаточно создать файл .login_conf в своей домашней директории с таким содержимым:

me:\
:charset=UTF-8:\
:lang=en_US.UTF-8:\
:setenv=LC_COLLATE=C:

При удаленном подключении по SSH (а у меня на этом компьютере ни монитора, ни клавиатуры нет) русские буквы начинают работать сразу после создания новой сессии.

Мощности у моего процессора намного больше, чем нужно почти во всех случаях, поэтому был установлен сервис управления частотой процессора и энергопотреблением powerd с адаптивным режимом работы, прописываем в rc.conf:


powerd_enable="YES"
powerd_flags="-a adaptive -n adaptive"

Это совершенно не повлияло на звук, по крайней мере я этого не заметил, а температура процессора упала примерно на 7 градусов.

Страницы: 1 2 3 4 5 6 7 8 9 10 11

2 комментария
Бюджетный музыкальный сервер | Digital Artcore says:

[…] года назад я опубликовал подробное описание устройства, собранного для прослушивания музыки. […]

Мельница “Химера” | Digital Artcore says:

[…] Раньше я обязательно купил бы диск и радовался хорошей музыке, но дисков стало столько, что ставить некуда, да и слушаю музыку последнюю пару лет только с музыкального сервера. […]

Top! © Digital Artcore. All rights reserved.
Social Links:
FACEBOOK
TWITTER
[extraWatchAgent]