Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pt.comp.so.linux > #2854
| 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> |
À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 | 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