Como personalizar o Ubuntu Live CD?


205

Gostaria de personalizar o live CD do Ubuntu instalando alguns pacotes adicionais. Eu segui isso, mas parece não funcionar. Alguém pode fornecer instruções claras?

Nota : Eu não prefiro Remastersys, a maneira manual será apreciada.

Costumização

Pacotes que eu quero instalar:

  • Thunderbird
  • Samba
  • SSH

Alterações que eu preciso:

  • Remova o menu Jogos no menu Aplicativo
  • Atalho do Firefox na área de trabalho
  • Radiance como o tema padrão
  • Papel de parede diferente do Ubuntu padrão

Alterações no arquivo de configuração

  • Quero que o painel seja colocado na parte inferior
  • Quero colar meu arquivo de configuração do Samba em vez da configuração padrão do Samba
  • Tenho alguns atalhos e pastas do Firefox que gostaria de mostrar no Desktop
  • Também será bom se você me disser como alterar os conjuntos de ícones

Atualizações recentes

  • Eu personalizei o Ubuntu 10.10 com atalhos do Firefox e poucas pastas nos desktops. Tudo correu bem. Mas o instalador apresenta falhas após escolher o fuso horário. Como corrijo esse problema?

  • A configuração do papel de parede também afeta a tela de login. O papel de parede que eu defini também é exibido na tela de login. Eu só quero o padrão para a tela de login.


Deseja atualizações para o 12.04 com Unity ou prefere o Gnome-Shell / Classic?
Ish

2
Resposta adicionada, método mais fácil geral usando o Ubuntu Builder :) Por favor, deixe-me saber qualquer feedback, etc. nos comentários.
Ish

11
@mniess "Como você remasterizou o 14.04 ou mais recente?" a versão manual postada por izx e eu ainda é válida para configurar o sistema raiz para edição. A nova resposta depende muito de saber o que você quer dizer com "dadas alterações recentes". Toda mudança terá uma abordagem específica (editar dconf ou editar um arquivo conf) e tudo isso já será abordado nas respostas atuais. A única coisa que não é é "copiar / colar"; essas novas mudanças exigem que alguém pense além do que está escrito. MAS acredito que a resposta também já exige isso.
Rinzwind

11
Segundo: askubuntu.com/questions/409607/… é uma versão mais recente usando um ISO de servidor e um arquivo kickstart. Também funciona para ISOs de desktop.
Rinzwind

Nota: para personalizações de programas de temas, etc, provavelmente é necessário fazer os respectivos pacotes , não os arquivos instalados. Em seguida, definir um número de versão mais recente significa que suas alterações não deve ser substituído por atualizações (embora você provavelmente vai querer / precisar atualizar estes pacotes de vez em quando para se adaptar às versões mais recentes)
Wilf

Respostas:


116

Nota: O projeto Ubuntu Builder foi descontinuado .

Criando um CD 12.04 personalizado com o Gnome-Classic usando o Ubuntu-Builder

(por enquanto, isso é específico das necessidades de Karthik; atualizarei a resposta posteriormente com informações mais gerais / específicas da unidade)

1. Obtenha o Ubuntu Builder e seu ISO de origem

O Ubuntu Builder automatiza muitas das etapas preliminares que precisavam ser executadas manualmente (montar ISO, extrair squashfs, criar chroot etc.). Ele fornece o Synaptic e um chroot "gráfico" também (Unity UI).

Adicione o PPA para instalar o Ubuntu Builder:

sudo add-apt-repository ppa:kamilion/ubuntu-builder
sudo apt-get update
sudo apt-get install ubuntu-builder

Faça o download da ISO do Ubuntu Desktop com a qual você planeja trabalhar.

2. Noções básicas do Ubuntu Builder

  • Inicie o Ubuntu Builder no Iniciador. Eu recomendo que você defina todos os três campos como "Ubuntu" (como o LiveCD real), porque a configuração de campos personalizados levou ao travamento do Software Center. Ao instalar, você pode escolher seu próprio nome de usuário, nome da máquina etc. como sempre.

    insira a descrição da imagem aqui

  • Carregue seu ISO; Carreguei o de 64 bits com a opção Disco local , embora o Ubuntu Builder possa baixar o ISO, se você desejar.

  • Os botões à direita são auto-explicativos. Consoledá-lhe um chroot CLI, enquanto Desktopdá-lhe um gráfico! , ou seja, uma sessão do LiveCD em si (pode demorar um pouco para carregar). Observe que Select DE/WM, às vezes, ele faz um trabalho incompleto, então é melhor instalar via apt-get / Synaptic.

3. Atualizando, adicionando o Gnome Classic e outro gerenciamento de pacotes

Nota: Tudo isso também pode ser feito a partir do Synaptic, se você estiver mais confortável com isso.

  • Você pode editar o sources.listcom o botão (ou através do console) para adicionar seus próprios espelhos, ppas, etc.

Vamos começar com:

  • Remover os jogos
    apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y
  • Faça uma atualização geral e faça o upgrade dist para o material mais recente (opcional, mas recomendado, já que o Gnome-classic e outros pacotes que você adicionar serão as versões mais recentes) - no 12.04, esta etapa também instala o Thunderbird e os principais componentes do Samba. Isso também economizará tempo na instalação real.
    apt-get update && apt-get dist-upgrade
  • Instale o Gnome Classic ( gnome-shellpara obter indicadores, etc.), Samba e SSH:
    apt-get install gnome-shell samba ssh

4. Personalização 1: Arquivos, configurações e remoção do painel superior

Nota: Todos os comandos devem ser executados no console chroot do Ubuntu Builder, a menos que seja indicado de outra forma (geralmente ao copiar arquivos do seu próprio sistema). O caminho absoluto do chroot é/home/ubuntu-builder/FileSystem

  1. Substitua o arquivo de configuração do Samba (do seu próprio terminal do sistema, ou seja, fora do chroot!)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Coloque o atalho do Firefox na área de trabalho:

    mkdir -p / etc / skel / Desktop e& cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Copie atalhos e pastas personalizados para a área de trabalho (de fora do chroot!)

    sudo cp -r / caminho / para / mydesktopitems / / home / ubuntu-builder / Sistema de arquivos / etc / skel / Desktop /
  4. Defina gnome-classiccomo o shell padrão:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Remova o painel superior do Gnome-Classic e mova os itens superiores para o painel inferior:

    • Abra o layout do painel padrão:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Exclua o painel superior removendo as linhas 1 a 4:
      [Painel superior de nível superior]
      expand = true
      orientação = topo
      size = 24
      
    • Mova o Menu Iniciar para o canto inferior esquerdo, modificando o valor em negrito do parâmetro em itálico, conforme abaixo:
      [Barra de menus do objeto]
      object-iid = PanelInternalFactory :: MenuBar
      toplevel-id = painel inferior
      pack-index = 0
      
    • Mova os indicadores para o canto inferior direito, à esquerda do Alternador de espaço de trabalho, modificando o valor em negrito dos parâmetros em itálico, conforme abaixo:

      [Indicadores de objeto]
      object-iid = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = painel inferior
      tipo de embalagem = final
      pack-index = 1
      
    • Remova o botão "Mostrar área de trabalho" no canto inferior esquerdo; Eu prefiro que o menu Iniciar seja a primeira coisa lá, você pode deixá-lo ou movê-lo para o canto inferior direito, etc. Exclua estas linhas:

      [Objeto show-desktop]
      object-iid = WnckletFactory :: ShowDesktopApplet
      toplevel-id = painel inferior
      pack-index = 0
      
    • Salvar e sair.

5. Personalização 2: Planos de fundo e temas

Nota: /usr/share/glib-2.0/schemascontém a maioria das configurações padrão de plano de fundo / tema; Achei mais fácil modificá-los diretamente para um LiveCD, em vez de ter que lidar com coisas complicadas apenas para, por exemplo, impedir que o plano de fundo da tela de login seja igual ao plano de fundo da área de trabalho.

  1. Desative a tela de login (lightdm) de "copiar" o plano de fundo da área de trabalho e outras alterações:

    • Abrir nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Você pode alterar o plano de fundo do login do padrão aqui, se desejar:
      <nome da chave = " plano de fundo " tipo = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </default>
      
    • Desative "copiando" o plano de fundo da área de trabalho, configurando-o como false:
      <nome da chave = " draw-user-backgrounds " type = "b">
      <default> false </default>
      
    • Defina o tema de login como Radiance:
        <nome da chave = "nome do tema " tipo = "s">
      <default> 'Radiance' </default>
      
  2. Mude o papel de parede padrão; aqui, vamos configurá-lo para o "Tie My Boat" incluído ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Abra nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overridee altere a linha abaixo para o caminho do seu arquivo:
    picture-uri = 'arquivo: ///usr/share/backgrounds/warty-final-ubuntu.png'
    
  3. Mude o tema para Radiance

    • Abra o arquivo de substituição de tema do Ubuntu `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override` e altere o ambiente abaixo para Radiance :
      [org.gnome.desktop.interface]
      gtk-theme = " Ambiente "
      ...
      [org.gnome.desktop.wm.preferences]
      theme = " Ambiente "
      
  4. Importante: Compile os esquemas modificados!

    • Agora que terminamos de personalizar, compile os esquemas modificados com:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. Construa, teste e instale!

  • Pressione o Buildbotão no Ubuntu Builder para começar a criar o ISO do Live-CD personalizado. O UB lida automaticamente com a limpeza, etc., que anteriormente tinham que ser feitas manualmente.

    insira a descrição da imagem aqui

  • O ISO pode ser encontrado em /home/ubuntu-builder; você pode testá-lo usando o QEMU interno ou em outra máquina virtual.

  • Meu tamanho final de CD foi de 778 MB (após a remoção do .23kernel antigo ), com o Unity e o Gnome 3D ainda disponíveis, se o usuário desejar, o que é muito bom para uma personalização! :)

O seguinte deve resultar:

  1. Após a inicialização, você obtém a opção "Experimente o Ubuntu" ou "Instalar o Ubuntu":

    insira a descrição da imagem aqui

  2. Ao clicar em "Experimentar", obtemos o nosso desktop personalizado!

    insira a descrição da imagem aqui

  3. E o logout (logon com ubuntusenha em branco) mostra que o papel de parede do logon é mantido no padrão:

    insira a descrição da imagem aqui

  4. O instalador não falha ao selecionar o fuso horário:

    insira a descrição da imagem aqui

  5. Selecione o nome de usuário, etc. para instalação:

    insira a descrição da imagem aqui

  6. Tela de login instalada:

    insira a descrição da imagem aqui

  7. Área de trabalho instalada:

    insira a descrição da imagem aqui


11
Como atualizar / instalar um pacote que requer reinicialização do sistema (por exemplo, kernel ou dbus)? Quando tento atualizar, ele instala; mas no modo GUI, o indicador de sessão fica vermelho e diz restart to complete the update.
Khurshid Alam

Como substituo a arte do Ubuntu pela minha?
Roshan George

Este não funciona. Eu não sei porque. Não tenho certeza se isso acontece comigo sozinho. Quando eu o executo em uma caixa virtual, ele mostra um popu dizendo "/casper/vmlinuz.efi: arquivo não encontrado". Como corrigir isso? s24.postimg.org/jbez8svx1/Untitled.png
Roshan George

@izx Você pode me dizer como definir o diretório de trabalho para o ubuntu-builder? Está criando o diretório em / home / ubuntu-builder. Eu o executo com acesso root.
Shantanu

5
Este projeto foi descontinuado. O PPA não funciona e o site não possui links para download. Sugiro que você adicione essas informações no início da sua resposta para ajudar outras pessoas que chegam aqui a não desperdiçar seu tempo.
Sopalajo de Arrierez 03/03

115

Criando seu próprio CD ao vivo personalizado - da maneira manual.

1. Preparativos

  • Primeiro você baixa o ISO do Live CD . Enquanto estiver baixando, instale algum software necessário para a reconstrução:sudo apt-get install squashfs-tools schroot

    Squashfs Instalar squashfs-tools é um sistema de arquivos somente leitura compactado para Linux.

    O schroot Instalar schroot permite que os usuários executem comandos ou shells interativos em diferentes chroots.

  • Monte o Live CD:

    mkdir /tmp/livecd
    sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd
    

    Se você usar outro ISO ou outro local para o seu download, ajuste de acordo.

  • Crie uma área de trabalho e copie o conteúdo para a área de trabalho:

    mkdir -p ~/livecd/cd
    rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
    mkdir ~/livecd/squashfs  ~/livecd/custom
    sudo modprobe squashfs
    sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
    sudo cp -a ~/livecd/squashfs/* ~/livecd/custom
    
  • Se você receber um erro como este ao fazer o modprobe:

    sudo modprobe squashfs 
    WARNING: Deprecated config file /etc/modprobe.conf, 
    all config files belong into /etc/modprobe.d/
    

    mova o modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLDe tente novamente!

  • Acesso à rede:

    sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
    
  • Crie um pseudo sistema de arquivos:

    sudo chroot ~/livecd/custom /bin/bash -l
    mount -t proc none /proc/
    mount -t sysfs none /sys/
    

2. Customizando

  • Você pode obter uma lista de todos os pacotes com dpkg-query -W --showformat='${Package}\n' | less

  • Você pode remover jogos com apt-get remove --purge gnome-games

  • Atualize suas fontes com sudoedit /etc/apt/sources.list. Comente as linhas que você não deseja e descomente as que você deseja, adicione PPAs se desejar e, em seguida, você precisará atualizar comapt-get update && apt-get dist-upgrade

  • A adição de pacotes como thunderbird, Samba, configuração do sistema Samba e SSH é feita da mesma maneira que você instalaria normalmente na linha de comando. Então, sudo apt-get install thunderbird samba system-config-samba sshvamos adicionar esses.

  • Se você baixou manualmente o pacote, pode instalá-lo com sudo dpkg -i {file_name}.deb

    • Você pode verificar os nomes do Ubuntu Software Center, Synaptic ou do site de pacotes, se mais precisar ser instalado.
    • Você pode considerar adicionar utilitários de rede (sem fio).
    • Você executará rapidamente mais de 800 Mb; se você remover mais pacotes para menos de 800 ou precisar usar um DVD ao gravar. A remoção do libre office liberará você a mais de 33 Mb se você não precisar.
  • Para criar um atalho do AskUbuntu na área de trabalho:

    mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop
    

    Você pode adicionar mais desses itens (pule a parte mkdir) editando o URL para outra coisa. Cortesia de dv3500ea

  • Alterando as configurações dentro do gconf-editor.

    Você pode alterar qualquer opção do gconf se souber qual é o caminho dessa opção e o valor que deseja que seja (e o tipo do valor, é claro).

    insira a descrição da imagem aqui

    A alteração do papel de parede é feita com o caminho que eu apontei as setas para:, /desktop/gnome/background/é um valor de string e usa picture_filenamecomo opção. O valor que ele possui atualmente na minha área de trabalho é /discworld2/Downloads/fantasticwall_2.jpg. O plano de fundo em si deve ser copiado /usr/share/backgrounds/. Certifique-se de definir permissões e proprietário.

    Exemplos:

    • Para alterar o papel de parede (altere o nome do arquivo no 1º comando para sua própria imagem) para esta imagem e para alterar o tema para Radiance, você pode usar essas informações para criar comandos para configurá-lo para o seu cd ao vivo:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename  /discworld2/Downloads/fantasticwall_2.jpg
      
      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance
      

      Cortesia de dv3500ea

    • Ativar área de trabalho remota:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true
      

      As configurações de ícones, painéis etc. são feitas adicionando um comando como este.

    • Como alternativa, você pode editar /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(ou quando estiver inativo, salve este arquivo para uso futuro). Todas as definições de configuração feitas através do gconftool-2 são armazenadas neste arquivo.

  • Alterar o fuso horário padrão usado pelo live cd

    dpkg-reconfigure tzdata
    
  • Altere a configuração da localidade para inglês (é claro, altere para o que você deseja)

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Configure os arquivos de configuração.

    Se você deseja ter um arquivo de configuração personalizado para um determinado pacote, é possível fazer isso de várias maneiras.

    A maneira mais difícil (mas mais lógica) seria encontrar o pacote, alterar o arquivo de configuração e reembalá-lo ou encontrar os arquivos de origem, descobrir onde eles armazenam seu arquivo de configuração fictício e alterá-lo e depois reconstruir o pacote.

    • Obviamente, isso só funciona se o arquivo de configuração padrão estiver incluído no pacote de origem. Muitos pacotes geram automaticamente seus arquivos de configuração no script .postinst {packagename}. Portanto, seria bastante difícil fazer isso.

      A maneira mais fácil seria criar um script e copiar sua configuração atual para /etc/skelque ela seja adicionada à área de trabalho (semelhante à adição de atalhos do Firefox, conforme explicado acima) e após a instalação, clique no link da área de trabalho para definir o arquivo de configuração no local necessário. estar. O script pode fazer a cópia e a remoção do script e do arquivo de configuração da área de trabalho após a instalação com êxito. Este método pode ser usado para atualizar a configuração do Samba (coloque sua configuração atual /etc/skel/. Coloque um script lá que tenha permissões de execução e contenha uma mudança da referida configuração /etc/samba/smbd.confe tudo o que você precisa fazer depois é executar o script).

    • Isso basicamente sempre funciona, pois substitui uma ação manual pós-instalação por um script ativado manualmente pós-instalação. Mas também significa que não faz parte do live CD personalizado.

3. Limpando

apt-get clean
rm -rf /tmp/*
rm -f /etc/hosts /etc/resolv.conf
umount /proc/
umount /sys/
exit

Isso remove todos os arquivos temporários; não o que criamos. ~/livecd/é somente leitura, portanto, um normal rmnão removerá esses arquivos. Você precisa montá-lo com acesso de gravação (ou como eu usei o novo live cd para inicializar e montar a casa e rma partir daí.

4. Configurando o ISO

  • Arquivos de manifesto.

    chmod +w ~/livecd/cd/casper/filesystem.manifest
    sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
    sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
    
  • Regenere o arquivo squashfs.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Atualize somas MD5.

    sudo rm ~/livecd/cd/md5sum.txt
    sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt
    

5. Criando o ISO.

cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .

6. Desmonte e Limpe

sudo umount ~/livecd/squashfs/
sudo umount /tmp/livecd
sudo rm -fr ~/livecd/

7. Comentários:

  • Tudo foi testado com um Ubuntu 11.04 Live CD. A única coisa que deu errado foi o chroot: adicionei o dchroot aos arquivos que você precisa instalar para fazer isso.

  • Em relação a "deve criar alguns atalhos do firefox na área de trabalho", "Deve alterar o tema padrão para brilho" e "Deve alterar o papel de parede padrão do ubuntu". Eu os editei depois que o dv3500ea os colocou nos comentários; Não testei isso ao criar o CD ao vivo 11.04.


Irá apt-get update && apt-get dist-upgradetambém atualizar o kernel / initrd usado no Live CD? Quero dizer, o kernel para o processo de inicialização do meio ativo, carregado pelo Syslinux, não o instalado.
precisa saber é o seguinte

apt-get dist-upgradefunciona sem falhas, exceto por algumas warning: could not determine root device from /etc/fstabmensagens. Isso deveria se tornar um problema?
Sopalajo de Arrierez 03/03

Não. Mas, com certeza, dê uma olhada no seu e veja como / é montado.
Rinzwind 4/03/15

11
De acordo com help.ubuntu.com em 12,04 e 14,04 a /etc/resolv.confnão pode ser removido como uma parte da limpeza
souravc

11
Este método ainda funciona: Testado com o Kubuntu 18.04.2. note: que eu só poderia tornar o .ISO inicializável usando o unetbootin (o etcher não funcionou). Não há problemas ao inicializar ao gravar .ISO em um DVD.
Nmath

23

Criando um CD ao vivo a partir de uma instalação existente / nova

Edição: Este método parece não funcionar mais. Sugiro que você tente outros métodos sugeridos neste controle de qualidade.

Uma boa maneira seria criar um CD ao vivo a partir de uma instalação atual. Isso pode ser feito usando uma máquina virtual (apenas não instale nenhuma ferramenta de VM no sistema operacional convidado)

Portanto, primeiro precisamos de uma nova instalação (se você não conseguir instalá-la de verdade, tente usar uma máquina virtual) com apenas as coisas que você precisa (no seu caso, thunderbird, samba e ssh). Depois ajustamos o sistema e registramos onde estão os ajustes (por exemplo, você altera o plano de fundo da área de trabalho, as configurações estão em ~ / .gconf ou você adiciona atalhos do firefox, eles estão localizados em ~ / Desktop). Isso é necessário para a etapa 4.

  1. Configure algumas variáveis:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    Substitua ~ / temp por um caminho para um diretório temporário no qual trabalharemos. Substitua ~ / livecd por um caminho para a árvore do CD.

  2. Faça a estrutura da pasta. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Agora precisaremos instalar alguns pacotes:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Agora vamos copiar a instalação atual, modificar os sinalizadores de exclusão para atender às suas necessidades:

    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    

    Se você tiver uma partição de inicialização separada, execute o seguinte: sudo cp -av /boot/* ${WORK}/rootfs/boot
    No seu caso, você deseja copiar configurações e alguns arquivos do diretório inicial. Primeiro, defina quais diretórios queremos copiar: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' E agora copiamos isso:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Agora, entramos no novo sistema e o modificamos.

    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    

    Os próximos comandos são feitos no chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contém scripts ao vivo. Se você deseja um instalador também, execute o seguinte:

    apt-get install ubiquity ubiquity-frontend-gtk
    

    Ou se você quiser o KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Atualize modules.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Remova usuários que não são do sistema - não se preocupe, copiamos as configurações e os dados no "esqueleto" dos usuários. Isso significa que todos os novos usuários os terão.

    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Limpar:

    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Saia do chroot. exit

  10. Agora, copiamos o kernel:

    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Se você instalou o instalador, precisará fazer isso, para que o instalador não instale coisas como casper:

    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Desmonte o que montamos:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Converta em squashfs:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Crie filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. E md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. Agora grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (substitua o nano pelo seu editor de texto favorito, não importa) Cole isso e salve:

    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Se desejar, você pode adicionar uma entrada de menu adicional, que permite acessar diretamente o Ubiquity.

    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Faça o CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  19. Teste-o usando uma máquina virtual!

Todo o crédito vai para o capink, porque o guia é daqui .


Eu tenho uma pergunta sobre o grub.cfg. Este arquivo grub.cfg é usado apenas durante a instalação ou também é persistente no sistema instalado. E se eu não editar o grub.cfg?
Roshan George

@RoshanGeorge Isso configura o GRUB no CD. Não deve persistir após a instalação.
nickguletskii

Podemos ter a instalação como normalmente é para o Ubuntu, isto é, mostrar o instalador de onipresença, em vez de mostrar o grub? Significa que, na instalação do Ubuntu, quando inserimos e executamos o CD, a onipresença aparece em vez do menu grub. Podemos fazer assim?
Roshan George

@RoshanGeorge Deve ser possível adicionando uma entrada de menu com linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Vou testar e verificar.
nickguletskii

@RoshanGeorge Adicionei com sucesso uma opção para iniciar o Ubiquity no menu de inicialização. No entanto, preciso corrigir o guia - faltam algumas etapas de onipresença. Vou tentar consertá-lo amanhã.
nickguletskii

15

Você pode usar uckou live-magicpara personalizar seu Live CD.

uckestá disponível nas fontes oficiais de software do Ubuntu, em todas as versões do Ubuntu desde 10.04 LTS Lucid Lynx. Você pode instalar a uckpartir do Centro de Software, apt-getna linha de comando ou clicando aqui Instalar uck .


11
parece que UCK foi descontinuado :(
amc

O Ubuntu Builder foi descontinuado em 2014; O Ubuntu Customization Kit é instalado, mas não funciona, e foi descontinuado em 2015; O System Imager foi descontinuado em 2016. Esta resposta realmente precisa ser atualizada. Existe um método com suporte oficial em 2019?
allquixotic 04/07

@allquixotic uck está no repositório do universo 18.04. Esta versão não funciona?
mchid 30/07

10

Kit de personalização do Ubuntu

É uma coleção de scripts que facilita a criação de um LiveCD personalizado a partir de uma imagem .iso existente. É muito semelhante ao Remastersys, com a diferença de que é mantido ativamente. Possui uma GUI para ajudar na personalização, mas também é possível usar a linha de comando para fazer o mesmo.

  1. Ele solicitará a seleção de quais pacotes de idiomas incluir no CD.
  2. Em seguida, ele solicitará a seleção do arquivo de imagem .iso, que será usado como base para o novo CD.
  3. Dê um nome para a nova imagem .iso que será criada.
  4. Em seguida, ele solicitará os pacotes que serão adicionados / removidos para / do LiveCD. Ele fornecerá uma opção entre a linha de comando e a GUI padrão (Ubuntu Software Center). Nota: Você deve selecionar a linha de comando. Na linha de comando, você pode adicionar / remover pacotes usando o apt-get ou o Ubuntu Software Center (digite software-center na linha de comando). Você também pode modificar as configurações de todos os softwares / aplicativos.
  5. Depois de terminar (pode levar algum tempo para baixar os pacotes necessários), continue.
  6. Agora, sente-se e relaxe. Depois de algum tempo, seu LiveCD personalizado estará pronto.

2
parece que o projeto UCK foi descontinuado :(
amc

5

Se você precisar de mais controle sobre exatamente quais alterações foram feitas, é possível fazer a modificação manualmente.

O processo consiste em descompactar o arquivo de dados SquashFS que contém o sistema de arquivos raiz do sistema operacional ativo , fazer o chroot no sistema de arquivos extraído, fazer suas modificações, sair do chroot, reembalar o arquivo SquashFS e regenerar a imagem ISO.

Detalhes completos estão descritos na página LiveCDCustomization do wiki do Ubuntu.


5

No Ubuntu Software Center

Editar> Fontes de Software> Outro Software> Adicionar ..

Cole a seguinte linha na caixa e clique em adicionar fonte.

deb http://www.geekconnection.org/remastersys/repository karmic

Recarregue as fontes e instale o Remastersys no Software Center.

Quando terminar, instale todos os codecs e aplicativos de mídia que você deseja no seu ubuntu personalizado. Iniciar remastersys de

Sistema> Administração> Remastersys

Escolha o modo dist , clique em ok e aguarde o processo terminar. Depois de concluído, você encontrará sua iso personalizada em

/home/remastersys/remastersys/custom.iso


Eu segui exatamente os mesmos procedimentos que você descreveu aqui, mas, infelizmente, durante a inicialização, ele mostra "não foi possível encontrar a imagem do ramdisk: / ubninit" e é atualizado novamente com intervalo de 10 segundos. Resultado: não consigo inicializar meu ISO personalizado. Você poderia me dizer como posso resolver isso? Por favor.
tuxtu

3

Remastersys pode ser a resposta para suas necessidades. Você precisa ir para http://www.remastersys.com/ubuntu.html e seguir as instruções. Este programa faz uma iso do seu sistema operacional, incluindo todas as configurações e aplicativos. Do que você pode gravar um CD usando este iso. Infelizmente, no passado, havia um problema para executá-lo como um CD ao vivo, enquanto a instalação não era um problema (não sei se isso ainda é um problema).


11
ou UCK que utiliza interface gráfica e é menos difícil
Uri Herrera

Remastersys está morto. Agora, este site pertence a um invasor de domínio.
allquixotic 04/07

1

Não há nenhuma "GUI" que eu conheça fora do Lucid, no entanto o gNewsense , que é um fork do Ubuntu, faz seus scripts para lançar um Ubuntu e tornar um fork personalizado disponível gratuitamente e bem documentado.

É basicamente um processo de:

  1. Colocando seu trabalho artístico personalizado onde os scripts podem encontrá-lo
  2. Decidindo o que você quer no seu kernel (ou o que você não quer)
  3. Decidir quais pacotes você deseja (ou o que você não deseja)
  4. Executando um script que espelha um repositório apt
  5. Criando o CD / ISO de distribuição.

Embora não sejam exatamente 'amigáveis ​​para iniciantes', suas ferramentas são relativamente fáceis de usar.


1

Eu consertei um novo serviço baseado na Web chamado Reconstructor . De acordo com o site deles,

Reconstructor é um kit de ferramentas para criar versões personalizadas do sistema operacional GNU / Linux, especificamente Debian e Ubuntu.

De acordo com um artigo do Linux Journal sobre Reconstructor , eles cobram pequenas taxas para personalizações. Se vale a pena, depende de suas necessidades.


O link está inoperante e o domínio é redirecionado para um site potencialmente malicioso!
amc

1

Aconselho você a experimentar o Reconstructor

"Reconstructor é um CD GNU / Linux Ubuntu Creator que permite modificar uma distribuição existente do Ubuntu e salvar como sua própria distribuição Linux. Ele usa os discos Desktop (Live), Alternate (Install) ou Server como base e, em seguida, permite para personalização do usuário. Você pode basicamente personalizar todo o ambiente, como adicionar / remover software, alterar a aparência padrão (splash, temas, fontes, papel de parede etc.), adicionar links da área de trabalho etc. "

Também para obter mais informações, você deve ler estes links: http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05

http://maketecheasier.com/build-your-own-ubuntu-based-distro-with-novo-builder/2010/07/02

http://ubuntuforums.org/showthread.php?t=869659


Mas essas ferramentas não me permitem mudar a marca da minha distribuição, elas só me permitem criar imagens e adicionar pacotes, ou pelo menos é o que eu sei.
user51447

O link do reconstrutor está inoperante e o domínio é redirecionado para um site potencialmente malicioso!
amc

1

Você também pode usar o JLIVECD para personalizar uma imagem ISO. É uma ferramenta de linha de comando para personalizar as distribuições baseadas no Ubuntu e no Ubuntu. Ele fornece controle total sobre as coisas que precisam de personalização, mas você precisa saber o que precisa ser feito, ou seja, ele só prepara o ambiente chroot para você (o resto é com você) e cria o ISO final. Você pode continuar adicionando novas alterações às existentes e verificar os ISOs criados com base nelas.


1

Você pode usar o Cubic - este utilitário foi testado (por mim) e funciona no host Ubuntu 18.04 com uma imagem do Ubuntu 18.04, o que é mais do que pode ser dito para a maioria das outras ferramentas que não funcionam ou foram descontinuadas.

Aqui está um guia para usá-lo no site Linoxide .

As etapas aproximadas envolvem:

  • Verifique se você está usando uma versão suportada do Ubuntu (tentei 18.04; funciona)
  • Instale a chave GPG para o PPA cúbico
  • Adicione o PPA cúbico às suas fontes
  • Instale a ferramenta cúbica
  • Execute-o e siga as instruções da GUI

Além disso, consulte esta resposta askubuntu.com/a/741770/100356 para obter instruções.
PJ Singh

0

Faça o download de http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download siga as instruções e quando solicitar executar o gerenciador de pacotes, um aplicativo de console ou continuar a embalagem, selecione Aplicação de console.

Agora você pode correr

nautilus

unity-2d-launcher

unity-2d-panel

e faça tudo.

Se isso não funcionar, tente executar o gerenciador de pacotes e tente novamente com o console.

Espero que isto ajude.


O kit de personalização do ubuntu (UCK) foi descontinuado
amc

0

Você pode modificar o /etc/hostsarquivo padrão (assim como outros arquivos padrão) editando/usr/share/ubiquity/plugininstall.py

Eu pensei que seria útil compartilhar, pois eu precisava saber como fazer isso.


Na verdade, após uma análise mais aprofundada, parece que o /etc/hostsarquivo que é instalado não é gerado pelo plugininstall.pymódulo de onipresença . Se você deseja modificar o /etc/hostsarquivo padrão , provavelmente precisará criar um script que será executado uma vez após a primeira inicialização e excluir ou renomear a si mesmo. A menos que você recompile o módulo netcfg - o que não é recomendado.
SW_user2953243
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.