Debian Stretch хочет обновить основные пакеты после включения backports

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

Мой первый совет - установить rooth на стороне клиента.

Это оболочка для оболочек, которая регистрирует все повторяющиеся нажатия клавиш и вывод терминала в файл и / или в системный журнал [ веб-сайт rooth ]

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

Если вы вызываете rooth как

./rootsh -i -f logfile

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

Теперь вы можете создать TCP-сокет на клиенте с

socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork

, из которого вы можете читать данные с хоста администратора. Например, с

 socat TCP:clientdomain:22222 STDOUT

или с netcat , то есть telnet (доступны двоичные файлы Windows для socat).

Если вы хотите иметь более безопасный поток данных между узлами, вы также можете указать socat зашифровать его через OPENSSL . Вы можете найти подробное объяснение этого в статье Защита трафика между двумя экземплярами Socat с помощью SSL .

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

1
01.06.2018, 17:56
1 ответ

No necesita habilitar nada para hacer cumplir el comportamiento documentado para backports, pero sí debe asegurarse de que el sistema sepa de dónde provienen los paquetes instalados. En su caso, tiene una versión de systemdde stretch/updates, pero sus fuentes no hacen referencia a eso, por lo que aptle da a la versión instalada de systemduna puntuación de 100 que es menor o igual a la backports score (vea su salida apt policy).

Para solucionar esto, asegúrese de que su /etc/apt/sources.listtenga entradas para stretch-updates, algo así como

deb http://ftp.debian.org/debian stretch-updates main
deb-src http://ftp.debian.org/debian stretch-updates main

Debería ver apt policy systemddar los siguientes resultados:

systemd:
  Installed: 232-25+deb9u3
  Candidate: 232-25+deb9u3
  Version table:
     237-3~bpo9+1 100
        100 http://ftp.debian.org/debian stretch-backports/main amd64 Packages
 *** 232-25+deb9u3 500
        500 http://ftp.debian.org/debian stretch-updates/main amd64 Packages
        100 /usr/var/lib/dpkg/status
     232-25+deb9u2 500
        500 http://ftp.debian.org/debian stretch/main amd64 Packages
1
27.01.2020, 23:43

Теги

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