Ключевые слова:freebsd, multimedia, sound, video, mozilla, make_world, cvsup, (найти похожие документы)
From: romanus (Roman Ignatov)
Newsgroups: email
Date: Mon, 10 May 2004 14:31:37 +0000 (UTC)
Subject: Превращение FreeBSD в Мультимедийную Рабочую Станцию
Превращение FreeBSD в Мультимедийную Рабочую Станцию
Перевод: romanus (Roman Ignatov) 27/04/2004
Автор: Dru Lavigne
Оригинальная статья: Turn FreeBSD into a Multimedia Workstation (09/05/2002)
http://www.onlamp.com/pub/a/bsd/2002/09/05/FreeBSD_Basics.html?page=1
Недавно я приобрел шикарный новый компьютер и решил превратить его в
мультимедийную рабочую станцию. Я потратил довольно много времени
роясь в Сети; За это время я всё глубже погружался в мир Flash, DVD, и
mp3.
FreeBSD имеет репутацию плохого выбора для десктопа. Складывается
впечатление, что это хороший монолитный, неприступный сервер, но
уровень вашего мастерства должен быть фантастическим чтобы, например,
заработала звуковая карта или Java. Ерунда. Естественно, вам
потребуется время для сборки и конфигурирования компонентов которые
вам нужны, но это и есть прелесть FreeBSD. Ни одна компания не будет
заниматься настройкой вашей рабочей станции, поэтому вы имеете
удовольствие обустроить свою систему по-своему. Не стоит упоминать
буквально сотни доступных мультимедийных приложений, некоторые из
которых могут пристыдить даже их коммерческие аналоги.
В этой статья я буду обращать особое внимание на установку, интеграцию
Java и Flash, также на мультимедиа в броузере. Материал я буду
излагать медленно, систематически, последовательно, небольшими
порциями чтобы вам было интересно.
Будучи параноиком, мне больше нравиться инсталлировать систему с CD,
загружаться в зафаерволенную систему, потом CVSup чтоб получить
последние версии исходников. Перед началом инсталляции я всегда
копирую следующие файлы на дискетку: ~/.cshrc; /etc/ipfw.rules;
/etc/rc.conf; конфиг для cvsup , конфиг для refuse, и /etc/make.conf
Потом я начинаю инсталляцию с CD и выбираю для установки всё, включая
коллекцию портов. После того как программы раздела bin установлены я
жму Alt-F4, теперь у меня есть консоль. Монтирую флоппи диск и копирую
первых три файла:
mkdir /floppy
mount -t msdos /dev/fd0 /floppy
cd
cp /floppy/.cshrc .
source .cshrc (теперь у консоли есть привычный вид приглашения)
cp /floppy/.cshrc /usr/share/skel/dot.cshrc (теперь и у всех
пользователей такой же вид)
cp /floppy/ipfw.rules /etc/
cp /floppy/rc.conf /etc/
umount /floppy
Обычно, через время как я отмонтировал флоппи, инсталляция также
завершается и спрашивает меня о пост инсталляционной настройке. Потом
я перезагружаю компьютер и наблюдаю за сообщениями чтоб
удостовериться, что мои правила для фаервола загружены успешно.
Теперь, когда я защищен фаерволом, я настраиваю интернет и загружаю
последние доступные исходники и обновляю коллекцию портов. Первым
делом устанавливаю утилиту cvsup-without-gui:
su
Password:
cd /usr/ports/net/cvsup-without-gui
make install clean
Как только закончилась компиляция, я снова монтирую флоппи и копирую
остальные файлы:
mount -t msdos /dev/fd0 /floppy
cp /floppy/cvs-supfile ~
cp /floppy/make.conf /etc/
cd /usr/local/etc
mkdir cvsup
cd cvsup
mkdir sup
cd sup
cp /floppy/refuse .
umount /floppy
Если до этого вы никогда не использовали CVSup, вам следует почитать
раздел CVSup handbook для начала.
Я был одновременно и напуган и заинтригован, когда впервые
познакомился с понятием CVSup. Сейчас я не могу без этого жить, я знаю
что моя операционная система полностью соответствует последней
существующей версии, учитывая функциональность и безопасность, и что
все инсталлированные у меня приложения самые последние и самые лучшие.
Руководство покажет вам как модифицировать необходимые файлы используя
CVSup; мой файл конфигурации выглядит так:
more /root/cvs-supfile
*default host=cvsup.ca.freebsd.org
*default base=/usr/local/etc/cvsup
*default prefix=/usr
*default tag=RELENG_4_6_2_RELEASE
*default release=cvs delete use-rel-suffix compress
src-all
ports-all tag=.
doc-all tag=.
more /usr/local/etc/cvsup/sup/refuse
doc/es*
doc/fr*
doc/ja*
doc/ru*
doc/zh*
ports/biology
ports/chinese
ports/french
ports/german
ports/hebrew
ports/japanese
ports/korean
ports/russian
ports/ukranian
ports/vietnamese
more /etc/make.conf
# $FreeBSD: src/etc/defaults/make.conf,v 1.97.2.67
# 2002/06/02 16:07:01 matusita Exp $
#
CFLAGS= -O -pipe
#
# To avoid building various parts of the base system:
NO_BIND= true # do not build BIND
NO_FORTRAN= true # do not build g77 and related libraries
NO_I4B= true # do not build isdn4bsd package
NO_LPR= true # do not build lpr and related programs
NOPROFILE= true # Avoid compiling profiled libraries
NOUUCP= true # do not build uucp related programs
DOC_LANG= en_US.ISO8859-1
Как только вы создадите собственный модернизированный файл, запустите
CVSup примерно так:
cvsup -g -L 2 ~/cvs-supfile
Утилита CVSup сделает свое дело и выведет резултат на экран. При
первом запуске этой программы вы загрузите множество изменений в ваш
src; это также означает что вы также сможете заново собрать свою
систему. (Чем вы занимались в субботу? Ох, ничем особенно, просто
пересобирал систему....) Вам нет нужды пересобирать систему каждый раз
как вы делаете CVSup, только когда есть изменения в src. Обновите вашу
систему до текущей версии, изменения в src происходят редко; обычно
это происходит только когда исправляют уязвимость. В руководстве
пользователя есть инструкция как автоматизировать утилиту CVSup; Я
предпочитаю это делать вручную, так я могу видеть какие изменения
произошли.
Утилита CVSup также загрузит все изменения в коллекции портов.
Изменения в портах происходят каждый день, поэтому я предпочитаю
делать CVSup каждый день, так у меня всегда есть свежая коллекция
портов. Потом я использую утилиту portupgrade, которую можно найти в
разделе sysutils коллекции портов, чтобы иметь свежие версии
установленных программ. Michael Lucas написал отличную статью на тему
использования утилиты portupgrade, которая поможет вам
начать.(http://www.onlamp.com/pub/a/bsd/2001/11/29/Big_Scary_Daemons.html)
Поскольку у меня новая система, я пересоберу ядро как только закончит
работать CVSup. И ещё раз, если вы никогда не пересобирали ядро,
внимательно прочитайте соответствующую секцию в руководстве
пользователя.
Так как это свежая инсталляция, у меня нет никаких данных для
резервного копирования, когда мне нужно пересобрать ядро на рабочей
системе, я обязательно трачу время для создания резервной копии
домашнего каталога и /etc.
cd /etc
tar czvf /dev/fd0 .
tar czvf etc.tar .
Я проявляю особую осторожность с каталогом /etc и сохраняю его в двух
местах - на флоппи и в файле на диске. Потом я отправляю этот
резервный архив себе на почту на случай чего-то совершенно ужасного.
Потом я с меньшей прилежностью занимаюсь домашним каталогом, так-как
там нет особо ценных данных. В частности мои закладки. Я всегда
отправляю по почте себе копию своих интернет-закладок. Если вы
дорожите какими то данными, отправьте их себе на почту.
Когда вы первый раз пересобираете ядро системы следуйте инструкциям в
руководстве пользователя. Также используйте generic kernel; подождите
пересобирать ядро пока не модернизируете ваш kernel. На только что
установленной системе я перехожу в однопользовательский режим, что
значит что я не смогу работать на компьютере следующих несколько часов
пока не пересоберется ядро.
shutdown now
cd /usr/src (уже в однопользовательском режиме)
make -j4 buildworld (этот шаг позволяет сократить время пересборки;
примерно 2 часа на новой системемашина: P3 320 MB RAM)
make buildkernel
make installkernel
make installworld
shutdown -r now
Как только моя система перезагрузится:, я имею последнюю версию
системы, это значит что я могу начать установку моих любимых
приложений. Начну я с последней версии XFree86, так как множество
мультимедийных приложений его используют. Я нашел легчайший путь
инсталляции, загрузить непосредственно исходники и запустить
сборочно-установочный скрипт. Поскольку у меня не установлено пока
никаких приложений, я загружаю эти файлы исходников старым проверенным
способом. Но сперва я создаю каталог для хранения файлов и перехожу в
этот каталог перед запуском ftp:
mkdir /usr/XFree86-4
cd /usr/XFree86-4
ftp ftp.xfree86.org
Connected to ftp.xfree86.org.
220 ftp.xfree86.org FTP server (Version wu-2.6.1(1) Wed Dec 5 13:09:53 EST 2001) ready.
Name (ftp.xfree86.org:genisis): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password: [email protected]
ftp> cd pub
ftp> cd XFree86
ftp> cd 4.3.0
ftp> cd binaries
ftp> cd FreeBSD-4.x
ftp> get Xinstall.sh
ftp> get extract
ftp> get Xbin.tgz
ftp> get Xlib.tgz
ftp> get Xman.tgz
ftp> get Xdoc.tgz
ftp> get Xfnts.tgz
ftp> get Xfenc.tgz
ftp> get Xetc.tgz
ftp> get Xvar.tgz
ftp> get Xxserv.tgz
ftp> get Xmod.tgz
ftp> bye
Теперь просто запускаем скрипт:
sh Xinstall.sh
и отвечаем на его вопросы. (Жмем enter для ответа по умолчанию, если
вы не знаете правильного ответа)
Как только это закончится, я начинаю собирать мой любимый windows
manager. На сегодня это KDE, который очень, очень долго компилируется;
возможно следует начинать компиляцию перед тем как ложиться спать, с
надеждой, что компиляция закончится к тому времени как вы проснетесь
утром. Итак в одном терминале я начинаю сборку KDE:
cd /usr/ports/x11/kde3
make install clean
Во втором терминале я устанавливаю библиотеки XFree86-4, которые
понадобятся многим приложениям.
cd /usr/ports/x11/XFree86-4-libraries
make install clean
А в третьем терминале я конфигурирую XFree86 Server. Это первый раз
когда мне приходится конфигурировать систему с поддержкой USB мыши; на
протяжении установки я отвечаю yes, когда спрашивается есть ли у меня
USB-мышь. Теперь я перепроверю есть ли соответствующая строка в
/etc/rc.conf:
usbd_enable="YES"
moused_flags="/dev/ums0"
usbd_flags="-vv"
Перед тем как вы сами будете настраивать свой XFree86 Server,
убедитесь что у вас есть в распоряжении следующая информация:
* Производитель и модель вашей видеокарты.
* Количество памяти в вашей видеокарте.
* Тип вашей мыши и номер СОМ порта если у вас параллельная мышь
Потом:
/stand/sysinstall
Configure
XFree86
XF86Setup
Если вам подсказывают настроить вашу мышь, сделайте это, и
протестируйте работает ли она корректно. Потом вам предоставляется
возможность выбрать свою видеокарту и указать желаемые параметры.
Будем надеяться что вы всё сделаете быстро и правильно.
Как только я запустил XFree86 Server, я покинул superuser account и
создал файл .xinitrc в своем домашнем каталоге и добавил в него
следующую строчку:
exec startkde
После того как KDE собрался и установился я набрал в консоли startx
для запуска KDE desktop.
Дошло дело до браузера. Меня полностью удовлетворяет Mozilla; хотя
этот браузер и имеет определенные глюки, но тем не менее он быстр,
хорошо настраивается, поддерживает плагины и скины.
cd /usr/ports/www/mozilla
make install clean
Далее я сделал отдельно ядро с поддержкой Java и sound:
cd /usr/src/sys/i386/conf
cp GENERIC MULTIMEDIA
Я добавил следующие строки в файл MULTIMEDIA:
options USER_LDT #used by java
options CPU_ENABLE_SSE #used by DVD
device pcm #builds PCI soundblaster support
У меня никогда не было проблем с SoundBlaster PCI 128; это звуковая
карта по разумной цене, которая требует только одну строку в
конфигурационном файле ядра для нормальной работы.
После того как я сохранил изменения в файле MULTIMEDIA:
cd /usr/src
make buildkernel KERNCONF=MULTIMEDIA
make installkernel KERNCONF=MULTIMEDIA
Как только kernel установился и я убедился что работа на всех
остальных терминалах завершена:
reboot
Теперь я использую Mozilla чтобы загрузить файл, необходимый для
поддержки Java:
http://java.sun.com/j2se/1.3/download.html
* Кликаем на "Linux GNUZIP Tar shell script."
* Соглашаемся с лицензионным соглашением.
* Сохраняем в /usr/ports/distfiles/j2sdk-1_3_1_04-linux-i586.bin.
http://wwws.sun.com/software/java2/download.html
* Выбираем для загрузки JavaTM 2 SDK 1.3.1 (требуется бесплатная
регистрация).
* Сохраняем в /usr/ports/distfiles/j2sdk-1_3_1-src.tar.gz.
http://www.eyesbeyond.com/freebsddom/java/jdk13.html
* Кликаем на "Download the latest BSD JDK 1.3.1 patchset."
* Соглашаемся с загрузкой Patchset7.
* Сохраняем в /usr/ports/distfiles/bsd-jdk131-patches-7.tar.gz.
cd /usr/ports/java/linux-sun-jdk13
make install clean
cd /usr/ports/java/jdk13
make install clean
Чтобы убедится что установка успешна, перезагрузите Mozilla, откройте
Help -> About Plug-ins. Вы должны увидеть в списке Java plugins.
Короткий поход на javaboutique.internet.com должен доказать что Java
установилась и работает.
Дальше в очереди потоковое мультимедиа:
cd /usr/ports/www/plugger
make install clean
Этот порт устанавливает поддержку mpeg, avi, quicktime, midi и pdf. Вы
можете видеть полный список если снова выполните Help -> About
Plug-ins. Можете протестировать все плугины на сайте
http://www.hubbe.net/~hubbe/plugger/test.html
И наконец флешплугин:
cd /usr/ports/www/flashplugin-mozilla
make install clean
Перед установкой этого плугина настройтесь на то что Flash это
зарегистрированная торговая марка, разработанна специально для Windows
PC и Macintosh. Поэтому версия GPL не поддерживает всей
функциональности Flash. Это означает что некоторые сайты с
использованием технологии Flash будут работать, некоторые будут
зависать, а некоторые могут привести к краху вашего браузера.
>Как показало следствие, Дрю Лавинь принадлежит к прекрасной половине человечества.
>
Мда, времени на исследование этого вопроса у меня небыло.... виноват :)
>А перевод этой статьи (Станислава Лапшанского) был на Софтерре года два назад.
>
К сожалению Софтверру не читаю (один раз как-то держал в руках). наверное сэкономил бы себе пару дней. пока сам переводил
---------
Знание - свет, а незнание - чуть свет и на работу :)
не удивительно, человеческое сознание имеет коллективную природу, если вам к примеру приходит гениальная мысль, то в этот же самый момент времени она приходит ещё к паре-тройке сотен людей на планете, ну или уже приходила...