412 000 произведений, 108 200 авторов.

Электронная библиотека книг » Денис Колисниченко » Fedora 8 Руководство пользователя » Текст книги (страница 6)
Fedora 8 Руководство пользователя
  • Текст добавлен: 9 октября 2016, 01:26

Текст книги "Fedora 8 Руководство пользователя"


Автор книги: Денис Колисниченко


Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 6 (всего у книги 18 страниц) [доступный отрывок для чтения: 7 страниц]

3.1.5. Установка дополнительных репозиториев

В предыдущей главе мы рассматривали подключение репозитория livna. Напомню вам команды для подключения данного репозитория:

rpm -ihv http://rpm.livna.org/Livna-release-8.rpm (для Fedora 8)

rpm -ihv http://rpm.livna.org/livna-release-7.rpm (для Fedora 7)

rpm -ihv http://rpm.livna.org/livna-release-6.rpm (для Fedora Core 6)

С командой rpm мы познакомимся в следующем разделе этой главы, а пока вам нужно знать, что для ее выполнения нужны права пользователя root, поэтому, перед тем как ввести эту команду в терминале, нужно ввести команду su.

В результате устанjdки пакета livna-release не произойдет ничего нереального и фантастического: просто в каталог /etc/yum.repos.d будет добавлен файл, описывающий репозиторий Livna. Вот и все.

Но репозиторий livna – это не единственный полезный репозиторий. Кроме него я настоятельно рекомендую установить репозиторий freshrpms:

rpm-ivh http://ftp.freshrpms.net/pub/freshirpms/fedora/1inux/7/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/f edora/linux/8/freshrpms-release/freshrpms-release-1.1-1.fс.noarch.rpm

Первую команду нужно ввести, если у вас Fedora 7, а вторую – если у вас самая современная версия дистрибутива – восьмая.

Это еще не все! Сейчас мы вручную добавим два репозитория.

Откройте ваш файл /etс/yum.conf:

su # если вы уже получили права root, su вводить не нужно!

gedit /etc/yum.conf

После секции main добавьте следующие строки:

[macromedia]

name=Масrоmediа for i386 Linux

baseurl=http://macromedia.rediris.es/rpm/

#baseurl=http://macromedia.mplug.org/rpm/

#baseurl=http://sluglug.ucsc.edu/macromedia/rpm/

enabled=1

gpgcheck=1

gpgkey=http://macromedia.rediris.es/FEDORA-GPG-KEY

[newrpms.sunsite.dk]

name=Fedora Core i386 NewRPMS.sunsite.dk

baseurl=http://newrpms.sunsite.dk/apt/redhat/en/basearch/fс$releasever

#http://newrpms.atrpms.net/apt/redhat/en/$basearch/fc$releasever

failovermethod=priority

enabled=0

gpgcheck=1

Вообще-то, вы можете данные секции скопировать в отдельный файл, а затем поместить этот файл в каталог /etc/ yum.repos.d, но, на мой взгляд, проще их поместитъ в yum.conf.

Секция macromedia описывает репозиторий oт Macromedia для Linux, а вторая секция, newrpms.sunsite.dk, описывает альтернативный источник пакетов от SunSite. Позже мы будем устанавливать пакеты на этих репозиториев, поэтому не поленитесь добавить их.

После редактирования файла yum.conf сохраните его и введите следующие две команды:

rpm -import http://freshrpms.net/packages/RPM-GPG-KEY.txt

rpm -import http://newrpms.sunsite.dk/gpg-pubkey-newrpms.txt

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

3.1.6. Yum и прокси-сервер

Вы подключаетесь к Интернету через прокси-cервеp, а не напрямую? Тогда у вас могут возникнуть проблемы с yum – он откажется работать. Чтобы заставить его работать, нужно в конфигурационном файле /etc/yum.conf указать имя про-кси-cервера (или его IP-адрес), порт, имя пользователя и пароль (если нужно). Предположим, что ваш прокси-сервер называется proxy.firma.ru, работает через порт 3128, и нам администратор сети присвоил имя пользователя denis и пароль qwerty. Тогда в секцию main файла yum.сonf вам нужно добавить следующие строки:

# имя сервера и его порт в формате: имя:порт

proxy-http://proxy.firma.ru:3128

# Параметры учетной записи (если: нужно)

proxy_username-denis

proxy_password=qwerty

После этого yum должен работать с прокси-сервером нормально.

3.2. Графический менеджер пакетов pirut
3.2.1. Усовершенствование программы pirut в Fedora 8

В предыдущих версиях дистрибутива Fedora (6 и 7) конфигуратор pirut (он же system-config-packages) был довольно проблемным приложением. Проблема была связана с неправильной настройкой репозиториев пакетов. В восьмой версии Fedora все проблемы с pirut устранены. Если же у вас до сия пор седьмая версия дистрибутива, тогда В последующих параграфах будет описано, как правильно настроить программу pirut.

В восьмой версии Fedora вообще нет конфигуратора system-config-packages. При выборе команды меню Приложения→Установка→Удаление программ запускается программа pirut. Зато в восьмой версии есть программа system-instalI-packages, предназначенная для установки пакетов, переданных ей в качестве параметров, работающая в графическом режиме. С ней мы уже успели познакомиться при установке Flash-плагина дли браузера Firefox.

Запустите программу pirut (команда меню Приложения→Установка/удаление программ). Появится сообщение о том, что не удается получить сведения о программах (рис. 3.5). Не волнуйтесь, все нормально. Щелкните на кнопке Repository Manager и в раскрывшемся окне Repository Manager отключите все репозитории кроме InstallMedia (рис. 3.6).

Рис. 3.5. Ошибка: не удается получить сведения о программах


Рис. 3.6. Окно Repository Manager

После этого заново запустите программу pirut, предварительно установив дистрибутивный DVD системы в привод. Программа запустится без ошибок и вы сможете устанавливать пакеты, используя дистрибутивный DVD (рис. 3.7).

Открыть снова окно менеджера источников можно, нажав ‹Ctrl+R› в окне менеджера пакетов.

Рис. 3.7. Менеджер пакетов

3.2.2. Проблема с system-config-packages в Fedora 6/7

Наверное, вы уже пробовали запускать программу Установка/удаление приложений (меню Приложения) и заметили, что если запустить ее, когда компьютер не подключен к Интернету, программа отказывается работать. И это не удивительно, ведь программа pirut (она же system-config-packages), запускаемая командой меню Приложения→Установка/удаление приложений, всего лишь графический интерфейс для yum, а yum, как уже было отмечено, по умолчанию настроен на использование Интернет-репозитория.

Но есть одна загвоздка. Рассмотрим реальную ситуацию. Вы установили Fedora, но при установке выбрали не все пакеты с DVD. Вообще-то, это разумное решение, Ведь вам все пакеты и не нужны, да и учитывая то, что Fedora при выборе пакетов не сообщает, сколько места они занимают на диске, очень легко превысить доступное дисковое пространство.

После установки вы рассчитываете, что доустановите с дистрибутивного DVD необходимые дополнительные пакеты. Вы запускаете программу Установка/удаление приложений и получаете… сообщение об ошибке. Да, yum настроен только на Интернет-репозитории и ничего знать не желает о пакетах, которые имеются на дистрибутивном DVD.

Получается своего рода замкнутый круг:

• вы боитесь превысить доступное дисковое пространство, потому что именно инсталлятор Fedora не выводит сведения о размере выбранных пакетов;

• но в то же время вы не можете установить пакеты с DVD, потому что yum отказывается это сделать.

Тогда у вас один выход – закачать нужные пакеты с Интернета, используя программу Установка/удаление приложений, Но как это сделать, если у вас пока нет подключения к Интернету, или есть, но очень медленное (модем или GPRS), Иногда мне кажется, что Fedora создана для пользователей с огромным жестким диском и очень быстрым Интернетом. Да, для таких пользователей, которым не нужно беспокоиться о дисковом пространстве (поэтому при установке и не выводится размер выбранных пакетов) и трафике. Какая разница, сколько займет на диске дистрибутив: 2 или 6 Гбайт, если свободно еще 300 Гбайт? Какая разница, сколько занимают устанавливаемые макеты, если трафик безлимитный, да и скорость соединения в несколько мегабитов в секунду.

Теперь вернемся к нашей ситуации и попытаемся ее решить. Первое, что приходит в голову – это установить имеющиеся на DVD пакета с помощью программы rpm. Идея хорошая, но если вам нужно установить какой-то программный комплект, например, тот же KDE, в состав которого входит множество пакетов и каждый пакет с огромным списком зависимостей, то у вас быстро пропадет желание использовать rpm.

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

Сейчас я расскажу, как решал проблему с yum на cвоем домашнем компьютере. Честно говоря, я мог бы этого и не делать, поскольку скорость используемого соединения (1 Мбит/с) позволяет мне загружать пакеты с Интернета. Просто не хочется платить за трафик, особенно учитывая то, что все необходимые пакеты есть на дистрибутивном DVD, а потраченный на загрузку пакетов трафик можно было бы использовать на что-то более лолезное.

Первым делом я отключил все Интернет-репозитории, чтобы они не мешали, Если ваш компьютер не подключен к Интернету, то вам рекомендую сделать то же самое. Напомню, что для отключения репозитория нужно открыть файл этого репозитория (см. каталог /etc/yum.repos.d) и установить для опции enabled значение 0:

enabled=0

Если у вас описаны дополнительные репозитории в /etc/yum.conf, то их тоже нужно отключить. Когда появится доступ к Интернету, вы всегда сможете их включить.

После этого откройте yum.conf и добавьте в него строки:

[base]

name=Fedora

baseurl=file://mnt/cdrom

enabled=1

Как видите, я добавил репозиторий и в качестве адреса указал каталог /mnt/cdrom. Конечно, нужно предварительно "подмонтировать" мой DVD к этому каталогу:

# mount /dev/cdrom /mnt/cdrom

Поcле этого я запустил программу управления пакетами:

# system-config-packages

Напомню: если перед командой указан знак #, то это означает, что команда должна быть выполнена от имени пользователя root.

Программа запустилась, отобразила группы пакетов и сами пакеты! Но чуда не произошло. При попытке установки пакета я увидел сообщение об ошибке:

[Еrrno 4] IOError: ‹urlopen error unknown url type: media›

Ради интереса введите данную фразу в любой поисковик: вы увидите очень много ссылок (один только Google нашел более 150 ссылок). Выходит, не один я столкнулся с такой проблемой.

Чтобы решить данную проблему, вам нужно установить пакет createrepo. Он находится на DVD (каталог Fedora/RPMS/) и не требует дополнительных пакетов, поэтому проблем с его установкой у нас не будет:

# rpm -ihv createrepo*

Затем нужно создать каталог, который будет использоваться как репозиторий пакетов. Сразу вас успокою: мы не будем копировать все пакеты с дистрибутивного DVD на жесткий диск, поэтому можете не беспокоиться относительно используемого места.

Для репозитория был создан каталог dvd-repo:

# mkdir /dvd-repo

Затем перейдите в каталог DVD, содержащий пакеты (Fedora/RpmS). Я предполагаю, что DVD "подмонтирован" к каталогу /mnt/cdrom:

 cd /mnt/cdrom/Fedora/RPMS

После этого введите команду:

# createrepo -o /dvd-repo ./

Данная команда создаст в каталоге /dvd-repo репозиторий по файлам, которые находятся в каталоге /mnt/cdrom/Fedora/ RPMS. Теперь, реально, у нас есть репозиторий, но в нем нет пакетов. Понятно, что при попытке установки из такого "хранилища" мы получим сообщение ой ошибке. Поэтому нам нужно ввести следующую команду:

ln -s /mnt/cdrom/Fedora/RPMS/* /dvd-repo

Данная команда создаст в каталоге /dvd-repo символические ссылки на файлы, которые находятся на DVD. Вот и все. Осталось только настроить файл yum.conf. Для этого откройте /etc/yum.conf:

# gedit /etc/yum.conf

А затем добавьте в него следующие строки:

[base]

baseurl-file:///dvd-rеро

enabled=1

gpgcheck=0

Проверь подписей пакетов для данного репозитория и отключил, поскольку пакеты записаны на DVD – проверять подпись пакета нет смысла. После этого вы можете запустить графический менеджер пакетов – все будет работать:

# system-config-packages

Полная версия файла конфигурации yum.conf для установки пакетов с дистрибутивного DVD представлена в листинге 3.3.

Листинг 3.3. Конфигурационный файл /etc/yum.conf для установки пакетов с DVD

[main]

cachedir=/var/cache/yum

logfile=/var/log/yum.log

kеерсасhе=0

pkgpolicy=newest

distroverpkg=redhat-release

tolerant=1

exactaxch=1

obsoletes=1

gpgcheck=1

plugins=1

metadata_expire=1800

[base]

name=Fedora-DVD

baseurl=file:///dvdl-repo

gpgcheck=0

Приведенный мною способ решения проблемы – далеко не единственный. Если вам интересно, как другие пользователи "побороли" данную проблему, посетите следующую Web-страницу:

http://www.dkws.org.ua/phpbb2/viewtopic.php?t=1286

3.2.3. Дополнительные репозитории

Предположим, что у вac появился доступ к Интернету, но yum уже настроен на локальный источник – дистрибутивный DVD, На самом деле – это не проблема. Перейдите в каталог /etc/yum.repos.d, откройте файл нужного репозитория и установите для eго опции enabled значение 1:

enabled=1

Проблема решена.

3.2.4. Создание собственного сервера пакетов

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

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

Идеи проста, как все гениальное: на одном из компьютеров, работающих под управлением Fedora, развернуть Web-сервер, в его корневой каталог поместить все пакеты с дистрибутивного DVD, создать репозиторий с помощью утилиты createrepo и настроить все остальные компьютеры в сети на использование "домашнего" репозитория.

Итак, у нас есть план действия, осталось только воплотить его в реальность. Для начала нам нужен. Web-сервер. Для определенности будем считать, что мы установили Web-сервер на компьютере с именем comp1 и IP-адресом 192.168.1.1.

Установить Web-сервер можно с помощью команды:

yum install httpd

После установки Web-сервера откройте его конфигурационный файл:

# gedit /etc/httpd/conf/httpd.conf

Найдите в нем директиву ServerName и укажите в ней доменное имя компьютера, на котором установлен Web-сеpвеp, например: ServerName comp1.firma.ru

Сохраните файл httpd.conf. После этого нужно "подмонтировать" DVD с пакетами и скопировать все файлы в /var/www/html – это корневой каталог документов Web-сервера:

# mount /dev/cdrom /mnt/cdrom

Теперь перейдите в каталог /var/www/html и создайте репозиторий:

# cd /var/www/html

# rpm -ihv createrepo* (не нужно, если createrepo уже установлена)

# createrepo ./

Все готово. Осталось только запустить Web-сервер:

# /etc/init.d/httpd start

В дальнейшем Web-сервер будет запускаться автоматически по умолчанию, поэтому вам не придется вводить эту команду каждый день.

Сервер настроен. Теперь перейдем к остальным компьютерам, которые будут использовать наш сервер пакетов. На каждом компьютере в каталоге /etc/yum.repos.d нужно создать файл internal.repo (название можно выбрать другое):

# cd /etc/yum.repos.d

# touch internal.repo

# gedit internal.repo

Содержимое файла internal.rеро представлено в листинге 3.4.

Листинг 3.4. Содержимое файла /etc/yum.repos.d/internal.repo

[internal]

name=fedora-internal

baseurl=http://comp1

enabled=1

gpgcheck=0

Если DNS-сервер в вашей сети не настроен, вместо доменного имени можно указать IP-адрес сервера пакетов: baseurl=http://192.1б8.1.1

Вот теперь никогда не возникнет "коллизий" между пользователями – теперь все они могут устанавливать пакеты одновременно.

3.2.5. Автоматическое обновление системы

Как только вы подключаетесь к Интернету, специальная программа, отслеживающая обновлении пакетов, связывается с сетевыми репозиториями и проверяет, есть ли новые версии установленных а вашей системе пакетов. Если новые версии пакетов найдены, вы увидите соответствующее сообщение (рис. 3.8.).

Рис. 3.8. Доступны обновления

При желании можно щелкнуть на кнопке Просмотр обновлений или просто закрыть окно уведомления. Просмотр обновлений позволяет выбрать пакеты для обновления, т.е. вы caми определяете, какие пакеты нужно обновлять, а какие – нет (рис. 3.9).

Рис. 3.9. Просмотр обновлений

Обновление системы помогает поддерживать вашу систему в актуальном состоянии, но постоянно обновлять систему накладно, если у вас не безлимитный Интернет. Если за каждый мегабайт трафика приходится платить свои кровные, тогда лучше вообще отключить уведомления об обновлениях. Для зтого выберите команду Система→Параметры→Персональные→Сеансы и в раскрывшемся окне Сеансы на вкладке Запускаемые при старте программы сбросьте флажок программы Уведомления об обновлениях ПО (рис. 3.10).

Pиc. 3.10. Отключение напоминаний об обновлении

3.3. Программа rpm: локальная установка пакетов
3.3.1. Немного истории

Раньше, когда не было Интернет-репозиториев, во всех RH-совместимых дистрибутивах для установки, удаления и обновления пакетов использовалась программа rpm. RPM (аббревиатура oт Red hat Package Manager) – это один из самых «древних» менеджеров пакетов. Правда, в первой бета-версии дистрибутива Red Hat, которая увидела свет 29 июня 1994 года, использовался другой менеджер пакетов – RPP, Этот менеджер имел ряд существенных недостатков, поэтому уже во второй версии дистрибутива (1995 год) он был заменен на более «продвинутый» менеджер пакетов – RPM.

Сейчас программу RPM можно встретить во многих дистрибутивах Linux – Fedora, Mandriva, ALT Linux, ASP Linux и др. Но во вcex этим дистрибутивах данная программа остается только для обеспечения совместимости, а по умолчанию используются более совершенные системы управления пакетами, например yum и apt. Преимущества новых систем управления пакетами в том, что они поддерживают удаленные хранилища пакетов. Менеджер RPM, холь и поддерживает установку удаленного пакета (в смысле пакета» расположенного на удаленном сервере), но он не поддерживает концепцию репозиториев как таковую и не позволяет разрешать зависимости непосредственно на этапе установки. На страницах книги эта фраза звучит совсем не страшно, но на практике, поверьте, это очень неудобно. Представьте, что в вашей системе не установлена оболочка KDE, а вы очень хотите ее установить. В yum вам достаточно указать пакет kdebase, и KDE будет установлена. В случае с RPM вы увидите сообщение о том, что пакет kdebase зависит от нескольких пакетов, Когда же вы попытаетесь установить те пакеты, то обнаружите, что они, в свою очередь зависят от других пакетов. Нужно обладать действительно прочным запасом терпения, чтобы устанавливать большие программные комплексы с помощью RPM. Поэтому в большинстве случаев вы будете пользоваться программой yum, а о программе RPM вам нужно знать только потому, что это – традиция.

Но, ради справедливости, нужно отметить, что RPM намного удобнее для локальной установки пакетов. Например, дома у вас нет Интернета, вы на работе скачали все необходимые пакеты, записали на CD и принесли домой. Дома вам нужно их установить. В yum тоже есть возможность установки локальных пакетов, но эта программа ориентирована на работу с Интернет-репозиториями, поэтому даже при установке локального пакета она попытается связаться с репозиториями, и если обнаружит, что они недоступны (Интернета-то нету!), то у вас не получится установить даже локальный пакет. В случае с RPM при установке локального пакета у вас не возникнет ни малейшей проблемы.

3.3.2. Формат имени пакета

Еще со времен второй версии дистрибутива Red Hat принято файлы пакетов называть так:

<имя-программы>-<версия>-<релиз>.<архитектура>.rpm

Например:

program-0.94-2-i386.rpm

3.3.3. Использование RPM

Программа RPM не имеет графического интерфейса, поэтому запускать ее нужно в консоли или в терминале (команда меню Приложения→Системные→Терминал). Формат вызова программы rpm следующий:

rpm [-опции] [пакеты]

Напомню, что установка программ – это привилегия пользователя root, поэтому перед запуском программы нужно ввести команду su, чтобы "превратиться" в пользователя root.

3.3.3.1. Установка пакетов

Для установки пакета (или пакетов – в командной строке можно указать несколько пакетов) используется опция -i:

rpm – i пакет

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

rpm -ihv пакет

Предположим, что нам нужно установить пакеты program-base-0.94-2.i386.rpm, program-gui-0.94-2.i386.rpm и program-docs-0.94-2.i386.rpm, которые находятся в каталоге /home/den. При вызове rpm нам нужно указывать полный путь к пакетам (ведь RPM не использует хранилища пакетов, поэтому не "знает", где искать пакеты).

rpm -ihv /home/den/program-base-0.94-2.i386.rpm

rpm -ihv /home/den/program-gui-0.94-2.i386.rpm

rpm -ihv /home/den/program-docs-0.94-2.i346.rpm

Понятно, что намного проще сначала перейти в каталог /home/den, а потом уже вводить команду rpm.

rpm -ihv program-base-0.94-2.i386.rpm

rpm -ihv program-gui-0.94-2.i386.rpm

rpm -ihv program-docs-0.94-2.i386.rpm

Можно все эти пакеты указать в одной команде:

cd /home/den

rpm -ihv program-docs-0.94-2.i386.rpm program-gui-0.94-2.i386.rpm рrogram-docs-0.94-2.i386.rpm

Но еще проще использовать маски.

cd /home/den

rpm -ihv program*

В этом случае будут установлены все пакеты, которые начинаются со строки program.

Если пакет находится в Интернете, то вы можете указать URL пакета, например, так:

rpm -ihv ftp://dkws.org.ua/files/program-base-0.94-2.i386.rpm

Понятно, что перед вводом этой команды нужно предварительно подключиться к Интернету.

Программа rpm поддерживает только протокол FTP (File Transfer Protocol). Протокол HTTP (Hyper Text Transfer Protocol) не поддерживается.

Если при установке пакета будет выяснено, что он зависит от другого пакета, установка будет прервана до тех пор, пока вы не установите пакет, от которого зависит устанавливаемый вами пакет. Если такого пакета нет, то все равно вы можете установил нужный нам пакет. У программы RPM есть режим –nоdeps, позволяющий пропускать проверку зависимостей:

rpm -i –nodeps пакет

Правда, никто не может гарантировать, что установленный таким образом пакет, будет работать. Сами посудить, что толку от установленной программы, если не установлена библиотек функций, которую использует устанавливаемая программа? После запуска программа нам сообщит, что не может найти библиотечный файл и завершит работу…


    Ваша оценка произведения:

Популярные книги за неделю