NetworkManager-1.42.0
      
      
        
          Introdução ao NetworkManager
        
        
          "NetworkManager" é um conjunto de
          ferramentas cooperativas que tornam a operação interativa de
          dispositivos via rede de intercomunicação simples e direta. Quer
          você use "WiFi", com fio, "3G" ou "Bluetooth", o "NetworkManager"
          te permite mudar rapidamente de uma rede de intercomunicação para
          outra: depois que uma rede de intercomunicação tiver sido
          configurada e conectada uma vez, ela poderá ser detectada e
          conectada novamente automaticamente na próxima vez que estiver
          disponível.
        
        
          Esse pacote é conhecido por construir e funcionar adequadamente
          usando uma plataforma LFS 11.3.
        
        
          Informação do Pacote
        
        
        
          Dependências do "NetworkManager"
        
        
          Exigidas
        
        
          jansson-2.14 e libndp-1.8
        
        
          Recomendadas
        
        
          cURL-7.88.1, DHCP-4.4.3-P1 (somente o cliente),
          gobject-introspection-1.74.0,
          iptables-1.8.9, newt-0.52.23 (para
          nmtui), nss-3.88.1, Polkit-122,
          PyGObject-3.42.2, elogind-246.10, UPower-1.90.0,
          Vala-0.56.4 e wpa_supplicant-2.10 (tempo de execução,
          construído com suporte ao "D-Bus")
        
        
          Opcionais
        
        
          BlueZ-5.66, D-Bus Python-1.3.2 (para a suíte de
          teste), GnuTLS-3.8.0 (usado se nss-3.88.1 não for
          encontrado), GTK-Doc-1.33.2, libpsl-0.21.2, Qt-5.15.8 (para
          exemplos), ModemManager-1.18.12, Valgrind-3.20.0, dnsmasq, firewalld, libaudit,
          libteam, 
          mobile-broadband-provider-info, PPP e RP-PPPoE
        
        
          Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/NetworkManager
        
       
      
        
          Configuração do Núcleo
        
        
          Se desejar executar os testes, [então] verifique se pelo menos as
          seguintes opções estão habilitadas na configuração do núcleo. Essas
          opções foram consideradas necessárias, mas podem não ser
          suficientes. Recompile o núcleo se necessário:
        
        
[*] Networking support--->                               [CONFIG_NET]
      Networking options--->
      [*] TCP/IP networking                               [CONFIG_INET]
      <*/M>   IP: tunelling                               [CONFIG_NET_IPIP]
      <*/M>   IP: GRE demultiplexer                       [CONFIG_NET_IPGRE_DEMUX]
      <*/M>   IP: GRE tunnels over IP                     [CONFIG_NET_IPGRE]
      <*>   The IPv6 protocol --->                        [CONFIG_IPV6]
        <*/M> IPv6: IPv6-in-IPv4 tunnel (SIT driver)      [CONFIG_IPV6_SIT]
        <*/M> IPv6: GRE tunnel                            [CONFIG_IPV6_GRE]
        [*] IPv6: Multiple Routing Tables                 [CONFIG_IPV6_MULTIPLE_TABLES]
      [*]   MPTCP:   Multipath TCP                        [CONFIG_MPTCP]
      [*]     MPTCP: IPv6 support for Multipath TCP       [CONFIG_MPTCP_IPV6]
      <*/M> 802.1Q/802.1ad VLAN Support                   [CONFIG_VLAN_8021Q]
      [*] QoS and/or fair queueing  --->                  [CONFIG_NET_SCHED]
        <*/M> Stochastic Fairness Queueing (SFQ)          [CONFIG_NET_SCH_SFQ]
        <*/M> Token Bucket Filter (TBF)                   [CONFIG_NET_SCH_TBF]
        <*/M> Fair Queue Controlled Delay AQM (FQ_CODEL)  [CONFIG_NET_SCH_FQ_CODEL]
        <*/M> Ingress/classifier-action Qdisc             [CONFIG_NET_SCH_INGRESS]
    Device Drivers --->
    [*] Network device support --->                       [CONFIG_NETDEVICES]
      [*] Network core driver support                     [CONFIG_NET_CORE]
      <*>   Bonding driver support                        [CONFIG_BONDING]
      <*>   Dummy net driver support                      [CONFIG_DUMMY]
      <*>   Ethernet team driver support --->             [CONFIG_NET_TEAM]
      <*>   MAC-VLAN support                              [CONFIG_MACVLAN]
      <*>     MAC-VLAN based tap driver                   [CONFIG_MACVTAP]
      <*>   IP-VLAN support                               [CONFIG_IPVLAN]
      <*>   Virtual eXtensible Local Area Network (VXLAN) [CONFIG_VXLAN]
      <*>   Virtual ethernet pair device                  [CONFIG_VETH]
      <*>   Virtual Routing and Forwarding (Lite)         [CONFIG_VRF]
       
      
        
          Instalação do NetworkManager
        
        
          Se "Qt-5.15.8" estiver instalado e os exemplos baseados
          em "Qt" forem desejados, [então] corrija dois arquivos
          "meson.build":
        
        sed -e 's/-qt4/-qt5/'             \
    -e 's/moc_location/host_bins/' \
    -i examples/C/qt/meson.build   &&
sed -e 's/Qt/&5/'                  \
    -i meson.build
        
          Corrija os conjuntos sequenciais de comandos "Python", de forma que
          eles usem "Python 3":
        
        grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
        
          Instale o "NetworkManager"
          executando os seguintes comandos:
        
        mkdir build &&
cd   build &&
CXXFLAGS+="-O2 -fPIC"            \
meson setup                      \
      --prefix=/usr              \
      --buildtype=release        \
      -Dlibaudit=no              \
      -Dlibpsl=false             \
      -Dnmtui=true               \
      -Dovs=false                \
      -Dppp=false                \
      -Dselinux=false            \
      -Dsession_tracking=elogind \
      -Dmodem_manager=false      \
      -Dsystemdsystemunitdir=no  \
      -Dsystemd_journal=false    \
      -Dqt=false                 \
      .. &&
ninja
        
          Uma sessão gráfica já ativa com endereço de barramento é necessária
          para executar os testes. Para testar os resultados, emita
          "ninja test".
        
        
          Uns poucos testes possivelmente falhem, dependendo das opções de
          núcleo habilitadas.
        
        
          Agora, como o(a) usuário(a) "root":
        
        ninja install &&
mv -v /usr/share/doc/NetworkManager{,-1.42.0}
        
          Se você não passou a opção "-Ddocs=true" para "meson", [então] você consegue
          instalar as páginas de manual pré geradas com (como o(a) usuário(a)
          "root"):
        
        for file in $(echo ../man/*.[1578]); do
   section=${file##*.} &&
   install -vdm 755 /usr/share/man/man$section
   install -vm 644 $file /usr/share/man/man$section/
done
        
          Ainda caso você não tenha usado "-Ddocs=true", a documentação "HTML" pré gerada
          também pode ser instalada com (como o(a) usuário(a) "root"):
        
        cp -Rv ../docs/{api,libnm} /usr/share/doc/NetworkManager-1.42.0
       
      
        
          Explicações do Comando
        
        
          CXXFLAGS="-O2 -fPIC": Essas opções do
          compilador são necessárias para construir exemplos baseados em
          "Qt5".
        
        
          --buildtype=release:
          Especifique um tipo de construção adequado para lançamentos
          estáveis do pacote, pois o padrão possivelmente produza binários
          não otimizados.
        
        
          -Ddocs=true: Use essa chave para
          habilitar a construção de páginas de manual e documentação se
          "GTK-Doc-1.33.2" estiver instalado.
        
        
          -Dnmtui=true: Esse
          parâmetro habilita construir o "nmtui".
        
        
          -Dsystemdsystemunitdir=no e
          -Dsystemd_journal=false:
          "systemd" não é usado para sistemas de inicialização "SysV".
        
        
          -Dlibpsl=false e -Dovs=false: Essas chaves desabilitam
          a construção com as respectivas bibliotecas. Remova se você tiver
          as bibliotecas necessárias instaladas.
        
        
          -Dmodem_manager=false: Essa
          chave é exigida se o "ModemManager" não estiver instalado. Omita se
          você tiver construído "ModemManager" e "mobile-broadband-provider-info".
        
        
          -Dsession_tracking=elogind:
          Essa chave é usada para configurar o "elogind" como o aplicativo padrão
          para rastreamento de sessão.
        
        
          -Dppp=false: Esse parâmetro
          desabilita o suporte "PPP" no
          "NetworkManager".
        
        
          -Dlibaudit=no e -Dselinux=false: "libaudit" e
          "SELinux" não são usados no BLFS.
        
        
          -Dqt=false: desabilita os
          exemplos "QT". Omita se você tiver
          o "QT" disponível e desejar
          instalar os exemplos.
        
       
      
        
          Configurando o NetworkManager
        
        
          
            Arquivos de Configuração
          
          
            /etc/NetworkManager/NetworkManager.conf
          
         
        
          
            Informação de Configuração
          
          
            Para o "NetworkManager"
            funcionar, pelo menos um arquivo de configuração mínima precisa
            estar presente. Tal arquivo não é instalado com "make install". Emita o seguinte
            comando como o(a) usuário(a) "root" para criar um arquivo "NetworkManager.conf" mínimo:
          
          cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
[main]
plugins=keyfile
EOF
          
            Esse arquivo não deveria ser modificado diretamente pelos(as)
            usuários(as) do sistema. Em vez disso, mudanças específicas do
            sistema deveriam ser feitas usando arquivos de configuração no
            diretório "/etc/NetworkManager/conf.d".
          
          
            Para permitir que o "Polkit" gerencie autorizações, adicione o
            seguinte arquivo de configuração:
          
          cat > /etc/NetworkManager/conf.d/polkit.conf << "EOF"
[main]
auth-polkit=true
EOF
          
            Para usar algo diferente do cliente "DHCP" integrado (recomendado
            se usar somente o "nmcli"), use a seguinte
            configuração (os valores válidos incluem ou "dhclient" ou
            "internal"):
          
          cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF"
[main]
dhcp=dhclient
EOF
          
            Para evitar que o "NetworkManager" atualize o arquivo
            "/etc/resolv.conf", adicione o
            seguinte arquivo de configuração:
          
          cat > /etc/NetworkManager/conf.d/no-dns-update.conf << "EOF"
[main]
dns=none
EOF
          
            Para opções adicionais de configuração, veja-se "man 5 NetworkManager.conf".
          
          
            Para permitir que usuários(as) regulares configurem conexões de
            rede de intercomunicação, você deveria adicioná-los(as) ao grupo
            "netdev" e criar uma regra do
            "polkit" que conceda acesso.
            Execute os seguintes comandos como o(a) usuário(a) "root":
          
          groupadd -fg 86 netdev &&
/usr/sbin/usermod -a -G netdev <nome_usuário(a)>
cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
        return polkit.Result.YES;
    }
});
EOF
         
        
          
            Conjunto Sequencial de Comandos de
            Inicialização
          
          
            Para iniciar automaticamente o processo de segundo plano
            "NetworkManager"
            quando o sistema for reinicializado, instale o conjunto
            sequencial de comandos de inicialização "/etc/rc.d/init.d/networkmanager" a partir do
            pacote "blfs-bootscripts-20230101".
          
          
            
            
              Nota
            
            
              Se usar o "Network Manager"
              para gerenciar uma interface, [então] qualquer configuração
              anterior para essa interface deveria ser removida e a interface
              ser desativada antes de iniciar o "Network Manager".
            
           
          make install-networkmanager
         
       
      
        
          Conteúdo
        
        
          
            
              Aplicativos Instalados:
              NetworkManager, nmcli, nm-online, nmtui e
              simbolicamente vinculado ao nmtui: nmtui-connect, nmtui-edit e
              nmtui-hostname
            
            
              Bibliotecas Instaladas:
              libnm.so e vários módulos sob
              /usr/lib/NetworkManager
            
            
              Diretórios Instalados:
              /etc/NetworkManager, /usr/include/libnm,
              /usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.42.0,
              /usr/share/gtk-doc/html/{libnm,NetworkManager} (se a
              documentação for construída) e /var/lib/NetworkManager
            
           
         
        
          
            Descrições Curtas
          
          
            
              
              
            
            
              
                | 
                   
                    nmcli
                   
                 | 
                
                   
                    é uma ferramenta de linha de comando para controlar o
                    "NetworkManager" e obter
                    a situação dele
                   
                 | 
              
              
                | 
                   
                    nm-online
                   
                 | 
                
                   
                    é um utilitário para determinar se você está online
                   
                 | 
              
              
                | 
                   
                    nmtui
                   
                 | 
                
                   
                    é uma interface interativa de usuário(a) baseada em
                    "Ncurses" para o "nmcli"
                   
                 | 
              
              
                | 
                   
                    nmtui-connect
                   
                 | 
                
                   
                    é uma interface interativa de usuário(a) baseada em
                    "Ncurses" para ativar/desativar conexões
                   
                 | 
              
              
                | 
                   
                    nmtui-edit
                   
                 | 
                
                   
                    é uma interface interativa de usuário(a) baseada em
                    "Ncurses" para editar conexões
                   
                 | 
              
              
                | 
                   
                    nmtui-hostname
                   
                 | 
                
                   
                    é uma interface interativa de usuário(a) baseada em
                    "Ncurses" para editar o nome do dispositivo
                   
                 | 
              
              
                | 
                   
                    NetworkManager
                   
                 | 
                
                   
                    é o processo de segundo plano de gerenciamento de rede de
                    intercomunicação
                   
                 | 
              
              
                | 
                   
                    libnm.so
                   
                 | 
                
                   
                    contém funções usadas pelo "NetworkManager"
                   
                 |