Шрифт:
исходный код программы, то есть перечень указаний этой программы в удобном для чтения
виде. Это приводит к определенным последствиям, но самым важным является то, что они
добровольно выкладывают свою программу для всеобщего обозрения каждому, у кого есть
доступ к глобальной сети. Сложно заложить шпионский код в программу, если вы позволяете
каждому видеть то, что написали!
Далее программа попадает к разработчикам пакетов, которые являются либо добровольцами,
либо оплачиваемыми работниками одного из дистрибутивов Linux. Это их задача —
компилировать исходный код программы, протестировать его на работоспособность в
дистрибутиве, решить все проблемы, которые при этом возникают, и в конце концов
упаковать компилированную (то есть в машинных кодах) программу в необходимый формат.
Этот пакет содержит выполняемую программу (ы), конфигурационные файлы и инструкции,
необходимые программе управления пакетами, для успешной установки. Заметьте: пакет
обычно не содержит статических библиотек, ибо в этом нет необходимости. Библиотеки
предоставляют другие пакеты, известные как раздельные библиотеки - библиотеки данных,
предназначенных для совместного использования различными программами. Ваша
программа управления пакетами будет знать, что определённый пакет требует
предварительной установки другого пакета (например, разделяемой библиотеки). Как вы
помните, библиотеки данных и другие пакеты, необходимые для работы программы, было
объявлено ранее выше, и эту информацию вложено в пакет. Инструкции настолько
29
подробные, что даже конкретные версии других пакетов, можно проверить по
совместимости. Напоследок готовый пакет загружают на специальный файловый сервер,
который называют хранилищем программного обеспечения (репозиторий).
Именно отсюда, с одного места, вы можете загрузить и установить необходимое
программное обеспечение. Вы будете знать, что оно вполне безопасное, потому что имеет
подписанный сертификат, который будет проверено вашим менеджером пакетов. Также вы
будете уверены, что безопасным является любой устанавливаемый пакет, потому что
непосредственно каждый из них подписан ключом GPG, который также подлежит проверке
менеджером пакетов. Ваш менеджер пакетов даже проверит контрольную сумму MD5 для
каждого пакета так же, как вы уже это делали с ISO-образом LiveDVD, чтобы убедиться, что
во время загрузки не произошло ошибки.
Обратите внимание на то, что все это он делает самостоятельно. Вы в это время просто
сидите в кресле и общаетесь в чате #linuxmint на XChat. Менеджер пакетов загрузит
выбранные вами пакеты и в дальнейшем будет строго придерживаться инструкций пакетов
(компьютеры скрупулёзны в соблюдении инструкций), чтобы безупречно установить ваше
программное обеспечение вместе с его зависимостями в надлежащем порядке. Для ошибки
человека здесь нет места: если пакет работал на компьютере разработчика, значит он будет
работать и на вашем, ибо менеджер пакетов точно выполнял ту же процедуру.
Когда наступит время для проверки обновлений программного обеспечения, ваш менеджер
пакетов автоматически сравнит версию установленного программного обеспечения с той, что
достижима в репозитории, и сделает все необходимое, чтобы Ваша система работала
надёжно. Например, если в репозиторий поступила версия 2.4 BestSoft, а у вас установлена
версия 2.3, менеджер пакетов сравнит номера версий и предложит установить последнюю,
поинтересовавшись, конечно, о зависимостях, необходимых для новой версии программы.
Звучит неплохо? Дальше будет лучше.
В отличие от машин, людям свойственно ошибаться, и время от времени что-то случается не
так, как было запланировано. Возможно, вы случайно установите драйверы не на то
оборудование и нарушите что-то в системе. Может так случиться, что возникнет сбой работы
программы или вашу любимую функцию в программе по каким-то причинам удалят из
приложения разработчики. Все эти проблемы, как ни парадоксально, способны быть
индикаторами надёжности и безопасности системных пакетов. Ваш менеджер пакетов