Linux avahi daemon что это

Avahi

Avahi is a free Zero-configuration networking (zeroconf) implementation, including a system for multicast DNS/DNS-SD service discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example you can plug into a network and instantly find printers to print to, files to look at and people to talk to. It is licensed under the GNU Lesser General Public License (LGPL).

Contents

Installation

You can manage the Avahi daemon with avahi-daemon.service using systemd.

Using Avahi

Hostname resolution

Then, edit the file /etc/nsswitch.conf and change the hosts line to include mdns_minimal [NOTFOUND=return] before resolve and dns :

Configuring mDNS for custom TLD

In case you want Avahi to support other TLDs, you should:

Tools

Avahi includes several utilities which help you discover the services running on a network. For example, run

to discover services in your network.

Firewall

Be sure to open UDP port 5353 if you are using a firewall.

Avahi can be used for Bonjour protocol support under Linux. Check Wikipedia:Comparison of instant messaging clients or List of applications#Instant messaging clients for a list of clients supporting the Bonjour protocol.

Obtaining IPv4LL IP address

This article or section is a candidate for merging with dhcpcd.

By default, if you are getting IP using DHCP, you are using the dhcpcd package. It can attempt to obtain an IPv4LL address if it failed to get one via DHCP. By default this option is disabled. To enable it, comment noipv4ll string:

Alternatively, run avahi-autoipd :

Adding services

If you want to advertise a service for which there is no *.service file, it is very easy to create your own. As an example, let us say you wanted to advertise a quote of the day (QOTD) service operating per RFC 865 on TCP port 17 which you are running on your machine

Our service file is thus:

Avahi comes with an example service file to advertise an SSH server. To enable it:

File sharing

If you have an NFS share set up, you can use Avahi to be able to automount them in Zeroconf-enabled browsers (such as Konqueror on KDE and Finder on macOS) or file managers such as GNOME/Files.

The port is correct if you have insecure as an option in your /etc/exports ; otherwise, it needs to be changed (note that insecure is needed for macOS clients). The path is the path to your export, or a subdirectory of it. For some reason the automount functionality has been removed from Leopard, however a script is available. This was based upon this post.

Samba

With the Avahi daemon running on both the server and client, the file manager on the client should automatically find the server.

Vsftpd

You can also auto-discover regular FTP servers, such as vsftpd. Install the vsftpd package and change the settings of vsftpd according to your own personal preferences (see this thread on ubuntuforums.org or vsftpd.conf(5) ).

The FTP server should now be advertised by Avahi. You should now be able to find the FTP server from a file manager on another computer in your network. You might need to enable #Hostname resolution on the client.

AirPrint from Mobile Devices

Troubleshooting

Hostname changes with appending incrementing numbers

This is a known bug that is caused by a hostname race condition. One possible workaround is disabling IPv6 to attempt to prevent the race condition. If multiple interfaces are present use allow-interfaces to limit Avahi to a single interface. Another possible workaround is to disable the cache to prevent Avahi from checking for host name conflicts altogether, but this prevents Avahi from performing lookups.

Источник

Знакомимся с демонами (в Red Hat Enterprise Linux)

Автор Len DiMaggio

Происхождение термина

Введение в сервисы

Вы можете просмотреть текущее состояние всех системных служб с помощью следующей опции утилиты service:

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

Мы видим, что сервис syslog автоматически запускается при переходе на уровни 2, 3, 4 и 5. Для того, чтобы отключить его запуск на уровнях 3 и 4 (не очень хорошая идея, кстати), можно воспользоваться следующей опцией команды chkconfig:

Утилита /usr/bin/system-config-services предоставляет графический интерфейс к системным службам, позволяющий просматривать и модифицировать их текущее состояние, а также задавать их запуск на различных уровнях исполнения (смотри рисунок 1).


Рисунок 1: Графический интерфейс, предоставляемый утилитой /usr/bin/system-config-services

Давайте посмотрим, как эти сервисы и демоны отображаются в выводе команды ps. Вот небольшая выдержка :

Что здесь интересно отметить (кроме того, конечно, что я сегодня слишком поздно засиделся за компьютером)? Для каждого из демонов идентификатор родительского процесса (PPID) равен 1. Это показывает, что демоны были запущены процессом init во время загрузки системы.

Более наглядно этот результат можно видеть в выводе такой полезной команды как «pstree», отображающей «дерево» процессов с указанием «родителей». Вот небольшой фрагмент из вывода pstree:

Подробнее о демонах в вашей системе

acpid

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

anacron

Если вы используете лэптоп, как делают многие в наши дни, то одна из проблем заключается в том, что, задавая какую-то работу демону cron, вы не всегда уверены в том, что ваш комьютер будет включен в то время, на которое назначено выполнение задания. Anacron (это название происходит от «anachronistic cron», то есть что-то вроде «устаревший cron») решает эту проблему путем проверки того, выполнялись ли задания в определенный промежуток времени. Например, anacron запустит задачу на выполнение, если она не запускалась заданное число дней.

В каких случаях вы можете отказаться от использования anacron? Если ваша система запущена постоянно.
Можете ли вы просто отказаться от запуска cron, если у вас запущен anacron? Нет; для anacron период перезапуска заданий может быть задан только в днях, а не в минутах и секундах.

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

autofs

Этот демон автоматически монтирует диски и файловые системы, которые определены в конфигурационном файле. Использование этого демона делает более удобной работу со съемными дисками.

auditd

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

Нужно ли держать auditd в запущенном состоянии? Информация из журналов протоколирования может быть очень полезной в настройке всего, что связано с безопасностью системы. Например, auditd используется в протоколировании событий SELinux. Существуют также такие утилиты, как aureport, которые позволяют вам просматривать журналы аудита. Вот пример отчета, созданного утилитой aureport:

Avahi-daemon и avahi-dnsconfd

Bluetooth и демоны hidd и pand

Название демона hidd происходит от «the Bluetooth Human Interface Device Daemon». Он обеспечивает поддержку клавиатуры, мыши и трекбола по протоколу Bluetooth. А демон pand поддерживает подключение вашего компьютера к ethernet-сети посредством Bluetooth.

Этот демон поддерживает the Common ISDN Application Programming Interface (интерфейс прикладного программирования для цифровой сети с интеграцией услуг). Его следует запускать, если вы подключаетесь к аппаратным ISDN-компонентам. Эта служба запускает capiinit.

conman

Нет, это не имеет никакого отношения к ночным передачам про инвестиции в недвижимость. Сервис conman (и демон conmand) поддерживают управление консолями. Обеспечивается поддержка нескольких консольных устройств и одновременная работа пользователей, поддержка локальных последовательных устройств и удаленных терминальных серверов (по протоколу telnet). Если вы управляете несколькими серверами, вам может потребоваться conman.

cpuspeed

Этот демон изменяет скорость работы центрального процессора с целью снижения энергопотребления. Если ЦПУ простаивает, можно снизить скорость, тем самым понижая затраты энергии, а для повышения производительности прихоодится энергопотребление увеличивать. Если вы работаете на портативном компьютере, имеет смысл запустить cpuspeed.

crond

Этот демон служит для автоматического запуска задач. Это необходимо во всех Linux и Unix-системах. Не останавливайте и не отключайте эту службу.

CUPS and cups-config-daemon

Это демон общей службы печати UNIX (the «Common UNIX Printing Solution»). Как следует уже из названия, это система печати, которая обеспечивает работу с различными форматами файлов и различными типами принтеров. Если вы хотите печатать, пусть этот демон работает в вашей системе.

dhcdbd

Название этого демона является аббревиатурой от «DHcp Client D-Bus Daemon». Ресурс The Free DeskTop wiki дает следующее определение:

Нужно ли вам запускть этого демона? Если ваша система работает в сети (а как же иначе?), в особенности если вы перемещаетесь между сетями (например, переключаетесь из проводной сети в беспроводную), то вы должны запускать NetworkManager (мы рассмотрим NetworkManager чуть ниже).

Демон dhcdbd обеспечивает интерфейс к D-Bus для dhclient, DHCP-клиента от ISC. Это дает возможность NetworkManager-у обращаться к dhclient-у и управлять им.

Не отключайте эту службу. Ее используют многие приложения.

hplipd

Этот демон обеспечивает поддержку системы HP Linux Imaging and Printing (HPLIP), используемой для печати, сканирования и обработки факсов на струйных и лазерных устройствах от HP. HPLIP взаимодействует с CUPS, обеспечивая для последней доступ к устройствам от HP.

hsqldb

httpd

Веб-серве Apache. Используется почти на 60% всех веб-сайтов. Если вы хотите поддерживать веб-сайт, вы запускаете Apache. Нужно ли еще что-то говорить?

ip6tables и iptables

Iptables работает путем задания правил фильтрации пакетов IPv4 в виде таблицы ядра. Входящие и исходящие пакеты проверяются на соответствие этим правилам и те из них, которые не удовлетворяют правилам, блокируются. Ip6tables делает то же самое по отношению к пакетам IPv6.

irqbalance

Этот демон занимается распределением аппаратных прерываний между ЦПУ в мультипроцессорных SMP (symmetric processor) архитектурах с целью повышения производительности.

На однопроцессорных системах запускать этот демон нет необходимости, его влияние сказывается только в многопроцессорных системах.

kudzu

Это очень полезный демон. Он работает во время загрузки и проверяет, какие аппаратные устройства были добавлены в или удалены из системы. Имеет смысл запускать kudzu во время загрузки, даже если вы не планируете часто добавлять или удалять устройства. Потому что рано или поздно вы равно окажетесь в ситуации, когда добавите какое-то устройство и будете ожидать, что система его обнаружит. К тому же, поскольку kudzu отрабатывает на этапе загрузки, это не оказывает отрицательного влияния на производительность системы.

Этот демон получил свое название от Lan Information Server. Lisa обеспечивает функционал, подобный тому, который предоставляет служба «Мое сетевое окружение» (Network Neighborhood) в MS-Windows, то есть обеспечивает доступ к серверам вашей локальной сети, включая сервера CIFS (Common Internet File Systems). lisa работает по протоколам TCP/IP, рассылая ICMP-запросы по IP-адресам в заданном диапазоне, который вы указали в конфигурационном файле, и ожидая, какие компьютеры откликнутся.

lm_sensors

Этот демон обеспечивает мониторинг температур и напряжений на материнской плате. Для работы системы мониторинга необходимо наличие соответствующих датчиков в аппаратуре. Запускать этот демон имеет смысл только в том случае, если обеспечена аппаратная поддержка. Вероятно не стоит запускать его на обычных рабочих станциях. Он скорее нужен на hi-end-серверах, выполняющих критически важные функции.

mcstrans

А если демон остановлен, вы увидите следующее:

Обратите внимание на то, что если демон остановлен, отображается значение контекста безопасности «s0». Mctrans в данном случае обнулил контекст. Другие значения контекста безопасности преобразуются из буквенно-цифровых значений в их названия.

mdmonitor и mdmpd

messagebus

Это демон системной шины сообщений D-BUS. Он рассылает широковещательные сообщения о системных событиях и таких событиях, как изменения в очереди печати, или добавление или удаление устройств (заметьте, что это не то же самое, что делает kudzu, поскольку такие события могут иметь место в любой момент работы системы, а не только на этапе загрузки).

netplugd и ifplugd

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

Отметим, что поддержка netplugd была прекращена, сейчас вместо него используется ifplugd.

NetworkManager и NetworkManagerDispatcher

Демон NetworkManager автоматизирует переключение между сетевыми соединениями. Этот демон полезен для пользователей лэптопов, которые переключаются между беспроводными WiFi-соединениями и соединениями по Ethernet. Демон NetworkManagerDispatcher автоматически запускает скрипты для выполнения необходимых операций (например, скрипты для задания специфических направлений маршрутизации пакетов), когда NetworkManager изменяет состояние сети.

named

Это демон, который выполняет функции сервера доменных имен (Domain Name Server). Вы должны его запускать только в том случае, если ваш компьютер является DNS-сервером для вашей сети.

Демон nfsd осуществляет поддержку протокола сетевых коммуникаций nfs, который служит для предоставления доступа к сетевым ресурсам в TCP/IP-сетях. Вам нужно его запускать, если вы предоставляете доступ другим пользователям к своим файловым системам по протоколу nfs.

Это демон кэширования для службы имен. Он поддерживает таблицу групп и паролей для запущенных программ, а затем выдает запомненный результат по следующему запросу тех служб, которые иначе работают слишком медленно, например, NIS или LDAP. Если у вас запущены эти службы, вам следует запустить и nscd.

Это демон, который поддерживает протокол сетевой службы времени (Network Time Protocol). Он устанавливает системное время и синхронизуирует его со временем, задаваемым Интернет-серверами, поддерживающими эталонное время. Если ваша система подключена к Интернет (а разве нет?), то этот демон будет следить за правильностью установки системного времени на вашем компьютере.

oddjobd

Демон oddjobd обеспечивает работу службы com.redhat.oddjob на системной шине. Каждая возможность, предоставляемая oddjobd, предоставляется как отдельный метод D-Bus. Oddjobd обеспечивает поддержку выполнения привелигированных операций для непривелигированных приложений.

Запускать этот демон следует только в том случае, если вы используете приложения, которым он необходим, такие как Conga.

openvpn

Этот демон поддерживает виртуальные частные стеи (virtual private networks, VPNs). В стартовом скрипте этого демона сказано следующее:

Если ваша система является узлом VPN, то вам, вероятно, следует запустить OpenVPN.

pcscd

portmap

Так что, если ваша система зависит от NIS или NFS, не отключайте демон portmap.

postfix

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

rdisc

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

restorecond

Это демон из SELinux. Restorecond отслеживает создание файлов (для файлов, перечисленных в /etc/selinux/restorecond.conf) и следит за тем, чтобы файлы имели правильный файловый контекст, соответствующий установленой политике (policy), а также определяет файловый контекст SELinux, используемый по умолчанию.

Не отключайте эту службу. Она необходима для SELinux.

rhnsd

Этот демон периодически проверяет, какие операции должны быть выполнены через сетевой интерфейс Red Hat (Red Hat Network web interface), и запускает их. Эти операции включают инсталляцию, удаление или обновление программного обеспечения, перезагрузку системы, установку конфигурационных файлов и так далее.

rpcgssd, rpcidmapd и rpcsvcgssd

Демоны rpcgssd и rpcsvcgssd служат для обеспечения безопасности при работе через RPC. Rpcidmapd преобразует имена пользователей в номера UID и GID.

Если вы используете NFS или NIS, эти демоны у вас должны быть запущены.

readahead_early и readahead_later

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

saslauthd

Это демон сервера аутентификации SASL. SASL (Simple Authentication and Security Layer) добавляет возможности аутентификации в протоколы, основанные на удаленных соединениях.

sendmail

Это сервер SMTP (Simple Mail Transfer Protocol). Sendmail пересылает почту от одной системы к другой, то есть является агентом передачи почты (Mail Transport Agent). Если вы используете такие почтовые программы как Thunderbird или Evolution, вам не требуется запускать sendmail.

setroubleshoot

smartd

Этот демон следит за показаниями датчиков SMART (Self-Monitoring, Analysis and Reporting Technology), устанавливаемых во многих типах дисководов, например, в жестких дисках типа SCSI-3. Демон обеспечивает наблюдение за нормальной работой таких устройств и выполняет самотестирование. Если ваше оборудование поддерживает технологию SMART, нужно запускать эту службу.

spamassassin

Этот демон использует программу Apache SpamAssassin для проверки почты на наличие спама. Он обычно запускается совместно с сервером доставки почты (a mail deleivery agent (MDA) server). Если вы используете клиентские программы вроде Thunderbird или Evolution для доступа к вашей почте, вам не требуется запускать spamassassin.

Это демон для протокола open ssh. Ssh заменяет небезопасные программы rsh и rlogin и обеспечивает шифрование соединений между хостами в небезопасных сетях. Если вы используете соединения с другими системами через открытый Интернет, вы должны использовать ssh и запускать этот демон.

syslog

winbind

Этот демон является частью пакета Samba. Он дает возможность пользователям домена Windows подключаться как пользователям Unix к Unix-серверам. Запускать этот демон следует в том случае, когда вы имеете дело со смешанной сетью, состоящей из Windows и Linux/Unix-компьютеров.

Это сервер шрифтов (font server). Этот демон загружает шрифты в память для того, чтобы графические приложения работали быстрее, чем в том случае, когда они вынуждены загружать шрифты с жесткого диска. Эту службу надо запускать для повышения производительности приложений в вашей системе.

ypbind

Эта служба связывает NIS-клиента с доменом NIS. Буквы «yp» в ее названии произошли от «yellow pages,» поскольку каталоги NIS подобны телефонным справочникам «желтые страницы». Запускать эту службу нужно только в том случае, если ваша система использует NIS (Network Information Service) для организации доступа к пользовательским бюджетам и системным именам.

yum-updatesd

yum-updatesd отслеживает появление обновлений программного обеспечения и рассылает извещения об этих обновлениях по электронной почте, d-bus или в виде системных сообщений, а также может произвести автоматическое обновление ПО. D-bus-сообщения принимаются утилитой «puplet» (package updater), которая информирует пользователя о наличии обновления, а также позволяет установить это обновление.

Ссылки

Благодарности

Я хочу поблагодарить Mauriet Miranda за информацию, представленную на его веб-сайте «Services in Fedora». Эта информация послужила в качестве отправной точки для моих исследований при написании этой статьи. Я благодарю также Christopher Smith, James Bowes и Dan Walsh за техническую информацию, предоставленную для написания настоящей статьи.

Len DiMaggio is a QE Engineer at Red Hat in Westford, Massachusettes and has published articles on software engineering in Red Hat Magazine, Dr. Dobbs Journal, Software Development Magazine, IBM Developerworks, STQE, and other journals.

Источник

Avahi-daemon и его полное отключение

Друзья, в Ubuntu и Debian есть такая бяка, как Avahi-daemon. Так вот, при установке WINE (да, некоторым это решето нужно в работе и для игр) эта фигня ставится принудительно. И при удалении следом удаляется Wine.

И вообще, объясните мне пожалуйста, почему avahi-daemon завязан на Wine?

Мне думается вообще собрать Wine из сырцов, чтобы из репы следом не ставилось куча ххлама.

Перемещено JB из Talks

Потому что «сетевое окружение», потому и авахи 🙂

Не сам, а разработчики дистрибутива должны озаботиться этой проблемой и завести скрипт, который будет следить и в случае чего прибивать avahi.

А если не отключится?

Так вот, при установке WINE (да, некоторым это решето нужно в работе и для игр) эта фигня ставится принудительно.

Враки, только если ставишь suggested пакеты.

А у меня ставится. ЧЯДНТ?!

А как поставить Wine без этих пакетов?!

# apt-get install wine Чтение списков пакетов. Готово Построение дерева зависимостей Чтение информации о состоянии. Готово Будут установлены следующие дополнительные пакеты: avahi-daemon cabextract gnome-exe-thumbnailer ia32-libs icoutils lib32asound2 lib32bz2-1.0 lib32gcc1 lib32ncurses5 lib32nss-mdns lib32stdc++6 lib32v4l-0 lib32z1 libc6-i386 libnss-mdns ttf-droid ttf-mscorefonts-installer ttf-symbol-replacement ttf-umefont winbind wine1.2 wine1.2-gecko Предлагаемые пакеты: libterm-readline-gnu-perl libterm-readline-perl-perl lib32asound2-plugins Рекомендуемые пакеты: winetricks wisotool НОВЫЕ пакеты, которые будут установлены: avahi-daemon cabextract gnome-exe-thumbnailer ia32-libs icoutils lib32asound2 lib32bz2-1.0 lib32gcc1 lib32ncurses5 lib32nss-mdns lib32stdc++6 lib32v4l-0 lib32z1 libc6-i386 libnss-mdns ttf-droid ttf-mscorefonts-installer ttf-symbol-replacement ttf-umefont winbind wine wine1.2 wine1.2-gecko обновлено 0, установлено 23 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 120MБ архивов.

И как команда будет выглядеть?

Вроде можно и так. Ты принципиально маны не читаешь?

Или в /etc/apt/apt.conf добавить

// Recommends are as of now still abused in many packages
APT::Install-Recommends «0»;
APT::Install-Suggests «0»;

И уже потом ставить?

Вроде можно и так. Ты принципиально маны не читаешь?

Монопенисуально. Но если обычно не нужны рекомендуемые пакеты, то лучше добавить, чтобы не набирать параметры каждый раз.

Debian? Какая ветка?

А в чём, собственно, проблема убрать его из автозапуска в текущем ранлевеле, если уж не осилил не устанавливать? man invoke-rc.d

man update-rc.d, конечно. Но invoke-rc.d тоже пригодится.

Если бы. Бунта 10.04 ЛТСка.

В Дебиане 6, например, удаление transmission тянет за собой весь GNOME3.

Источник

Операционные системы и программное обеспечение