Как управлять пакетами / зависимостями на основе deb

Хотите перевести его в режим монитора или беспорядочный режим ? Между ними есть разница:

Определение

Режим мониторинга

Обнюхивание пакетов в воздухе без подключения (связывания) с какой-либо точкой доступа. Думайте об этом, как будто вы слушаете разговоры людей, идя по улице.

Беспорядочный режим

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

Думайте об этом, как о присоединении к группе людей для разговора, но в то же время о возможности услышать, когда кто-то говорит: «Привет, Майк, у меня есть новый ноутбук». Несмотря на то, что вы не Майк, и это предложение было предназначено, чтобы его услышал Майк, вы все равно можете его услышать.

(кредит за эти определения Ади)

Howto

Поскольку я предполагаю, что вам понадобится неразборчивый режим, а не режим мониторинга в / etc / network / interfaces , я скажу как:

Беспорядочный режим

Если вы хотите сделать это в / etc / network / interfaces , проверьте эту конфигурацию:

iface eth0 static
address 192.168.2.1
up /sbin/ifconfig eth0 promisc on

Последняя строка является соответствующей. Он переводит eth0 в неразборчивый режим, как только он подключается к сети («вверх»).

1
07.04.2017, 09:38
2 ответа

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

sudo apt-get install aptitude

Команды очень похожи на apt / apt-get .

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

$sudo aptitude purge libasound2
The following packages will be REMOVED:  
  libasound2{p} libasound2-data{u} 

The following packages have unmet dependencies:
 openjdk-8-jre : Depends: libasound2 (>= 1.0.16) but it is not going to be installed
The following actions will resolve these dependencies:

Remove the following packages:              
1)     openjdk-8-jre [8u111-b14-3 (now, testing)]



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Keep the following packages at their current version:    
1)     libasound2 [1.1.2-1 (now, testing)]                
2)     libasound2-data [1.1.2-1 (now, testing)]           

Accept this solution? [Y/n/q/?] 

Из вики-страницы debian Aptitude :

Aptitude имеет ряд полезных функций, в том числе:

  • синтаксис, подобный mutt, для гибкого сопоставления пакетов, отметьте
  • пакеты как " автоматически устанавливается »или« устанавливается вручную », так что пакеты могут быть автоматически удалены, когда они больше не требуются
  • красочный предварительный просмотр действий, которые будут предприняты
  • dselect-подобная постоянство действий пользователя
  • возможность извлечения и отображения журнал изменений Debian большинства пакетов
  • AptCLI-подобный (= apt-get + apt-cache) режим командной строки ("aptitude install foo")
  • Основанный на оценках и (обычно) более умный преобразователь зависимостей, чем apt-get

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

Вы устанавливаете его с помощью:

sudo apt-get install debfoster

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

Из HOWTO: использование debfoster на практике

debfoster - удаление ненужных пакетов Debian

debfoster поддерживает список установленных пакетов, которые были явно запрошены, а не установлены как зависимость. Аргументы совершенно необязательны, debfoster может вызываться как таковой после каждого запуска dpkg и / или apt-get.

В качестве альтернативы вы можете использовать debfoster для установки и удаления пакетов, указав пакеты в командной строке. Пакеты с суффиксом - удаляются, а пакеты без суффикса устанавливаются.

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

$sudo debfoster

smem is keeping the following 27 packages installed:
  blt fonts-lyx libglade2-0 libjs-jquery libjs-jquery-ui liblapack3 libtk8.6 libwebp6
  libwebpdemux2 libwebpmux2 libxss1 python-cairo python-cycler python-dateutil
  python-glade2 python-gobject-2 python-gtk2 python-imaging python-matplotlib
  python-matplotlib-data python-numpy python-pil python-pyparsing python-tk python-tz
  tk8.6-blt2.5 ttf-bitstream-vera
Keep smem? [Ynpsiuqx?], [H]elp: Y

imvirt is keeping the following 9 packages installed:
  imvirt-helper libemail-date-format-perl libfile-slurp-perl libfile-which-perl
  libimvirt-perl libmime-lite-perl libmime-types-perl libmodule-find-perl pciutils
Keep imvirt? [Ynpsiuqx?], [H]elp: Y

linux-image-4.8.0-1-amd64-unsigned is keeping the following 9 packages installed:
  busybox firmware-linux-free initramfs-tools initramfs-tools-core irqbalance
  klibc-utils libklibc libnuma1 linux-base
Keep linux-image-4.8.0-1-amd64-unsigned? [Ynpsiuqx?], [H]elp: Y

faketime is keeping the following 1 packages installed:
  libfaketime
Keep faketime? [Ynpsiuqx?], [H]elp: N

haveged is keeping the following 1 packages installed:
  libhavege1
Keep haveged? [Ynpsiuqx?], [H]elp: Y
Keep libfaketime? [Ynpsiuqx?], [H]elp: N
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  faketime* libfaketime*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 127 kB disk space will be freed.
Do you want to continue? [Y/n]
2
27.01.2020, 23:25

Поскольку есть больше способов достичь цели, я перечисляю два параметра CLI , где apt - субъективно лучший и рекомендуемый:

1-й выбор: apt apt-get )

sudo apt install ./long-package-name.deb

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

PACKAGE=$(echo long-package-name.deb)

sudo apt-get install ./$PACKAGE

2-й вариант: gdebi

sudo gdebi long-package-name.deb

Поскольку я не использую gdebi , я не могу ни рекомендовать его, ни сказать что-то против, кроме того, что я только что попробовал, Я поделюсь этим с вами:

  1. Я установил пакет .deb с помощью apt
  2. Я запустил sudo apt update
  3. Я запустил sudo apt install. /long-package-name.deb с ожидаемым результатом:

    ПАКЕТ уже является последней версией (ВЕРСИЯ).

  4. Я выполнил sudo gdebi long-package-name.deb с нежелательным результатом:

    Вы хотите установить пакет программного обеспечения?

Может быть, это только я не знаю, как правильно использовать gdebi .

1
27.01.2020, 23:25

Теги

Похожие вопросы