Наиболее полезным инструментом для составления списка пакетов, которые необходимо проверить в этой ситуации, являетсяapt-show-versions
. Установите это,затем запустите его следующим образом:
apt-show-versions | grep "No available version in archive"
чтобы вывести список всех пакетов, которые недоступны вообще с текущей конфигурацией репозитория (и должны быть удалены ).
apt-show-versions | grep "newer than version in archive"
, чтобы вывести список всех пакетов, текущая установленная версия которых новее, чем версии, доступные с вашей текущей конфигурацией репозитория (и которые вы, возможно, захотите понизить ).
Вы можете получить аналогичную информацию, используя apt list --installed
и выполнив поиск [installed,local]
, но это не делает различий между пакетами, которые недоступны из ваших настроенных репозиториев, и пакетами, которые доступны, но в более старой версии, чем текущая. установил один.
aptitude
также может показать вам это; запустите его и найдите раздел «Устаревшие и локально созданные пакеты» в TUI. Он будет содержать все пакеты, которые недоступны в ваших настроенных репозиториях. Вы можете перечислить пакеты, используя
aptitude search '~o'
и в вашей оболочке тоже.
aptitude
дает самый простой ответ на ваш актуальный вопрос:
aptitude purge '~o'
удалит все «устаревшие» пакеты (, то есть пакеты, которые больше не доступны в репозиториях ).
aptitude
также может идентифицировать бесплатные или -бесплатные пакеты без необходимости удаления соответствующих репозиториев:
aptitude search '~i ~scontrib/.*' '~i ~snon-free/.*'
Вы можете очистить их напрямую:
aptitude purge '~i ~scontrib/.*' '~i ~snon-free/.*'
У меня нет особого опыта работы с ROS2, но для любого нормального дистрибутива Linux вы можете использовать iptables
или nftables
для дублирования трафика. Конечно, вам нужно будет иметь возможность обрабатывать дубликаты пакетов на принимающей стороне.
Для обоих вы устанавливаете маршрут по умолчанию через любой из интерфейсов, а затем делаете что-то вроде этого
nft add rule mangle prerouting dup to $secondaryGatewayIP
iptables -t mangle -A PREROUTING -j TEE --gateway $secondaryGatewayIP
Это правило будет дублировать весь трафик, а это может быть не то, что вам нужно. Вы всегда можете использовать более строгие фильтры, чтобы ограничить дублирование только трафиком, идущим на ваши серверы
.