Página inicial‎ > ‎Suporte Linux‎ > ‎

Centauro Linux

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.

Customização de uma distribuição Linux baseada no (K/X/ED) Ubuntu 10.04 e10.10 com suporte até abril de 2013.
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

Uma pausa:
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
# chroot /mnt/teste3
# mount -t proc none /proc
# mount -t sysfs none /sys
# cd /dev
# MAKEDEV pty

Obs:
Mantem o terminal root aberto e
abra um outro terninal com o usuário comun para abrir o Xnest:
$ Xnest :1 -ac &

Mantenha os dois abertos
e no terninal root:
# export DISPLAY=localhost:1

Para abrir o KDE:
# startkde &

Ou para abrir o gnome: ( o qual vou utilizar )
# gnome-session &

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
ą
Sgt Élio,
15 de jan de 2012 06:03
ą
Sgt Élio,
15 de jan de 2012 06:03
ą
Sgt Élio,
19 de jan de 2012 20:09
ą
Sgt Élio,
15 de jan de 2012 06:04
ą
cent.jpg
(27k)
Sgt Élio,
19 de jan de 2012 20:08
ą
Sgt Élio,
19 de jan de 2012 20:01
ą
Sgt Élio,
19 de jan de 2012 18:57
ċ
f1.txt
(1k)
Sgt Élio,
19 de jan de 2012 17:59
ċ
f10.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f2.txt
(1k)
Sgt Élio,
19 de jan de 2012 17:59
ċ
f3.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f4.txt
(0k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f5.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f6.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f7.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f8.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ċ
f9.txt
(1k)
Sgt Élio,
19 de jan de 2012 18:00
ą
fundo.jpg
(176k)
Sgt Élio,
15 de jan de 2012 06:04
ą
Sgt Élio,
19 de jan de 2012 20:08
ą
Sgt Élio,
19 de jan de 2012 20:09
ċ
langlist
(0k)
Sgt Élio,
19 de jan de 2012 18:01
ą
novo-2.png
(190k)
Sgt Élio,
19 de jan de 2012 19:58
ą
Sgt Élio,
19 de jan de 2012 20:09
ą
Sgt Élio,
15 de jan de 2012 06:04
ą
Sgt Élio,
19 de jan de 2012 20:09
ą
Sgt Élio,
19 de jan de 2012 20:09
ą
Sgt Élio,
19 de jan de 2012 18:11
Comments