Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pt.comp.so.linux > #2854

Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico?

From Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt>
Newsgroups pt.comp.so.linux
Subject Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico?
Date 2020-07-04 05:29 +0100
Organization Aioe.org NNTP Server
Message-ID <rdp0jc$1tuq$1@gioia.aioe.org> (permalink)
References (6 earlier) <rdmliq$jss$1@gioia.aioe.org> <rdmmtc$1673$1@gioia.aioe.org> <861rltarga.fsf@example.com> <rdng47$15p5$1@gioia.aioe.org> <86imf41i2a.fsf@example.com>

Show all headers | View raw


Às 21:04 de 03/07/20, Patricia Ferreira escreveu:
> Ninguém <usenet@rasparta.org> writes:
> 
>> On 03/07/20 10:16, Patricia Ferreira wrote:
>>> Senhor, desculpe-me a ousadia de lhe dizer que parece a mim que você não
>>> compreende exatamente o que faz o systemd-nspawn.  É uma ousadia
>>> tremenda porque eu mesma nunca o executei.:-)
>>
>> Não faz mal nenhum. Eu nunca comi jaca, mas, se me oferecer, sei como comer.
> 
> LOL!  Bem colocado.
> 
>>> Não há como iniciar dois kernels num mesmo sistema UNIX, então não há
>>> que se falar em ``falta[r] um kernel''.  O que o systemd-nspawn pode
>>> fazer é rodar um processo com PID 1 dentro de um novo namespace.
>>
>> Sim é isso.
>> Quando eu disse que não era "arrancável" queria dizer que não dá para
>> inciar o sistema no "bare metal" por falta do kernel e, eventualmente,
>> do bootloader (penso que o pessoal entendeu).
> 
> Agora entendo.
> 
>> É "arrancável" com o systemd-nspawn que não é um "arranque"
>> verdadeiro, é apenas a inicialização dos serviços do sistema num
>> ambiente próprio (a partir do tal pid 1).
> 
> Isso é um arranque verdadeiro. :-) O que o init faz é essencialmente
> executar outros programas.  Não existe nada de especial no init, exceto
> ser o único a possuir o PID 1 --- dentro de seu namespace.  (Essa
> qualificação final relativa a namespaces hoje se faz necessária devido à
> introdução de namespaces relativos à árvore de processos.)
> 
>>> Talvez fosse interessante você compreender exatamente o que é um
>>> namespace.  Qual é a resposta para a pergunta --- o que é um namespace?
>>
>> Queres elaborar? Podes partir do princípio que entendo o namespace
>> como a "árvore" do DNS, por exemplo, mas, de facto, nunca precisei de
>> verbalizar o que entendo pelo conceito.
> 
> Bom exemplo.  DNS é por si só um namespace.  Um namespace, como o nome
> sugere, é um conjunto de nomes relativos a objetos, sendo que esses
> nomes identificam os objetos a que eles se referem.
> 
> (*) O sistema de arquivos implementa um namespace
> 
> Um sistema de arquivos, por exemplo, implementa um namespace.  O poema
> de Camões, armazenado no sistema de arquivos, é identificado pelo nome
> 
>   /poemas/cam.txt
> 
> O nome 
> 
>   /poemas
> 
> identifica a diretoria ``poemas'', que se localiza na diretoria raiz do
> sistema de arquivos.  
> 
> Quando você pede ao kernel pra aplicar um chroot a um determinado
> processo P numa determinada diretoria como
> 
>   /jaula
> 
> o kernel faz com que P passe a enxergar a diretoria raiz / como sendo a
> diretoria /jaula.  Isso efetivamente impede P de acessar qualquer
> elemento do sistema de arquivos que esteja fora de /jaula.  Por exemplo,
> P não consegue acessar /etc/passwd porque, para P, o arquivo /etc/passwd
> é na verdade /jaula/etc/passwd, uma vez que ``/'' é na verdade
> ``/jaula''.
> 
> (*) Uma árvore de processos UNIX implementa um namespace
> 
> Note que ``processo'' é distinto de ``programa''.  Um programa é uma
> sequência de instruções de máquina.  Um processo é uma instância desse
> programa em memória.  Um processo possui um PID.  Um programa não.
> 
> Cada processo tem um PID.  Logo, cada PID identifica um processo.  Um
> sistema sempre UNIX usa um processo de PID 1.  Só um processo pode ter o
> PID 1.  Se por ventura você desejar rodar dois processos com PID 1, você
> vai precisar de dois namespaces para processos.
> 
> No kernel Linux, só existe uma forma de criar processos: pedindo ao
> sistema para duplicar o processo em execução, o que é feito pela chamada
> do sistema de nome clone().  Ao invocar clone(), você tem a chance de
> pedir por várias coisas.  Por exemplo, você pode pedir por
> 
>   CLONE_NEWPID
> 
> e então um novo ``PID namespace'' é criado para o novo processo que
> clone produz.  (Se você não pede por CLONE_NEWPID, então o novo processo
> criado vive no mesmo PID namespace que seu processo pai --- o processo
> que invocou clone().)
> 
> Similar ao pedido CLONE_NEWPID, existe o pedido 
> 
>   CLONE_NEWNET,
> 
> o que lhe concede um novo namespace relativo à rede.  (Você poderia por
> exemplo construir uma tabela de roteamento diferente da usada em seu
> namespace original de rede.  Cabe notar que uma placa de rede, por
> exemplo, só pode pertencer a um namespace de cada vez.  Se você quer
> testar um programa de rede numa configuração de rede diferente da sua
> atual, você precisaria, por exemplo, de uma interface de rede virtual.)
> 
> Similar a esses, existe o pedido 
> 
>   CLONE_NEWNS,
> 
> que lhe dá um novo namespace para o sistema de arquivos, o que te
> permite por exemplo usar o nome /etc/passwd como o nome de um arquivo
> completamente diferente do seu original.  
> 
> As vantagens de CLONE_NEWNS você já conhece bem.  Você anda interessado
> em CLONE_NEWPID e CLONE_NEWNET.  A forma usuário-final típica de usar
> esses recursos é pilotando um software como Docker ou concorrentes.
> Tecnicamente, você pode escrever seu próprios programas e obter o mesmo
> efeito ``si hablas un poco del lenguaje C, el lenguaje UNIX''.
> 

Às vezes faz falta uma boa formalização de conceitos.
Bom post!

Cumps.

Back to pt.comp.so.linux | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-01 21:40 +0100
  Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-01 22:33 +0100
    Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-02 09:33 +0100
      Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-02 08:38 -0300
  Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-01 22:54 -0300
    Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-02 10:04 +0100
      Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-02 08:59 -0300
        Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-02 14:43 +0100
          Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-03 03:34 +0100
            Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-03 08:09 +0100
              Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-03 08:31 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-03 06:16 -0300
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-03 15:42 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-03 17:04 -0300
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-04 05:29 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-04 09:02 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-04 19:12 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-04 08:58 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-04 10:40 -0300
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-03 15:53 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-03 19:39 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? João Jerónimo <jj.mailspam@yahoo.com> - 2020-07-15 10:19 +0100
              Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-03 19:37 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-04 09:40 +0100
                Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-04 19:25 +0100
              Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Paulo da Silva <p_d_a_s_i_l_v_a_ns@nonetnoaddress.pt> - 2020-07-05 08:08 +0100
            Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Patricia Ferreira <pferreira@example.com> - 2020-07-03 05:56 -0300
  Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? João Jerónimo <jj.mailspam@yahoo.com> - 2020-07-13 12:16 +0100
    Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? Ninguém <usenet@rasparta.org> - 2020-07-15 10:31 +0100
      Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? João Jerónimo <jj.mailspam@yahoo.com> - 2020-07-17 12:01 +0100

csiph-web