Author Archive
Instaladores de distribuições, uma geral!
Olá pessoas, depois de um tempo passado desde o ultimo post, “Como criar uma distribuição Linux”, muitas pessoas perguntaram como fazer isso no Debian, como criar também o instalador e tudo mais.
Por isso nesse post vou dar uma geral do funcionamento de geral dos dois tipos de instaladores, o para Live-CDs e o para CDs de pacotes.
Primeiro, o geral, o que é comum.
Um instalador deve perguntar ao usuário coisas simples, como, partição para se instalar, partição SWAP, nome de usuário para adicionar, senha do usuário root, instalar o gerenciador de boot na MBR e coisas afins
Agora você se pergunta, eu tenho meu Live-CD, como devo fazer a instalação do mesmo?
Bom, basicamente você só precisa copiar a sua “/” do Live-CD todo pro HD, e configurar o boot, só isso, um ex para linux-live:
cd /
for dir in bin etc var usr opt root home srv media;
cp -Rp $dir /mnt/target
done
Basicamente é isso, ele vai copiar pasta por pasta e pronto, a copia é feita pasta por pasta porque não é recomendável se copiar tudo, ex: se você copiar o /mnt para o target, ele vai se copiar nele mesmo, entrando num Loop
O proc também, o sys, e por ai vai
Bom, alguns instaladores que é sempre bom se olhar o código são:
- Anaconda - O instalador do Fedora para o CD de Instalação
- Copier - O instalador do KinuX: http://svn.kinuxlinux.org/copier/trunk
- Debian-installer - O Instalador do Debian, dahhh
Abraços a todos && Tenham um bom dia :]
Novo esquema de servidores - Compile Farm!
Pessoas, estou criando uma Compile Farm!
Para poder ajudar no KinuX, pois os bixinhos ficarão responsáveis por compilar todos os pacotes que forem mandados. Isso é claro, a versão i686, a futura x86_64 só quando tivermos um desses por aqui
Estamos aceitando doações de maquinas, pode ser qualquer maquina, sendo i686 está ótima!
Só precisamos dum HD, da Fonte, Processador, placa-mãe, memória e placa de rede, só isso!
Eu sei, pode parecer muito, mas é pq fica mais fácil para montarmos os servidores
Abraços a todos && Esperem noticias ![]()
Construindo um firewall básico com Iptables
Decidi fazer o artigo sobre Firewall com Iptables, mas como sempre, tenho muita sorte, mas muita sorte mesmo com o Google e decidi procurar antes algo sobre o assunto, pra ver em que pé estava a Internet, não deu outra, “Construindo um firewall básico com Iptables” no Google me retornou alguns sites, e um deles foi o VivaOLinux, com esse artigo aqui, ótimo por sinal, bem completo, ele fala tudo e mais um pouco, no artigo tem um link para outro, que explica a estrutura do Iptables.
Espero que aproveitem os artigos, eu recomendo
Abraços
Uma abordagem do SSH
Olá pessoas, depois de um bom tempo sem postar nada, estava falando com um amigo no mensageiro, e ele me perguntou quando eu ia postar algo, disse que quando tivesse assunto pra postar eu fazia isso, bom, sairam três assuntos da conversa
- Autenticação SQUID com OpenLDAP
- Uma abordagem do SSH
- Construindo um firewall básico com Iptables
Bem, escolhi por fazer o segundo artigo primeiro, depois, assim que reuinir as informações, crio os outros artigos
Vamos começar
–
O SSH (Secure Shell) é um protocolo/programa para poder acessar computadores remotamente, a conexão com a maquina é criptografada, permitindo assim um controle tranquilo.
O uso básico do SSH é “ssh nomedousuário@maquina”, com isso ele vai pedir a sua senha e vai executar o comando que está no servidor, ex: “/bin/bash”.
O servidor pode dar para você um shell completo (é claro, com as limitações do seu usuário), como pode dar um micro-shell, somente para que você execute alguns comandos.
Quando você muda a porta do servidor SSH (garantindo assim a segurança do mesmo), você deve usar o switch “-P porta”, ficando então com o comando desse jeito “ssh usuário@host -P porta”.
Certo, com isso você já pode ter um uso básico do SSH.
Mas, o SSH tem outras opções, chamadas Tunelamento e Proxy Reverso, com o Tunelamento você pode dar a saida dos dados por outro servidor.
Ex:
Servidor da Escola com Proxy bloqueando site xxx
Escola -> Servidor SSH externo -> Site XXX
No caso o que aconteceu foi, você se conectou com o site XXX pelo servidor SSH externo ao servidor da escola, passando por uma conexão criptografada, ao invés de passar pelo proxy.
Atenção, usem isso com cuidado, se a sua escola/instituição/empresa proibe é porque eles devem ter motivos para isso.
Mas afinal, como é que eu vou fazer os programas, como o Firefox, acessar a Web pelo SSH? Simples! Você usa um switch no SSH para poder criar um proxy Socks na sua maquina, assim é só configurar os navegadores para usarem esse proxy Socks
Comando: “ssh usuário@maquina -P porta -D portanamaquinalocal”
Depois é só configurar o navegador para usar proxy socks para aquela porta
Vamos ao proxy reverso!
Situação:
Você esta querendo acessar o computador da sua casa, que está atrás de um router, que por azar do destino, não está routeado :(, e agora? Quem poderá nos salvar? Não, não é o chapolin colorado, é o Proxy Reverso mesmo!
Você faz o seguinte, com alguém na sua casa, você abre um servidor SSH nessa sua maquina que pode ser acessada pela Internet, e manda a pessoa em sua casa se conectar nela, usando o seguinte comando:
“ssh -LPortaDoSshNesseComputador:ComputadorExterno:PortaQueVocêQuerNoComputadorExterno root@ComputadorExterno”
Atenção: Só é possivel fazer isso como usuário root! Ou seja, a pessoa em sua casa tem que saber a senha do root no seu computador
Depois de feito isso, é só você acessar no seu computador assim:
“ssh UsuárioDoComputadorDeCasa@127.0.0.1 -P PortaQueVocêDisse”
Nisso, para terminar a conexão, disconecte no seu computador e mande a pessoa em casa disconectar do seu computador.
Com isso, sejam felizes! O SSh é muito lindo!
Atualizado: Tutorial/Dicas: Usando gStreamer, QT4 e Python para criar um player
Olá pessoas, depois de muito tempo sem passar por aqui para postar nada, decidi postar um pequeno tutorial, ou uma série de dicas para que vocês tenham uma ideia de como usar gStreamer, QT4 e Python na criação de um player
Primeiro, o porque do uso do QT4? Simples, não gosto muito do GTK, prefiro QT, sou lunatiKo, dá nisso
Depois, o porque do gStreamer? gStreamer é mais prático para quem quer criar um player, tá tudo ali, instala meia-duzia de pacotes e teu sistema toca tudo. Além do mais, dá suporte a efeitos e coisas afins. Numa aplicação QT4 pura, é melhor usar só o gStreamer e não o Phonon
Agora vamos deixar de lorota e começar a codar
O gStreamer tem toda uma estrutura de Pipelines, sinks e coisas do gênero, mas para um simples player nos não precisamos nos preocupar tanto assim
Basta um simples elemento, chamado playbin, o playbin faz o trabalho de criar o decoder, o sink para a saida de som e tudo mais, tudo automaticamente
Vejamos um pequeno código (Atenção, faça isso no interpretador python, afinal o gStreamer usa uma Thread para poder tocar tudo, portanto, o seu programa iria sair assim que chegasse no play
import gst
player = gst.Pipeline(’player’)
playbin = gst.element_factory_make(’playbin’)
player.add(playbin)
playbin.set_property(’uri’,'file:///home/…/minhamúsica.ogg’)
player.set_state(gst.STATE_PLAYING)
Viram que não é tão dificil não é
Agora analisemos o código:
import gst -> Importa o gStreamer
player = gst.Pipeline(’player’) -> Cria a pipeline
playbin = gst.element_factory_make(’playbin’) -> Cria o elemento playbin
player.add(playbin) -> Adiciona o playbin a pipeline do gStreamer
playbin.set_property(’uri’,'file:///home/…/minhamúsica.ogg’) -> Seta a propriedade uri do playbin para a localização do stream, isso pode ser um stream http, um arquivo local e por ai vai
player.set_state(gst.STATE_PLAYING) -> Muda o estado da pipeline, STATE_PLAYING começa a tocar, STATE_NULL para de tocar, STATE_PAUSED pausa o stream
Adivinhem só, se você colocar um stream de vídeo ai, ele vai mostrar o vídeo numa nova janela
Agora você se pergunta, como posso saber o fim do stream? Simples eu digo!
Usamos dbus e pygtk
Vejam só o código:
import gst, gtk
def mensagem(bus, message,player):
if message.type == gst.MESSAGE_EOS:
player.set_state(gst.STATE_NULL) # Vai para o stream na mensagem de fim-de-stream
player = gst.Pipeline(’player’)
bus = player.get_bus() # Pega o elemento do DBUS
bus.add_signal_watch() # Adiciona o watch de sinais
bus.enable_sync_message_emission() # Habilita a emissão de mensagens sync
bus.connect(’message’,message,player) #Conecta o sinal e passa como parametro opcional o player.
playbin = gst.element_factory_make(’playbin’)
player.add(playbin)
playbin.set_property(’uri’,'file:///home/…/minhamúsica.ogg’)
player.set_state(gst.STATE_PLAYING)
gtk.main() #Inicia o GTK para que o dbus funcione…
Isso dai já faz o player em si.
Depois desses códigos, vou deixar que vocês pesquisem um pouco
Vou dar logo uma dica, usem o QWidget.winId() (no Windows, int(QWidget.winId())), coloquem o gtk.main numa thread com QThread e criem um qt sinal para o “message” e o “sync-message::element”
Além disso, tenho um projeto de player aqui: http://svn.kinuxlinux.org/DJ, é chamado de DeeJay, as deps são gstreamer-python, pygtk, pyqt4
Aproveitem
Links:
- http://doc.trolltech.com
- http://pygstdocs.berlios.de
- http://pygtk.org
Dica: KeyTouch
Olá pessoas, depois de um tempinho usando KDE4, procurei o jeitinho de colocar as teclas multimédias do teclado do Note pra funcionar
Fui do velho jeito, mas descobri que o KMix não está mais com configurações de aumento de volume via teclas, o que me deixou fula, até ai blz, posso mandar o amaroK fazer isso, mas fico, só vou poder usar o amaroK para ouvir as coisas? E se for um vídeo? (Apesar de termos um Plasmoid para o amaroK exibir vídeos
)
Procurei um pouco (santo google!), e achei o que queria! O KeyTouch, com ele é possivel configurar diversos tipos de teclado multimédia, assim você não tem trabalho algum, é só dizer quais são as aplicações e cabum! Tudo funcionando, até mesmo um OSD para o volume
Abraços e fica ai a dica ![]()
Linux como uma melhor opção - Palestra no CEFET-SE
Segue o slide da apresentação que fiz no CEFET-SE!
Quando tiver apresentado a outra, mando o vídeo do Youtube
Palestra sobre SL no CEFET-SE
Olá pessoas, como vocês sabem também sou palestrante
Então, convido todos vocês ao micro-evento no CEFET-SE no dia 18/06 às 9:00 no Mini-Auditório 1 (Ao lado da DEN)
E para aqueles que não podem, na sexta feira à noite, às 7:00 no Auditório Engenheiro Pedro Bras.
Lembrando, isso é tudo dentro do CEFET-SE
O micro-evento vai ser promovido pelo MSLC-SE, estamos cogitando a possibilidade de termos certificados para os participantes
UPDATE: Não tivemos a palestra da sexta, pois numa sexta, noite, com feriado já chegando, só tínhamos 17 pessoas no CEFET todo, isso pq estavam fazendo prova =\
Abraços!
Como criar uma distribuição Linux?
Olá pessoas, muitos de vocês devem se perguntar, como é que se cria uma distribuição Linux? Bom, não tem receita certa, tudo vai do seu nível de conhecimento e do seu nível de paciência e preocupação com o seu usuário
Mas, vou dar aqui o que eu uso/usei na criação do KinuX Linux <http://kinuxlinux.org> (atualmente passando por um período de decisões =\)
Podemos criar uma distribuição Linux de duas maneiras, uma delas é do modo mais “fácil”, o modo em que você se baseia em outra distribuição e o jeito mais “difícil”, o jeito em que você cria tudo do zero Oo, isso é possível? É, é possível =)
Quando você cria uma distribuição você tem que pensar em alguns aspectos, algumas coisas que vão definir o rumo da sua distribuição, seja o sucesso total ou o fracasso eminente
Vamos lá
- Tipo de usuários: Iniciantes? Medianos? Avançados?
- Você tem tempo para desenvolver a distro: Sim? Não?
- Quer fazer uma distribuição baseada em outra ou em nada: Sim? Não (Veja que se sua distribuição não for baseada em outra, você terá que criar todos os pacotes, tudo que o usuário precisa e até mais um pouco)?
- Você tem um servidor para disponibilizar a distribuição: Sim? Não?
- No seu servidor você tem limite de banda?
- Será que você precisa criar a distribuição toda? Não seria possível criar somente um projeto para fazer as suas personalizações?
Com esses pontos respondidos, você já está apto a continuar o projeto ou não =)
Agora vamos a mais um ponto!
- Sua distribuição vai ser em LiveCD ou em InstallCD?
Se ela for em LiveCD, você vai criar os scripts para inicialização da mesma ou vai utilizar um projeto?
Se for em InstallCD você vai criar o seu instalador ou vai utilizar um projeto?
Depois de decidido estas coisas, não tenho mais nada a fazer
Os passos para a construção da distro são:
- Sistema base instalado (Kernel, utilidades e tudo mais)
- Configura os serviços como HAL, DBUS, UDEV e por ai vai
- Instalar um servidor X e utiliza um script de detecção de hardware para auto-configurar o Xorg.conf
- Instalar o ambiente(s) de desktop para que o usuário interaja
- Escolher as aplicações de acordo com o seu ambiente de desktop
- Configurar o desktop
- Configurar o sistema em si, /etc/motd, /etc/hosts.allow e por ai vai
- Copiar as configurações do usuário para /etc/skel, assim todo usuário adicionado vai ter essas configurações
- Reiniciar e ver se ainda funciona
- Empacotar tudo!
Cabou-se, espero que tenham uma boa criação de distro =), abraço!
Links:
- Linux-Live: http://linux-live.org - Projeto para criação de LiveCD gênerico
- Slax : http://slax.linux-live.org - Projeto de demonstração do Linux-Live, baseado no Slackware
- Debian: http://debian.org - Procura por debian-installer (anna) e seu pacote =)
- Archie - http://archie.dotsrc.org/ - Criação de Live-CDs do Arch
- Anaconda - http://fedoraproject.org - Procura pelo anaconda
- LinuxFromScratch - http://www.linuxfromscratch.org


