Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/LecturesCMC/LinuxSoft2007/09/01ThirdParty
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 08:17:09 2016
Кодировка: UTF-8
LecturesCMC/LinuxSoft2007/09/01ThirdParty - UNИX

Установка стороннего ПО

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

Установщик пакетов

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

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

Установка программ в линукс это такая штука, которую лучше делать в рамках репозитория, но можно и по-другому, и способов три: * Собрать собственными силами * Попробовать взять чужой пакет. Может оказаться, что пакет хочет те же библиотеки, но с другими именами * Скачать какие-то бинарники, куда-то положить, как-то запустить. Тоже не очень хороший вариант

О каталогах

Единственное, что можно добавить к прошлой лекции: как распоряжаться этими бинарниками. Очень не рекомендуется пользоваться так называемыми инсталляторами. В самом лучшем случае он сделает следующее: в /opt/ (в котором ставятся программы вне дистрибутива) будет /opt/(program name)/{bin, lib, ...} Единственная проблема перед разработчиками --- заставить запускаться бинарник оттуда. Поэтому даже в этом случае он нагадит в /usr/bin/ пускачем (это плохо тем, что в стандартом каталоге будет файл, не принадлежащий ни одному пакету).

Чуть менее хороший вариант --- /usr/local/{bin, lib, ...}. /usr/local/ --- то, что живет только на вашей системе и должно быть сохранено после убиения системы и установки новой. Чем это плохо --- конфликт имен. Чем это лучше --- /usr/local/ обычно есть в PATH и установщик больше никуда лезть не будет. И то, и другое должно происходить от имени рута, и этим лектору еще больше не нравится идея использовать установщики. При этом никто не гарантирует, что в ваши стандартные места не наложит барахла. Например, кроссовер офис любит в usr/bin любит складывать симлинки на виндовые программы, которые сам же и запускает. Еще есть ~/bin и ~/.local, но отнюдь не все программы смогут запуститься.

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


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

0

1

1

1

1

PavelSutyrin, ОльгаТочилкина, VsevolodKrishchenko


CategoryLectures CategoryCmc CategoryUneex

LecturesCMC/LinuxSoft2007/09/01ThirdParty (последним исправлял пользователь eSyr 2008-07-24 15:14:28)