1

Я новичок в Linux и до сих пор не вижу достаточного преимущества для менеджеров пакетов, чтобы понять, как они стали такими доминирующими.

Например: скажем, я слышал, что Emacs потрясающий, и я хочу попробовать его. Я иду в Центр программного обеспечения Ubuntu и ищу Emacs.

Я получаю 11 результатов, половина из которых, похоже, не имеет ничего общего с emacs или на голландском языке. Затем, есть 5 результатов, которые выглядят правдоподобно, и все они с какими-то рецензиями и ужасной документацией. Таким образом, у меня нет возможности узнать, кто настоящий Emacs или что я хочу.

Я говорю, я думаю, я буду использовать командную строку. Здесь я снова получаю 8 результатов. По крайней мере, здесь 6 из них на самом деле говорят emacs в названии, но не знают, что такое реальная сделка.

Я понимаю, что отсутствие проблем с зависимостями и знание того, что это правильно для вашей операционной системы, являются большими преимуществами.

Но как это лучше, чем ходить в браузер, искать Emacs, находить страницу загрузок, нажимать на страницу для моей операционной системы и отпускать ее? Таким образом, я знаю, что это то, что я хочу, могу видеть, как это происходит, и был на сайте разработчика, поэтому у меня есть представление о том, насколько поддерживается и задокументирована программа.

Менеджеры пакетов предлагают некоторые приятные функции, но я не вижу, что они делают достаточно, чтобы стать практически единственным способом получить программное обеспечение в Linux.

3 ответа3

3

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

В Windows вы можете найти один предварительно скомпилированный двоичный файл, который будет работать, потому что Windows контролируется одной корпорацией и, следовательно, является относительно монолитной и последовательной. Единственное, что меняется от одного окна Windows к другому, - это версия Windows, на которой он работает, и, возможно, пакеты обновления.

Но Linux гораздо разнообразнее. Каждый может создать свой собственный дистрибутив, и многие люди и группы сделали это. Есть сотни из них, от популярных до малоизвестных; от общего назначения до узкоспециализированных. Никто не может собрать двоичный файл, который будет работать со всеми из них.

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

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

Если у вас возникли проблемы с поиском нужного пакета в Ubuntu, я предлагаю вам обратиться за помощью в Ask Ubuntu.

2

Не устанавливайте программное обеспечение, которое вы загрузили из Интернета, прежде чем проверять в менеджере пакетов, чтобы увидеть, доступно ли то же самое программное обеспечение из репозиториев программного обеспечения вашего дистрибутива по умолчанию. Установка программного обеспечения из ненадежных источников - это самый простой способ подключить вашу операционную систему.

Менеджеры пакетов в Linux предназначены для автоматического решения проблем с зависимостями и упрощения выбора программного обеспечения. Однако это ограничивает свободу выбора пользователя для предоставления только самых последних версий всех пакетов программного обеспечения в репозиториях программного обеспечения. В случае Emacs вы можете увидеть GNU Emacs 24, а также некоторые более старые версии Emacs, но это безопасный выбор, чтобы выбрать последнюю версию Emacs с графическим интерфейсом и установить эту версию. Обычно GUI-версия пакета будет иметь красивый значок слева от описания пакета в менеджере пакетов, чтобы дать вам визуальную подсказку, что это версия GUI.

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

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

2

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

Еще один способ взглянуть на это с более ориентированной на Windows позиции - подумать о "dll hell". В Windows вы загружаете программу A, и она использует библиотеку Z. Программа установки программы A помещает копию библиотеки Z в системный каталог. Затем вы загружаете программу B, которая также использует библиотеку Z, но немного другой версии. Он заменяет копию библиотеки Z в вашей системной директории на ее версию. Но эта версия не работает с программой А, поэтому она ломается. Устранение такого рода поломок, а также устранение необходимости в обеих программах включать копию (независимо от того, совместима она или нет) - вот что делают менеджеры пакетов. Они выясняют, какие библиотеки нужны каждой программе, и устанавливают правильные версии, заменяя старые, когда они совместимы, и устанавливая обе, если они не совместимы.

В большинстве программ для Windows используется просто включение библиотеки Z в обе программы и установка их в свою собственную директорию. Это останавливает поломку, но означает, что загрузка двух программ требует загрузки одной и той же библиотеки дважды, и занимает больше места на диске, и больше оперативной памяти, поскольку они не разделяют библиотеку, что противоречит первоначальной цели иметь общую библиотеку в первое место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .