Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > pt.comp.so.linux > #2853
| From | Patricia Ferreira <pferreira@example.com> |
|---|---|
| Newsgroups | pt.comp.so.linux |
| Subject | Re: Como criar um sistema mínimo para systemd-nspawn com modo gráfico? |
| Date | 2020-07-03 17:04 -0300 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <86imf41i2a.fsf@example.com> (permalink) |
| References | (5 earlier) <rdm5gg$1gvt$1@gioia.aioe.org> <rdmliq$jss$1@gioia.aioe.org> <rdmmtc$1673$1@gioia.aioe.org> <861rltarga.fsf@example.com> <rdng47$15p5$1@gioia.aioe.org> |
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''.
Back to pt.comp.so.linux | Previous | Next — Previous in thread | Next in thread | Find similar
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