"dhcpcd" é uma implementação do cliente "DHCP" especificado na "RFC2131". Um cliente "DHCP" é útil para conectar seu computador a uma rede de intercomunicação que usa "DHCP" para atribuir endereços de rede de intercomunicação. O "dhcpcd" se esforça para ser um cliente "DHCP" completo, mas muito leve.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.4.1.tar.xz
Soma de verificação MD5 da transferência: 2b2f46648bc96979f96127f0e0e07d9b
Tamanho da transferência: 251 KB
Espaço em disco estimado exigido: 3,6 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
LLVM-15.0.7 (com "Clang"), ntp-4.2.8p15, chronyd e ypbind
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd
Lançamentos recentes do "dhcpcd" suportam opcionalmente a separação de privilégios. Como os benefícios práticos de segurança disso não são claros para um aplicativo como o "dhcpcd" e a configuração é mais complicada, o livro atualmente usa como padrão desativá-lo.
          No entanto, se você quiser usar a separação de privilégios, [então]
          etapas adicionais de instalação são necessárias para configurar o
          ambiente adequado. Emita os seguintes comandos como o(a) usuário(a)
          "root":
        
install  -v -m700 -d /var/lib/dhcpcd &&
groupadd -g 52 dhcpcd        &&
useradd  -c 'Separação de privilégios do dhcpcd' \
         -d /var/lib/dhcpcd  \
         -g dhcpcd           \
         -s /bin/false       \
         -u 52 dhcpcd &&
chown    -v dhcpcd:dhcpcd /var/lib/dhcpcd 
      Corrija um erro de tempo de execução causado por uma mudança na "glibc-2.36":
sed '/Deny everything else/i SECCOMP_ALLOW(__NR_getrandom),' \ -i src/privsep-linux.c
Construa o "dhcpcd" sem separação de privilégios executando o seguinte comando:
./configure --prefix=/usr               \
            --sysconfdir=/etc            \
            --libexecdir=/usr/lib/dhcpcd \
            --dbdir=/var/lib/dhcpcd      \
            --runstatedir=/run           \
            --disable-privsep         &&
make
        Construa o "dhcpcd" com separação de privilégios executando os seguintes comandos:
./configure --prefix=/usr               \
            --sysconfdir=/etc            \
            --libexecdir=/usr/lib/dhcpcd \
            --dbdir=/var/lib/dhcpcd      \
            --runstatedir=/run           \
            --privsepuser=dhcpcd         &&
make
        Para testar os resultados, emita: make test.
          Agora, como o(a) usuário(a) "root":
        
make install
          --libexecdir=/usr/lib/dhcpcd:
          Configura um local mais adequado para bibliotecas internas do
          "dhcpcd".
        
          --dbdir=/var/lib/dhcpcd: O
          "/var/db" padrão não é compatível com
          a "FHS"
        
          --runstatedir=/run: O
          "/var/run" padrão é um link simbólico
          para "/run".
        
          --with-hook=...: Opcionalmente, você
          pode instalar mais ganchos, por exemplo, para instalar alguns
          arquivos de configuração como "ntp.conf". O conjunto de ganchos está no
          diretório "dhcpcd-hooks" na árvore de
          construção.
        
          --disable-privsep: Não use
          a separação de privilégios, que é o padrão.
        
          --privsepuser=dhcpcd: Use
          esse(a) usuário(a) sem privilégios em uma configuração de separação
          de privilégios.
        
          --with-hook=...: Opcionalmente, você
          pode instalar mais ganchos, por exemplo, para instalar alguns
          arquivos de configuração como "ntp.conf". O conjunto de ganchos está no
          diretório "dhcpcd-hooks" na árvore de
          construção.
        
            Para configurar o "dhcpcd", você precisa primeiro
            instalar o conjunto sequencial de comandos de serviço de rede de
            intercomunicação, "/usr/lib/services/dhcpcd" incluído no pacote
            "blfs-bootscripts-20230101"
            (como usuário "root"):
          
make install-service-dhcpcd
            
               o conjunto
              sequencial de comandos de serviço de rede de intercomunicação
              "/usr/lib/services/dhcpcd"
              contido nos conjuntos sequenciais de comandos de inicialização
              até o "blfs-bootscripts-20191204" não é compatível com o
              "dhcpcd" mais recente, pois o local do arquivo do "PID" mudou.
              Para contornar isso, emita o seguinte comando:
            
sed -i "s;/run/dhcpcd-;/run/dhcpcd/;g" /lib/services/dhcpcd
            
               O padrão para
              o "dhcpcd" é o de
              configurar o nome do dispositivo e o "MTU". Ele também
              sobrescreve "/etc/resolv.conf " e
              "/etc/ntp.conf". Essas
              modificações nos arquivos do sistema são feitas por ganchos que
              estão armazenados em "/usr/lib/dhcpcd/dhcpcd-hooks". Configure o
              "dhcpcd"
              removendo ou adicionando ganchos de/para esse diretório. A
              execução de ganchos consegue ser desabilitada usando a opção de
              linha de comando "--nohook"
              ("-C") ou pela opção "nohook" no arquivo "/etc/dhcpcd.conf".
            
             Finalmente,
            como o(a) usuário(a) "root", crie
            o arquivo de configuração "/etc/sysconfig/ifconfig.eth0" usando os
            seguintes comandos. Ajuste adequadamente para interfaces
            adicionais:
          
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -h ''<insira opções apropriadas de início aqui>"
DHCP_STOP="-k <insira opções apropriadas de término aqui>"
EOF
          
            Para mais informações relativas aos valores apropriados
            "DHCP_START" e "DHCP_STOP", examine a página de manual do
            "dhcpcd".
          
             Embora não
            usual, é possível que você precise configurar o "dhcpcd" para usar um "IP" fixo. Aqui, nós
            damos um exemplo. Como o(a) usuário(a) "root" crie o arquivo de configuração
            "/etc/sysconfig/ifconfig.eth0"
            usando os seguintes comandos. Ajuste adequadamente para
            interfaces adicionais e para o "IP" e roteador reais que você
            precisa:
          
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -S ip_address=192.168.0.10/24 -S routers=192.168.0.1"
DHCP_STOP="-k"
EOF
          
            Você consegue ou usar servidores "DNS" em "/etc/resolv.conf" oriundos de outro sistema,
            teus servidores preferidos, ou apenas o arquivo de exemplo
            "/etc/resolv.conf.head" abaixo,
            como está:
          
cat > /etc/resolv.conf.head << "EOF"
# Servidores abertos "DNS"
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF