Как установить deb пакет в kali linux

Обновлено: 04.07.2024

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

Как установить пакет в Kali Linux?

Добавление исходников пакетов в Kali Linux. Если вы хотите сделать свое будущее счастливым, вам не следует напрямую редактировать / etc / apt / sources. список напрямую. Для каждого нового репозитория пакетов, который вы добавляете в свою систему, создайте новый файл с описательным именем (например, debian-unstable.

Как установить загруженные пакеты в Linux?

Как установить пакет RPM?

Мы можем установить пакет RPM с помощью следующей команды: rpm -ivh <имя пакета>. Обратите внимание, что опция -v покажет подробный вывод, а -h покажет хеш-метки, которые представляют действие по ходу обновления RPM. Наконец, мы запускаем еще один запрос RPM, чтобы убедиться, что пакет доступен.

Как установить файлы deb в elementary OS?

Что такое dpkg в Linux?

Как открыть файл deb в Windows?

Как установить программное обеспечение на Ubuntu?

Чтобы установить приложение:

Как мне установить недостающие пакеты в Kali Linux?

В этой короткой статье мы объясним вам, как установить пакет checkinstall, добавив некоторые недостающие записи в источники apt в Kali Linux.

Как обновить все пакеты в Kali Linux?

Следующие разделы покажут вам пошаговый процесс обновления вашей системы Kali Linux.

Как я могу преобразовать Ubuntu в Kali?

Kali в Ubuntu 16.04 LTS

Куда мне устанавливать программное обеспечение в Linux?

По соглашению программное обеспечение, скомпилированное и установленное вручную (не через диспетчер пакетов, например, apt, yum, pacman), устанавливается в / usr / local. Некоторые пакеты (программы) создают подкаталог в / usr / local для хранения всех соответствующих файлов, например / usr / local / openssl.

Установка deb пакетов из консоли

Рассмотрим, как происходит установка deb пакетов из консоли на примере Ubuntu Linux если вы скачали пакет. Это может быть редкая программа, не представленная официально либо вы рискнули поставить более свежую версию игнорируя зависимости. Напомню, что в Ubuntu и Debian имеются тестовые ветки с более свежим, но менее стабильным софтом.

Установка deb пакетов из консоли

Откройте каталог со скачанным файлом, кликните правой кнопкой мыши и выберите «Открыть в терминале»:

Установка deb пакетов из консоли

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

Вероятнее всего вы увидите ошибку зависимостей. Продемонстрирую на примере пакета nmap в свежеустановленной системе Ubuntu 18.04:

Установка deb пакетов из консоли

Установка deb пакетов из консоли

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

Установка deb пакетов из консоли

Удаление deb пакетов из консоли

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

Установка deb пакетов из консоли

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

Установка deb пакетов из консоли

Используйте в консоли клавишу «Tab» один или несколько раз чтобы автоматически продолжить путь к директории или файлу. Это не только ускоряет работу в терминале, но также избавляет от лишних ошибок при наборе команд. Авто продление «Tab» работает не только при наборе пути к файлу. Его можно применять для запуска любой программы если она уже установлена в системе. Просто наберите первые буквы из названия пакета и продолжите нажатием на «Tab».

Стандартная установка пакетов из репозитория

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

Настройка репозитория системы

Примеры с консолью будут идентичны для OS Debian с рабочим окружением Gnome на которой основана Ubuntu. Откройте консоль нажав комбинацию клавиш Ctrl + Alt + T (для Ubuntu Linux). Либо щёлкните на рабочем столе правой клавишей мыши и выберите «Открыть терминал». Наберите название текстового редактора, и путь к открываемому файлу:

Установка deb пакетов из консоли

Введите свой пароль и в открывшемся окне редактора вы увидите список источников для установки пакетов. Прежде всего посмотрите, что находится в вашем списке репозиториев. Сделайте доступным проприетарное (коммерческое) программное обеспечение и ПО от партнёров Canonical. Там могут находиться различные драйверы видео и множество полезных утилит с закрытым исходным кодом:

Установка deb пакетов из консоли

Терминал Linux сохраняет историю введённых ранее команд. Используйте стрелки вверх-вниз на клавиатуре для быстрого перебора и вывода предыдущих записей.

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

Установка deb пакетов из консоли

Проставьте нужные галочки на источниках ПО на первой и второй вкладках. Нажмите внизу на кнопку «Закрыть» и система сама предложит обновить список пакетов: выберите «Обновить».

Установка deb пакетов из консоли

Установка пакетов

Теперь можно приступать к установке программ. Вы находитесь на сайте, который посвящён этому процессу. Здесь имеется огромная база (свыше 50 000) пакетов для Ubuntu / Linux Mint и Debian дистрибутивов.

Просто откройте поиск и введите название пакета, который хотите установить из официального репозитория системы. Команду sudo apt update необходимо ввести однократно, перед каждой последующей установкой её вводить не требуется.

На главной странице сайта подобраны категории всех пакетов для более удобной навигации.

Продолжаем переводить книгу «Kali Linux Revealed». Девятая глава посвящена расширенному использованию системы. В частности, изучив её, можно узнать о том, как создать из базового дистрибутива Kali именно то, что вам нужно. Сегодня мы публикуем перевод первого раздела этой главы. Речь пойдёт о модификации пакетов Kali.


Глава 9. Расширенное использование системы

Kali создана как модульная настраиваемая среда, ориентированная на цели пентестинга, поддающаяся глубокой настройке и поддерживающая различные сценарии использования. Настройка системы может затрагивать множество уровней. Если нужно — начать можно с исходного кода. Будем считать этот уровень настройки первым. Исходный код пакетов Kali общедоступен. В этой главе мы покажем, как находить пакеты, как их модифицировать и собирать из них собственные пакеты, настроенные так, как нужно именно вам. Модификация ядра Linux — это своеобразная область настройки системы, поэтому ей посвящён отдельный раздел. В нём мы поговорим о том, где найти исходный код ядра, как настроить систему его сборки, и, наконец, как его скомпилировать и собрать необходимые пакеты ядра.

Второй уровень настройки системы заключается в сборке Live-образов. Мы покажем как, используя инструмент live-build , задействовать множество возможностей по тонкой настройке готовых ISO-образов. В том числе, речь пойдёт об использовании предварительно настроенных в соответствии с вашими нуждами пакетов Debian вместо пакетов, доступных на зеркалах.

Кроме того, мы поговорим о том, как создать постоянное хранилище данных для Live-образа, записанного на USB-флэшку. Подобная конфигурация позволяет сохранять файлы и изменения операционной системы между перезагрузками.

9.1. Модификация пакетов Kali

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

Возможно, вы зададитесь вопросом о том, почему вам вообще нужно этим заниматься. В конце концов, если требуется модифицировать какое-то ПО, вы всегда можете загрузить его исходный код (обычно — с помощью git ), изменить и запустить модифицированную версию. Такой подход позволяет достичь цели, но только тогда, когда это возможно, и когда вы используете для этой цели свою домашнюю директорию. Однако, если приложение нуждается в установке, делающей его доступным во всей системе (например, с использованием make install ), тогда оно замусорит файловую систему файлами, неизвестными dpkg , и скоро станет источником проблем, которые невозможно обнаружить, основываясь на анализе зависимостей пакета. Более того, правильно подготовленные пакеты можно передавать кому-нибудь ещё, их гораздо легче разворачивать на множестве компьютеров, или отменять в них изменения после того, как обнаружилось, что они не дают нужного эффекта.

Итак, когда может понадобится модификация пакетов? Рассмотрим несколько примеров.

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

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

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

9.1.1. Загрузка исходного кода

Пересборка пакета Kali начинается с загрузки исходного кода. Пакет с исходным кодом состоит из множества файлов. Главный файл — это *.dsc (Debian Source Control), он содержит список сопутствующих файлов, среди которых могут быть файлы *.tar. , иногда — файлы *.diff.gz , или *.debian.tar. .


В этом примере мы загружаем пакет с исходным кодом с зеркала Kali. Это — такой же пакет, как и в Debian, так как строка версии не содержит подстроки «kali.». Это означает, что в данный пакет не было внесено каких-либо специфичных для Kali изменений.

После нахождения URL для пакета с исходным кодом libfreefare , доступного в kali-bleeding-edge , вы можете загрузить его с помощью dget . Сначала будет загружен файл .dsc , после чего он будет разобран для того, чтобы выяснить, на какие ещё файлы он ссылается, затем будут загружены и эти файлы:


Стоит отметить, что dget не выполняет автоматическую распаковку пакетов с исходным кодом, так как он не может проверить PGP-подписи этих пакетов. Таким образом, нам нужно выполнить это вручную, воспользовавшись командой dpkg-source -x dsc-file . Кроме того, вы можете активировать принудительное извлечение пакетов с исходным кодом, применив опцию --allow-unauthenticated или -u . И наоборот, можно воспользоваться опцией --download-only для того, чтобы пропустить шаг распаковки.

▍Загрузка исходного кода из Git

Вы могли обратить внимание на то, что при вызове apt source вам сообщают о возможности использования Git-репозитория для поддержки пакета. Это может быть репозиторий Debian или репозиторий Kali.

В отличие от того, что можно загрузить с помощью команды apt source , в полученном дереве не будут автоматически применены патчи. Взгляните на debian/patches/ для того, чтобы узнать о возможных изменениях, сделанных в Kali.


Вы можете использовать Git-репозитории как альтернативный способ загрузки исходного кода и, в целом, следовать другим рекомендациям из этого раздела. Но когда разработчики Kali работают с этими репозиториями, они используют другой процесс подготовки пакетов и инструменты из пакета git-buildpackage , о которых мы здесь не рассказываем. Подробности об этих инструментах можно найти здесь.

9.1.2. Установка зависимостей для сборки

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

В каждом пакете исходного кода зависимости сборки объявлены в поле Build-Depends файла debian/control . Используем apt для установки этих зависимостей (предполагается, что вы находитесь в директории, содержащей распакованный пакет с исходным кодом):


В этом примере все зависимости сборки можно разрешить с помощью пакетов, которые доступны APT. Так может быть не всегда, так как инструменты сборки kali-rolling не проверяют возможность установки зависимостей сборки (во внимание принимаются только зависимости бинарных пакетов). На практике бинарные зависимости и зависимости сборки часто тесно связаны и для большинства пакетов достаточно зависимостей сборки.

9.1.3. Внесение изменений в код пакетов

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

Первое, что надо сделать, заключается в изменении номера версии пакета. Это нужно для того, чтобы новые пакеты можно было отличить от исходных, присутствующих в Kali или Debian. Для того, чтобы это сделать, мы обычно добавляем суффикс, идентифицирующий того, кто выполняет изменения (обычно это частное лицо или компания). Так, например, мой ник в IRC — buxy , поэтому я буду использовать его как суффикс. Подобное изменение лучше всего производить с помощью команды dch (Debian CHangelog) из пакета devscripts . В моём случае вызов этой команды будет выглядеть как dch --local buxy . Эта команда вызывает текстовой редактор ( sensible-editor , который запускает редактор, указанный в переменной окружения VISUAL или EDITOR , в противном случае вызывается /usr/bin/editor ), который позволяет задокументировать изменения, вносимые в конкретную сборку. В данном случае видно, что команда dch действительно изменила файл debian/changelog :


Если вы выполняете подобные изменения регулярно, возможно, есть смысл внести в переменные окружения DEBFULLNAME и DEBEMAIL , соответственно, ваше полное имя и адрес электронной почты. Эти данные могут быть использованы множеством инструментов для работы с пакетами, включая dch , который внедрил их в строку, начинающуюся с « -- » в вышеприведённом коде.

▍9.1.3.1. Применение патчей

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

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

▍9.1.3.1.1. Применение патча к распакованному пакету с исходным кодом

Итак, вы выполнили команду apt source pyrit и у вас есть папка pyrit-0.4.0 . В такой ситуации можно применить патч напрямую, воспользовавшись командой patch -p1< patch-file :

▍Управление патчами с помощью quilt


Соглашение по работе с патчами, о котором идёт речь, стало популярным благодаря инструменту, который называется quilt . Формат пакета исходного кода «3.0 (quilt)», таким образом, совместим с этим инструментом — с небольшим изменением, которое заключается в том, что он использует debian/patches вместо patches . Этот инструмент можно найти в одноимённом пакете. Здесь можно почитать руководство по нему.

Если пакет с исходным кодом использует формат 1.0 или 3.0 (native), тогда требования по регистрации изменений в коде пакетов в виде патчей не выдвигаются. Сведения об изменениях автоматически встраиваются в получившийся пакет с исходным кодом.

▍9.1.3.1.2. Применение патча к коду, полученному из Git-репозитория

Если вы, для загрузки исходного кода, воспользовались Git, то ситуация осложняется. Существует множество способов организации работы с Git и связанных с ними инструментов, и совершенно очевидно то, что далеко не все Debian-пакеты готовят с использованием одних и тех же рабочих процессов и программных средств. Уже обсуждённое различие пакетов, касающееся формата файлов, применимо и здесь, но, работая с Git, необходимо выяснить, применены ли уже патчи в дереве исходного кода, или они лишь хранятся в debian/patches (при таком подходе они применяются в ходе сборки).

Инструмент git-dpm (и команда с тем же именем) — это ещё одно средство для работы с пакетами в Git, с которым вы можете встретиться. Оно записывает метаданные в debian/.git-dpm и поддерживает в актуальном состоянии патчи в дереве исходного кода, используя команду rebase в применении к ветке которую оно собирает из содержимого debian/patches .

▍9.1.3.2. Настройка параметров сборки

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

В подобных случаях изменения обычно ограничены debian/rules , где задаётся последовательность шагов процесса сборки пакета. В самых простых случаях строки, относящиеся к исходной конфигурации ( ./configure … ), или сами команды сборки ( $(MAKE) … или make … ) найти несложно. Если эти команды не вызываются непосредственно, вероятно, их вызов выполняется через другие команды, вызываемые явно. В подобных случаях стоит обратиться к документации этих команд для того, чтобы узнать о том, как изменить их стандартное поведение. При работе с пакетами, которые используют dh , вам может понадобиться переопределить команды dh_auto_configure или dh_auto_build (посмотрите справку по ним для того, чтобы узнать о том, как это сделать).

Для того, чтобы приблизить эти объяснения к практике, применим их к одному из вышеупомянутых сценариев. А именно, мы собираемся модифицировать libfreefare , передав опцию --enable-debug скрипту ./configure для того, чтобы в результате можно было получить больше сведений от инструментов для работы с NFC и подготовить более качественный отчёт по карте MIFARE NFC, которую не удаётся распознать. Так как пакет, для управления процессом сборки, использует dh , нужно добавить (или, в данном случае, модифицировать) цель override_dh_auto_configure . Вот соответствующее извлечение из файла debian/rules libfreefare :

▍9.1.3.3. Упаковка новой официальной версии пакета

Взглянем на ещё один пример, так как мы говорим об упаковке официальных версий пакетов. Скажем, вы — опытный пользователь SET и заметили, что вышел новый официальный релиз (7.4.5), который пока недоступен в Kali (тут имеется лишь версия 7.4.4). Вам хочется собрать и опробовать обновлённый официальный пакет. Так как произошло лишь небольшое увеличение версии пакета, вы не ожидаете, что изменение потребует каких-либо изменений на уровне упаковки.

Для того, чтобы обновить код, вы извлекаете новый архив рядом с текущим пакетом с исходным кодом и копируете директорию debian из текущего пакета в новый. Затем вы увеличиваете версию в debian/changelog .


Вот и всё. Теперь можно собрать обновлённый пакет.

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

9.1.4. Запуск сборки

Когда в исходный код пакета внесены все необходимые изменения, вы можете приступить к созданию бинарных файлов в формате .deb . Весь этот процесс проходит под управлением команды dpkg-buildpackage и выглядит так:


Мы предпочитаем использовать apt install , а не dpkg -i , так как apt позволяет легко справляться с проблемой отсутствующих зависимостей. Правда, не так давно приходилось использовать dpkg , так как команда apt не могла работать с .deb-файлами, которые расположены вне репозиториев.

▍Программы-оболочки для dpkg-buildpackage


Чаще всего Debian-разработчики, для сборки пакетов, используют программы-оболочки вроде debuild . Эта программа, например, запускает dpkg-buildpackage как обычно, но, кроме того, вызывает скрипт ( lintian ), который выполняет множество проверок сгенерированного пакета на соответствие правилам Debian. Этот скрипт, кроме того, очищает окружение, в результате локальные переменные окружения не могут повлиять на процесс сборки пакета. Команда debuild — это один из инструментов, входящих в состав пакета devscripts , инструменты которого, за счёт единообразия, облегчают жизнь тем, кто занимается поддержкой пакетов.

Итоги

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


Как правило в Ubuntu/Linux Mint все установочные .deb-пакеты приложений, загруженные пользователем, устанавливаются затем по умолчанию графическими программами, такими как Менеджер программ:

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

В этом случае .deb-пакет можно установить посредством терминала.

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

Итак. Для примера я выбрал "безобидный" .deb-пакет для установки значков Suru, которые разрабатываются в настоящее время для Ubuntu 18.10. А "безобидный" этот пакет потому, что даже если вы его установите в системы Ubuntu/Linux Mint и производные, то повредить он ни чему не может в системе.

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

Теперь откройте терминал (Ctrl+Alt+T) и в терминале необходимо перейти в папку Загрузки.

Выполните в терминале команду ls, которая отобразит все папки в Домашнем каталоге:

Далее выполняем непосредственный переход в папку Загрузки. Для этого вводим в терминал команду cd (change directory - изменить директорию/папку), через пробел копипастим название папки, в которую хотим перейти и нажимаем клавишу Ввод:

3. После того как мы перешли в папку Загрузки, нам необходимо посмотреть её содержимое. Вновь введите и выполните (выполнить - нажать клавишу Ввод) команду ls.

Как видно на снимке, в терминале отобразился наш искомый .deb-файл с значками Suru.

4. Установка .deb-файла.

Для установки загруженного .deb-файла, необходимо в этом же терминале ввести команду sudo dpkg -i, через пробел скопипастить название файла и нажать клавишу Ввод:

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

5. После нажатия клавиши Ввод, .deb-пакет будет установлен:

Примечание. Можно также устанавливать несколько пакетов за раз, передавая их все как аргументы команде sudo dpkg -i через пробел (sudo dpkg -i .deb-пакет1 .deb-пакет2 и так далее).

6. К сожалению, программа dpkg не умеет разрешать и скачивать необходимые зависимости из репозиториев. Если вы попали в такую ситуацию, когда терминал после выполнения команды sudo dpkg -i .deb-пакет сообщает о неудовлетворённых зависимостях, выполните в этом же терминале команду sudo apt install -f, которая используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями.

7. По окончании установки .deb-пакета с значками Suru, вы можете использовать их в своём дистрибутиве (Внешний вид/Тема - Значки).

В статье много букаф и картинок, но однажды выполнив эту инструкцию, впоследствии вы будете делать установку .deb-пакета в терминале, при необходимости, в два-три клика.

Читайте также: