Linux -сборник рецептов

       

Установка и модификация





Снова длинная цепочка сообщений об ошибках, указывающих на новые неразрешенные зависимости. Загружаем новый архив, снова работа в саду. К тому моменту, когда все было установлено и нормально работало, помидоры вырастали до размеров дыни. Хорошо, что в те времена мы были такими умными, что могли бы обойтись и без компьютеров.
Почему возникали эти мучения с зависимостями? Потому что в Linux используются общие библиотеки, которые динамически подключаются на стадии выполнения. Многие программы, совершенно не связанные друг с другом, пользуются одними библиотеками; такая архитектура повышает скорость и эффективность системы. Программы расходуют меньше памяти и места на диске, становятся более компактными, что упрощает их распространение. Но по мере эволюции и усложнения системы Linux становилось все труднее справляться с построением системы по исходным текстам. Так программы стали оформляться в виде пакетов. В пакет входят откомпилированные библиотеки; сценарии, выполняемые до и после установки; файловые индексы; сценарии удаления и т. д. Каждый пакет знает все, что ему необходимо знать для разрешения своих зависимостей. Информация обо всех файлах, установленных из пакетов, хранится в системной базе данных пакетов.




Вывод списка конфигурационных файлов системной команды:
$ rpm -qcf /usr/bin/ssh /etc/ssh/ssh_config


Вывод списка всех установленных пакетов:
$ rpm -qa setup-2.5.27-1.1 tzdata-2003d-l bzip2-libs-l.0.2-10
Сохранение списка в файле с параллельным просмотром на экране:
$ rpm -qa | tee rpmlist.txt
Определение того, к какому пакету принадлежит тот или иной файл:
$ rpm -qf /usr/bin/tuxkart tuxkart-0.2.0-3
Запросы RPM не обрабатывают символические ссылки и сообщают, что файл «не принадлежит ни к одному пакету». Чтобы найти файл, на который указывает символическая ссылка, воспользуйтесь командой
$ namei -/tuxkart f: tuxkart l tuxkart -> /usr/games/tuxkart d / d usr d games - tuxkart
Вывод информации о пакете:
$ rpm -qi kdegames Name :kdegames Relocations/usr Version :3.1.4 Vendor:Red Hat. Inc. Release :2 Build date: Mon 13 Oct 2003 Install date:Tue Nov 5.2003 Build host: daffy.perf.redhat.com Group : Amusements/Games Source RPM:kdegames-3.1.4-2.src.rpm Size :16167441 License: GPL Signature :DSA/SHA1. Tue 28 Oct 2003 Key ID b446dO4f2a6fd2 Packager :Red Hat. Inc. <http://bugzilla.redhat.com/bugzi11a> Summary :K Desktop Environment - Games Description : Included with this package are: kenolaba, kasteroids. kblackbox, kmajongg. kmines. konquest, kpoker. kreversi, ksame. kshisen. ksokoban. ksmiletris. ksnake. ksirtet, katomic. kjumpingcube, ktuberling



Листинг 2.1 (продолжение)
Group: System Environment/Base License: None __eof__
found=0: orphan=0; echo " Scanning system libraries SNAME version $VER-$REL... " find $LIBS -type f \( -name '*.so.*' -o -name '*.so' \) | while read f do ((found++)) if ! rpm -qf $f >/dev/null 2>&1 then ((orphan++)) echo "Provides: $(basename $f)" >&9 fi echo -ne "Orphans found: $orphan/$found...\r" done echo '': echo ''
cat <<__eof__ >&9
%description This is a virtual RPM package. It contains no actual files. It uses the 'Provides' token from RPM 3.x and later to list many of the sharedlibraries that are part of the base operating system and associated subsets for this SOS environment.
%prep # nothing to do
%build # nothing to do
%install # nothing to do
%clean # nothing to do
%post # nothing to do
%files
__eof__
exec 9>&- rpmbuild -ba $TMPSPEC; rm $TMPSPEC См. также
rpm(8), rpmbuild(8); Maximum PRM (http://www.rpm.org/max-rpm/index.html).
2.10. Решение проблем установки RPM


См. также rpm(8); RPM.org (http://www.rpm.org/); Maximum PRM (http://www.rpm.org/maxrpm/index.html).



Найдите в распакованном архиве сценарий configure и запустите его встроенную команду:
# cd /usr/src/redhat/S0URCES/samba-3.0.0/source # ./configure --help 'configure' configure this package to adapt to many kinds of systems ... Optional Packages: with-PACKAGE[=ARG] use PACKAGE [ARG=yes] without-PACKAGE do not use PACKAGE with-fhs Use FHS-compliant paths with-privated=DIR Where to put smbpasswd ...
Настроив директиву %configure по своему усмотрению, сохраните и закройте файл.
Создатели пакетов не могут удовлетворить потребности всех пользователей. Настройка SRPM позволит легко обеспечить именно тот набор параметров конфигурации, который нужен в вашем конкретном случае.
В наше время настройка конфигурации SRPM чаще всего применяется для добавления или настройки поддержки аутентификации. Существует много разных внутренних модулей аутентификации (LDAP, MySQL, BerkeleyDB, PostgreSQL) и много разных аутентификационных протоколов. С точки зрения безопасности рекомендуется включать только те возможности, которые будут реально использоваться.
См. также rpmbuild(8), rpm(8); RPM.org (http://www.rpm.org/); Maximum PRM (http://www.rpm.org/max-rpm/index.html).



University of Southern California. USA ftp: //mirrors.use.edu/pub/linux/fedora/ http://mirrors.use.edu/pub/linux/fedora/
Теперь отредактируйте файл /etc/yum.conf, используя стандартные записи в качестве образца:
[base] name=Fedora Core $releasever - $basearch - Base baseurl=http://mirrors.kernel.org/fedora/core/$releasever/$basearch/os baseurl=http://mirrors.use.edu/pub/linux/fedora/$releasever/$basearch/os


Поиск конкретных пакетов:
# yum list installed | grep -i tux tuxracer i386 0.61-23 tuxracer i386 0.2.0-3
Вывод информации о пакете:
# yum info tuxracer
Отображение пакетов, для которых имеются обновления:
#yum list updates

Содержание раздела