21.5 C
Brasília
quinta-feira, novembro 28, 2024
Continua após a publicidade..

OpenBSD para usuários Linux

Introdução #

Este guia de início rápido destina-se a familiarizar rapidamente os usuários GNU/Linux com os fundamentos do OpenBSD e destacará algumas das diferenças técnicas entre o OpenBSD e as várias distribuições baseadas em GNU/Linux. Não pretende ser uma lista exaustiva de diferenças, nem destacar as grandes diferenças filosóficas entre o OpenBSD e o GNU/Linux.

Continua após a publicidade..

O guia assume que o OpenBSD já está instalado e o usuário tem acesso à CLI. Um guia de instalação pode ser encontrado aqui.

O shell #

Bash não é o shell padrão do OpenBSD e nem o zsh. Em vez disso, o shell padrão é Korn shell (ksh) para usuários root e regulares. A chamada linguagem de comando do ksh é um superconjunto da linguagem shell sh. Isso significa que todo código sh pode ser executado a partir do ksh, mas nem todo código ksh pode ser executado a partir de um shell sh.

Outros shells, incluindo Bash e zsh, estão disponíveis para instalação (pkg_add bash zsh como root, chsh -s bash como usuário). Recomenda-se que o shell do usuário root permaneça inalterado porque os shells não padrão são instalados no diretório “/usr/local/bin/“, que por padrão está em uma partição não root. No caso de um problema em que apenas a partição root pode ser montada, o usuário root não teria um shell disponível para usar e corrigir o problema. O shell ksh não tem esse problema porque está instalado em “/bin” na partição raiz.

Sudo -> doas #

O comando sudo não está disponível por padrão no OpenBSD. Em vez disso, o OpenBSD usa o comando doas. Não há configuração padrão para doas, mas há um arquivo de exemplo chamado doas.conf em /etc/exemplos/. Para começar, copie o arquivo para /etc: cp /etc/examples/doas.conf /etc/.

Por padrão, o comando doas solicitará uma senha toda vez que o comando for invocado. Para alterar esse comportamento e torná-lo mais parecido com a maioria das implementações de sudo (onde uma autenticação bem-sucedida é armazenada em cache por um curto período de tempo), adicione o persist como no trecho abaixo.

# Permitir roda por padrão permite persistir keepenv :roda 

O comando/pacote sudo está disponível para instalação: pkg_add sudo. Os dois comandos podem ser usados ​​de forma intercambiável.

Software #

Instalação #

Pacotes de software adicionais podem ser instalados usando o “pkg_add” comando. Os pacotes do OpenBSD são programas de software pré-compilados e funcionam de maneira semelhante aos pacotes rpm e deb usados, respectivamente, por Redhat, Debian e seus respectivos derivados. Por exemplo, para instalar o servidor web NginX, use o seguinte comando:

$ doas pkg_add nginx 

Pacotes que foram instalados anteriormente com o comando pkg_add, pode ser excluído usando o comando “pkg_delete”.

$ doas pkg_delete nginx 

Atualizando #

A filosofia do OpenBSD é que os pacotes em uma determinada versão devem ser estáveis. Isso significa que não haverá atualizações para um pacote, a menos que algo esteja quebrado. Para consertar pacotes quebrados, patches são lançados. Esses patches podem ser aplicados usando o comando syspatch. Use o argumento “-c” para mostrar apenas os patches disponíveis para um sistema.

$ doas syspatch -c $ doas syspatch 
Atualizando #

O O objetivo do OpenBSD é fornecer uma nova versão a cada 6 meses. Um sistema OpenBSD pode ser atualizado usando o comando sysupgrade. A seção Atualizando o OpenBSD neste site fornece mais informações sobre o processo de atualização.

$ doas sysupgrade 

O comando sysupgrade atualiza a base sistema. Quaisquer pacotes instalados usando pkg_add devem ser atualizados separadamente usando o comando pkg_add.

$ doas pkg_add -Uu 

Networking #

Enquanto nas distribuições GNU/Linux as interfaces de rede têm um nome genérico como eth0, eth1, etc, nas interfaces de rede do OpenBSD são nomeados usando o nome abreviado do driver para essa interface de rede. Por exemplo, as placas de interface de rede Realtek serão chamadas de re0, re1 etc., enquanto as placas de interface de rede Broadcom serão chamadas de bge0, bge1 etc.

Configuração de IP #

A configuração de IP é definida usando o hostname.if onde a parte “if” representa o nome da interface de rede no sistema. A primeira parte, “nome do host”, é e não uma variável para o nome do host real do sistema. Usando o exemplo acima, o arquivo “/etc/hostname.re0” conteria a configuração para a interface de rede re0 Realtek.

O conteúdo do arquivo hostname.if para uma interface interna pode parecido com o seguinte.

inet 10.0. 0.100 255.255.255.0 

Para uma interface com IPv4 e IPv6 habilitados, o arquivo se parece com isso.

inet xx. xx.xx.xx 255.255.255.0 inet6 xxxx:6000:9344::154 64 -soii 

Para habilitar o DHCP em uma interface, a configuração fica assim.

dhcp 

Configurando manualmente o a configuração da interface também é possível e pode ser feita usando o comando ifconfig. Veja abaixo um exemplo, mas lembre-se de que essas alterações são apenas temporárias. Para torná-los permanentes, adicione a configuração ao respectivo arquivo de configuração.

$ doas ifconfig re0 10.0.0.100 255.255.255.0 

Para aplicar as alterações feitas nos arquivos de configuração à interface de rede, a rede deve ser reiniciada. No OpenBSD, isso é feito usando o mesmo script que é invocado durante o processo de inicialização: /etc/netstart . Execute o script para recarregar todas as configurações de rede, mas também é possível fornecer um nome de interface como argumento e reiniciar essa interface específica.

$ doas sh /etc/netstart re1

Nome de anfitrião #

O nome de host padrão é definido em um arquivo chamado /etc/myname. O arquivo deve conter uma única linha especificando o nome de domínio totalmente qualificado (FQDN) do sistema. O nome deve ser resolvido, seja pela correspondência de um nome de host especificado em /etc/hosts ou por meio do DNS.

host.example.com

Use o comando sh /etc/netstart para aplicar as alterações.

Gateway #

O gateway padrão é definido no arquivo /etc/mygate. Se o arquivo não existir ou estiver vazio, nenhum gateway padrão será definido. O arquivo pode conter um endereço IPv4, um endereço IPv6 ou ambos em linhas separadas. Caso seja adicionado mais de um endereço da mesma família de endereços, será utilizado apenas o primeiro.

192.0.2.1 xxxx:6000:9344::1 

Use o comando sh /etc/netstart para aplicar as alterações.

DNS #

A configuração do servidor de nomes é definida no arquivo /etc/resolv.conf.

nameserver 192.0.2.1 ligação do arquivo de pesquisa 

Use o sh /etc/netstart para aplicar as alterações.

Daemons #

Init #

Enquanto a maioria das distribuições GNU/Linux usam o sistema init SystemD ou SysV, o OpenBSD usa o sistema init tradicional estilo BSD. Estilo BSD significa que não há níveis de execução e não há inittab. Em vez disso, a inicialização é controlada pelos scripts init e rc.

Os padrões do sistema podem ser encontrados em /etc/rc.conf, mas esse arquivo não deve ser editado diretamente. Em vez disso, o arquivo /etc/rc.conf.local deve ser usado. Tanto para sobrescrever os valores definidos em /etc/rc.conf quanto quaisquer outros valores definidos pelo usuário.

Por exemplo, para iniciar o servidor web OpenBSD httpd durante a inicialização, use o comando rcctl referenciado abaixo ou adicione a seguinte linha ao arquivo /etc/rc.conf.local manualmente.

httpd_flags=

rcctl #

O comando rcctl é usado para controlar daemons no OpenBSD. O comando permite, entre outros, iniciar, parar, recarregar, habilitar e desabilitar daemons.

$ doas rcctl start httpd $ doas rcctl stop httpd $ doas rcctl reload httpd

Para iniciar o servidor web httpd automaticamente durante a inicialização, execute o seguinte.

$ doas rcctl enable httpd

Para impedir que o servidor da web inicie durante a inicialização, execute o seguinte.

$ doas rcctl disable httpd 

Serviços #

Embora um sistema OpenBSD seja amplamente capaz de

Comandos Diversos #

yum install / apt-get install package

rpm -i /dpkg -i pacote

Instalar pacote local

pkg_info

lsusb

usbdevs

Lista de dispositivos USB

Comando GNU/Linux (Redhat/Debian)

Equivalente ao OpenBSD

Propósito
pkg_add pacote

Instale o pacote do repositório remoto
pkg_add pacote
rpm -qa / dpkg -euListar os pacotes instalados

lspci

pcidump

Lista de dispositivos PCI

Check out other tags:

0