Atualizado em Jan/12 Criação do Sistema Operacional - Centauro Linux - Software Corporativo Um Sistema Operacional que poderá ser utilizado preferencialmente ou como padrão na Brigada Militar Em fase de testes e desenvolvimento. Responsável técnico: Sgt Élio, Vacaria- P/3 - 10º BPM. Contato: elio@10bpm.com ou pelo fone: (54)3231-1160 - Ramal 22. Baixar a ISO Linux que será utilizada no projeto: Início do desenvolvimento: A ISO utilizada no projeto deve ser igual a ISO corrente: Se o projeto for utilizar a versão 10.04, a instalação corrente deve utilizar também a versão 10.04 como corrente. Não atualizar a versão do squashfs Atualizar# apt-get update Programas necessários: # apt-get install squashfs-tools # apt-get install genisoimage Criar os pontos de montagem: # cd / # mkdir centauro # mkdir centauro/iso # mkdir centauro/squashfs # mkdir centauro/ponto1 # mkdir centauro/ponto2 # mkdir centauro/proj1 # mkdir centauro/proj2 Criar o comando abaixo para montar a iso: # mount -o loop /centauro/iso/ubuntu-10.10-desktop-i386.iso /centauro/ponto1/ Montagem do 2º ponto de montagem: Utilizado no protótipo1: # cd /centauro/ponto1/casper/ # mount -o loop -t squashfs /centauro/ponto1/casper/filesystem.squashfs /centauro/ponto2/ Entra no ponto de montagem ponto2 e copia todo o filesystem da distribuição para o ponto de montagem proj1 # cp -pRf /centauro/ponto2/* /centauro/proj1/ Utilizado no protótipo1: # cd /centauro/ponto1/ # cp -pRf /centauro/ponto1/* /centauro/proj2/ Agora inicia as modificações Copiar os arquivos para ter suporte a internet, utilizado no protótipo1: # cp /etc/resolv.conf /mnt/teste3/etc # cp /etc/hosts /mnt/teste3/etc Importante: agora é possível desligar o computador e deixar o projeto para outra oportunidade, diferente de outros projetos que testei onde não é possível desligar ou reiniciar o pc, perde-se tudo o que foi feito. Já perdi muitas horas de trabalho por incidentes de falta de luz, ou por reiniciar o PC. e sempre que for necessário reiniciar, dê um Log out na sessão do projeto e não reinicie. a reinicialização reinicia a instalação corrente. Continuando... Duas maneiras de seguir em frente: Protótipo1 - Protótipo2
Obs: Mantem o terminal root aberto e abra um outro terninal com o usuário comun para abrir o Xnest:
Sempre é necessário abrir o Xnest mesmo que trabalhe apenas com linhas de comando no terminal chroot do projeto, pois tudo será executado no Xnest: Modificar o boot do CD: O Fundo de boot do CD é uma imagem que se encontra no formato 640x480 e com apenas 16 cores para modificar essa imagem a nova deverá possuir os mesmos aspectos que a anterior formato e cores. Abaixo estará o destino da imagem que deverá ser alterada /centauro/proj2/isolinux/splash.pcx e /centauro/proj2/isolinux/splash.png OBS: O arquivo splash.pcx não abre no navegador mas está aqui, é possível baixar Para modificar os textos de diálogo da tela de boot os arquivos responsáveis encontram-se na mesma pasta da imagem do fundo /centauro/proj2/isolinux/ dentro dessa pasta existe os arquivos f1.txt, f2.txt... e os arquivos da lingua pretendida "pt_BR.tr, pt_BR.hlp" faça a modificação utilizando um editor de texto em todos os arquivos "f*.txt" e nas linguagens que pretende usar. Para pre-selecionar uma linguagem sempre que iniciar o boot no CD e só criar dentro da pasta: /centauro/proj2/isolinux/ Manter a linguagem pré-definida Para manter uma linguagem pré-definida é só criar dentro da pasta "isolinux" o arquivo com o nome "lang" a linguagem pré-definida conforme exemplo abaixo: pt_BR Após colocar o texto acima dentro do arquivo lang salve o arquivo Para retirar nome na lista de idioma da Tecla F2, e só remover os idiomas desejados dentro do arquivo “langlist” após isso e só salvar o arquivo, que sempre que utilizar a ISO ela vai vir por padrao com a languagem Português Brasil.
Informação do particionamento: para retirar o nome ubuntu 10.04.3 “Lucid Lynx” que aparece na hora do particionamento e só editar o seguinte arquivo:
/centauro/proj2/.disk/info /centauro/proj1/etc/lsb-release
substitua com o texto pretendido e salve o arquivo.
Papel de parede Para alterar o papel de parede basta copiar uma imagem “png” para dentro da pasta abaixo com o nome warty-final-ubuntu.png, conforme a o comando a baixo: Obs (a imagem warty-final-ubuntu.png encontra se no formato de 1920x1440)
cp imagem.png /centauro/proj1/usr/share/backgrounds/warty-final-ubuntu.png ALTERAR NOME UBUNTU DENTRO DA TELA DO GRUB PARA ESCOLHER O PARTICIONAMENTO
/etc/defaults/grub
Altere para o nome desejado e salve.
Alterar o icone do menu Aplicativo: Importante: Adicionar o centauro ou o Brasão da BM "No protótipo2 adicionei o Brasão da BM" É so trocar o arquivo start-here.svg conforme caminho abaixo: obs: (encontra-se no formato 24x24). Recomendo substitui a imagem start-here.svg por uma com extensão “png” mais não deve algerar o nome padrão conforme abaixo.”
/centauro/proj1/usr/share/icons/Humanity/places/24/start-here.svg /centauro/proj1/usr/share/icons/gnome/24x24/places/start-here.png Obs.: verificar qual é o tema que você está usando na customização.
lucid /usr/share/icons/Humanity-dark/places/24/start-here.png
Fundo da tela de boas vindas Os arquivos para alterar o fundo da tela de boas vindas encontra-se no caminho abaixo:
/usr/share/images/xsplash/
Todos os arquivos se encontra em “jpg” substitua todos pela imagem pretendida. OBS: Por ser uma adaptação da versão 9.04, na versão 10.10 deve estar localizado em outro diretório.
Slide show do programa de Instalação: O programa de instalação possui um acompanhamento feito pelo ubiquity-slideshow que está escrito em Html, para alterar essa apresentação e só modificar os arquivos html que encontra-se dentro do caminho abaixo:
/centauro/proj1/usr/share/ubiquity-slideshow/slides/loc.pt
Dentro da pasta slides encontra-se os slide por tipo de língua, para alterar o português Brasil utilizando o Ubuntu 10.04 Lucid, os arquivos que deverão ser alterado encontra-se dentro da pasta loc.pt e não dentro da loc.pt_BR, devido a um erro de código ao escolher a opção de acompanhamento pela língua PT_BR o programa na hora da execução do slide-show só reconhecer PT de Portugal. As imagens utilizada no slide-show encontra-se dentro do caminho abaixo: /centauro/proj1/usr/share/ubiquity-slideshow/icons/ Remover aplicativos do Menu Aplicativos e Sistema: A pasta “/centauro/proj2/usr/share/applications/”, contém os arquivos de chamada para o ambos menus para remover e só utilizar o comando abaixo para desativar a opção dentro do menu.
chmod 000 nome_do_aplicativo exemplo:
chmod 000 ubuntu* remove programas típicos do Ubuntu.
Instalando programas dentro da ISO A forma mais simples de instalar um programa dentro do arquivo filesystem.squashfs e torna a pastas “/centauro/proj1” em pasta raiz, dessa forma qualquer pacote que você deseja instalar será instalado na ISO , para auxiliar esse processo utilize o comando a baixo: # mount - - bind /dev /centauro/proj2/dev (monta os dispositivos dentro do chroot) # chroot /centauro/proj1 (tornar a pasta proj1 como raiz “/”) # mount -t proc none /proc (montagem do kernel) # mount -t sysfs none /sys (montagem do kernel) # mount -t devpts none /dev/pts (montagem de dispositivos)
O comando chroot torna o pasta acima ser reconhecido como raiz, somente no terminal que foi digitado o comando, então se você estiver com outros terminal aberto, somente o que foi digitado chroot que aparecerá a pasta /centauro/proj1 como diretório raiz.
INSTALAÇÃO DE PROGRAMAS: Após ter preparado o sistema com os comandos do tópico anterior o sistema está pronto para instalar programas utilizando o comando apt-get, dpkg, ou make.
Antes de começa utilize o comando:
apt-get update
depois e só instalar o pacote desejado exemplo:
apt-get install sun-java6-jre
PROGRAMAS A INSTALAR adicione o repositório a baixo dentro do “/centauro/root/etc/apt/sources.list”
deb http://packages.medibuntu.org/ maverick free non-free após isso digite:
# apt-get update # apt-get install w32codecs
LISTA DE PACOTES A INSTALAR: hardinfo (mostra detalhe de todos os hardware do computador) w32codes vlc pw3270 (cliente 3270 – ip de configuração: IP:porta ex.: 200.9.127.1:23 sun-java5-jre (adequar para o Geosite) Acrobat opera flashplugin-nonfree flashplugin-installer openoffice.org-l10n-pt-br (em português com corretor) Retirar jogos Incluir “Meu Computador” “rede”na área de trabalho Firefox (adequar políticas firefox) remover pacotes de outras linguagens (language -*) remover ubuntuone remover os games (pacotes ) /usr/games/ ffmpeg* gstreamer0.10-plugins* realplayer swfdec-gnome swfdec-mozilla mozilla-acroread openprinting* hpijs hpijs-ppds hplip* driver brother* gutenprint liblzo2-2 (codec) Instalação java ( apt-get -f install sun-java6-bin sun-java6-plugin sun-java6-jre sun-java6-jdk sun-java6-fonts )
Remover arquivos desnecessários que restou da instalação de programas: apt-get clean rm -rf /tmp/* rm -rf /var/log/*
INSERIR ÍCONE DENTRO DO DESKTOP É só copiar o link pra dentro da pasta “/etc/skel/Desktop/” da ISO obs(a pasta Desktop deverá ser criada) os arquivos que irão para dentro do “etc/skel/Desktop/” deverá conter os seguintes dados, abaixo tem um exemplo do ícone meu computador:
exemplo do arquivo “/etc/skel/Desktop/nautilus-computer.desktop” #!/usr/bin/env xdg-open
[Desktop Entry] Encoding=UTF-8 Name=Computer Comment=Browse all local and remote disks and folders accessible from this computer TryExec=nautilus Exec=nautilus --no-desktop computer: Icon=computer Terminal=false StartupNotify=true Type=Application Categories=GNOME;GTK;Core; OnlyShowIn=GNOME; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nautilus X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=2.28.1 X-Ubuntu-Gettext-Domain=nautilus Name[pt_BR]=Meu Computador
uma forma mais fácil de criar esses link e criar eles dentro do desktop nomalcom a ajuda do mouse e assim que criar os arquivos copie ele para dentro da pasta “/etc/skel/Desktop/” da nova distribuição.
IMPEDIR ATUALIZAÇÃO DE PACOTES O maior problema de uma customização e a atualização de pacotes automáticos que acaba modificando todas as modificações feita na customização para a default ou uma versão mais nova que substitui a modificação um exemplo que podemos ver a alteração do ícone aplicativo atualização de software que não pode ser modificado. A forma de evitar essas atualizações do sistema e impedir que o sistema atualize alguns pacotes que não pode ser modificado é criar um arquivo com o nome “preferences” dentro da pasta abaixo
/etc/apt/preferences.d/
e incluir as seguintes linhas:
package: “nome do pacote” Pin: relese v= “versão” Pin-Priority: “prioridade para atualização” abaixo eu vou demostrar como ficará o ordem de manter um pacote na versão atual: Package: gnome-icon-theme Pin: relesev=2.28.0.0ubuntu1 Pin-Priority: 1001
isso fará que não atualize o ícone do botão aplicativo.
Exemplos de pacotes que não deverá ser alterado gnome-icon-theme (ícone do menu aplicativo) humanity-icon-theme (ícone do menu aplicativo) ubuntu-wallpapers (papel de parede) ubuntu-xsplash-artwork (tela de boas vindas) xsplash (tela de boas vindas xsplash) sun-java5-jre (java utilizado nos sistemas BMRS)
Alterar nome do usuário de login direto do CD /etc/casper.conf (faz parte do pacote casper)
Finalizando umount /proc umount /sys umount /dev/pts exit umount /centauro/proj2/dev
Fecha o filesystem.squashfs
Para fecha o filesystem.squashfs utiliza o seguinte comando: # mksquashfs /centauro/proj1/ /centauro/squashfs/filesystem.squashfs
Assim que terminar o processo de compactação do novo filesystem.squashfs, a nova copia deverá substitui a antiga conforme o comando abaixo. # cp /centauro/squashfs/filesystem.squashfs /centauro/proj2/casper/filesystem.squashfs
Após isso utilize o comando para criar a novo ISO : cd /centauro/proj1 mkisofs -r -V "Centauro0.1" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /centauro/iso/Centauro0.1-beta.iso .
Não esqueça do “.” no final ele indica gerar a isso do pasta atual ou se não substitua o ponto por “/centauro/proj1/” Pronto a customização já está feita agora e só testar a ISO FIM DO PROTÓTIPO 2 Continuação do protótipo1 UTILIZANDO O Xnest: Atualizado os codecs, fontes, flash player, BRoffice. Instalado o navegador Chrome, o Google Earth, Vlc. Atualizado o Firefox para utilizar como padrão, enquanto o Chrome deixei configurado para utilizar o proxy Com a intalação do GDM Tweaker alterei a imagem e a caixa de loguim do sistema adicionei a imagem do QG. A página inicial escolhi 7 imagens e configurei elas para mudarem automaticamente a cada tempo. Modifiquei ícones e pastas, a barra de menus. No navegador do firefox deixei 3 páginas: Brigada Militar|direto No Chrome deixei configurado o proxy e a página do 10º BPM As alterações realizada no KDE devem ser copiadas para o diretório: /usr/share/kubuntu-default-settings/kde-profile/default/share OBS: Aqui é o ponto que está dando erro: erro127 Outro erro: o Log out não executa, está reiniciando a instalação corrente. Utilizei sempre o terminal com chroot Agora para poder usar os comando preciso fechar o Xnest OBS: Fechando o Xnest neste ponto do desenvolvimento Como poderia manter o Xnest aberto e utilizar o terminal como chroot - talvez abrir um novo terminal e iniciar novanente o chroot. Mas antes limpei todos os temporários do navegador utilizado no sistema do projeto # cd /root/.kde/share # cp -pRf * /usr/share/kubuntu-default-settings/kde-profile/default/share Não copiei para o diretório /etc/skel para evitar a redundância e economizar espaço As alterações do gnome; .gnome2 e .gconf = copiadas para /etc/skel # cd /root/.gnome2 # cp -pRf * /etc/skel # cd /root/.gconf # cp -pRf * /etc/ekel Acrestentar o "*" (asterisco) no final... teste 4... registro importante # cd /root/.gnome2* # cp -pRf * /etc/skel # cd /root/.gconf* # cp -pRf * /etc/ekel Depois Preparando para gerar a ISO Faxina e liberação de espaço # apt-get clean # rm -rf * # cd /var/log # rm -rf * # rm -rf /etc/resolv.conf # rm -rf /etc/hosts # cd /root # rm -rf .bash_history .kde ( eu utilizei o gnome, então é .gnome2*, .gconf* ) OBS: digamos que eu feche o Xnest neste ponto em seguida desmonte o /proc e o /sys para sair do chroot. Ainda em teste. Descobri que a imagem utilizada para o teste estava com problemas baixando novamente e testando a MD5 pontos importantes registrados Feche o gerenciador # umount /proc # umount /sys # exit <-- este comando sai do modo chroot. CRIANDO O ARQUIVO SQUASHFS todos os comando serão executados no linux corrente como "root" # cp -Rf /centauro/ ponto1/* /centauro/proj2/ substituir o arquivo filesystem.squashfs original pelo arquivo da nossa customização. # rm /mnt/projeto/casper/filesystem.squashfs (apagando o original) # mksquashfs /centauro/proj1 (esse procedimento demorou um pouco) Verificar o tamanho do arquivo # cd /centauro/proj2 #du -sh 775,7 MB foi gravado o primeiro DVD - teste1 - d41d8cd98f00b204e9800998ecf8427e ./md5sum.txt Opcional se quiser diminuir o tamanho do arquivo para poder gravar em CD # rm -rf /centauro/proj2/bin # rm -rf /centauro/proj2/programs # rm -rf /centauro/proj2/autorun.inf Recriação da MD5 # rm /centauro/proj2/md5sum.txt # cd /centauro/proj2/ && find . -type f -print0 | xargs -0 md5sum > md5sum.txt GERANDO A NOVA IMAGEM ISO # cd /centauro/proj2/ Protótipo2 # mkisofs -r -V "Centauro-0.1" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /centauro/iso/Centauro-0.1-beta.iso . Protótipo1 # mkisofs -r -V "centauro-0.1" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /centauro/iso/centauro-0.1-desktop-i386-custom.iso .O local de destino deve ter espaço suficiente e não esquecer o "." ponto final no final do comando. Versão 0.1 gravada em 15 jan 2012. A versão 0.1 já existe Não está disponível para download pois está com vários problemas, ACREDITO QUE REALIZEI MUITAS MODIFICAÇÕES E ALGUMAS PODEM CONTER ERROS dos quais estou tentando solucionar Meus testes agora é criar Midias com poucas modificações e a cada iso criado abrir e continuar um passo a frente com poucas modificações, até chegar a ISO final. A partir desses pontos vou adicionar outros comentários abaixo, quem puder ajudar em orientações encaminhe email para elio@10bpm.com Obrigado a todos que me ajudaram até aqui. Atenciosamente Sgt Élio |







sudo add-apt-repository ppa:madnessmike/madnessmike && sudo apt-get update && sudo apt-get install gdm-tweaker
Encontrará agora o programa em Aplicações→Ferramentas de Sistema→GDM Tweaker ou através do Dash com o nome GDM Tweaker (atenção às letras maiúsculas!).
As imagens devem ser transmitidas ao site ou pela caixa de emails, pela instalação corrente e depois abertas ou baixadas pela instalação projeto. pela tela do Xnest
# chroot /mnt/teste3
# mount -t proc none /proc
# mount -t sysfs none /sys
# cd /dev
# MAKEDEV pty
# export DISPLAY=localhost:1
Abrir outro terninal como usuário comum
Xnest :1 &
#gnome-session &
#cd /mnt/projeto/
#mkisofs -r -V "centauro-1.0" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /home/elio/centauro-1.0-desktop-i386-custom.iso .
O comando abaixo irá adicionar o PPA, atualizar os repositórios e instalar o GDM Tweaker no seu Ubuntu:
sudo add-apt-repository ppa:madnessmike/madnessmike && sudo apt-get update && sudo apt-get install gdm-tweaker
Icones da área de trabalho
Alt-f2 ou pelo terminal
digite gconf-editor
navegue até apps>nautilus>desktop
marque as seleções meu computador, home, servidores de rede e lixeira
Renan diz:
vamos por partes
faça o seguinte
siga o passo a passo
mas ao invés de usar o "apt-get dist-upgrade"
tente atualizar tudo sem atualizar o squashfs
e feche uma iso sem atualizar o squashfs
e nem o kernel
aí depois você tenta lutar com esses dois centauros
caso você feche sem atualizar o kernel, uma opção é colocar umas linhas de comando no instalador pra ele fazer a atualização ao término da instalação
élio diz:
so um pouquinho, acho que entendi, se eu for customizar o sistema ubuntu 10.10 eu tenho que ter ele como distribuição corrente. isso? não posso usar a distribuição corrente 10.10 e tentar customizar a 10.04 por exemplo?
Renan diz:
é por aí
o problema está no fato de o ubuntu trabalhar com 'versões' fixas
o suporte do ubuntu é 'de segurança' por 18 ou mais meses
e não atualização de pacotes em sua numeração
élio diz:
porque o squashfs do 10.10 pode ser diferente do 10.04 isso?
Renan diz:
exato
Renan diz:
no terminal, vc precisa atualizar pacotes âncora 1 a 1
por exemplo
você não pode digitar apt-get dist-upgrade
Renan diz:
vc tem que atualizar o gnome, por exemplo
sudo apt-get update gnome-desktop
e ele vai atualizar todas as dependências dele
(que são a maioria)
ai faz o mesmo com o player d emúsica
e ele fará o mesmo
élio diz:
Programas um a um isso
digamos o br office eu atualizo ele sozinho
Renan diz:
exato
quando vc atualiza o open office, ele puxa automaticamente as dependências
parece trabalhoso, mas até que não é
pra reduzir um pouco a iso, apague os arquivos de /usr/share/docs/*
élio diz:
Na verdade eu não estou pensando em economizar espaço, hoje uma mídia de dvd é praticamente o mesmo preço e o dvd dá menos problema do que cd
Renan diz:
mas o espaço que vc usaria com documentos inúteis, vc pode colocar outros softwares
e se não colocar outros softwares, vc reduzirá o tempo de instalação
élio diz:
Entendi
Renan diz:
uma dica que tenho pra vc é "evite o xnest"
prefira o X puro
geralmente o erro 127 dá ao se usar o make
élio diz:
Pois é o Xnest está me dando trabalho e depois acontecem coisas estranhas que não consigo resolver
Renan diz:
exato
o xnest é uma espécie de X bugado
pra situações emergenciais
nome de usuários e coisas do tipo, deixe pra modificar sempre por último
élio diz:
DESINSTALAR O OPENOFFICE ATUAL E INSTALAR O 3.3
# apt-get purge "openoffice*.*"
# add-apt-repository ppa:libreoffice/ppa
# apt-get update
# apt-get install libreoffice -y
# apt-get install libreoffice-gnome
# apt-get install libreoffice-l10n-pt-br -y
CASO NÃO CONSIGA INSTALAR OS PACOTES DE IDIOMA USE O COMANDO ABAIXO:
# apt-get install libreoffice-l10n-pt-br –force-yes
# dpkg -i –force-all /var/cache/apt/archives/libreoffice-l10n-pt-br_1%3a3.3.0~rc2-3maverick2_all.deb
ATP TRANCADO - TENTE AS ALTERNATIVAS ABAIXO
$sudo su
#apt-get update
#exit
$exit
RESOLVI COM ESTE COMANDO
# rm /var/lib/apt/lists/lock
Corrigir problemas de dependências e concluir instalação de pacotes pendentes:
sudo apt-get -f install
Remover arquivos inúteis do cache, onde são registradas as cópias das atualizações que são instaladas pelo gerenciador de pacotes:
sudo apt-get clean
Remover pacotes instalados automaticamente e que não tem mais nenhuma utilidade para o sistema:
sudo apt-get autoremove
Remover pacotes antigos ou duplicados:
sudo apt-get autoclean
Remover pacotes com problemas:
sudo apt-get -f remove
Na dúvida reinicie o computador e tente abrindo apenas um terminal para fazer operações de instalar ou atualizar; ou apenas o synaptic.
Entrar pelo sources.list
# gedit /etc/apt/sources.list
para adicionar o repositório do GDM Tweaker