Временная установка пакетов

Вопрос или проблема

Как я могу временно установить некоторые пакеты и легко удалить их, если они станут ненужными через несколько месяцев или лет? Причина в том, что я люблю тщательно тестировать программное обеспечение, прежде чем решить, стоит ли его оставить или удалить.

Например, я могу установить пакеты для графического дизайна с помощью:

apt-get install inkscape gimp

и пакеты для математики с помощью:

apt-get install texlive-full gnuplot

Я мог бы использовать виртуальные машины для каждого набора пакетов (math или design), но это кажется излишним (мне не нужны дополнительные затраты на безопасность/вычисления).

Я также мог бы использовать apt list --installed и удалить ненужные пакеты с помощью (например) apt-get purge texlive-full gnuplot (но это требует, чтобы я помнил, какие наборы пакетов я установил – я всегда удаляю весь набор сразу и никогда не удаляю индивидуальные пакеты в наборе).

Это зависит от причины “удаления” пакета/пакетов.
Вы можете хотеть: (1) чистую среду, (2) сэкономить место (, (3) и т.д.?)

Если вас интересует (1), я перечисляю несколько альтернатив, которые я использовал в разной степени (включая ни одну):

  1. Пакет Environment Modules предоставляет возможность динамической модификации среды пользователя с помощью файлов модуля.

    Модули полезны для управления разными версиями приложений. Модули могут также быть объединены в метамодули, которые будут загружать весь набор различных приложений.

    Существует множество инструментов, основанных на модулях, которые перечислены также ниже.

  2. Flavours – это оболочка, построенная на базе C-версии Modules для упрощения организации и представления программного обеспечения, требующего нескольких сборок с использованием различных компиляторов, библиотек MPI, архитектур процессоров и т.д.

  3. Software Collections – это проект Red Hat, который позволяет вам строить и одновременно устанавливать несколько версий RPM одних и тех же компонентов на вашу систему, не влияя на системные версии RPM пакетов, установленных из вашего дистрибутива. Как только программная коллекция установлена, она активируется с помощью команды scl, которая полагается на Modules для настройки пользовательской среды.

    Поскольку вы упоминаете apt, это может быть для вас бесполезно.
    Я немного погуглил, и похоже, что это недоступно для Debian.
    https://lists.debian.org/debian-user/2017/02/msg00461.html

  4. Проект OSCAR Cluster Project использует модули вместе с инструментом под названием switcher.

    Я не уверен в текущем состоянии разработки и поддержки.
    Смотрите также https://github.com/oscar-cluster

  5. Flatpak, но, согласно этому, я не знаю, является ли он таким гибким, как Software Collections.

Если вас интересует (2), что, я полагаю, не так, поскольку вашей возражением против виртуальной машины было то, что она является избыточной, а не занятое место, я полагаю, вы обязаны устанавливать/удалять.
Я не знаю никакого пакета, который бы администрировал установку/удаление пакетов в пакетных наборах.

apt-get autoremove удалит пакеты, которые были установлены автоматически для удовлетворения зависимостей другого пакета, ЕСЛИ на них не зависят установленные пакеты.

Например:

# apt-get install inkscape gimp

установит inkscape и gimp и все библиотеки и другие пакеты, которые указаны у них в строках Depends: или Recommends:(*).

# apt-get remove inkscape gimp
# apt-get autoremove

удалит оба этих пакета и все автоматически установленные зависимости (если только другой пакет, который вы установили позже, также не зависит от них). Он удалит ВСЕ автоматически установленные пакеты, которые больше не нужны для удовлетворения зависимости, а не только те, которые были автоматически установлены для inkscape или gimp.

или, чтобы полностью удалить их вместо простого удаления:

# apt-get purge inkscape gimp
# apt-get --purge autoremove

Если вы хотите сохранить пакет, который был автоматически установлен, вы можете использовать apt-mark для его пометки как вручную установленного. Например:

# apt-mark manual some-package(s)

Вы также можете пометить пакет, который был установлен вручную, как автоматический с помощью:

# apt-mark auto some-package(s)

(*) По умолчанию apt автоматически устанавливает пакеты, которые указаны в строках Depends: или Recommends:, но автоматическая установка рекомендуемых пакетов может быть отключена, установив APT { Install-Recommends "False";}; в /etc/apt/apt.conf или в файле в /etc/apt/apt.conf.d/.

.

Ответ или решение

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

Теоретическая основа:

При управлении пакетами в Linux-системах, таких как Debian или Ubuntu, основное место занимает пакетный менеджер APT (Advanced Package Tool). APT предоставляет широкий функционал для установки, удаления и управления программным обеспечением. Основная проблема, с которой мы сталкиваемся при временной установке — это необходимость не только установить пакеты, но и предусмотреть способ их лёгкого удаления вместе с ненужными зависимостями.

APT в этом контексте предоставляет несколько команд, которые могут быть полезны. Например, apt-get install используется для установки пакетов, а apt-get remove и apt-get purge — для их удаления. Если программы были установлены с использованием автоматических зависимостей, то apt-get autoremove может быть полезной командой для удаления этих зависимостей, если они больше не нужны другим программам.

Пример использования:

Рассмотрим типичную ситуацию. Вы устанавливаете пакеты для графического дизайна:

apt-get install inkscape gimp

И для математических вычислений:

apt-get install texlive-full gnuplot

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

Для этого вы можете использовать следующие команды:

apt-get remove inkscape gimp
apt-get autoremove

Эти команды удалят упомянутые программы вместе со всеми автозависимостями, которые не требуются другим программам. Для полного удаления конфигурационных файлов используйте:

apt-get purge inkscape gimp
apt-get --purge autoremove

Если у вас возникнет необходимость сохранить какое-либо из зависимостей, вы можете обозначить его как установленное вручную, воспользовавшись apt-mark:

apt-mark manual <пакет>

Это предотвратит автоматическое удаление пакета командой autoremove.

Применение и контекст:

Ваша задача — тестирование софта, предполагающее временную установку с последующим легким удалением. Поэтому подход через APT и использование стратегий управления зависимостями кажутся наилучшим решением в вашем случае.

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

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

Оцените материал
Добавить комментарий

Капча загружается...