
Надеюсь, кто-нибудь сможет дать несколько советов по использованию Ubuntu и FOSS для удовлетворения некоторых требований, которые я предъявляю к своей домашней сети.
В настоящее время у меня есть сеть, содержащая:
- ноутбук под управлением Windows XP
- настольный компьютер, несколько ноутбуков и нетбук, на всех из которых установлена Ubuntu 10.10 Desktop
- «сервер» (старый Dell Vostro с установленным Ubuntu 10.10 Desktop) с общим ресурсом SMB, содержащим фотографии, музыку и видео
- HP Color LaserJet CP1215, подключенный к серверу и общий доступ через SMB
- iPhone (iOS 3.x)
- HTC Desire (Android 2.2)
- стереосистема, подключенная к линейному выходу на сервере
Нет никаких кабелей локальной сети; все устройства, включая сервер, подключены к WiFi, поэтому я использую Desktop на сервере, поскольку мне было проще настроить беспроводную сеть таким образом.
Мне бы хотелось иметь возможность:
- Синхронизировать музыку на всех системах, кроме телефонов, тем самым распространяя любые изменения в одной системе на все остальные системы. Это позволит мне брать музыку с собой вдали от дома, загружать музыку на телефоны и другие MP3-плееры и управлять своей библиотекой с любого устройства.
- Оставьте видео на сервере и транслируйте видео с сервера на любую ОС (iOS, Android, Ubuntu, Windows) в сети.
- Видеоролики должны быть доступны через общий ресурс SMB, чтобы я мог вручную копировать отдельные видео в любую систему, если мне это понадобится (например, если я захочу посмотреть фильм в поезде).
- Подключил стереосистему к серверу и воспроизводил на ней музыку, управляя воспроизведением с любого другого компьютера в сети.
- Легкое резервное копирование содержимого сервера на внешний жесткий диск (USB 2.0, вздох)
- Печать с любого устройства в сети
Может ли кто-нибудь порекомендовать хороший подход и программное обеспечение для его достижения?
Один из подходов, который я рассматривал, состоял в том, чтобы настроить задания cron на всех машинах (включая XP box любезно предоставленный Cygwin), чтобы поддерживать синхронизацию между музыкальными библиотеками на всех машинах с помощью rsync. Резервное копирование может происходить таким же образом. Я предполагаю, что у меня могут возникнуть проблемы с конфликтами при таком подходе.
Печать можно легко сделать с помощью samba, как и обмен файлами для видео. Это то, что я сейчас делаю :-)
Я вообще не уверен, что использовать для потоковой передачи медиа с сервера, то же самое для удаленного управления воспроизведением музыки на сервере. Если бы это было только со мной, я бы использовал ssh и rhythmbox-client для последнего, но мне бы хотелось чего-то более дружелюбного для семьи и гостей :-)
Если кто-то может предложить пакет или ряд пакетов, которые позволят мне удовлетворить мои требования, не создавая все с нуля (я умею писать код, но у меня мало времени), это было бы очень полезно.
решение1
Для музыки используйте mpd (http://mpd.wikia.com/). Он очень стильный и имеет клиенты для всех видов устройств, даже для телефонов Android.
Для потокового видео используйте VLC (http://www.videolan.org/). Хотя я не уверен, насколько легко это настроить.
Вам действительно нужна синхронизация музыки? Я использую Samba и NFS для обмена своим центральным репозиторием MP3 между машинами. Если вы хотите синхронизироваться, назначьте один компьютер главным (вероятно, сервер) и выполняйте всю синхронизацию с ним. Я бы лично сделал синхронизацию с сервером ручной. Сделайте обновление, скажем, на ноутбуке, затем запустите скрипт «push changes» с помощью значка. Сохраните задание cron rsync для извлечения обновлений с сервера.
Если вы делаете обновления слишком часто и это не так просто, используйте Unison (http://www.cis.upenn.edu/~bcpierce/unison/) вместо.
Для резервного копирования используйте rsnapshot (http://rsnapshot.org/). Запустите его из задания cron, но сначала проверьте, смонтирован ли диск, и если нет, отправьте скрипту сообщение по электронной почте.
Все они доступны в репозиториях Ubuntu.