PDA

Показать полную графическую версию : Linux-FAQ


Страниц : [1] 2 3 4 5 6

ruslandh
15-08-2002, 05:59
Официальная русская версия Linux-FAQ находится
здесь (http://www.sensi.org/~ak/linuxfaq/rulinux.faq.html)

Сделал зеркало официального Linux-FAQ :
http://www.ruslandh.narod.ru/rulinux-faq/rulinux.faq.html


Представляю общему обозрению FAQ к разделу Linux, прошу Ваших замечаний и поправок.


Linux FAQ
(Написан на основе переписки с Пановым Дмитрием
* * * * * * * * * <panovdu@land.ru>)

Вопрос:

Как установить программу в Linuх


Ответ:

Установка пакетов в Linux

* *Установка пакетов из тарбола.

*Тарболом называется архив с упакованными исходными текстами программ. Обычно они имеют расширение tar.gz или tar.bz

Программисты создают проект пакета (например с помощью Kdevelop), в
*котором есть все makefile и файлы конфигурации (configure), а потом упаковывают
*их в тарболы.
* В случае доработки пакета создаются Patch-и к *исходным текстам,
*которые заменяют одни строки текста программ на другие.

*Из готового тарбола (если он учитывает все нужные патчи) можно
* получить исполняемые программы с помощью команд:
* 1 разархивировать тарбол (команды не помню, т.к. для этого
* пользуюсь MC)
* 2 переходим в папку с разархивированным тарболом
* *cd _Имя_Директории_
* 3 конфигурим пакет
* *configure
* *(в тяжелых случаях нужно будет в параметрах указать пути для всех
* *необходимых библиотек и header-файлов - но к счастью, обычно на
* *близких системах они лежат одинакого и сам скрипт configure их
* *находит, также параметы могут потребоваться, если пакет будет
* *распологаться не в том месте, где предполагал разработчик
* *программы, а в каком-либо другом )
* 4 Создаем пакет:
* *make
* 5 Устанавливаем пакет
* *make install
* *(последний этап можно теоретически сделать и в ручную скопировав
* *файлы в нужные места) Хочу подчеркнуть, что это наиболее опасный
* *этап - перед ним желательно позаботится о том, как восстановить
* *старый пакет, если в новом есть ошибки.
*
* *Установка пакетов из сорца (spc.rpm)
*
*Тарболы и прикладываемые к ним patch-и упаковываются в пакеты-сырцы
*(.SRC.RPM)(бывают и другие системы пакетов - но я говорю о дистрибутивах на
*основе RPM - Red Hat, Mandrake, SuSe).
*
* RPM-пакет - это особо организованный архив, в который помимо данных
*(тарбола и патчей - для сырца, необходимых программ - для бинарного
*RPM) *упакованы скрипты установки и обновления.

*C помощью сырца можно создать бинарный RPM - т.е. такой RPM, в
*котором упакованы исполняемые пакеты.

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

*В результате установки сырца
*- в директорию /usr/src/RPM/source
*помещаются все необходимые тарболы (обычно один) и патчи (может быть
*много, а может быть и не одного - все зависит от разработчика и
*составителя конкретного RPM).
*- В директорию /usr/src/RPM/spec помещается установочный скрипт (файл с
*расширением spec) в котором разработчик RPM помещает все действия по
*установке пакета - разархивирование тарбола, накладывания патчей,
*транслирование и *т.д. Разработано уже много макросов для spec-файлов.
* С наиболее старыми из них и общей теорией их построения а также
* опциями команды rpm *можно познакомится в RPM-HOWTO
* *(русская версия его есть у меня на страничке www.ruslandh.narod.ru).

* При построении пакета все операции с исходным текстом программ
* обычно (но не всегда) помещаются в /usr/src/RPM/builder, а новые
* полученные пакеты (новый сырец и новый бинарник) помещаются
* соответственно в /usr/src/RPM/RPMS и /usr/src/RPM/SRPMS.

* Получить из установленного сорца соответствующий пакет
*можно с помощью команды
* *rpm -ba paket.....spec
*(см RPM-HOWTO)

Установка пакетов из RPM

* *В дистрибутивах Red Hat, Mandrake, Suse, AltLinux, ASP Linux и некоторых других, программы (состоящие, как правило,
из нескольких файлов) распространяются объединенными в пакеты формата RPM (RedHat Packet Manager).
* С помощью программы rpm можно легко устанавливать, модифицировать, удалять и создавать пакеты программного обеспечения,
а также получать о них разнообразную информацию. Все эти дистрибутивы * (кроме программы начальной установки) состоят
из таких пакетов.
* Каждый пакет определяется именем программы, номером ее версии и номером версии релиза этой программы дистрибутива,
а также архитектурой пакета.
Например, bash-2.0.5-alt2.i586.rpm: в этом пакете имя – bash, номер версии – 2.0.5, номер релиза – alt2, архитектура – i586.
Чем больше номер версии (или при одинаковых номерах версии – чем больше номер релиза), тем, соответственно, новее пакет.

Управлять пакетами можно из командной строки при помощи программы rpm, которая имеет следующий синтаксис:
rpm -options rpm_package_name

Далее приводятся возможные параметры.

Установка пакета. Вы можете установить программу, используя опцию -i (опции -v и -h выставлены здесь для того,
чтобы включить визуальное отображение процесса установки). Например, для того, чтобы установить klyx, наберите:
rpm -ivh klyx-0.10.9-ipl6mdk.i586.rpm
(настоящее имя зависит от версии программы на доступном носитеое).

Заметим, что ipl6mdk означает, что пакет был модифицирован ALT Linux Team (ранее – IPLabs Linux Team)
для русской редакции, это его шестая сборка, он входит в дистрибутив Mandrake. i586 указывает на то,
что он скомпилирован для процессоров не ниже Pentium(tm).
Наличие в имени пакета аббревиатуры alt2 означает, что пакет был собран ALT Linux Team и это его вторая сборка.

Обновление пакета. Для того чтобы обновить программу (с целью установки более свежей версии),
нужно использовать опцию -U, вместо -i, это позволит сохранить все текущие конфигурационные файлы.
Если пакета ранее не было в системе, то он будет установлен.

Удаление пакета. Если вы желаете удалить пакет из системы, внимательно введите:
# rpm -e имя_пакета_без_номера_версии_и_релиза
то есть, например, для пакета klyx:
# rpm -e klyx
Если в процессе удаления пакета произойдет нарушение зависимостей, программа rpm сообщит об этом.

Информация о пакете. Вы можете запросить у rpm ряд полезной информации о пакете, не устанавливая
его – например, бывает удобно просмотреть список всех файлов пакета или краткое описание его возможностей.
Для этого используйте опцию -q (query, запрос).
-qi используется для получения некоторой информации о ранее установленном пакете;
-qip используется для еще не установленных пакетов.
В этом случае вы должны указать полный путь и имя пакета (например, /mnt/cdrom/Mandrake/RPMS/klyx-0.10.9-ipl6mdk.i586.rpm);
-ql используется для того, чтобы просмотреть список файлов пакета. Добавьте p, если пакет еще не был установлен;
-qa выдает список всех установленных пакетов (не нужно указывать имя пакета).
Будьте осторожны с опцией --force – ее можно употреблять только в тех случаях, когда вы хорошо знаете, что делаете.
Если надо установить два или более пакетов, зависящих друг от друга, то установите их одновременно:
# rpm -ihv foo-1.1-3mdk.rpm libfoo-1.5-2mdk.rpm

Часто бывает удобнее, однако, применять программы специально созданные для данного дистрибутива, например, rpmdrake,
разработанную MandrakeSoft, kpackage из KDE, gnorpm из GNOME или систему apt (AltLinux).
В дистрибутивах, родственных Mandrake удобнее управлять пакетами через графическую оболочку rpmdrake,
которую можно запустить через панель управления DrakConf (находящуюся на рабочем столе).
Можно выбрать два режима работы – установка или удаление – при помощи кнопок в правом верхнем углу.
Выделив пакет, можно получить информацию о нем, входящих в его комплект файлах, а также некоторую другую.
Нажав кнопку "Удалить выбранное" или "Установить выбранное", можно удалить или установить выбранные пакеты.
Часто бывает так, что требуемый пакет для нормального функционирования требует другие; в этом случае программа
предложит вам установить или удалить еще несколько пакетов. При удалении пакетов необходимо соблюдать осторожность,
чтобы не удалить важные части системы, например пакеты kernel или glibc.
Для использования функции обновления пакетов необходимо указать программе через меню Файл | Настройки дополнительный
источник пакетов, в качестве которого может выступать как ресурс Internet, так и локальный каталог или диск CD-ROM.
Установку пакетов весьма удобно выполнять и через консольную программу urpmi – с тем отличием,
что все действия будут выполняться менее наглядно.
Для установки пакетов, поставляемых ALT Linux Team, можно даже запускать программу urpmi не от имени суперпользователя,
а от обычного пользователя; единственное, что необходимо сделать для этого – добавить его в группу urpmi.

Для получения дополнительной информации наберите man rpm.

Вопрос:

Как установить ядро в Linuх


Ответ:



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

1 Из тарбола (tar.gz)
2 Из сорца (src.rpm)
3 Из RPM (rpm)

Но в случае, если Вам необходимо добавить к ядру отдельный модуль, Вам будет достаточно
использовать исходные тексты текущего ядра (пакет kernel-source xxxx. rpm), которые обычно лежат в
/usr/src/linux.

*Установка из тарбола

Установка ядра достаточно подробно описано в Kernel-HOWTO (русский вариант есть
*на многих новых дистрибутивах и в интернете, английский - практически везде),

1 * *Конфигурирование модулей ядра
* * *a) из графики (X-в):
* * запусти с графической консоли в папке /usr/src/linux
* * * make xconfig
* * *b) с терминала make menuconfig, или make config
* * *
* * * Установи все необходимые параметры (чаще жми помощь -
* * * по-умолчанию все значки как быыли при последнем
* * * крнфигурировании - т.е. вначале как в дистрибутиве
* * * помни - лучшее враг хорошего)
2 * * Устанвка зависимостей *между пакетами
* * * make dep
3 * * Построение image ядра

4 * * дальше есть варианты
* *
* * *make install * * * * * *- * * * * * *установка ядра
* * *make modules * * * - * * * * * компиляция модулей
* * *make modules_install *- * *установка модулей
* * *make bzImage * * * * * * - * * создание имеджа ядра
* * *make bzlilo * * * *- * *

* * *Установка ядра из сорца
Для установки ядра из сорца, необходимо взять соответствующий сорец
kernel....spc.rpm, установить его и получить с помощью команды
prm -ba kernel.....spec соответствующие пакеты prm:
kernel-xxxx.rpm
kernel-sourse-xxx.rpm,
которые уже устанавливаются соответствующим образом.
См также Установка пакетов из сорца.


Установка из RPM
Установка из RPM происходит стандартным способом, характерным
для данного дистрибутива.


Примечания:

Примечание 1
> Подскажите пожалуйста, чем отличается перекомпиляция ядра в Mandrake от
> перекомпиляции в Red Hat?

В принципе ничем. Единственно сами пакеты ядра (rpm) могут иметь
другие зависимости от других пакетов, и в самом ядре могут быть
установлены разные патчи - а так, все ядра берутся из одного источника
(www.kernel.org) .

Но в принципе - ядра лучше компилить не под root (сделать локальную
копию /usr/src/ в домашнем директории) и после компиляции опробовать
его не удаляя старого (можно даже вначале загрузочную дискету с ядром
создать)

Примечание 2

(Из письма Димы)


P.S. Вот последовательность комманд для компиляции ядра в Mandrake (нарыл у них на сайте):
make mrproper
make dep
make clean * * * * * * * * /// rem - странная команда
make bzImage
make modules
make modules_install
make install.
Как Дима определил make install просто копирует
нужные файлы (system.map, vmlinuz, vmlinux...) в директорию /boot.

Примечание 3

(Из письма Димы)

Вопрос с перекомпиляцией ядра решился, и вот в чем было дело: *после
компиляции ядра и перед компиляцией модулей я не набирал команду
make install,
т.е. я откомпилил ядро след. командами:
make xconfig,
make dep,
make clean, * * * * //// *rem - а это-то зачем ???
make bzImage,
MAKE INSTALL,
make modules,
make modules_install.

При компиляции модулей никаких неописанных переменных не возникало и все прошло
на ура (как мне кажется).


Исправлено: ruslandh, 18:48 15-08-2002


Исправлено: ruslandh, 7:29 16-08-2002


Исправлено: ruslandh, 8:32 21-08-2002


Исправлено: ruslandh, 8:38 21-08-2002


Исправлено: ruslandh, 8:40 21-08-2002

Исправлено: ruslandh, 3:30 5-01-2003

Исправлено: ruslandh, 9:01 8-03-2003

Barracuda
15-08-2002, 07:42
Зачудительно!:up:

leprikon
15-08-2002, 17:11
1 разархивировать тарбол (команды не помню, т.к. для этого
 пользуюсь MC)

стоило бы описать *.tar & *.tar.gz & *.gz, чтобы не задовали вопросы..

4 Создаем пакет:
  make
 5 Устанавливаем пакет
  make install


4 - наверное все-таки копилируем. 5 - уже скопилированное разбрасываем по директориям =)

Установка из тарбола

редко запаковываю ядро bzImage , в основном держал bzlilo.

P.S. имхо жаргона много. =)

Barracuda
15-08-2002, 17:36
leprikon
стоило бы описать *.tar & *.tar.gz & *.gz, чтобы не задовали вопросы..
Это база, которую надо бы знать.
4 - наверное все-таки копилируем.
Имхо - полемика (формально риводит к одному и тому же).
редко запаковываю ядро bzImage
Это личное дело каждого. Единственное, что можон добавит это замечание.
P.S. имхо жаргона много. =)
Это не жаргон, а суровая реальность. Если человек не знает понятие "исходник" или "тарбол" - прийдётся матчасть подучивать (такие моменты нельзя упускать, т.к. на основных определениях строится всё остальное).
Можно состряпать маленький словарик на эту тему для начинающих.

Добавлено:

P.S. Вот только синтаксис надо бы ввести (выделение курсивом, жирным цветом, шрифтом, комбинации).

leprikon
15-08-2002, 18:04
Barracuda

извини но! базу вижу от тебя в каждом посте, как ты ее разжовываешь, не проще в факе написать ?
Если упомянули про архив и описали даже rpm, почему бы остальное не описать...

полемики нет, есть разница в названии, можно назвать окно "дверью" - ведь она тоже открывается ?

Жаргон есть, напрмире чередования "сорца" "сырца" - одно и тоже, но заведет в заблуждение.

P.S. странно как-то... ну да ладно.... дело ваще...

Barracuda
15-08-2002, 18:38
leprikon
не проще в факе написать ?
Хорошо сказано, но не в этом. Лучше краткий справочник по отдельным часто встречающимся командам сделать (намедни про ls спрашивали - бывает, я сам всех опций не помню).
можно назвать окно "дверью"
Во загнул! Но тут скорее дверь с воротами сравнивать надо :)
ruslandh
Вообще надо бы привести к общему ключу все термины (или, по крайней мере, словарь состряпать).
Ухожу во временный вынужденный отгул до понедельника - отойду, обязательон намылю свой вариант(блин, меня дрючили по написать руководств очень долго - надо тряхнуть стариной)

BigMac
15-08-2002, 18:40
Все классно, но поддерживаю leprikon
в плане стоило бы описать *.tar & *.tar.gz & *.gz, чтобы не задовали вопросы..
и жаргон надо убрать...это же FAQ для чайников..:)

Dimon
15-08-2002, 19:52
На мой взгляд надо в пункт "Установка пакетов из тарбола" добавить вот еще что:
- перед разархивацией тарбола следует посмотреть все ли его файлы находятся в одной директории (а то   было такое, что распаковав архив я обнаружил, что программа была в виде кучи директорий и еще большей кучи файлов и все это добро оказалось у меня в домашнем каталоге :))
- для разархивации из командной строки можно воспользоваться, например, командой tar -zxvf <имя архива>
-использовать "./configure --help" - для определения опций скрипта.
И, наверное, корректнее будет написать "Установка программ из сырцов (rpm-пакетов,тарболов и т.д.)", а не "Установка пакетов из ..."
оффтопик: ruslandh, спасибо за соавторство. :)

ruslandh
16-08-2002, 05:21
1 Ребят, я как всегда на выходные уезжаю на дачу, поэтому следующий мой вариант будет на следующей неделе, а может есть смысл вместо просто замечаний просто недостающие части дописать :)
2 Насчет сорец/сырец - я не за один раз это все написал, пытался я везде писать сорец, но видно где-то проскочило.
3 Насчет тарбола - конечно надо более подробно расписать, только времени не хватило - может кто напишет свой вариант ?
4 Barracuda Похоже это ближе к Howto (КакОво), но разбивать на чистый FAQ - потеряется мысль изложения.

:)
Вчера получил по мылу все Ваши замечания и ходил как дурак со счастливой улыбкой на лице
Большое спасибо всем за Ваши замечания

Исправлено: ruslandh, 7:22 16-08-2002

leprikon
16-08-2002, 11:01
Barracuda

если что, готов помочь.

Barracuda
16-08-2002, 15:47
leprikon
Гуд.
В выходные буду трудиться над вариантами Ruslandh, а в воскресенье намылю (или постону) варианты ...

leprikon
16-08-2002, 17:38
Barracuda

Любые. Все будут хороши.

ruslandh
21-08-2002, 06:34
Что-то нового ничего нет

Добавлено:

Это я тему так подымаю :)

xoid26
21-08-2002, 17:29
Полностью поддерживаю вашу инициативу и присоединяюсь!!! Начинающим нужно помогать. Я тоже в свое время пытался составить FAQ для начинающих пользователей Linux (http://linuxbegin.by.ru/faq), но сейчас я понял, что лучше всего сделать краткий справочник в стиле http://www.sovety.net (пример: 1.1. Установка, 1.2. Загрузка/перезагрузка/завершение работы, 1.3. Настройка, 1.3.1. Железо, etc).  Уже есть название: "LMD - Linux Mini-Dictionary :)". Так же можно сделать "Словарь Linux-жаргона для начинающих". Короче говоря - можно было бы обьединиться, зарегистрировать сайт http://linux-sovety.net (или что-нибудь типа этого), etc... Вариантов много :).
--
mailto:xoid26@umail.ru

ruslandh
21-08-2002, 17:53
BigMac
Ваше слово...

Dimon
21-08-2002, 18:41
xoid26 полностью с тобой согласен . Это дело нужное!

ruslandh
22-08-2002, 05:56
Цитата из проекта Linux-документация

В дополнение к www-страницам, продукцией LDP являются документы четырех основных типов: руководства, практические руководства (HOWTO и mini-HOWTO), экранная документация (man pages) и списки популярных вопросов с ответами (FAQ). Эти типы документов можно охарактеризовать следующим образом.

Руководства. Законченные книги по сложным проблемам.
Практические руководства. Документы, полностью освещающие один очень четко определенный вопрос (или группу вопросов, обычно посвященных одной задаче).
Экранная документация. Документация к отдельным программам, форматам файлов и библиотечным функциям в стандартном формате системы UNIX.
Часто задаваемые вопросы и ответы. Документы, охватывающие различные вопросы.

Т. е. Faq не обязан быть -
предложение ВОПРОС
предложение ОТВЕТ

Guest
22-08-2002, 07:55
Из сырцов рекомендуют: rpm --rebuild *.src

ruslandh
26-08-2002, 05:06
Еше раз поднимаю топик.



Исправлено: ruslandh, 7:12 26-08-2002

xoid26
29-08-2002, 05:59
Наконец-то! Альфа-версия проекта linux-sovety уже доступна по адресу http://linuxbegin.by.ru/linux-sovety/. Вся информация из этого thread'а перенесена туда. Welcome.


Здесь была реклама.....BigMac




© OSzone.net 2001-2012