Идентификатор зоны IPv6 в/etc/hosts

Это - во многих отношениях, слишком широкий вопрос, но здесь является некоторыми фактами:

  • загруженные пакеты через yum или dnf кэшируются до a yum clean packages или dnf clean packages операция удаляет их.
  • загруженные пакеты через rpm будет находиться там, пока вручную не удалено (если не загружено в эфемерном /tmp файловая система, в этом случае они будут потеряны после перезагрузки),

Все же ответ зависит от нескольких вещей:

  1. Вы были посреди a yum или dnf транзакция? или действительно ли это было прямое rpm команда? для бывшего случая, yum-complete-transaction попытается закончить все иски на рассмотрении. Для последнего случая, снова, это зависит от того, что было точным этапом установки, которая происходила во время перебоя в питании. Можно всегда пытаться работать rpm --force -Uvh $package переустановить пакет независимо его текущее состояние. Худший вариант развития событий в этом случае был бы поврежденным rpm пакет.

  2. Ваши гипотетические пакеты один или несколько из: личинка, ядро, initramfs, dracut, lvm или какой-либо пакет, который предоставил бы Вам доступ к Вашей корневой файловой системе? в этом случае самым вероятным результатом является незагрузочная система, которая должна быть восстановлена другими средствами, например, PXE, загружающимся в изображение systemrescue. Сумма различных случаев, которые могли произойти в зависимости от включенных пакетов и зависимости среди них, лишает возможности знать заранее, что точно произошло бы.

5
18.12.2014, 02:22
2 ответа

Нет встроенной функции для раскрашивания журналов, но есть

  • Vim с его сообщения индикатор, который облегчает чтение журналов, а также подсвечивает строки с определенными ключевыми словами ("ошибка", "сбой" и т.д.) красным.
    Попробуйте : установить сообщения .

  • ccze - Надежный логарифмический колоризатор - замена colorize , который, по-видимому, имеет множество способов настройки его функций раскраски.

  • colortail , который "является в основном хвостом, но с поддержкой цветов".

  • и множество других инструментов - см. этот вопрос для некоторых более

-121--139816-

просто для удовольствия есть -c 'normal 14j24l' , который поставит вас на линию 15 символ 25

-121--25693-

Это ограничение библиотеки GNU C (и, возможно, других). Он имеет плагин API, который даже не передает идентификатор области (или ifindex/ifname) надежно . Тогда есть фактический nss _ files плагин, который AFAIK не готов для синтаксиса.

Я, безусловно, могу помочь в этой области и соответствующим образом изменить ответ. Во-первых, я работаю над более или менее экспериментальной заменой API разрешения имени glibc в виде проекта с открытым исходным кодом netresolve . Его можно использовать для экспериментов, а также для повседневной работы, если вы знаете, что делаете. Похоже, он также не поддерживает IPv6 идентификатор области в/etc/hosts, но я добавляю его в свой список TODO. Во-вторых, я могу предоставить патчи для поддержки самого glibc. Вы можете применить их локально или надеяться, что проект примет их.

Существуют протоколы, такие как многоадресный DNS, которые теоретически могут обеспечить это, но не реализованы в nss_mdns и заблокированы одной и той же проблемой.

Обходной путь с помощью netresolve

Поэтому я понял, что я уже внедрил это в netresolve , но мне пришлось исправить пару крошечных ошибок , чтобы он действительно работал. Спасибо, что довели их до сведения, заставив попробовать.

Вам нужно построить проект из git. Предусмотрены live ebuild для Gentoo и Arch AUR package . Проверка зависимостей еще не идеальна. Пакет предоставляет команду netresolve для выполнения запросов разрешения имен и команду wrapresolve для выполнения программ с подпрограммами разрешения libc, замененными повторными реализациями на основе libnetresolve . Это достигается с помощью переменной среды LD _ PRELOAD , поэтому можно даже запустить всю оболочку, запустив wrapresolve bash или подобное.

Конфигурация

/etc/hosts:

fe80::2677:3ff:fe40:db38%wlan0 test-link-local-with-scope-id

Примечание: Можно записать локальные адреса с идентификатором области стандартным способом, т.е. добавить знак процента, а затем либо имя интерфейса (ifname), либо индекс интерфейса (ifindex), как указано, например, ip link .

Тест с использованием netresolve

# netresolve --node testxxx
response netresolve 0.0.1
name testxxx
ip 1:2:3:4:5:6:7:8%eth0 any any 0 0 0 0
secure

Тест с использованием wrapresolve и getaddrinfo

Пакет netresolve также предоставляет средство для тестирования getaddrinfo () под названием getaddrinfo .

# wrapresolve getaddrinfo test-link-local-with-scope-id
query:
  nodename = test-link-local-with-scope-id
  servname = (null)
status = 0
#0:
  family = 10
  addrlen = 28
  address:
    family = 10
    port = 0
    flowinfo = 0x00000000
    address = 0xfe80000000000000267703fffe40db38
    scope_id = 3
  nodename = test-link-local-with-scope-id

Тест с использованием wrapresolve и getent

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

# wrapresolve getent ahosts test-link-local-with-scope-id 
fe80::2677:3ff:fe40:db38 0      test-link-local-with-scope-id

Тестирование с использованием wrapresolve и ping6

# wrapresolve ping6 test-link-local-with-scope-id

PING test-link-local-with-scope-id(fe80::2677:3ff:fe40:db38) 56 data bytes
64 bytes from fe80::2677:3ff:fe40:db38: icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from fe80::2677:3ff:fe40:db38: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from fe80::2677:3ff:fe40:db38: icmp_seq=3 ttl=64 time=0.072 ms
64 bytes from fe80::2677:3ff:fe40:db38: icmp_seq=4 ttl=64 time=0.078 ms
^C

Примечание. Необходимо выполнить ping и ping6 в качестве корня. Их работа требует дополнительных привилегий, и они являются suid root из-за этого, что плохо играет с wrapresolve.

Тестирование с использованием wrapresolve и ssh

# wrapresolve ssh test-link-local-with-scope-id
# logout

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

Многоадресный DNS

У меня есть mDNS в списке TODO для netresolve, возможно, через Avahi и systemd-resolved, который будет обслуживать DNS, LLMNR и mDNS одновременно.

Исправления для библиотеки GNU C

Это в моем долгосрочном списке TODO, и я общаюсь с другими людьми, работающими над его частями. Есть больше вариантов, и я собираюсь заполнить больше информации в этом ответе позже.

5
27.01.2020, 20:33

Использование Link-Local для ручной работы не очень удобно (как вы заметили). Link-Local отлично подходит для автоматических функций, таких как обнаружение локальных шлюзов в сети, разговаривая с локальным сервером DHCPV6, MDNS, маршрутизаторами OSPFV3, разговаривая друг с другом и т. Д. Но для нормальной работы вы должны использовать маршрутные адреса. Если вы получаете адреса IPv6 из своего провайдера, а затем используйте их, в противном случае создайте свой собственный префикс ULA.

Короче говоря: Link-локальные адреса в / etc / hosts Не работайте, вместо этого используйте маршрутные адреса

7
27.01.2020, 20:33

Теги

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