Редактирование: UNИX, осень 2007, 09 лекция (от 30 ноября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 50: Строка 50:
Разделяемая библиотека.
Разделяемая библиотека.
* При использовании библиотек программы занимают мало место
* При использовании библиотек программы занимают мало место
-
* Библиотека загружается в память один раз
+
* Библиотека загружается в память один разархивировать
* Для такой штуки не нужно даже своп заводить --- свопом этого файла будет файл на диске.
* Для такой штуки не нужно даже своп заводить --- свопом этого файла будет файл на диске.
Строка 59: Строка 59:
Вернёмся к бинарнику. Теперь понятно, почему скачанный бинарник может не заработать. Потому что кроме того, что там непонятно какие зависимости, каких версий... Поэтому делают сборки под разные дистрибутивы. Или делают статическую линковку. Поэтому гораздо больше вероятность, что запустится бинарник, чем чужой rpm.
Вернёмся к бинарнику. Теперь понятно, почему скачанный бинарник может не заработать. Потому что кроме того, что там непонятно какие зависимости, каких версий... Поэтому делают сборки под разные дистрибутивы. Или делают статическую линковку. Поэтому гораздо больше вероятность, что запустится бинарник, чем чужой rpm.
-
* Конфликты. Пакеты называются одинаково (vi), но файлы разные. Есть метод --- альтернатива --- который позволяет избежать конфликтов. Будет vi, но будет ещё файл vi.original, и там будет несколько файлов, и за имя vi побеждает тот, у кого вес больше.
+
* Конфликты. Пакеты называются по-разному (vi), но файлы одинаковые. Есть метод --- альтернатива --- который позволяет избежать конфликтов. Будет vi, но будет ещё файл vi.original, и там будет несколько файлов, и за имя vi побеждает тот, у кого вес больше.
-
Кроме этого существуют непрямые зависимости. Может быть такая ситуация, что для работы вашего продукта другой программный продукт не нужен. Например, для почтового вебсервера нужен почтовый сервер --- нет, но это ситуация редкая. Поэтому установка почтового сервера требовать или нет? По-хорошему надо, но это рекомендованный пакет. <i>(vvk: веб-интерфейс может быть размещён на отдельном хосте, ovz-контейнере, etc, так что в данном случае такая зависимость скорее вредна чем полезна ;))</i> По принципу нестрогих зависимостей была устроена документация в альте.
+
Кроме этого существуют непрямые зависимости. Может быть такая ситуация, что для работы вашего продукта ругой программный продукт не нужен. Например, для почтового вебсервера нужен почтовый сервер --- нет, но это ситуация редкая. Поэтому установка почтового сервера требовать лии нет? По-хорошему надо, но это рекомендованный пакет. По принципу нестрогих зависимостей была устроена документация в альте.
В рамках дистрибутива всё будет хорошо.
В рамках дистрибутива всё будет хорошо.
-
Когда вы обращаетесь к хранилищу, может случиться ситуация, что уже все поменялось. В этом случае можно попробовать следующий способ: помимо rpm есть src.rpm, в котором всё необходимое для сборки программного продукта. Можно скачать src.rpm и пересобрать его в своём окружении. Всё сводитя к выполнению новых команд:
+
Когда вы обращаетесь к хранилищу. Может случиться ситуация, что уже все поменялось. В этом случае можно попробовать следующий способ: помимо rpm есть src.rpm, в котором всё необходимое для сборки программного продукта. Можно скачать src.rpm и пересобрать его в своём окружении. Всё сводитя к выполнению новых команд:
* Скачать src.rpm
* Скачать src.rpm
* Собрать. Образуется бинарный rpm
* Собрать. Образуется бинарный rpm
Строка 72: Строка 72:
Рассказ про us army lab
Рассказ про us army lab
-
Важная вещь: откуда берутся пакеты. Существует хранилище (указанное в /etc/apt/sources.list), которое в сумме даёт граф зависимостей, их можно как-то сравнивать и производить обновления.
+
Важная вещь: откуда берутся пакеты. Существует хранилище (указанное в e/tc/apt/sources.list), которое в сумме даёт граф зависимостей, их можно как-то сравнивать и производить обновления.
-
Против чужих пакетов в репозитории:
+
Против чужих пакетов
* Чужие пакеты --- может перестать работать обновление
* Чужие пакеты --- может перестать работать обновление
* Сборка. Если хотите активно пользоваться программой, то скачали, conf-make-make install, потом ещё раз скачали... В результате, 16 версий библиотеки, удалить их нельзя, потому что может их ещё кто-то использовать, начинают находиться старые библиотеки вместо новых. Поэтому надо класть в сизиф собранные пакты.
* Сборка. Если хотите активно пользоваться программой, то скачали, conf-make-make install, потом ещё раз скачали... В результате, 16 версий библиотеки, удалить их нельзя, потому что может их ещё кто-то использовать, начинают находиться старые библиотеки вместо новых. Поэтому надо класть в сизиф собранные пакты.

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Разделы