Управление пакетами в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 94.12%. Он получил 100% положительных отзывов от учащихся.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") linux/PackagesandSoftwaresGroup -.-> linux/software("Linux Software") subgraph Lab Skills linux/ls -.-> lab-271225{{"Управление пакетами в Linux"}} linux/grep -.-> lab-271225{{"Управление пакетами в Linux"}} linux/apt -.-> lab-271225{{"Управление пакетами в Linux"}} linux/software -.-> lab-271225{{"Управление пакетами в Linux"}} end

Обновление списков пакетов

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

В системах на основе Debian, таких как Ubuntu, менеджер пакетов apt (Advanced Package Tool) управляет установкой, обновлением и удалением программного обеспечения. Первым шагом в любой задаче по управлению пакетами обычно является обновление списков пакетов.

Начнем с открытия терминала. В терминале вы находитесь в каталоге /home/labex/project, что указывается в приглашении командной строки. Терминал показывает, где вы находитесь, и ожидает ваших команд.

open terminal

Для обновления списков пакетов выполните следующую команду:

sudo apt update

Разберем эту команду по частям:

  • sudo предоставляет вам временные административные привилегии, необходимые для системных операций
  • apt - это команда управления пакетами
  • update сообщает apt обновить списки пакетов

Вы увидите вывод, похожий на следующий:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
...
Fetched X MB in Y seconds (Z MB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
X packages can be upgraded. Run 'apt list --upgradable' to see them.

Этот вывод показывает, что apt подключается к репозиториям программного обеспечения Ubuntu, загружает последние сведения о пакетах и вычисляет, какие пакеты можно обновить.

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

Поиск программных пакетов

Теперь, когда вы обновили списки пакетов, вы можете искать доступные программные пакеты. RedeemerBot сообщил сопротивлению, что пакет под названием "neofetch" может помочь выявить уязвимости системы, которые роботы могут использовать.

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

В терминале, находясь по-прежнему в каталоге /home/labex/project, выполните следующую команду:

apt search neofetch

Обратите внимание, что apt search не требует использования sudo, так как он только читает информацию, а не вносит изменения в систему.

Вы должны увидеть вывод, похожий на следующий:

Sorting... Done
Full Text Search... Done
neofetch/jammy,jammy 7.1.0-3 all
  Shows Linux System Information with Distribution Logo

p   hollywood/jammy 1.21-2 amd64
  fill your console with Hollywood melodrama technobabble

Вывод показывает:

  • Название пакета (neofetch)
  • Версию Ubuntu (jammy)
  • Версию пакета (7.1.0-3)
  • Краткое описание того, что делает пакет

Теперь давайте получим более подробную информацию о этом пакете:

apt show neofetch

Эта команда отображает полную информацию о пакете, включая:

Package: neofetch
Version: 7.1.0-3
Priority: optional
Section: universe/utils
Origin: Ubuntu
...
Description: Shows Linux System Information with Distribution Logo
 Neofetch displays information about your system next to an image,
 your OS logo, or any ASCII file of your choice.
 ...

Эта информация помогает вам понять, что делает пакет и подходит ли он для ваших нужд.

Установка программного пакета

Теперь, когда вы идентифицировали пакет neofetch и узнали о нем, пришло время установить его. По данным разведки RedeemerBot, этот пакет поможет проанализировать системную информацию, которая может быть важной для сопротивления.

Для установки neofetch используйте следующую команду в терминале:

sudo apt install neofetch

Разберем эту команду по частям:

  • sudo предоставляет вам административные привилегии
  • apt install - это команда для установки пакетов
  • neofetch - это название пакета, который нужно установить

Во время процесса установки apt выполнит следующие действия:

  1. Вычислит зависимости (другие необходимые пакеты)
  2. Показывает, что будет установлено
  3. Запросит подтверждение
  4. Загрузит пакеты
  5. Установит их на вашу систему

Вы увидите вывод, похожий на следующий:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  neofetch
0 upgraded, 1 newly installed, 0 to remove and X not upgraded.
Need to get Y kB of archives.
After this operation, Z kB of additional disk space will be used.
Do you want to continue? [Y/n]

Нажмите Enter или введите y и нажмите Enter, чтобы подтвердить установку.

После завершения установки вы можете убедиться, что она прошла успешно, запустив программу:

neofetch

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

  • ОС: Ubuntu
  • Версия ядра
  • Время работы системы
  • Информация о процессоре
  • Использование памяти
  • И многое другое

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

Проверка статуса и деталей пакетов

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

Давайте рассмотрим несколько команд для проверки информации о пакетах:

Список установленных пакетов

Чтобы увидеть все установленные пакеты на вашей системе, выполните следующую команду:

dpkg -l

Эта команда выводит список всех установленных пакетов с указанием их статуса, имени, версии, архитектуры и краткого описания. Вы увидите множество пакетов (возможно, сотни), так как типичная Linux-система имеет множество установленных компонентов.

Поскольку вывод может быть обширным, вы можете использовать символ вертикальной черты (|), чтобы отфильтровать определенные пакеты. Например, чтобы проверить, установлен ли пакет neofetch:

dpkg -l | grep neofetch

Вы должны увидеть вывод, похожий на следующий:

ii  neofetch    7.1.0-3    all    Shows Linux System Information with Distribution Logo

Символы ii в начале строки указывают, что пакет установлен корректно.

Проверка деталей пакета

Чтобы увидеть подробную информацию об установленном пакете, используйте следующую команду:

dpkg -s neofetch

Эта команда предоставляет полную информацию о статусе пакета, включая:

Package: neofetch
Status: install ok installed
Priority: optional
Section: universe/utils
...

Просмотр файлов, установленных пакетом

Чтобы увидеть, какие файлы были установлены пакетом, используйте следующую команду:

dpkg -L neofetch

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

/.
/usr
/usr/bin
/usr/bin/neofetch
/usr/share
...

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

Удаление программного пакета

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

Давайте попрактикуемся в удалении пакета neofetch, который мы установили ранее. В системах на основе Debian есть два основных способа удаления пакетов:

Простое удаление

Для удаления пакета с сохранением его конфигурационных файлов (на случай, если вы захотите переустановить его позже), используйте следующую команду:

sudo apt remove neofetch

Вы увидите запрос на подтверждение удаления:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  neofetch
0 upgraded, 0 newly installed, 1 to remove and X not upgraded.
After this operation, Y kB disk space will be freed.
Do you want to continue? [Y/n]

Нажмите Enter или введите y, а затем снова нажмите Enter, чтобы подтвердить удаление.

Полное удаление

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

sudo apt purge neofetch

Если вы уже использовали команду remove, вы можете удалить оставшиеся конфигурационные файлы с помощью:

sudo apt purge neofetch

Вывод будет похож на вывод команды remove, но при этом будут удалены также конфигурационные файлы.

Очистка ненужных пакетов

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

sudo apt autoremove

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

Проверка удаления

Чтобы убедиться, что пакет neofetch был удален, попробуйте запустить его:

neofetch

Вы должны увидеть сообщение об ошибке, похожее на следующее:

Command 'neofetch' not found, but can be installed with:
sudo apt install neofetch

Это подтверждает, что пакет был успешно удален с вашей системы.

Итоги

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

В ходе данной лабораторной работы вы научились:

  1. Обновлять списки пакетов с помощью команды apt update, чтобы иметь актуальную информацию о доступном программном обеспечении.
  2. Искать пакеты с использованием команды apt search и просматривать детали пакетов с помощью команды apt show.
  3. Устанавливать программные пакеты с помощью команды apt install, расширяя функциональность своей системы.
  4. Проверять установленные пакеты с использованием команд dpkg, чтобы понять, что установлено на вашей системе.
  5. Удалять пакеты с помощью команд apt remove и apt purge, чтобы поддерживать чистоту системы.

Эти навыки являются основой управления пакетами в дистрибутивах Linux на основе Debian, таких как Ubuntu. Управление пакетами - это важный аспект системного администрирования, который позволяет:

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

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