Linux mini-HOWTO

         

Архивирование других видов файлов при помощи Gzip


Есть множество других файлов, которые можно заархивировать раз и на всегда. Начнем с /usr/doc/; перейдите в этот каталог и наберите команду

machine:/usr/doc# find . -type f -exec gzip -9 {} \; 2> /dev/null

Помните, что надо архивировать документацию всякий раз, когда вы устанавливаете новую программу!

Повторите эти действия в каталогах, содержащих документацию по TeX (на моей машине, /usr/lib/texmf/texmf/doc/. Если вы действительно уверены в своих действиях, то вы просто можете удалить все эти каталоги.

Теперь установите zlibc и откомпилируйте ее. Если у вас такая же система, как и у меня, то процесс компиляции не завершится со ссылкой на отсутствие (статической версии) libc. Не обращайте на это внимания, вы найдете файл под названием uncompress.o Это то, что нам надо. Переместите его в /usr/local/lib/ и добавьте следующую строку в ваш /etc/profile:

export LD_ELF_PRELOAD=/usr/local/lib/uncompress.o

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



Мини-HOWTO: Экономия дискового пространства


Guido Gonzato
guido@ibogeo.df.unibo.it
Перевод: Михаил Корепанов, ASPLinux

В этом документе содержатся советы по минимизации дискового пространства, занимаемого Linux при инсталляции. В основном это необходимо пользователям ноутбуков.



Пример из моей практики


Это то, что получилось после применения описанной процедуры на одной из машин. До процедуры, df сообщил, что я использую 398,798 блоков по 1024 байт:

Я не удалил исходные тексты ядра и его заголовки;

Я затер несколько приложений и все игры, но оставил X11, пакет для разработки программ под X11, пакеты для C и Fortran, Tcl/Tk, сетевые утилиты, и еще несколько стандартных приложений. После этого df сообщил, что я использую 244,668 блоков;

Я поработал upx в /usr/bin, /usr/X11R6/bin, /usr/lib/texmf/bin/i586-linux, и /usr/lib/gcc-lib/i386-linux/2.7.2.1. осталось 226,270 блоков;



Я сжал документацию в /usr/doc и /usr/lib/texmf/texmf/doc: использовалось 198,745 блоков.

Если посмотреть на результаты, то я начал с 398,798 блоками, а закончил с 198,745. Помечтайте, сколько всего вы можете разместить в этих 200,000 пустых блоках! Я бы освободил еще больше места, если бы использовал bzip2, вместо gzip.

В заключении, можно сказать, что если вы с самого начала будете аккуратны и будете устанавливать только нужные программы, архивировать исполнительные программы и документацию, то высвободите около 20 Мб. На ноутбуке это может быть жизненно необходимо.



Сжатие при помощи upx


Сначала, установите upx и прочтите документацию к нему. Затем перейдите в /usr/bin и запустите там команду upx *; он закомпрессирует все исполняемые файлы, включая и те, у которых установлен бит suid (tcx этого бы не сделал).Повторите эти действия во всех каталогах, описанных выше.

Помните, что надо архивировать все исполняемые файлы всякий раз, когда вы устанавливаете новую программу!



Требования к программному обеспечению


Вам нужны:

полностью рабочая система Linux (без разницы, какая версия);

общий для всех архиватор gzip, или bzip2, который можно найти по адресу ftp://sunsite.unc.edu:/pub/Linux/utils/compress; эта программа сжимает лучше, чем gzip, но работает медленнее и требует больше памяти;

упаковщик исполняемых файлов upx, домашняя страничка находится на http://cdata.tvnet.hu/~ml/upx.html и http://wildsau.idv.uni-linz.ac.at/mfx/upx.html;

архив библиотеки zlibc можно раздобыть на ftp://sunsite.unc.edu:/pub/Linux/libs/compression. Он называется zlibc-X.X.tar.gz, где X.X номер последней версии.

Есть и другие упаковщики исполняемых файлов. Один из них gzexe (забудьте о нем), другой tcx, который был, пожалуй, лучшим до upx; еще tzx, который теоретически лучше tcx. Но дело в том, что эта программа все перепутала, хотя я не уверен в том. что допустил какую-то ошибку. Вам лучше пользоваться upx: - он более надежен, эффективен и прост.

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



Удаление исходных текстов ядра


Исходные тексты ядра занимают более 20 Мб, и, скорее всего, вы захотите их удалить. Если так, то откомпилируйте новое ядро, которое будет работать с вашей машиной, и освободитесь от исходных текстов.

Я НЕ советую удалять исходные тексты ядра до тех пор, пока вы не удостоверитесь, что система правильно установлена . Кроме того, вам понадобятся #includes ядра для того, чтобы компилировать программы на C. Подумайте дважды... !

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



Удаление приложений


Теперь решите, какие приложения вам на самом деле необходимы. Некоторые могут оказаться излишествами: например, уверены ли вы в том, что вам очень нужен emacs? Вместо него можно использовать jed.

От вас зависит, что оставлять, а что удалять. Несколько основных правил:

gcc - довольно большой файл. Он используется для компиляции ядра и всех пакетов Linux, у которых есть исходные тексты. Разумеется, он вам понадобится, если вы будете писать собственные программы на C или Fortran (с f2c или g77); поэтому определитесь с вашими потребностями, перед тем как удалить его. Другие компиляторы, например lcc, неплохи, но их уровень ниже, чем у gcc. Поэтому я бы оставил этот файл;

X11 еще больше, но это вещь, которую хотелось бы иметь под рукой. Если вы решились его удалить, то не удаляйте все, постарайтесь обойтись необходимым минимумом: нужный Х-сервер, один простенький менеджер окон, единственный xterm, никаких шрифтов на 100 dpi, и т.п.;

TeX и сопутствующие программы занимают большой объем. Уход от LaTeX и переход на чистый TeX сэкономит много места; это же дает удаление программ предварительного просмотра в X11, таких как xdvi и ghostview, и, возможно, если у вас есть dvitty, dvivga или некоторые им подобные. Если у вас нет необходимости в файлах формата dvi, то, в принципе, вам не нужен X11;

игры никогда не являются "необходимостью".



Удаление вспомогательной информации из программ


Давайте приступим к уменьшению объема программ. Перейдите в /usr/bin и наберите команду



Если не использовать fetchmail


Что делать, если у вас нет возможности/желания использовать fetchmail? Pine, Netscape и некоторые другие клиенты имеют свои встроенные POP-механизмы. Во-первых, я все-таки советую использовать fetchmail! Он значительно более гибок, и многие почтовые клиенты вообще не могут делать то, что может fetchmail. И Pine, и Netscape можно настроить на использование локальной почты.

Но вам придется, если только в ваш клиент не встроена функция, аналогичная preconnect fetchmail-а, поддерживать переназначение портов ssh в течение всего времени подключения. Это означает примерно следующую команду: sleep 100000000 для того, чтобы ssh продолжал поддерживать соединение. С этим, правда, могут не согласиться администраторы вашей сети.

Второй проблемой является то, что в некоторые клиенты (например в Netscape) жестко вписан номер порта 110. Поэтому вам придется быть root-ом, для того чтобы переназначать привилегированные порты. Это, конечно, не совсем правильно. Но должно работать.



Использование ваших почтовых программ


В этом разделе описывается настройка вашего почтового клиента на использование зашифрованного соединения при помощи ssh. В основном мы остановимся на fetchmail (прекрасная утилита приема и передачи почты от ESR), потому что это, пожалуй, самая гибкая почтовая программа, работающая в POP. fetchmail можно найти по адресу http://www.tuxedo.org/~esr/fetchmail/. Вы сделаете очень полезное дело, прочитав великолепную документацию, поставляемую вместе с fetchmail.



Мини-HOWTO: Защита информации в протоколе POP при помощи SSH


Manish Singh
yosh@gimp.org
Перевод: Станислав Рогин, ASPLinux

В этом документе описывается возможность защиты информации в протоколе POP при помощи ssh.



Настройка переназначения портов


Чтобы включить переназначение портов, запустите следующую команду:



Проверка результата


После того как вы полностью определитесь с параметрами команды, запускающей переназначение портов, вы можете ее испытать. Например:

$ ssh -C -f msingh@popserver -L 11110:popserver:110 sleep 1000

popserver - это наш POP-сервер. На моей локальной машине имя пользователя - manish, поэтому я должен отдельно указывать имя msingh, то есть то, которое имею на сервере. (Если ваше локальное имя и имя на сервере совпадают, то часть вида msingh@ необязательна).

Затем эта команда выводит:

msingh@popserver's password:

Я набираю свой пароль для POP (ваши пароли для системы и POP могут различаться, поэтому используйте системный пароль). Теперь у нас все настроено! Испытаем нашу систему:

$ telnet localhost 11110

и мы должны увидеть примерно следующее:

QUALCOMM POP v3.33 ready.

Ура! Все работает! Данные, передаваемые по сети, шифруются, и единственное место, где присутствует нешифрованный текст - это внутри сервера и моей машины.



Способ решения


Решение проблемы основывается на одном из основных свойств ssh: переназначение портов

Существует много различных вариаций на эту тему, зависящих от необходимой вам настройки почты. Все они требуют ssh, который можно найти по адресу http://www.ssh.fi/ и его зеркалах. RPM-вариант находится по адресу ftp://ftp.replay.com/pub/crypto/

, а Debian-пакеты находятся по адресу ftp://non-us.debian.org/debian-non-US/

(и его глубоко уважаемых зеркалах).



Алиасы (aliases)


Файл алиасов содержит локальные имена, которые верны только для внутренней почты. Это применимо для администраторов, например root, который получает автоматически сгенерированные сообщения от вашей системы.

Наиболее удачным началом файла /etc/mail/aliases может быть примерно следующее:

root: fred news: root postmaster: root mail: root www: root

nobody: /dev/null MAILER-DAEMON: nobody

В соответствии с этим, локальная почта для пользователей root, news, postmaster, mail и www

передается пользователю fred, а сообщения для nobody и MAILER-DAEMON

отправляются в /dev/null.

Как и в случае с genericstable, файл aliases может содержать множество строк. Поэтому будет неэффективно sendmail-у использовать текстовый файл, как описано выше. Для файла aliases используется тот же механизм, что и для genericstable - генерируется хешированная база данных. Вместо того, чтобы напрямую запускать makemap, вы можете набрать команду newaliases. Она автоматически позаботится обо всем, что нужно сделать.



Дополнительная информация


В поставку исходных текстов sendmail-а входит документация. Прочитайте ее, особенно файл cf/README.

Если вас заинтересовали опции конфигурации sendmail-а, прочтите книгу "Bat Book" автора O'Reilly: Bryan Costales, Eric Allman, и Neil Rickert: "sendmail". O'Reilly, 1993.



Mini-HOWTO по преобразованию адресов в sendmail


Thomas Roessler
roessler@guug.de


Перевод: Станислав Рогин, ASPLinux

Этот документ вкратце описывает, как настроить конфигурацию sendmail для пользователей, использующих доступ dial-up (по телефонной линии).



Основной файл конфигурации


Sendmail использует очень сложную систему правил для своей конфигурации. Несмотря на то, что с этой системой можно сделать некоторые хитрости, писать файл sendmail.cf с нуля достаточно необычно, и требует больших временных затрат. Если вам интересно все-таки это проделать, вы должны остановить чтение и прочитать вместо этого книгу "Bat Book" автора O'Reilly.

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

Давайте рассмотрим первые строки файла sendmail.mc:



Преобразование адресов


Сначала, необходимо сообщить sendmail-у, что адреса являются локальными (и поэтому должны быть подвергнуты преобразованию). Это очень просто: просто поместите полное (fully qualified) имя вашего хоста в файл /etc/mail/genericsdomain. Чтобы узнать это имя, наберите:



Расположение файлов


Мы поместим все файлы конфигурации sendmail-а в отдельный подкаталог каталога /etc: /etc/mail. Обычно, sendmail использует файлы, находящиеся в /etc. Для того, чтобы избежать возможных проблем, создадим файл символьной связи (symbolic link)/etc/sendmail.cf, указывающий на /etc/mail/sendmail.cf.

В директории /etc/mail будут находиться следующие файлы:

aliases - содержит дополнительные локальные адреса

genericsdomain - содержит некоторую информацию о конфигурации вашего локального хоста (host)

genericstable - содержит собственно правила преобразования адреса

sendmail.cf - файл конфигурации sendmail-а

sendmail.mc - исходный текст sendmail.cf.

Некоторые из этих файлов будут сопровождаться файлами с расширением .db. Они содержат хешированные (hashed) базы данных, напрямую используемые sendmail-ом.

Мы также исходим из того, что остальная cf

часть исходных текстов sendmail-а находится в каталоге /usr/lib/sendmail.cf. Но это в случае дистрибутива Debian GNU/Linux. Другие поставки могут поместить эту информацию в другие каталоги. Подробнее об этом читайте в документации к вашему дистрибутиву.



у вас один из наиболее


Мы предполагаем, что у вас один из наиболее распространенных в университетах и он-лайн сервисах доступ к интернету: вы дозваниваетесь по телефону к вашему провайдеру, используя PPP на последовательном порту через модем. Ваша входящая почта складывается на сервере POP или IMAP провайдера, а отправляемая почта отсылается через SMTP. У вас нет собственного домена, поэтому используется один общий электронный адрес.
Мы также предполагаем, что у вас установлена достаточно новая версия программы sendmail, написанной Eric Allman (версия 8.8.8 является текущей, на момент написания документа, и должна работать хорошо).
Этот документ частично ссылается на специфические свойства системы Debian GNU/Linux; пользователи других дистрибутивов должны быть осторожны.
Убедитесь, что у вас под рукой находится следующая информация:

Адрес почтового сервера вашего провайдера

Ваш почтовый адрес в Internet

Файл настройки, который мы планируем сделать, ставит перед собой две главные цели:

Должна работать пересылка почты между двумя любыми локальными пользователями.

Внешний мир должен видеть почтовые адреса локальных пользователей, заданные провайдером, а не локальной системой.

Чтобы этого достичь, воспользуемся функцией genericstable.

Что вам понадобится


Ниже приведен список того, что необходимо для установки поддержки SB AWE под Linux:

работающая Linux-система (например, дистрибутив Debian GNU/Linux),

SB AWE 32 или совместимая карта (например. SB32, SB32 PnP, SB AWE64, ...),

исходные тексты ядра Linux, включая драйвер звука OSS/Free (обычно включен в поставку, прочтите /usr/src/Linux/drivers/sound/Readme),

Звуковой Драйвер AWE 32.

Если у вас PnP-карта, вам также понадобится:

пакет утилит isapnptools.

Смотрите раздел "Источники", в котором описано, где можно найти эти программы.

Если у вас система Debian GNU/Linux - это означает, что нужны пакеты kernel-source-, awe-drv

и, возможно, пакет isapnptools. Вы, наверное, также захотите установить другие awe-* пакеты, хотя они не так и важны для установки. Я настойчиво рекомендую установку пакета kernel-package для более простой компиляции и установки ядра.



Дополнительная информация


"HOWTO: Звук в Linux" (The Linux Sound HOWTO)

Автор: Jeff Tranter, jeff_tranter@pobox.com>

Последняя версия: 1.17, 4 августа 1997

Пожалуйста, хорошо изучите этот HOWTO (доступно на sunsite.unc.edu и других сайтах). Там находится куча информации о сборке ядра с поддержкой звука, и объясняется многое о звуковых устройствах, программах и т.п.

Я воспринимаю мой документ как дополнение к "HOWTO: Звук в Linux" (The Linux Sound HOWTO).

"HOWTO: Проигрывание звука в Linux" (The Linux Sound Playing HOWTO)

Автор: Yoo C. Chung, wacko@laplace.snu.ac.kr>

Последняя версия: 1.4, 13 мая 1997

Вы также должны взглянуть в "HOWTO: Проигрывание звука в Linux" (The Linux Sound Playing HOWTO). Там описывается проигрывание звуков в различных форматах, а также программы, их проигрывающие.

"FAQ: Драйвер AWE" (The AWE Driver FAQ)

Автор: Takashi Iwai iwai@dragon.mm.t.u-tokyo.ac.jp>

Исходный текст: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html

Если у вас проблемы с установкой драйвера AWE или с использованием вашего Sound Blaster, тогда взгляните в этот документ.

"FAQ: ISA PnP" (The ISA PnP FAQ)

Автор: Peter Fox fox@roestock.demon.co.uk>

Исходный текст: http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html

Если у вас проблемы с настройкой ISA PnP карты, тогда взгляните в эту книгу знаний.



Drvmidi


При помощи программы drvmidi вы можете проигрывать MIDI-файлы через AWE-драйвер. Просто укажите имя файла в качестве аргумента команды:

# drvmidi waltz.mid

Смотрите также документацию, касающуюся drvmidi.



Источники


isapnptools

Автор: Peter Fox fox@roestock.demon.co.uk>

Последняя версия: 1.11

Источник: http://www.roestock.demon.co.uk/isapnptools/index.html

Если будете посылать патчи, сообщения об ошибках или проблемах, пожалуйста, вставьте строку 'isapnp' где-нибудь в теме сообщения и пишите по адресу isapnp@roestock.demon.co.uk.

awedrv

Автор: Takashi Iwai iwai@dragon.mm.t.u-tokyo.ac.jp>

Последняя версия: 0.4.2c

Источник: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/

Ядро Linux

Автор: Linus Torvald и многие другие

Последняя версия: В настоящий момент используйте 2.0.29

Источник: везде, где вы можете найти Linux :)

OSS/Free

Автор: Hannu Savolainen (Сначала смотрите http://www.4front-tech.com/usslite, затем пишите мне).

Последняя версия : У меня 3.5.5-beta1

Источник: исходные тексты ядра Linux

Информация: http://www.4front-tech.com/usslite или Зеркало в Европе.



Микширование


Возьмите вашу любимую программу-микшер и запустите ее. Запустите прямой аудио-сэмпл и два MIDI-файла параллельно, и испробуйте настройки микшера. Поэкспериментируйте, это должно быть очень просто. Ниже приведен список устройств, и как они называются:

Yamaha OPL-3

WaveTable Синтезатор или FM

AWE32 Driver

WaveTable Синтезатор или FM (кто-нибудь видел микшер, в котором два последних разделены?)

Sound Blaster 16 (4.13)

PCM или DSP

PC Speaker (все еще жив :-()

Спикер

Другие настройки микшера относятся к CD-ROM, возможно подключенному к звуковой карте, к Общему Уровню (Master Volume), Низким Частотам (Bass), Верхним Частотам (Treble) и уровню записи (Recording Level) на разных входных линиях. Вы также можете выбрать, с каких линий оцифровывать звук.



В этом документе описывается установка


Marcus Brinkmann
Marcus.Brinkmann@ruhr-uni-bochum.de
Перевод: Станислав Рогин, ASPLinux

В этом документе описывается установка и настройка звуковой карты Sound Blaster 32 (SB AWE 32, SB AWE 64) фирмы Creative Labs на Linux-системе, с использованием Расширения Звукового Драйвера AWE автора Takashi Iwai. Он также описывает некоторые специальные утилиты и проигрыватели для SB серии AWE. Документ написан для дистрибутива Debian GNU/Linux, но также должно работать и на всех других дистрибутивах Linux.


Начало работы


Предположим, что вы правильно установили вашу карту в гнездо на материнской плате, и, возможно, проверили ее работоспособность в DOS или Windows.

Следующим шагом будет настройка инициализации карты в процессе загрузки (только если у вас PnP-карта). Следуйте документации в исходных текстах, соберите и установите пакет isapnptools (или используйте уже собранный пакет дистрибутива Debian), и, затем, наберите



Некоторые общие замечания о картах SB AWE


Звуковая карта SB AWE 32 представляет из себя: прямое (raw) аудио-устройство, стандартный OPL-2/OPL-3 синтезатор, MIDI-порт MPU-401 и 32-голосный EMU 8000 WaveTable-синтезатор (для разъяснения значений этих и других терминов смотрите "HOWTO: Звук в Linux"). Одна из целей этого документа - помочь вам настроить нормальную работу всех этих функций.

В карту SB AWE 64 встроены все функции SB AWE 32 и дополнительный синтезатор Wave Guide, которым так гордится Creative Labs. Проблема для пользователей Linux состоит в том, что дополнительные 32 голоса генерируются программно и выводятся через прямые аудио устройства. Но, поскольку фирма Creative Labs не видит в Linux рынка сбыта драйверов, драйвер звука для синтезатора Wave Guide существует только для Windows 3.1 и Windows 95.

Учитывая это, с точки зрения пользователя Linux, карты SB AWE 32 и SB AWE 64 почти идентичны. С этого момента я буду упоминать только SB AWE вообще, и буду лишь упоминать о различиях, когда они возникают.



Некоторые общие замечания о Plug and Play картах


Многие современные карты на платформе Intel являются так называемыми ISA PnP картами, где PnP - это аббревиатура к сочетанию "Plug and Play" (Включи и работай). Это означает, что карта должна быть настроена операционной системой, и это должно производиться программой инициализации во время загрузки системы. В общем случае, существует как минимум три способа сделать это:

У вас есть PnP Bios, что означает, что ваш BIOS осведомлен о возможном наличии PnP-карт и может их отконфигурировать. Если вы думаете, что можете использовать все функции вашего SB AWE PnP только потому, что у вас PnP Bios, то тут вам не повезло. Даже если BIOS заявляет, что поддерживает PnP карты, то он всего лишь настраивает набор портов и адресов, используемых картой. Вы, возможно, сможете играть прямой (raw) звук, но , например, не сможете воспользоваться MIDI-музыкой. Поэтому PnP BIOS не подходит для наших целей.

У вас есть операционная система, поддерживающая PnP карты. Текущее стабильное ядро Linux версий 2.0.x - это не такая система, поэтому нам придется подождать будущих релизов ядра, которые будут поддерживать PnP устройства.

У вас есть специальная программа, запускаемая в процессе загрузки системы, которая инициализирует ваши PnP- карты. Это как раз тот способ, который мы будем использовать.

Наиболее часто используемой программой, предназначенной для инициализации PnP карт под Linux, является пакет "isapnptools" (см. раздел "Источники" и "Начало работы"). Этот пакет обеспечивает предсказуемый способ инициализации всех ISA PnP карт на вашей машине, а не только звуковых.



Некоторые общие замечания о загружаемых модулях ядра


Некоторые драйвера устройств могут быть построены в виде модулей, вместо встраивания их внутрь ядра. Вы можете найти дополнительную информацию о модулях в "HOWTO:Ядро" (Kernel HOWTO) и "HOWTO:Модули" (Module HOWTO) (см. раздел "Дополнительная информация").

Если у вас PnP карта, то установите поддержку звука в виде загружаемого модуля ядра. Это означает, что нельзя встраивать драйвер звука в ядро, вам, вместо этого, необходимо собрать этот драйвер в виде модуля, чтобы он мог загружаться в систему уже после загрузки ядра. Это необходимо по той причине, что ядро загружается до конфигурирования ваших ISA PnP карт, а ваш драйвер звука должен быть загружен после конфигурирования ISA PnP карт.

Модуль драйвера звука может быть загружен вручную командами insmod sound или modprobe -a sound или в соответствующем загрузочном скрипте вашего Linux-а (в Debian достаточно добавить строку sound в файл /etc/modules). Другой вариант - это запустить kerneld, демон (daemon), который устанавливает и выгружает модули ядра по необходимости.

Заметьте однако, что kerneld - это не лучшее решение для модуля драйвера звука SB AWE, потому что загрузка модуля в ядро занимает некоторое время, особенно, если вы хотите использовать WaveTable-синтезатор и загрузить в него большие звуковые банки (Sound Font banks), что придется делать каждый раз после установки модуля. По той причине, что kerneld удаляет неиспользуемые модули через одну минуту, то, наверное, правильнее установить модуль звука вручную или в процессе загрузки. Заметьте, что ручная установка модуля или его установка в процессе загрузки предохранит этот модуль от выгрузки kerneld. Кстати: вы можете вручную загрузить модуль драйвера звука и в то же время использовать kerneld. Эти два метода не конфликтуют, и kerneld не будет обращать внимания на модуль драйвера звука.

Это особенно полезно, когда настройки вашего микшера изменяются после удаления и переустановки модуля. Решение этой проблемы приведено разделе "Микширование" (там описано, как можно автоматически запускать микшер после загрузки модуля драйвера звука). Однако, загрузка модуля демоном kerneld, загрузка звуковых банков и запуск вашего микшера занимает длительное время, и по этой и по некоторым другим причинам все-таки лучше устанавливать модуль звука в процессе загрузки, и, таким образом, не давать kerneld его выгрузить.



Некоторые общие замечания о звуковом драйвере ядра


Вы можете установить поддержку звука внутрь ядра или в загружаемый модуль. Если у вас PnP карта, то вам придется это сделать с помощью модуля, потому что PnP карты нужно инициализировать через утилиты isapnptools до загрузки модуля.

Как вы уже наверно поняли, придется пересобирать ядро. Я дам необходимые подсказки по этому поводу немного позднее. А теперь давайте поговорим о поддержке звука в исходных текстах ядра. Ядро поставляется с бесплатной (усеченной) версией звукового драйвера OSS (USS). Текущая версия этого драйвера (3.5.4) не полностью поддерживает SB AWE, но SB 16 - это часть AWE. Поэтому вам будут доступны прямое аудио-устройство и OPL-2/OPL-3 синтезатор, если вы используете этот драйвер, но вам будет недоступна MIDI-музыка, использующая WaveTable-синтезатор.

Если вы хотите использовать WaveTable-устройство, то купите коммерческий драйвер звука у компании 4Front Technologies (кто-нибудь, подтвердите, что их драйвер поддерживает AWE), или исправьте ядро патчем Звукового Драйвера AWE 32 автора Takashi Iwai. Первый не обозревается в этом документе, я же предполагаю, что вы будете использовать второй.

Звуковой Драйвер AWE32 (см. раздел "Источники") опубликован в соответствии с Лицензией GNU и поставляется с набором утилит, использующих EMU 8000 синтезатор карт SB AWE.

Программа awedrv также включена в новые исходные тексты ядер (начиная с некоторых версий ядра 2.1.x, но, возможно, когда вы захотите обновить исходные текста ядра, они уже немного устареют).



Перезагрузка


После установки нового ядра вы должны перезагрузиться (убедитесь в том, что у вас есть под рукой работающий загрузочный флоппи-диск) Перекрестите пальцы :-).

Если у вас PnP-карта, убедитесь в запуске isapnp в загрузочном скрипте (как было описано выше) или вручную:

# /sbin/isapnp /etc/isapnp.conf Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128 [checksum 74]

Теперь вы можете установить драйвер звука, если собрали его в виде модуля:

# modprobe -a sound AWE32 Sound Driver v0.3.3e (DRAM 2048k)

Если вам кажется, что объем памяти неверный (У меня были сообщения о том, что в одной карте AWE64 было 4096 Кб, а "определялось" 28672 Кб), попытайтесь либо обновить пакет awedrv или указать объем памяти в файле /usr/src/linux/drivers/sound/lowlevel/awe_config.h, например:

#define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */

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

Если все заработало, вы наверно захотите загружать модуль звука автоматически. Можно использовать kerneld (это плохая идея - причины описаны в разделе 1.4) или добавить одну строчку, содержащую слово sound в ваш файл /etc/modules (в Debian) или добавить строку /sbin/modprobe -a sound в ваш загрузочный скрипт.



Порт MIDI


Извините, по MIDI-порту пока нет никакой информации!



Пример isapnp.conf


Файл конфигурации ISA PnP создается командой pnpdump, и отдельные части ваших PnP карт разделены на секции. В приведенном ниже примере обнаружена одна карта (звуковая) с четырьмя логическими устройствами:

LD 0: Аудио-устройство

LD 1: IDE-устройство

LD 2: WaveTable-устройство

LD 3: Устройство игрового порта

Я оставил LD 1 без изменений, потому что у меня нет устройств, подключенных к IDE-порту звуковой карты. Если у вашего SB нет IDE-порта, то LD 1 будет игровым устройством, а LD 3 не появится.

Обязательно прочтите раздел "Начало работы" для дальнейшей (очень важной!) информации об этом файле.

# $Id: Soundblaster-AWE.sgml,v 1.3 2001/11/15 12:10:44 pax Exp $ # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # Это бесплатное программное обеспечение, см. исходные # для более детального описания. Это обеспечение не несет # НИКАКИХ ГАРАНТИЙ, используйте НА СВОЙ СТРАХ И РИСК # # For details of this file format, see isapnp.conf(5) # Детально формат этого файла описан в isapnp.conf(5) # # For latest information on isapnp and pnpdump see: # За последней информацией по isapnp и pnpdump обращайтесь по адресу: # http://www.roestock.demon.co.uk/isapnptools/ # # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER # Флаги компилятора: -DREALTIME -DNEEDSETSCHEDULER

(READPORT 0x0203) (ISOLATE) (IDENTIFY *)

# Try the following if you get error messages like # Error occurred executing request 'LD 2' on or around line... # Попробуйте включить следущую строку , если у вас выдаются ошибки вида # Во время исполнения запроса 'LD 2' возникла ошибка в строке...

#(VERIFYLD N)

# ANSI string -->Creative SB32 PnPAudioIDEWaveTableGame



/Proc/devices, /dev/sndstat


Если поддержка звука встроена в ядро, то Вы увидите немного полезной информации при загрузке. Если поддержка звука собрана в виде модуля, вы можете увидеть эту же информацию (возможно после выгрузки модуля командой modprobe -r sound) при помощи команд



Сборка ядра


До сборки ядра вам придется установить Звуковой Драйвер AWE в стандартный драйвер звука ядра. Даже если ваши исходные тексты ядра включают расширение awedrv (см.каталог /drivers/sound/lowlevel/), вы захотите обновить программу awedrv. Следуйте инструкциям по установке в каталоге исходных текстов awedrv. Вкратце, вам придется запустить скрипт, который произведет необходимые изменения в исходных текстах ядра.

Проверьте, обновились ли исходные тексты ядра после запуска этого скрипта. Он просто проверяет, существует ли конкретный файл - если он существует, то он ничего не делает. Вам лучше предварительно удалить файл drivers/sound/lowlevel/awe_wav.c до запуска этого скрипта.

Затем вам надо настроить ядро, включив в нем поддержку звука. Я надеюсь, что вы немного разбираетесь в сборке ядра; обращайтесь в "HOWTO: Звук в Linux" (Linux Sound HOWTO) и "HOWTO: Ядро" (Kernel HOWTO) за подробной информацией. Перейдите в каталог исходных текстов ядра (например /usr/src/linux) и наберите:



Sfxload


Вы можете загрузить образцы звуков в память вашей звуковой карты командой sfxload. Заметьте, что можно загрузить только один файл в банк, и банк 0 используется по умолчанию. Так, после команды sfxload synthgs.sbk, в памяти вашей звуковой карты будут только образцы набора GS. Если вы хотите загрузить дополнительные Звуковые Банки (Sound Font Banks), надо использовать опцию -b, например:



Этот документ пытается помочь вам,


Этот документ пытается помочь вам, установить и использовать Sound Blaster AWE 32 или Sound Blaster AWE 64 фирмы Creative Labs в вашей Linux-системе. Здесь описываются процедуры, проверенные для системы Debian GNU/Linux
на платформе Intel i586, но это должно работать со всеми другими дистрибутивами Linux, равно как и со всеми платформами и звуковыми картами, поддерживаемыми драйвером звука Linux (различия будут упоминаться там, где они есть).
Прочтите внимательно "HOWTO: Звук в Linux" (Linux Sound HOWTO) (см. раздел "Дополнительная информация"). Я рассматриваю свой документ, как дополнение к этому HOWTO, и очень часто более полную информацию вы можете найти там, особенно то, что я мог упустить.

Ввод - оцифровка с помощью прямого аудио-устройства


Вы можете записывать звук с различных источников: подключенного CD ROM, микрофона, подключенного к карте, а также со всего, что вы можете подключить к линейному входу вашей карты. Настройте микшер. Включите проигрывание звука и запишите его в файл, читая из прямого аудио устройства, например:



прямое (Raw) аудио-устройство


Найдите .au-файл (Рабочая станция Sun) или простой файл аудио-сэмпл (sample file), и наберите



файлов при помощи вашей звуковой


Если вы хотите использовать OPL-2/OPL-3 FM-синтезатор для проигрывания MIDI- файлов при помощи вашей звуковой карты, попробуйте использовать программу playmidi (см. приложение 2). Запустите ее командой


Синтезатор Wave Table


Звуковой Драйвер AWE поставляется с набором специальных утилит (awesfx) для того, чтобы сделать возможным использование Wave Table-синтезатор EMU 8000. Во-первых, вам надо загрузить Звуковые банки (Sound Font Bank) в вашу карту - даже если вы хотите использовать банки, прошитые в ПЗУ! Вы можете скопировать эти файлы из вашего Windows - ищите файлы, оканчивающиеся на *.sfb или *.sf2.

Образцы звуков из ПЗУ звуковой карты можно загрузить с помощью файла SYNTHGM.SBK, настоящие образцы находятся в SYNTHGS.SBK и SYNTHMT.SBK, а также в SAMPLE.SBK. Вы можете скачать другие Звуковые Банки (Sound Font Banks) по ftp или www, попробуйте домашнюю страницу EMU, WWW-сайт Creative Labs, и поищите набор образцов "Chaos" - они также достаточно хороши (убедитесь, что также проверили сайт драйвера AWE).

Попытайтесь загрузить стандартный GM-набор (из ПЗУ) при помощи команды



Более подробная информация


Более подробную информацию по StarOffice для Linux можно узнать у StarDivision на сайте http://www.stardivision.com

StarDivision поддерживает сайт с новостями и помощью для пользователей StarOffice для linux. Это самые последние новости, касающиеся StarOffice. Также вы можете попросить там о помощи. Используя программу просмотра телеконференций, зайдите на news://starnews.stardivision.com или посмотрите ссылку на отдел поддержки пользователей компании StarDivision .



Disclaimer and Copyright


This document is (C) 1999 by Matthew Borowski.

Redistribution of this document in electronic form is permitted under the condition that the document remains unchanged. If you wish to include this document in a CD-ROM or book, please obtain permission from me beforehand (I prefer requests to be sent via e-mail).

Автор снимает с себя всякую ответственность за любые прямые или косвенные последствия прочтения этого документа. Автор не является сотрудником StarDivision GmbH или Caldera Inc.

Комментарии или вопросы могут быть отправлены автору по адресу: mkb@poboxes.com.



Дополнения


Большое спасибо Werner Klaus((wklaus@metronet.de ) за перевод этого документа в sgml.

Если вы можете что-то добавить к этому mini-HOWTO, пожалуйста, пишите мне. Мой адрес указан в начале этого документа. Если вы хотите посетить мою страничку, то зайдите на http://tarp.worldserve.net/ или http://tarp.linuxos.org/



Исправление ошибки с переменной LANG


Файлы .sd.sh и .sd.csh устанавливают переменную LANG . Это вызывает проблемы с perl и man. Man выдаст сообщение об ошибке:

""Failed to open the message catalog man on the path NLSPATH=" "Perl выдаст сообщение ошибки ""warning: setlocale(LC_CTYPE, "")...""

Файл .sd.sh содержит строку, которая устанавливает LANG=us, и другую, которая экспортирует группу переменных включая LANG. Удалите строку LANG=us и удалите LANG из списка переменных - это устранит проблемы.

В файле .sd.csh (который отформатирован под c shell), вы должны удалить строку содержащую "setenv LANG us".

Огромная благодарность Adam L. Klein (alklein@adelphia.net) за то, что он рассказал, как исправить это неудобство.



Как получить StarOffice Office Suite


StarOffice 3.1 для Linux можно взять по адресу:

ftp://ftp.gwdg.de/pub/linux/staroffice

Файл README.StarOffice содержит информацию о том, как можно получить StarOffice 3.1 . Вам следует загрузить три файла:

StarOffice31-english.tar.gz (на английском) документация, демонстрационные файлы и шаблоны

StarOffice31-german.tar.gz (на немецком) документация, демонстрационные файлы и шаблоны

StarOffice31-dynbin.tar.tgz (динамически собранные) или

StarOffice31-statbin.tar.gz (статически собранные) модули

StarOffice31-common.tar.gz

Также можно получить StarOffice Caldera. Зайдите на их сайт:

http://www.caldera.com

и получите более подробную информацию. Caldera также выпускает StarOffice CD-ROM, который можно приобрести за $ 7.99 US.



Руководство по установке StarOffice


Matthew Borowski
mkb@poboxes.com

Перевод: Михаил Корепанов, ASPLinux

Руководство по установке StarOffice 3.1 производства StarDivision.


Ошибка в скрипите setup COL (Caldera OpenLinux)


Phil Reardon (pcr@busprod.com ) утверждает: " Я нашел ошибку в скрипте setup у StarOffice стандартного выпуска Caldera COL. Он задает путь с //, где должен быть один /. Чтобы удалить первый слэш из строки:



Советы по StarOffice


Эти советы дал Patrick D'Cruze (pdcruze@netpal.com.au)

1. Вместо копирования файла .sd.sh (или .sd.csh) в мой скрипт .bash_profile, я скопировал .sd.sh, затем переименовал его в swriter и поместил его в /usr/local/bin. Затем я добавил туда:

#! /bin/bash

в начало скрипта и:

exec swriter3 $*

в конец скрипта. Теперь все, что нужно сделать, это запустить swriter, и он автоматически создает переменные окружения и запускает StarWriter. Но, сохраненные файлы, имеющие эти переменные окружения, записываются в каталоги других приложений.

2. Я заметил, что у многих людей StarOffice загружается долго (до минуты). Дело в том, что динамически собранная версия должна для каждого нового символа найти нужную библиотеку. StarOffice использует много библиотек, и поэтому много времени уходит на их поиск.

Есть решение этой проблемы. Я запускаю StarOffice в специальном дереве каталогов, сделанном chroot. В этом дереве я поместил только те программы и библиотеки, которые использует StarOffice (все библиотеки, кроме /usr/X11R6/lib, libc/libm и libg++/libstdc++). StarWriter теперь загружается всего 15 секунд на моем P133/32 Мб. Это происходит из-за того, что программа работы с динамическими связями ищет необходимые символы только в оставшихся библиотеках, не тратя время на библиотеки, в которых этих символов все равно нет.



Установка и настройка


После того, как вы разархивировали файлы StarOffice в качестве root-а, зайдите в систему как обычный пользователь. Смените каталог на /usr/local/StarOffice-3.1 и запустите программу setup . Эта программа установит файлы, не предназначенные для совместного доступа (non-shared), и символьные ссылки, необходимые для каждого пользователя. Рекомендуется использовать стандартную конфигурацию, иначе могут возникнуть проблемы.

StarOffice использует переменные окружения. Файлы .sd.sh (отформатированные для Bourne Shell) и .sd.csh (отформатированные для C Shell) обеспечивают установку переменных окружения для StarOffice. Эти файлы размещены в вашем домашнем каталоге.

Если вы используете bash, отредактируйте .bashrc и добавьте в него строку:



Установка StarOffice


Установка StarOffice состоит из следующих этапов:

Разархивирование файлов с правами root в /usr/local

Запуск setup с правами обычного пользователя

Настройка .sd.sh или .sd.csh

Чтение главы 3.5!!! (сделайте это)



Установка tar-файлов


После того, как вы скачали StarOffice, зайдите в систему в качестве root-а и поместите его архивы в /usr/local/. Смените текущий каталог на /usr/local/ и разархивируйте файлы. Например, команда для разархивирования tar-файла, запакованного gzip:



Версии Libc и их обновление


StarOffice обращается к libc 5.4.4.

StarOffice 3.1 *будет* работать и с Libc Libc 5.3.x. Но установка требует 5.4.4 или выше. Если у вас Libc 5.3.x, вы можете обойти это неудобство, загрузив libc 5.4.4+ и добавив его в переменную окружения LD_LIBRARY_PATH до того, как запустите скрипт setup. Я не пробовал этого делать сам, поэтому посоветовать ничего не могу.

Если вы попробовали запустить скрипт setup с libc меньше чем 5.4.4, вы увидите следующее сообщение:



Запуск StarOffice


Запускаемые приложения программы StarOffice находятся в каталоге: /usr/local/StarOffice-3.1/linux-x86/bin/

Эти приложения: sdraw3, swriter3, scalc3, smath3, schart3, simage3

Программа svdaemon запускается, если необходима контекстная помощь. Программа svportmap должна быть запущена для того, чтобы работала связь между StarWriter, StarCalc и StarDraw.