O propósito dessa palestra é:
* Entender o que é um ambiente chroot;
* Criar um ambiente chroot;
* Dar subsídios para a pessoa saber criar seus próprios ambientes em chroot.
Apresentação no GURU-CE ( 20/06 ), falando sobre as ferramentas que se pode usar com Slack e a criação de um robô para automatizar suas tarefas no desenvolvimento de software.
Apresentação no GURU-CE ( 20/06 ), falando sobre as ferramentas que se pode usar com Slack e a criação de um robô para automatizar suas tarefas no desenvolvimento de software.
Palestra para de forma simples falar de como o sistema operacional linux funciona, passando brevemente de como funciona um sistema operacional (como o Windows, o OSX e o Linux) com atenção ao kernel linux (suas camadas, código fonte...), o init, os runlevels, o servidor x, gnome, kde... enfim, saindo do núcleo para o ambiente que o usuário conhece
Seismology Computational Infrastructure @ University of São Paulo. This presentation shows all available computational infrastructure under continuous development to support seismological and geophysical research. You are welcome to contact us. Please check out graduate program: http://www.iag.usp.br/international/graduate-programmes-msc-phd
Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
Essa apresentação foi ministrada por mim para o Forum Latino-Americano de Instalação de Software Livre (FLISOL) em 2011. E aborda sobre o Sistema Operacional Funtoo Gnu/Linux, e sobre suas tecnologias como: git, portage, metro, openvz e xz.
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaLucas Brasilino
Talk at FISL8 and 1st GITEC about performance customization on Squid Proxy/Server and Linux Kernel. In Brazilian Portuguese. The video was recorded at 1st GITEC at Interlegis (Brazilian Senate).
Palestra para de forma simples falar de como o sistema operacional linux funciona, passando brevemente de como funciona um sistema operacional (como o Windows, o OSX e o Linux) com atenção ao kernel linux (suas camadas, código fonte...), o init, os runlevels, o servidor x, gnome, kde... enfim, saindo do núcleo para o ambiente que o usuário conhece
Seismology Computational Infrastructure @ University of São Paulo. This presentation shows all available computational infrastructure under continuous development to support seismological and geophysical research. You are welcome to contact us. Please check out graduate program: http://www.iag.usp.br/international/graduate-programmes-msc-phd
Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
Essa apresentação foi ministrada por mim para o Forum Latino-Americano de Instalação de Software Livre (FLISOL) em 2011. E aborda sobre o Sistema Operacional Funtoo Gnu/Linux, e sobre suas tecnologias como: git, portage, metro, openvz e xz.
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaLucas Brasilino
Talk at FISL8 and 1st GITEC about performance customization on Squid Proxy/Server and Linux Kernel. In Brazilian Portuguese. The video was recorded at 1st GITEC at Interlegis (Brazilian Senate).
Hypervisor "versus" Linux Containers!
Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
Less hardware, less pain and more scalability in production, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above. "Do more with less " and this is all that matters!
Automation of server and applications deployments never had been so easy and fast that ever. Also brings produtivity to a new level, in the DataCenters and Cloud Environments.
Francisco Gonçalves (Dec2013
( francis.goncalves@gmail.com )
LXD is a container "hypervisor" and a new user experience for LXC.
The daemon exports a REST API both locally and if enabled, over the network.
The command line tool is designed to be a very simple, yet very powerful tool to manage all your containers. It can handle connect to multiple container hosts and easily give you an overview of all the containers on your network, let you create some more where you want them and even move them around while they're running.
Performance comparison between Linux Containers and Virtual MachinesSoheila Dehghanzadeh
This presentation is based on http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=7164727&punumber%3D7153311%26filter%3DAND(p_IS_Number%3A7164643)%26pageNumber%3D3
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Talk presented at Meetup Laravel SP #3 about docker from basics to docker orchestration.
Presented in 2015-05-07
Video da apresentação:
https://youtu.be/mR2px-mKjd0
Linux4All#2 é o segundo minicurso sobre Gnu/Linux, realizado na Uncisal (Universidade Estadual de Ciências Médicas de Alagoas). Abordando conceitos teóricos/praticos a nível intermediário de uma forma simples e dinâmica, ministrada por mim.
Esse tutorial ajuda na configuração do asterisk.
Qualquer duvida podem mandar um email para:
vicente.proj@hotmail.com
Ou visitar o endereço do you tube que contém muitos vídeos ensinando a configurar o asterisk.
http://www.youtube.com/user/voipjava
2. Quem sou eu?
• Trabalhei de 1999 à 2001 no desenvolvimento
de uma distribuição Linux (Conectiva Linux);
• Passei a década de 2000 inteira trabalhando
com Linux;
• Agora eu uso o Mac OS X no desktop, mas
trabalho com Linux em servidores.
3. Propósito da
apresentação
• Entender o que é um ambiente chroot;
• Criar um ambiente chroot;
• Dar subsídios para a pessoa saber criar seus
próprios ambientes em chroot.
4. O que é um chroot?
• É uma chamada de sistema (chroot syscall);
• É um comando do Unix (chroot);
• Permite trocar o root do sistema de arquivos
para um outro diretório;
• Na prática, permite isolar,em uma gaiola um
programa, serviço ou distribuição;
• Não é virtualização ou paravirtualização!
6. Para que serve?
• Permite criar ambientes isolados (gaiolas) de
desenvolvimento, sem contaminar o ambiente
original;
• Permite criar gaiolas para rodar serviços (ssh,
httpd, dns) em separado e protegido;
Não existe
mecanismo
100% seguro!
7. Executando o chroot
• chroot em /var/chroot (tanto faz o lugar)
• /usr/sbin/chroot /var/chroot
• /usr/sbin/chroot /var/chroot /bin/bash
• O /var/chroot/ vira o / para o bash (do chroot)
8. chroot com o Busybox
“busybox.i386 : Statically linked binary providing simplified
versions of system commands” (yum)
$ sudo mkdir -p /var/chroot/bin
$ sudo cp -a /sbin/busybox /var/chroot/bin/
$ sudo /usr/sbin/chroot /var/chroot/ busybox ash
/ $ /bin/busybox find /
/ Estou no
/bin chroot!
/bin/busybox
9. / $ /bin/busybox ps
PID Uid VmSize Stat Command Cadê o /
ps: unable to open `/proc': No such file proc?
or directory
$ sudo mkdir -p /var/chroot/etc
$ sudo cp -a /etc/fstab /var/chroot/etc/ Origem
/ $ /bin/busybox mkdir /proc Voltamos
/ $ /bin/busybox mount /proc ao chroot
/ $ /bin/busybox ps
PID Uid VmSize Stat Command
10 648 S init [5]
20 SW< [migration/0] Todos os
processos!
30 SWN [ksoftirqd/0]
…
10. chroot com o GNU
Bash
O Bash não é um binário estático, depende de libs
dinâmicas! Só copiar o binário para o chroot não vai
funcionar!
$ ldd /bin/bash
linux-gate.so.1 => (0x0024c000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x06468000)
libdl.so.2 => /lib/libdl.so.2 (0x00a49000)
libc.so.6 => /lib/libc.so.6 (0x008d9000)
/lib/ld-linux.so.2 (0x008b6000)
11. $ sudo cp -a /bin/bash /var/chroot/bin/bash
$ sudo mkdir -p /var/chroot/lib
$ sudo cp -a /lib/libc.* /lib/libc-* /lib/libdl* /lib/ Para não
libtermcap.so.2* /var/chroot/lib/ copiar
somente
links!
/ $ bash
Finalmente
bash-3.2#
12. Melhorando o ambiente
É importante copiar alguns arquivos do /etc e os
arquivos de dispositivos (/dev).
$ sudo cp -a /etc/passwd /etc/group /etc/hosts /etc/
resolv.conf /var/chroot/etc/
$ sudo /dev/MAKEDEV -d /var/chroot/dev/ -v generic
13. chroot com o RPM
$ sudo mkdir -p /var/chroot/var/lib/rpm
$ sudo rpm --root /var/chroot/ --initdb
Vamos precisar de RPMs para instalar (http://
centos.pop.com.br/5.4/os/i386/CentOS/)
14. $ sudo rpm --root /var/chroot -ihv
basesystem-8.0-5.1.1.el5.centos.noarch.rpm
error: Failed dependencies: Oops, o pacote
setup is needed by depende de
basesystem-8.0-5.1.1.el5.centos.noarch outros!
filesystem is needed by
basesystem-8.0-5.1.1.el5.centos.noarch
$ sudo rpm --root /var/chroot -ihv
basesystem-8.0-5.1.1.el5.centos.noarch.rpm
filesystem-2.4.0-2.el5.centos.i386.rpm Satisfazendo as
setup-2.5.58-7.el5.noarch.rpm deps
$ rpm --root /var/chroot -ihv rpm-4.4.2.3-18.el5.i386.rpm
(uma lista enorme!)
15. Considerações sobre o
RPM em chroot
• Nunca esqueça de passar o parâmetro --root
(cuidado para não estragar o seu sistema);
• O processo inteiro para ter o RPM instalado
envolve instalar e satisfazer as dependências de
pacote, algumas deps são óbvias;
• Exige um pouco de “manha” para saber qual
pacote tem o que, mas só se aprende fazendo;
• Pode-se fazer instalações parciais, por exemplo,
instalar até o Bash (via RPMs) e depois até o
RPM.
16. O yum é seu amigo
$ sudo mkdir -p /var/chroot/var/lib/rpm Cria o banco
$ sudo rpm --root /var/chroot --initdb do RPM
$ sudo rpm --root /var/chroot -ihv --nodeps
centos-release-5-4.el5.centos.1.i386.rpm
$ sudo yum -y --installroot=/var/chroot A mágica
install rpm está aqui
17. Para ver depois…
• rpm -q --requires | --whatrequires | --provides |
--whatprovides
• mount --bind /home /var/chroot/home/
• Filesystem Hierarchy Standard
• Welcome to Linux From Scratch
• Montar chroot para outros sistemas (Ubuntu
em CentOS)