Управление пакетами в Kali Linux и других дистрибутивах на основе Debian (поиск, установка и удаление программ, решение проблем)


Сопроводители дистрибутивов Linux поддерживают репозитории пакетов из которых программы можно установить в дистрибутив с помощью того или иного менеджера пакетов. Такие репозитории (их состав, частота обновления, предварительная настройка пакетов) являются главными отличиями дистрибутивов друг от друга (а не обои или графическое окружение рабочего стола, которые всегда можно поменять).

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

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

Данная статья сфокусирована на менеджере пакете apt и дистрибутиве Kali Linux, но всё сказанное в ней применимо и к другим основанным на Debian дистрибутивам (Linux Mint, Ubuntu).

Как работают репозитории приложений Linux

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

Для установки пакета из репозитория достаточно выполнить команду apt install с указанием имени пакета. Эта команда сама найдёт адрес файла .deb, скачает его, определит и скачает необходимые зависимости и затем всё это установит.

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

Для чего нужны зависимости

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

Зависимости — это библиотеки, программы, драйверы и прочее, что необходимо для работы другой программы. Такой подход позволяет один и тот же код (библиотеку) использовать в различных программах. К примеру, мы пишем приложение, в которое ходим добавить сетевые функции с поддержкой различных протоколов — нам не нужно всё писать с нуля, мы можем воспользоваться библиотекой libcurl (от авторов программы cURL), которая уже поддерживает десятки сетевых протоколов. И так могут поступить многие другие программы — они все могут использовать одну библиотеку без необходимости дублировать код — достаточно установить библиотеку в ОС один раз.

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

Использовать apt или apt-get

Для управления пакетами может применяться команда apt или apt-get. На самом деле, выбор ещё больше: dpkg, aptitude, synaptic, wajig, а также графические интерфейсы от авторов дистрибутивов. Но все эти менеджеры пакетов имеют свои чёткие особенности, а apt и apt-get очень похожи,  у них практически одинаковые команды и опции, они выполняют одинаковые функции. Разберёмся, чем отличаются apt и apt-get.

Программа apt предназначена для интерактивного использования и её поведение может меняться с выходом новых версий. А программа apt-get предназначена для использования в скриптах и её поведение и вывод очень консервативны.

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

Я предпочитаю apt как более «свежую», но на самом деле практически во всех последующих примерах команд вы можете заменить «apt» на «apt-get» и не почувствуете никакой разницы.

Обновления кэша с информацией о приложениях

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

sudo apt update

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

sudo apt-get update

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

Как установить программу

Используйте команду вида:

sudo apt install ПАКЕТ

Вы можете установить сразу несколько пакетов за раз:

sudo apt install ПАКЕТ1 ПАКЕТ2 ПАКЕТ3 ПАКЕТ4

Поиск пакетов

Для поиска пакетов предназначена команда вида:


apt search СЛОВО

Данная команда ищет по описанию пакетов и может выводить слишком большой список. Эта команда может пригодиться, если имя нужной утилиты не совпадает с названием пакета (например, один пакет содержит несколько утилит).

Обратите внимание, что для данной команды, в отличие от большинства других с apt, не требуются права root (можно использовать без sudo).

Поиск пакетов только по названию

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

apt list ПАКЕТ

Вы также можете указать подстановочные символы, например для поиска по названию, начинающемуся на слово ПАКЕТ:

apt list ПАКЕТ*

Для поиска по названию, оканчивающемуся на слово ПАКЕТ:

apt list *ПАКЕТ

Для поиска по названию, в котором присутствует слово ПАКЕТ:

apt list *ПАКЕТ*

Ещё более удобной, на мой взгляд, командой для поиска пакетов является:

apt-cache search ПАКЕТ

Последняя команда ищет в именах по слову ПАКЕТ и выводит список всех пакетов, где оно встречается. Использовать подстановочные символы не нужно.

Как проверить, установлен ли пакет

Вы можете использовать команды apt list или apt search не только для поиска пакетов, но и просмотра информации о том, установлены ли они.

Рядом с описанием пакетов вы можете увидеть один из трёх вариантов:

  • строка «[установлен]» — пакет установлен вручную
  • строка «[установлен, автоматически]» — пакет установлен как зависимость или как включённый в метапакет (во время установке операционной системы Kali Linux активно использует метапакеты, поэтому многие инструменты имеют такую отметку)
  • ничего не написано — значит пакет не установлен

Как посмотреть информацию о пакете

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

  • номер версии
  • адрес сайта
  • краткое описание
  • список зависимостей
  • размер установки
  • репозиторий-источник
  • приоритет
  • к какому виду программ относится

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

apt show ПАКЕТ

Например:

apt show sqlmap


Как удалить пакет

Для удаления используйте команду вида

sudo apt remove ПАКЕТ

Можно удалять сразу много пакетов за раз:

sudo apt remove ПАКЕТ1 ПАКЕТ2 ПАКЕТ3 ПАКЕТ4

Как полностью удалить пакет, вместе с конфигурационными файлами

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

Итак, для полного удаления пакета используйте команду вида:

sudo apt purge ПАКЕТ

Обновление всех пакетов системе в Kali Linux

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

sudo apt update
sudo apt full-upgrade

Среди удаляемых пакетов могут быть конфликтующие (мешающие установке требуемых зависимостей).

Аналогичный результат можно получить командами (это одна из немногих команд, которая различается для apt и apt-get):

sudo apt update
sudo apt-get dist-upgrade
# или
sudo apt update
sudo aptitude full-upgrade

Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:

sudo apt update && sudo apt full-upgrade -y

Как узнать, в каком пакете содержится файл

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

С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.

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

sudo apt install apt-file

Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду:

sudo apt-file update

Когда всё готово, то поиск осуществляется так:

apt-file search ИМЯ-ФАЙЛА

К примеру поиск файла ffi.h:

apt-file search ffi.h

У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».


Как посмотреть зависимости пакета

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

apt-cache depends ПАКЕТ

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

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

apt-cache showpkg ПАКЕТ

Например:

apt-cache showpkg nmap

Как просмотреть список изменений пакета

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


apt changelog ПАКЕТ

Например:

apt changelog sqlmap

Как скачать пакет без установки

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

apt download ПАКЕТ

Пример:

apt download sqlmap

Как проверить, всё ли впорядке с кэшем приложений

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

sudo apt-get check

Как установить локальный .deb пакет

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

Следующая команда dpkg установит пакет без проверки зависимостей:

sudo dpkg -i <ФАЙЛ deb>

При выполнении операции менеджером пакетов, например, обновление кэша:

sudo apt update

может возникнуть сообщение об отсутствующих зависимостях, исправить это можно командой:

sudo apt install -f

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

sudo apt install ./ПАКЕТ.deb

Подробности смотрите в статье «Как установить локальный .deb пакет».

Удаление ненужных программ

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

Для этого применяется команда:

sudo apt autoremove -y

Её использование безопасно и не должно приводить к проблемам.

Очистка кэша установочных файлов

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

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

sudo apt clean -y

clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.

Исправление ошибок установки пакетов и зависимостей

sudo apt install -f -y

Опция -f исправляет, пытается привести в норму систему с нарушенными зависимостями. Эта опция, когда используется с install/remove, может пропустить какие-либо пакеты, чтобы позволить APT найти вероятное решение. Если пакеты указаны, эта команда должна полностью исправить проблему.

Альтернативы для apt

Для apt, кроме программы apt-get, которая является очень похожей, существует ещё несколько альтернатив.

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

dpkg

dpkg — этот пакет предоставляет низкоуровневую инфраструктуру для обработки установки и удаления пакетов программного обеспечения Debian. При установке программ не устанавливает зависимости.

aptitude

aptitude — это менеджер пакетов с рядом полезных функций, в том числе: похожий на mutt синтаксис для гибкого сопоставления пакетов, возможность извлекать и отображать журнал изменений Debian для большинства пакетов и режим командной строки, аналогичный режиму apt-get. Программа не позволяет разрастаться кэшу слишком сильно и выполняет автоматическую очистку.

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

Использование:

aptitude [-S имя файла] [-u|-i]
aptitude [опции] <действие> …

Действия (если не задано, aptitude запускается в диалоговом режиме):

 install         Установить/обновить пакеты.
 remove          Удалить пакеты.
 purge           Удалить пакеты и их файлы настройки.
 hold            Зафиксировать пакеты.
 unhold          Отменить команду hold для пакета.
 markauto        Пометить пакет как установленный автоматически.
 unmarkauto      Пометить пакет как установленный вручную.
 forbid-version  Запретить aptitude обновлять до определённой версии пакета.
 update          Загрузить список новых/обновлённых пакетов.
 safe-upgrade    Выполнить безопасное обновление.
 full-upgrade    Выполнить обновление, возможна установка и удаление пакетов.
 build-dep       Установить сборочные зависимости пакета.
 forget-new      Забыть, какие пакеты «новые».
 search          Найти пакет по имени и/или выражению.
 show            Показать подробную информацию о пакете.
 showsrc         Показать подробную информацию о пакете с исходным кодом (обёртка над apt).
 versions        Показать версии указанных пакетов.
 clean           Удалить загруженные файлы пакетов.
 autoclean       Удалить старые загруженные файлы пакетов.
 changelog       Посмотреть журнал изменений пакета.
 download        Загрузить файл .deb для пакета (обёртка над apt).
 source          Загрузить пакет с исходным кодом (обёртка над apt).
 reinstall       Переустановить уже установленный пакет.
 why             Объяснить почему определённый пакет следует установить.
 why-not         Объяснить почему определённый пакет нельзя установить.

 add-user-tag    Добавить пользовательскую метку к пакетам/шаблонам.
 remove-user-tag Убрать пользовательскую метку у пакетов/шаблонов.

Опции:

 -h              Эта справка.
 --no-gui        Не использовать графический интерфейс GTK, даже если это возможно.
 -s              Имитировать действия, но не выполнять их на самом деле.
 -d              Только загрузить пакеты, ничего не устанавливать и не удалять.
 -P              Всегда запрашивать подтверждение действий.
 -y              Предполагать ответ «да» на простой вопрос да/нет.
 -F format       Задать формат отображения результатов поиска; смотрите руководство.
 -O order        Задать способ сортировки результатов поиска; смотрите руководство.
 -w width        Задать ширину вывода результатов поиска.
 -f              Принудительно исправлять неработоспособные пакеты.
 -V              Показывать версию устанавливаемых пакетов.
 -D              Показывать зависимости автоматически изменяемых пакетов.
 -Z              Показывать изменение размера установки каждого пакета.
 -v              Отображать дополнительную информацию. (может указываться несколько раз).
 -t [release]    Задать выпуск, из которого должны быть установлены пакеты.
 -q              Не выводить индикаторы хода работы в режиме командной строки.
 -o key=val      Непосредственно задать опцию настройки с именем «key».
 --with(out)-recommends     Указать, будут ли рекомендуемые пакеты
                            трактоваться как строгие зависимости.
 -S fname        Читать информацию о расширенном статусе aptitude из fname.
 -u              Загрузить новые списки пакетов при запуске.
                  (только в текстовом интерфейсе)
 -i              Запустить установку при запуске.
                  (только в текстовом интерфейсе)

synaptic

Synaptic — это графический инструмент для управления пакетами, основанный на GTK+ и APT.

Synaptic позволяет устанавливать, обновлять и удалять программные пакеты удобным способом.

Помимо этих основных функций, предоставляются следующие возможности:

  • Поиск и фильтрация списка доступных пакетов
  • Выполняйте интеллектуальные обновления системы
  • Исправление неработающие зависимости пакетов
  • Редактирование списка используемых репозиториев (sources.list)
  • Загрузка последнего журнала изменений пакета
  • Настройка пакеты через систему debconf
  • Просмотр всей доступной документации, относящуюся к пакету (требуется dwww)

wajig

Обёртка командной строки для apt, apt-cache, dpkg, aptitude и других. Её цель — упростить управление пакетами за счёт объединения основных функций этих инструментов в одном интерфейсе.

Кроме рассмотренных программ, в дистрибутивах Linux могут применяться и собственные инструменты. К примеру, в Linux Mint имеется собственный инструмент с графическим интерфейсом для обновления программ. Также в Linux Mint при запуске программы apt вместо неё будет использоваться собственный скрипт, который является обёрткой для aptitude (из-за этого вывод команды apt может вас смутить).

Портативные программы в Linux

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

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

Как решить проблему «команда не найдена» («command not found»)

Если при попытке запуска программы вы столкнулись с ошибкой «команда не найдена» («command not found»), то она означает, что не установлен пакет, содержащей данную программу. Конечно, при условии, что вы правильно ввели имя команды — поэтому начните с проверки имени, а также используйте клавишу TAB для вывода подсказок и автоматического дополнения.

Начните с попытки установить пакет с одноимённым именем — довольно часто название команды совпадает с именем пакета, например nmap, sqlmap — это команды запуска и имена пакетов, которые их содержат:

sudo apt install КОМАНДА

Если вы получите сообщение, что пакет с таким именем не найден, то попробуйте выполнить поиск по описанию пакетов — довольно часто в описании перечислены программы, которые включены в данный пакет:

apt search КОМАНДА

Если удалось определить имя пакета, установите его.

Если и это не помогло, то установите (если ещё не сделали) команду apt-file, обновите кэш и выполните поиск:

apt-file search КОМАНДА

Данный способ наверняка поможет найти нужный пакет. Если даже это не сработало, то возможны следующие варианты:

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

Warning: apt-key is deprecated

Команда apt-key управляет ключами, которые отвечают за проверку подписи репозиториев пакетов приложений.

Теперь при любом использовании команды apt-key вы будете получать сообщение:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

Для решения указанной проблемы смотрите данную статью: https://zalinux.ru/?p=5066

Смотрите также:


Рекомендуется Вам:

7 комментариев to Управление пакетами в Kali Linux и других дистрибутивах на основе Debian (поиск, установка и удаление программ, решение проблем)

  1. Аноним:

    Здравствуйте! Помогите! При загрузке пакетов у меня выходит следующее сообщение "The package python-attr needs to be reinstalled, but I can't find an archive for it." и пакете конечно не загружаются. Что делать?

    • Alexey:

      Что значит «при загрузке пакетов»? Вы обновляете систему или что именно вы делаете?

      Теперь этот пакет называется python3-attr.

      Попробуйте просто удалить проблемный пакет:

      sudo apt remove python-attr

      Если вы делаете что-то необычное, то варианты:

      а) просто не делайте это

      б) подробно пишите, что хотите и что делаете, чтобы можно было помочь.

  2. Аноним:

    Пытался установить аналог Total Commander

    C:\home\kali> sudo apt install doublecmd-gtk
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    E: Пакет python-attr нуждается в переустановке, но найти архив для него не удалось.
    C:\home\kali> 

     

    • Alexey:

      Проще говоря, вы пытаетесь установить любой пакет, а у вас эта ошибка, правильно? Но если вы раньше не получали эту ошибку, это означает, что вы впервые ставите пакет на Linux, правильно? И что вы ещё ни разу не обновляли свой дистрибутив, так?

      Если всё так, то ответ на ваш вопрос есть в этой самой статье — просто прочитайте, без команды apt всё равно никуда.

  3. Аноним:

    Тоже здесь

    C:\home\kali> sudo apt install -f -y
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    E: Пакет python-attr нуждается в переустановке, но найти архив для него не удалось.
    C:\home\kali> 
     

  4. Аноним:

    Дистрибутив обновил, python-attr/now 19.3.0-2 all [установлен, локальный], а ошибку всё равно выдаёт.

    C:\home\kali\Загрузки> sudo apt update
    Сущ:1 http://mirror-1.truenetwork.ru/kali kali-rolling InRelease
    Ошибка: Время ожидания истекло
    Traceback (most recent call last):
      File "/usr/bin/debtags", line 700, in <module>
        main()
      File "/usr/bin/debtags", line 694, in main
        sys.exit(action.main(args))
      File "/usr/bin/debtags", line 632, in main
        for pkg, tags in self.tags_from_apt():
      File "/usr/bin/debtags", line 256, in tags_from_apt
        cache = self.apt_cache
      File "/usr/bin/debtags", line 241, in apt_cache
        res = self._apt_cache = apt.Cache()
      File "/usr/lib/python3/dist-packages/apt/cache.py", line 152, in __init__
        self.open(progress)
      File "/usr/lib/python3/dist-packages/apt/cache.py", line 215, in open
        self._depcache = apt_pkg.DepCache(self._cache)
    apt_pkg.Error: E:The package python-attr needs to be reinstalled, but I can't find an archive for it.
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    Может быть обновлён 861 пакет. Запустите «apt list --upgradable» для показа.

     

    C:\home\kali> apt search python-attr
    Сортировка… Готово
    Полнотекстовый поиск… Готово
    python-attr/now 19.3.0-2 all [установлен, локальный]
      Attributes without boilerplate (Python 2)
    
    python-attr-doc/kali-rolling 19.3.0-5 all
      documentation for the attrs Python library

     

    C:\home\kali> apt show python-attr
    Package: python-attr
    Version: 19.3.0-2
    Status: install reinstreq half-configured
    Priority: optional
    Section: python
    Source: python-attrs
    Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
    Config-Version: 19.3.0-2
    Installed-Size: 173 kB
    Depends: python2:any (<< 2.8), python2:any (>= 2.7~)
    Suggests: python-attr-doc
    Homepage: https://attrs.readthedocs.org/
    Download-Size: неизвестно
    APT-Manual-Installed: yes
    APT-Sources: /var/lib/dpkg/status
    Description: Attributes without boilerplate (Python 2)
     attrs is an MIT-licensed Python package with class decorators that ease the
     chores of implementing the most common attribute-related object protocols.
     .
     You just specify the attributes to work with and attrs gives you:
       - a nice human-readable __repr__,
       - a complete set of comparison methods,
       - an initializer,
       - and much more
     without writing dull boilerplate code again and again.
     .
     This package contains attrs packaged for Python 2.
     .
     (Repackaged on Sat, 02 May 2020 19:50:54 +0200 by dpkg-repack.)

     

    C:\home\kali> sudo apt install doublecmd-gtk
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    E: Пакет python-attr нуждается в переустановке, но найти архив для него не удалось.
    
    • Alexey:

      Вам нужно научиться читать то, что выводится в терминале — это обязательно. Это и есть ваш способ общения с операционной системой и программами, если вы не «слышите» систему, то это тупик. Это в точности, как работать с Windows с закрытыми глазами — не можете себе такого представить? Так и с работой в консоли Linux, если вы не читаете, что там написано, то вы не в курсе происходящего.

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

      Ну или как тут, вводите команды, получаете список файлов с Windows диска и выделяете жирным «не получилось»… Ну, то есть, вы вообще не посмотрели, что там в терминале, а сразу полезли смотреть, появился ли ярлык на рабочем столе?

      Короче говоря, у вас ведь ошибка при обновлении кэша:

      Ошибка: Время ожидания истекло

      Решение проблемы описано в статье «Решение проблемы «W: не удалось получить http://http.kali.org/kali/dists/kali-rolling/InRelease&raquo; из-за блокировок провайдера». Причём вам нужно выбирать «2. Указание конкретного зеркала обновлений Kali Linux», поскольку вариант «3. Обход блокировок для утилит командной строки с помощью TorIptables2» вам не подойдёт из-за того, что вы не сможете установить пакет tor.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *