Come personalizzare il Live CD di Ubuntu?


205

Vorrei personalizzare il CD live di Ubuntu installando alcuni pacchetti aggiuntivi. Ho seguito questo ma non sembra funzionare. Qualcuno può fornire istruzioni chiare?

Nota : non preferisco Remastersys, il modo manuale sarà apprezzato.

Personalizzazione

Pacchetti che voglio installare:

  • Thunderbird
  • Samba
  • SSH

Modifiche di cui ho bisogno:

  • Rimuovi il menu Giochi dal menu Applicazioni
  • Collegamento di Firefox sul desktop
  • Radianza come tema predefinito
  • Diversi sfondi Ubuntu predefiniti

Modifiche al file di configurazione

  • Voglio che il pannello sia posizionato in basso
  • Voglio incollare il mio file di configurazione Samba invece della configurazione Samba predefinita
  • Ho alcune scorciatoie e cartelle di Firefox che vorrei mostrare sul desktop
  • Inoltre sarà bello se mi dici come cambiare i set di icone

Aggiornamenti recenti

  • Ho personalizzato Ubuntu 10.10 con le scorciatoie di Firefox e alcune cartelle sui desktop. Tutto è andato liscio. Ma il programma di installazione si arresta in modo anomalo dopo aver scelto il fuso orario. Come posso risolvere questo problema?

  • Anche l'impostazione dello sfondo influisce sulla schermata di accesso. Lo sfondo che ho impostato viene visualizzato anche nella schermata di accesso. Voglio solo quello predefinito per la schermata di accesso.


Vuoi aggiornamenti per 12.04 con Unity o preferisci Gnome-Shell / Classic?
ish,

2
Risposta aggiunta, metodo complessivamente più semplice usando Ubuntu Builder :) Per favore fatemi sapere qualsiasi feedback, ecc. Nei commenti.
ish,

1
@mniess "Come rimasterizzeresti 14.04 o più recenti?" la versione manuale pubblicata da izx e me è ancora valida per configurare il sistema di root per la modifica. La nuova risposta dipende molto dal sapere cosa intendi con "dati recenti cambiamenti". Ogni modifica avrà un approccio specifico (modifica dconf o modifica un file conf) e tutto ciò è già trattato nelle risposte correnti. L'unica cosa che non è è "copia / incolla"; questi nuovi cambiamenti richiedono che qualcuno pensi oltre ciò che è scritto. MA credo che la risposta lo richieda già.
Rinzwind,

1
2 °: askubuntu.com/questions/409607/… è una versione più recente che utilizza un server ISO e un file kickstart. Funziona anche con ISO desktop.
Rinzwind,

Nota per le personalizzazioni dei programmi di temi ecc., Molto probabilmente deve essere fatto ai rispettivi pacchetti , non ai file installati. Quindi l'impostazione di un numero di versione più recente significherà che le modifiche non devono essere sovrascritte dagli aggiornamenti (anche se probabilmente vorrai / dovrai aggiornare questi pacchetti ogni tanto per adattarti alle versioni più recenti)
Wilf,

Risposte:


116

Nota: il progetto Ubuntu Builder è stato sospeso .

Creazione di un CD 12.04 personalizzato con Gnome-Classic usando Ubuntu-Builder

(per ora, questo è specifico per le esigenze di Karthik; aggiornerò la risposta più avanti con cose più generali / specifiche dell'Unità)

1. Ottieni Ubuntu Builder e la tua ISO di origine

Ubuntu Builder automatizza molti dei passaggi preliminari che dovevano essere eseguiti manualmente (montare ISO, estrarre squashfs, creare chroot, ecc.) Offre anche Synaptic e un chroot "grafico" (Unity UI).

Aggiungi il PPA per installare Ubuntu Builder:

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

Scarica anche l'ISO di Ubuntu Desktop con cui stai pianificando di lavorare.

2. Nozioni di base di Ubuntu Builder

  • Avviare Ubuntu Builder dal Launcher. Ti consiglio di impostare tutti e tre i campi su "Ubuntu" (come l'attuale LiveCD), perché l'impostazione dei campi personalizzati ha causato l'arresto anomalo di Software Center. Quando si installa, è possibile scegliere il proprio nome utente, nome della macchina, ecc. Come sempre.

    inserisci qui la descrizione dell'immagine

  • Carica il tuo ISO; Ho caricato il 64-bit con l' opzione Disco locale , anche se Ubuntu Builder dovrebbe essere in grado di scaricare ISO se lo si desidera.

  • I pulsanti a destra sono autoesplicativi. Consoleti dà un chroot CLI, mentre Desktopte ne dà uno grafico! , ovvero una sessione LiveCD stessa (questa potrebbe richiedere del tempo per essere caricata). Si noti che a volte Select DE/WMfa un lavoro incompleto, quindi è meglio installarlo tramite apt-get / Synaptic.

3. Aggiornamento, aggiunta di Gnome Classic e altra gestione dei pacchetti

Nota: tutto ciò può essere fatto anche da Synaptic se ci si sente più a proprio agio.

  • È possibile modificare il sources.listcon il pulsante (o tramite la console) per aggiungere i propri mirror, ppas, ecc.

Iniziamo con:

  • Rimuovi i giochi
    apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y
  • Esegui un aggiornamento generale e dist-upgrade alle ultime cose (facoltativo, ma consigliato poiché Gnome-classic e altri pacchetti aggiunti saranno le ultime versioni) - su 12.04, questo passaggio installa anche Thunderbird e i componenti principali di Samba. Inoltre risparmierà tempo sull'installazione effettiva.
    apt-get update && apt-get dist-upgrade
  • Installa Gnome Classic ( gnome-shellper inserire indicatori, ecc.), Samba e SSH:
    apt-get install gnome-shell samba ssh

4. Personalizzazione 1: file, configurazioni e rimozione del pannello superiore

Nota: tutti i comandi devono essere eseguiti dalla console chroot di Ubuntu Builder se non diversamente specificato (di solito quando si copiano i file dal proprio sistema). Il percorso assoluto del chroot è/home/ubuntu-builder/FileSystem

  1. Sostituisci il file di configurazione di Samba (dal tuo terminale di sistema, cioè al di fuori di chroot!)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Inserisci il collegamento Firefox sul desktop:

    mkdir -p / etc / skel / Desktop && cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Copia scorciatoie e cartelle personalizzate sul desktop (dall'esterno chroot!)

    sudo cp -r / path / to / mydesktopitems / / home / ubuntu-builder / FileSystem / etc / skel / Desktop /
  4. Imposta gnome-classiccome shell predefinita:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Rimuovi il pannello superiore di Gnome-Classic e sposta gli elementi principali nel pannello inferiore:

    • Apri il layout del pannello predefinito:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Elimina il pannello superiore, rimuovendo le righe 1-4:
      [Pannello superiore di Toplevel]
      expand = true
      orientamento = alto
      size = 24
      
    • Spostare il menu Start in basso a sinistra modificando il valore in grassetto per il parametro in corsivo come di seguito:
      [Barra dei menu oggetto]
      oggetto-iid = PanelInternalFactory :: MenuBar
      toplevel-id = pannello inferiore
      pack-index = 0
      
    • Spostare gli indicatori in basso a destra, appena a sinistra del commutatore dell'area di lavoro, modificando il valore in grassetto per i parametri in corsivo come di seguito:

      [Indicatori di oggetti]
      oggetto-iid = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = pannello inferiore
      pack-type = end
      pacchetto-indice = 1
      
    • Rimuovere il pulsante "Mostra desktop" in basso a sinistra; Preferisco che il menu Start sia la prima cosa lì, puoi lasciarlo o spostarlo in basso a destra, ecc. Elimina queste righe:

      [Oggetto mostra-desktop]
      oggetto-iid = WnckletFactory :: ShowDesktopApplet
      toplevel-id = bottom-panel
      pack-index = 0
      
    • Salva ed esci.

5. Personalizzazione 2: sfondi e temi

Nota: /usr/share/glib-2.0/schemascontiene la maggior parte delle impostazioni predefinite di sfondo / tema; Ho trovato più semplice modificare direttamente quelli per un LiveCD invece di dover gestire cose complicate solo per, ad esempio, impedire che lo sfondo della schermata di accesso fosse lo stesso dello sfondo del desktop.

  1. Disabilita la schermata di accesso (lightdm) "copiando" lo sfondo del desktop e altre modifiche:

    • Aperto nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Puoi modificare lo sfondo di accesso dal valore predefinito qui se vuoi:
      <key name = " background " type = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </default>
      
    • Disabilita la "copia" dello sfondo del desktop impostando questo su false:
      <key name = " draw-user-backgrounds " type = "b">
      <default> false </default>
      
    • Imposta il tema di accesso su Radiance:
        <key name = " theme-name " type = "s">
      <default> 'Radiance' </default>
      
  2. Cambia lo sfondo predefinito; qui, lo imposteremo sul "Tie My Boat" incluso ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Apri nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overridee modifica la riga seguente nel percorso del tuo file:
    'file: ///usr/share/backgrounds/warty-final-ubuntu.png' Picture-uri =
    
  3. Cambia il tema in Radiance

    • Apri il tema di Ubuntu sovrascrivendo il file `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override` e cambia l' Ambiance di seguito in Radiance :
      [Org.gnome.desktop.interface]
      gtk-theme = " Ambiance "
      ...
      [org.gnome.desktop.wm.preferences]
      tema = " Ambiente "
      
  4. Importante: compilare gli schemi modificati!

    • Ora che abbiamo finito di personalizzare, compila gli schemi modificati con:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. Compilare, testare e installare!

  • Premi il Buildpulsante in Ubuntu Builder per iniziare a creare l'ISO del Live-CD personalizzato. UB gestisce automaticamente la pulizia, ecc. Che in precedenza doveva essere eseguita manualmente.

    inserisci qui la descrizione dell'immagine

  • L'ISO può essere trovato in /home/ubuntu-builder; puoi testarlo usando la QEMU integrata o in un'altra macchina virtuale.

  • La mia dimensione del CD finita era 778 MB (dopo aver rimosso il vecchio .23kernel), con Unity e Gnome 3D ancora disponibili se l'utente lo desidera, quindi è abbastanza buono per una personalizzazione! :)

Di seguito dovrebbe risultare:

  1. Dopo l'avvio, ottieni l'opzione "Prova Ubuntu" o "Installa Ubuntu":

    inserisci qui la descrizione dell'immagine

  2. Facendo clic su "Prova" si ottiene il nostro desktop personalizzato!

    inserisci qui la descrizione dell'immagine

  3. E il logout (login con ubuntu, password vuota) mostra che lo sfondo di login è mantenuto sul valore predefinito:

    inserisci qui la descrizione dell'immagine

  4. Il programma di installazione non si arresta in modo anomalo alla selezione del fuso orario:

    inserisci qui la descrizione dell'immagine

  5. Seleziona nome utente, ecc. Per l'installazione:

    inserisci qui la descrizione dell'immagine

  6. Schermata di accesso installata:

    inserisci qui la descrizione dell'immagine

  7. Desktop installato:

    inserisci qui la descrizione dell'immagine


1
Come aggiornare / installare un pacchetto che richiede il riavvio del sistema (ad esempio kernel o dbus)? Quando provo ad aggiornarlo si installa; ma in modalità gui, l'indicatore di sessione diventa rosso e dice restart to complete the update.
Khurshid Alam,

Come posso sostituire la grafica di Ubuntu con la mia grafica?
Roshan George,

Questo non funziona. Non so perché. Non sono sicuro che questo accada solo a me. Quando lo eseguo all'interno di una virtualbox, mostra un popu che dice "/casper/vmlinuz.efi: file not found". Come correggerlo? s24.postimg.org/jbez8svx1/Untitled.png
Roshan George

@izx Puoi dirmi, come impostare la directory di lavoro per Ubuntu-Builder? Sta creando la directory in / home / ubuntu-builder. Lo eseguo con accesso root.
shantanu,

5
Questo progetto è interrotto. Il PPA non funziona e il sito Web non ha collegamenti per il download. Suggerisco di aggiungere queste informazioni all'inizio della risposta per aiutare gli altri che arrivano qui a non perdere tempo.
Sopalajo de Arrierez,

115

Creare il tuo Live CD personalizzato - il modo manuale.

1. Preparativi

  • Per prima cosa scarichi l' ISO del Live CD . Durante il download installare alcuni software necessari per la ricostruzione:sudo apt-get install squashfs-tools schroot

    Squashfs Installa squashfs-tools è un filesystem di sola lettura compresso per Linux.

    schroot Installa schroot consente agli utenti di eseguire comandi o shell interattive in diversi chroot.

  • Montare il Live CD:

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

    Se si utilizza un'altra ISO o un'altra posizione per il download, regolare di conseguenza.

  • Crea un'area di lavoro e copia i contenuti nell'area di lavoro:

    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 ricevi un errore del genere mentre fai modprobe:

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

    sposta modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLDe riprova!

  • Accesso alla rete:

    sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
    
  • Crea uno pseudo filesystem:

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

2. Personalizzazione

  • È possibile ottenere un elenco di tutti i pacchetti con dpkg-query -W --showformat='${Package}\n' | less

  • Puoi rimuovere i giochi con apt-get remove --purge gnome-games

  • Aggiorna le tue fonti con sudoedit /etc/apt/sources.list. Commenta le righe che non desideri e rimuovi il commento da quelle che desideri, aggiungi PPA se lo desideri e quindi devi aggiornare conapt-get update && apt-get dist-upgrade

  • L'aggiunta di pacchetti come thunderbird, Samba, Samba system config e SSH avviene nello stesso modo in cui si installa normalmente dalla riga di comando. Quindi sudo apt-get install thunderbird samba system-config-samba sshaggiungerò quelli.

  • Se hai scaricato manualmente il pacchetto da puoi installarlo con sudo dpkg -i {file_name}.deb

    • È possibile controllare Ubuntu Software Center, Synaptic o il sito Web dei pacchetti per i nomi se è necessario installarne altri.
    • Potresti considerare di aggiungere utilità di rete (wireless).
    • Passerai rapidamente oltre 800 Mb; se lo fai rimuovi più pacchetti per ottenere meno di 800 o devi usare un DVD durante la masterizzazione. La rimozione di libre office ti libererà 33+ Mb se non ne hai bisogno.
  • Per creare un collegamento AskUbuntu sul desktop:

    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
    

    Puoi aggiungerne altri (salta la parte mkdir) modificando l'URL in qualcos'altro. Per gentile concessione di dv3500ea

  • Modifica delle impostazioni all'interno di gconf-editor.

    Puoi modificare qualsiasi opzione di gconf se sai qual è il percorso di quell'opzione e il valore che vuoi che sia (e il tipo del valore ovviamente).

    inserisci qui la descrizione dell'immagine

    La modifica dello sfondo viene eseguita con il percorso in cui ho puntato le frecce su:, /desktop/gnome/background/è un valore di stringa e utilizza picture_filenamecome opzione. Il valore che detiene attualmente sul mio desktop è /discworld2/Downloads/fantasticwall_2.jpg. Lo sfondo stesso dovrebbe essere copiato /usr/share/backgrounds/. Assicurati di impostare autorizzazioni e proprietario.

    Esempi:

    • Per cambiare lo sfondo (cambiare il nome del file nel 1 ° comando per la tua immagine) in questa immagine e per cambiare il tema in Radiance puoi usare queste informazioni per creare comandi per impostare questo per il tuo live cd:

      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
      

      Per gentile concessione di dv3500ea

    • Abilita desktop remoto:

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

      Le impostazioni per icone, pannelli, ecc. Sono tutte fatte aggiungendo un comando come questo.

    • In alternativa puoi modificare /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(o quando sei inattivo, salva questo file per un utilizzo futuro). Tutte le impostazioni di configurazione eseguite tramite gconftool-2 sono memorizzate in questo file.

  • Modifica il fuso orario predefinito utilizzato dal cd live

    dpkg-reconfigure tzdata
    
  • Cambia le impostazioni locali in inglese (ovviamente modificalo come desideri)

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Configura i file di configurazione.

    Se si desidera disporre di un file di configurazione personalizzato per un determinato pacchetto, è possibile farlo in diversi modi.

    Il modo difficile (ma più logico) sarebbe quello di trovare il pacchetto, modificare il file di configurazione e riconfezionarlo o trovare i file di origine, capire dove archiviano il loro file di configurazione fittizio e modificarlo e quindi ricostruire il pacchetto.

    • Ovviamente questo funziona solo se il file di configurazione predefinito è incluso nel pacchetto sorgente. Molti pacchetti generano automaticamente i loro file di configurazione nello script .postinst {nomepacchetto} in modo da rendere piuttosto difficile farlo.

      Il modo più semplice sarebbe quello di creare uno script e copiare la tua configurazione attuale in /etc/skelmodo che vengano aggiunti al tuo desktop (simile all'aggiunta di scorciatoie di Firefox come spiegato sopra) e dopo l'installazione fai clic sul collegamento del desktop per impostare il file di configurazione nel luogo che deve essere. Lo script può eseguire sia la copia che la rimozione dello script e del file di configurazione dal desktop dopo averlo installato correttamente. Questo metodo può essere usato per aggiornare la configurazione di Samba (inserisci la tua configurazione attuale /etc/skel/. Inserisci uno script che ha permessi di esecuzione e contiene una mossa di detta configurazione /etc/samba/smbd.confe tutto ciò che devi fare è eseguire lo script).

    • Fondamentalmente funziona sempre poiché sostituisce un'azione manuale post-installazione con uno script post-installazione attivato manualmente. Ma significa anche che non fa parte del cd live personalizzato.

3. Pulizia

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

Questo rimuove tutti i file temporanei; non quello che abbiamo creato. ~/livecd/è di sola lettura quindi un normale rmnon rimuoverà questi file. Devi montarlo con accesso in scrittura (o come ho usato il nuovo live cd per avviare e montare la home e rmda lì.

4. Impostazione dell'ISO

  • File manifest.

    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
    
  • Rigenera il file squashfs.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Aggiorna somme md5.

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

5. Creazione dell'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. Smonta e pulisci

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

7. Commenti:

  • Tutto è stato testato con un Live CD di Ubuntu 11.04. L'unica cosa che è andata storta è stato il chrooting: ho aggiunto dchroot ai file che devi installare per farlo.

  • Per quanto riguarda "dovrebbe creare alcune scorciatoie di Firefox sul desktop", "Dovrebbe cambiare il tema predefinito in radianza" e "Dovrebbe cambiare lo sfondo di Ubuntu predefinito". Li ho modificati dopo che dv3500ea li ha inseriti nei commenti; Non ho provato questo durante la creazione del live cd 11.04.


Aggiornerà apt-get update && apt-get dist-upgradeanche il kernel / initrd usato sul Live CD? Intendo il kernel per il processo di avvio dal supporto live, caricato da Syslinux, non quello installato.
gertvdijk,

apt-get dist-upgradefunziona senza difetti, ad eccezione di alcuni warning: could not determine root device from /etc/fstabmessaggi. Dovrebbe diventare un problema?
Sopalajo de Arrierez,

No. Ma per essere sicuro dai un'occhiata al tuo e vedi come / è montato.
Rinzwind

1
Secondo help.ubuntu.com nella versione 12.04 e 14.04 /etc/resolv.confnon è possibile rimuoverlo come parte della pulizia
souravc

1
Questo metodo funziona ancora: testato con Kubuntu 18.04.2. nota: che potevo solo rendere avviabile .ISO usando unetbootin (etcher non funzionava). Nessun problema durante l'avvio durante la masterizzazione di .ISO su un DVD.
Nmath

23

Creazione di un CD live da un'installazione esistente / nuova

EDIT: questo metodo sembra non funzionare più. Ti suggerisco di provare altri metodi suggeriti in questo QA.

Un buon modo sarebbe quello di creare un CD live da un'installazione corrente. Questo può essere fatto usando una macchina virtuale (basta non installare alcun tool VM nel SO guest)

Quindi, per prima cosa abbiamo bisogno di una nuova installazione (se non puoi installarla per davvero, prova a usare una macchina virtuale) con solo le cose di cui hai bisogno (nel tuo caso thunderbird, samba e ssh). Quindi modifichiamo il sistema e registriamo dove sono le modifiche (ad es. Cambiate lo sfondo del desktop, le impostazioni sono in ~ / .gconf o aggiungete i collegamenti di Firefox, si trovano in ~ / Desktop). Questo è necessario per il passaggio 4.

  1. Imposta alcune variabili:

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

    Sostituisci ~ / temp con un percorso a una directory temporanea in cui lavoreremo. Sostituisci ~ / livecd con un percorso all'albero del CD.

  2. Crea la struttura delle cartelle. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Ora dovremo installare alcuni pacchetti:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Ora copieremo l'installazione corrente, modificheremo i flag di esclusione per adattarli alle tue esigenze:

    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 hai una partizione di avvio separata, esegui questa operazione: sudo cp -av /boot/* ${WORK}/rootfs/boot
    nel tuo caso, vuoi copiare le impostazioni e alcuni file dalla home directory. Per prima cosa, definisci quali directory vogliamo copiare: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' E ora copiamo che:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Ora entriamo nel nuovo sistema e lo modifichiamo.

    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
    

    I seguenti comandi vengono eseguiti in chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contiene script dal vivo. Se vuoi anche un programma di installazione, esegui questo:

    apt-get install ubiquity ubiquity-frontend-gtk
    

    O se vuoi KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Aggiorna moduli.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Rimuovi utenti non di sistema - non preoccuparti, abbiamo copiato le impostazioni e i dati nello "scheletro" degli utenti. Ciò significa che tutti i nuovi utenti li avranno.

    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. Pulire:

    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. Esci da chroot. exit

  10. Ora copiamo il 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 hai installato il programma di installazione, dovrai farlo, in modo che il programma di installazione non installi cose come 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. Smonta ciò che abbiamo montato:

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

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Crea 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. Ora grub.cfg:

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

    (sostituisci nano con il tuo editor di testo preferito, non importa) Incolla questo e salva:

    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 lo desideri, puoi aggiungere un'ulteriore voce di menu, che ti consente di saltare direttamente a Ubiquity.

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

  19. Provalo usando una macchina virtuale!

Tutto il merito va al capink, perché la guida è da qui .


Ho una domanda su grub.cfg. Questo file grub.cfg viene utilizzato solo durante l'installazione o è persistente anche per il sistema installato. Cosa succede se non modifico grub.cfg?
Roshan George,

@RoshanGeorge Questo configura GRUB sul CD. Non dovrebbe persistere dopo l'installazione.
nickguletskii,

Possiamo semplicemente avere l'installazione come com'è per Ubuntu normalmente, ovvero mostrare l'installatore ubiquità, piuttosto che mostrare grub? Significa, nell'installazione di Ubuntu, quando inseriamo ed eseguiamo il cd, viene mostrata l'ubiquità piuttosto che il menu di grub, possiamo fare così?
Roshan George,

@RoshanGeorge Dovrebbe essere possibile aggiungendo una voce di menu con linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Proverò e verificherò.
nickguletskii,

@RoshanGeorge Ho aggiunto con successo un'opzione per avviare Ubiquity dal menu di avvio. Tuttavia, devo correggere la guida: mancano alcuni passaggi di ubiquità. Tenterò di ripararlo domani.
nickguletskii,

15

Puoi usare ucko live-magicper personalizzare il tuo Live CD.

uckè disponibile dalle fonti software ufficiali di Ubuntu, in tutte le versioni di Ubuntu dal 10.04 LTS Lucid Lynx. È possibile installare uckdal Software Center, con apt-getdalla riga di comando o facendo clic qui Installa .


1
sembra che UCK sia stato sospeso :(
amc

Ubuntu Builder è stato sospeso nel 2014; Ubuntu Customization Kit si installa ma non funziona ed è stato sospeso nel 2015; System Imager è stato interrotto nel 2016. Questa risposta deve davvero essere aggiornata. Esiste un metodo supportato ufficialmente nel 2019?
allquixotic

@allquixotic uck è nel repository dell'universo 18.04. Questa versione non funziona?
mchid

10

Kit di personalizzazione di Ubuntu

È una raccolta di script che semplifica la creazione di un LiveCD personalizzato da un'immagine .iso esistente. È molto simile a Remastersys, con la differenza che è attivamente mantenuto. Ha una GUI per aiutare con la personalizzazione, ma si può anche usare la riga di comando per fare lo stesso.

  1. Chiederà di selezionare quali language pack includere nel CD.
  2. Quindi, verrà richiesto di selezionare il file di immagine .iso, che verrà utilizzato come base per il nuovo CD.
  3. Assegna un nome per la nuova immagine .iso che verrà creata.
  4. Quindi, chiederà i pacchetti che devono essere aggiunti / rimossi al / dal LiveCD. Ti darà un'opzione tra la riga di comando e la GUI predefinita (Ubuntu Software Center). Nota: selezionare la riga di comando. Dalla riga di comando, è possibile aggiungere / rimuovere pacchetti utilizzando apt-get o utilizzando Ubuntu Software Center (digitare software-center dalla riga di comando). Puoi anche modificare le impostazioni di configurazione per tutti i software / app.
  5. Al termine (potrebbe essere necessario del tempo per scaricare i pacchetti richiesti), continua.
  6. Ora, siediti e rilassati. Dopo qualche tempo, il tuo LiveCD personalizzato sarà pronto.

2
sembra che il progetto UCK sia stato sospeso :(
amc

5

Se è necessario un maggiore controllo su quali modifiche vengono apportate, è possibile apportare manualmente la modifica.

Il processo si compone di disimballare la SquashFS file di dati che contiene il filesystem root dal vivo del sistema operativo, il chroot nel filesystem estratto, rendendo le modifiche, uscire dal chroot, reimballaggio il file SquashFS, e quindi rigenerare l'immagine ISO.

I dettagli completi sono descritti nella pagina LiveCDCustomization della wiki di Ubuntu.


5

Nel Ubuntu Software Center

Modifica> Fonti software> Altro software> Aggiungi ..

Incolla la seguente riga nella casella e fai clic su Aggiungi sorgente.

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

Ricarica i sorgenti e installa Remastersys da Software Center.

Una volta fatto, installa tutti i codec multimediali e le app che desideri sul tuo Ubuntu personalizzato. Avvia remastersys da

Sistema>> Adminstration Remastersys

Seleziona la modalità dist , fai clic su OK e attendi il completamento del processo. Una volta fatto, troverai il tuo iso personalizzato in

/home/remastersys/remastersys/custom.iso


Ho seguito esattamente le stesse procedure che hai descritto qui, ma sfortunatamente durante l'avvio mostra "non è stato possibile trovare l'immagine ramdisk: / ubninit" e viene aggiornato ripetutamente con intervalli di 10 secondi. Risultato: non riesco ad avviare il mio ISO personalizzato. Potresti dirmi come posso risolvere questo? Per favore.
tuxtu,

3

Remastersys potrebbe essere la risposta alle tue esigenze. Devi andare su http://www.remastersys.com/ubuntu.html e seguire le istruzioni. Questo programma crea un iso dal tuo sistema operativo in esecuzione, comprese tutte le impostazioni e le app. Quindi puoi masterizzare un CD usando questo iso. Sfortunatamente, in passato c'era un problema per farlo funzionare come un cd live, mentre l'installazione non era un problema (non so se questo è ancora un problema).


1
o UCK che utilizza la GUI ed è meno difficile
Uri Herrera,

Remastersys è morto. Ora questo sito è di proprietà di uno squatter di dominio.
allquixotic

1

Non esiste una "GUI" che conosco al di fuori di Lucid, tuttavia gNewsense , che è un fork di Ubuntu, rende i loro script per prendere una versione di Ubuntu e rendere un fork personalizzato liberamente disponibile e piuttosto ben documentato.

Fondamentalmente è un processo di:

  1. Posiziona la tua grafica personalizzata dove gli script possono trovarla
  2. Decidere cosa vuoi nel tuo kernel (o cosa non vuoi)
  3. Decidere quali pacchetti vuoi (o cosa non vuoi)
  4. Esecuzione di uno script che rispecchia un repository apt
  5. Creazione del CD / ISO di distribuzione.

Sebbene non siano esattamente "adatti ai principianti", i loro strumenti sono relativamente facili da usare.


1

Ho armeggiato con un nuovo servizio basato sul web chiamato Reconstructor . Secondo il loro sito Web,

Reconstructor è un toolkit per la creazione di versioni personalizzate del sistema operativo GNU / Linux, in particolare Debian e Ubuntu.

Secondo un articolo del Linux Journal su Reconstructor , addebitano piccole commissioni per le personalizzazioni. Se ne vale la pena dipende dalle tue esigenze.


il link è morto e il dominio reindirizza a un sito potenzialmente dannoso!
amc

1

Ti consiglierei di provare Reconstructor

"Reconstructor è un creatore di CD GNU / Linux di Ubuntu che ti consente di modificare una distribuzione Ubuntu esistente e salvarla come tua distribuzione Linux. Utilizza come base il disco Desktop (Live), Alternate (Installa) o Server per la personalizzazione dell'utente. Fondamentalmente puoi personalizzare l'intero ambiente, come aggiungere / rimuovere software, cambiare l'aspetto predefinito (splash, temi, caratteri, sfondo, ecc.), aggiungere collegamenti desktop, ecc. "

Inoltre per maggiori informazioni leggi questi link: 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


Ma questi strumenti non mi permettono di rinominare la mia distribuzione, mi permetteranno solo di creare immagini e aggiungere pacchetti, o almeno questo è quello che so.
user51447

il link del ricostruttore è morto e il reindirizzamento del dominio verso un sito potenzialmente dannoso!
amc

1

Puoi anche usare JLIVECD per personalizzare un'immagine ISO. È uno strumento da riga di comando per personalizzare le distribuzioni basate su Ubuntu e Ubuntu. Ti dà il controllo completo sulle cose che richiedono personalizzazione ma devi sapere cosa devi fare, cioè prepara solo l'ambiente chroot per te (il resto dipende da te) e crea l'ISO finale. Puoi continuare ad aggiungere nuove modifiche alle modifiche esistenti e controllare gli ISO basati su di esse.


1

Puoi usare Cubic : questa utility è stata testata (da me) e funziona sull'host Ubuntu 18.04 con un'immagine Ubuntu 18.04, che è più di quanto si possa dire per la maggior parte degli altri strumenti che non funzionano o sono fuori produzione.

Ecco una guida per usarlo dal sito web Linoxide .

I passaggi approssimativi prevedono:

  • Assicurati di utilizzare una versione supportata di Ubuntu (ho provato il 18.04; funziona)
  • Installa la chiave GPG per Cubic PPA
  • Aggiungi il PPA cubico alle tue fonti
  • Installa lo strumento cubico
  • Eseguilo e segui le istruzioni della GUI

Inoltre, vedi questa risposta askubuntu.com/a/741770/100356 per istruzioni.
PJ Singh,

0

Scarica http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download seguire le istruzioni e quando viene richiesto di eseguire il gestore pacchetti, un'applicazione console o continuare a impacchettare, selezionare Applicazione console.

Adesso puoi correre

nautilo

unity-2d-launcher

unity-2d-panel

e fai tutto.

Se il problema persiste, provare a eseguire il gestore pacchetti, quindi riprovare con la console.

Spero che sia di aiuto.


Ubuntu Customization Kit (UCK) è stato sospeso
amc

0

È possibile modificare il /etc/hostsfile predefinito (così come alcuni altri file predefiniti) modificando/usr/share/ubiquity/plugininstall.py

Ho pensato che sarebbe stato utile condividere perché avevo bisogno di sapere come farlo.


In realtà dopo un'ulteriore revisione sembra che il /etc/hostsfile che viene installato non sia generato dal plugininstall.pymodulo di ubiquità . Se si desidera modificare il /etc/hostsfile predefinito , sarà probabilmente necessario creare uno script che verrà eseguito una volta dopo il primo avvio ed eliminare o rinominare se stesso. A meno che non si ricompili il modulo netcfg - che non è raccomandato.
SW_user2953243
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.