Jak dostosować Live CD Ubuntu?


205

Chciałbym dostosować Live CD Ubuntu, instalując dodatkowe pakiety. Śledziłem to, ale wydaje się, że to nie działa. Czy ktoś może podać jasne instrukcje?

Uwaga : Nie preferuję Remastersys, sposób ręczny zostanie doceniony.

Dostosowywanie

Pakiety, które chcę zainstalować:

  • Thunderbird
  • Samba
  • SSH

Potrzebne mi zmiany:

  • Usuń menu Gry z menu Aplikacja
  • Skrót Firefox na pulpicie
  • Promieniowanie jako domyślny motyw
  • Różne domyślne tapety Ubuntu

Zmiany w pliku konfiguracyjnym

  • Chcę, aby panel został umieszczony na dole
  • Chcę wkleić plik konfiguracyjny Samby zamiast domyślnej konfiguracji Samby
  • Mam kilka skrótów i folderów Firefoksa, które chciałbym pokazać na pulpicie
  • Będzie miło, jeśli powiesz mi, jak zmienić zestawy ikon

Ostatnie aktualizacje

  • Dostosowałem Ubuntu 10.10 za pomocą skrótów Firefoksa i kilku folderów na komputerach. Wszystko poszło gładko. Ale instalator ulega awarii po wybraniu strefy czasowej. Jak rozwiązać ten problem?

  • Ustawienie tapety wpływa również na ekran logowania. Ustawiona przeze mnie tapeta jest również wyświetlana na ekranie logowania. Chcę tylko domyślny ekran logowania.


Chcesz aktualizacji do 12.04 z Unity, czy wolisz Gnome-Shell / Classic?
ish

2
Dodano odpowiedź, ogólnie łatwiejsza metoda za pomocą Ubuntu Builder :) Daj mi znać wszelkie uwagi itp. W komentarzach.
ish

1
@mniess „Jak zremasterowałbyś 14.04 lub nowszy?” wersja ręczna opublikowana przez izx i ja jest nadal ważna do skonfigurowania systemu root do edycji. Nowa odpowiedź w dużej mierze zależy od tego, co rozumiesz przez „podane ostatnie zmiany”. Każda zmiana będzie miała określone podejście (edycja dconf lub edycja pliku conf), a wszystko to jest już uwzględnione w bieżących odpowiedziach. Jedyne, czym nie jest, to „kopiuj / wklej”; te nowe zmiany wymagają od kogoś myślenia poza tym, co jest napisane. ALE uważam, że odpowiedź również tego wymaga.
Rinzwind,

1
Po drugie: askubuntu.com/questions/409607/... to nowsza wersja wykorzystująca serwer ISO i plik kickstart. Działa również na komputerach biurkowych ISO.
Rinzwind

Uwaga dotycząca dostosowywania programów motywów itp. Najprawdopodobniej należy wykonać odpowiednie pakiety , a nie zainstalowane pliki. Wówczas ustawienie nowszego numeru wersji oznacza, że ​​twoje zmiany nie powinny być nadpisywane przez aktualizacje (choć prawdopodobnie będziesz chciał / trzeba aktualizować te pakiety co jakiś czas, aby dostosować się do nowszych wersji)
Wilf

Odpowiedzi:


116

Uwaga: projekt Ubuntu Builder zostało przerwane .

Tworzenie niestandardowej płyty CD 12.04 za pomocą Gnome-Classic za pomocą Ubuntu-Builder

(na razie jest to specyficzne dla potrzeb Karthika; później zaktualizuję odpowiedź bardziej ogólnymi / specyficznymi dla Jedności rzeczami)

1. Pobierz Ubuntu Builder i źródłowe ISO

Ubuntu Builder automatyzuje wiele wstępnych kroków, które musiały zostać wykonane ręcznie (podłącz ISO, wyodrębnij squashfs, utwórz chroot itp.) Daje ci także Synaptic i „graficzny” chroot (Unity UI).

Dodaj PPA, aby zainstalować Ubuntu Builder:

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

Pobierz także system Ubuntu Desktop ISO, z którym planujesz pracować.

2. Podstawy Ubuntu Builder

  • Uruchom Ubuntu Builder z Launchera. Zalecam ustawienie wszystkich trzech pól na „Ubuntu” (podobnie jak rzeczywisty LiveCD), ponieważ ustawienie niestandardowych pól doprowadziło do awarii oprogramowania. Podczas instalacji możesz jak zawsze wybrać własną nazwę użytkownika, nazwę komputera itp.

    wprowadź opis zdjęcia tutaj

  • Załaduj ISO; Załadowałem 64-bit z opcją Dysk lokalny , chociaż Ubuntu Builder powinien móc pobrać ISO, jeśli chcesz.

  • Przyciski po prawej stronie są zrozumiałe. Consoledaje chroot CLI, a Desktopdaje graficzny! , tj. sama sesja LiveCD (wczytanie może zająć trochę czasu). Zauważ, że Select DE/WMczasami wykonuje niepełne zadanie, więc lepiej zainstalować przez apt-get / Synaptic.

3. Aktualizacja, dodanie Gnome Classic i inne zarządzanie pakietami

Uwaga: Wszystko to można również zrobić z Synaptic, jeśli czujesz się z tym lepiej.

  • Możesz edytować za sources.listpomocą przycisku (lub za pośrednictwem konsoli), aby dodać własne kopie lustrzane, ppas itp.

Zacznijmy:

  • Usuń gry
    apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y
  • Wykonaj ogólną aktualizację i aktualizację do najnowszej wersji (opcjonalnie, ale zalecane, ponieważ Gnome-classic i inne dodane pakiety będą najnowszymi wersjami) - w dniu 12.04 ten krok instaluje również Thunderbirda i podstawowe komponenty Samby. Zaoszczędzi to również czas na faktycznej instalacji.
    apt-get update && apt-get dist-upgrade
  • Zainstaluj Gnome Classic ( gnome-shellaby pobrać wskaźniki itp.), Samba i SSH:
    apt-get install gnome-shell samba ssh

4. Dostosowanie 1: Pliki, konfiguracje i usunięcie panelu górnego

Uwaga: Wszystkie polecenia muszą być uruchamiane z chrootowanej konsoli Ubuntu Builder, chyba że zaznaczono inaczej (zwykle podczas kopiowania plików z własnego systemu). Bezwzględna ścieżka chroot to/home/ubuntu-builder/FileSystem

  1. Zastąp plik konfiguracyjny Samby (z własnego terminala systemowego, tj. Poza chroot!)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Umieść skrót Firefox na pulpicie:

    mkdir -p / etc / skel / Desktop && cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Skopiuj niestandardowe skróty i foldery na pulpit (z zewnątrz chroot!)

    sudo cp -r / path / to / mydesktopitems / / home / ubuntu-builder / FileSystem / etc / skel / Desktop /
  4. Ustaw gnome-classicjako domyślną powłokę:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Usuń górny panel Gnome-Classic i przenieś górne elementy na dolny panel:

    • Otwórz domyślny układ panelu:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Usuń górny panel, usuwając linie 1-4:
      [Panel górny najwyższego poziomu]
      rozwiń = prawda
      orientacja = góra
      rozmiar = 24
      
    • Przenieś menu Start w lewym dolnym rogu, modyfikując pogrubioną wartość parametru kursywą , jak poniżej:
      [Pasek menu obiektu]
      object-iid = PanelInternalFactory :: MenuBar
      toplevel-id = dolny panel
      indeks paczki = 0
      
    • Przesuń wskaźniki w prawy dolny róg, na lewo od przełącznika obszaru roboczego, modyfikując pogrubioną wartość parametrów kursywą , jak poniżej:

      [Wskaźniki obiektowe]
      object-iid = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = dolny panel
      pack-type = end
      indeks paczki = 1
      
    • Usuń przycisk „Pokaż pulpit” w lewym dolnym rogu; Wolę, aby menu Start było tam pierwszą rzeczą, możesz je zostawić lub przenieść w prawy dolny róg itp. Usuń następujące wiersze:

      [Object show-desktop]
      object-iid = WnckletFactory :: ShowDesktopApplet
      toplevel-id = dolny panel
      indeks paczki = 0
      
    • Zapisz i wyjdź.

5. Dostosowanie 2: Tła i motywy

Uwaga: /usr/share/glib-2.0/schemaszawiera większość domyślnych ustawień tła / motywu; Odkryłem, że łatwiej jest bezpośrednio modyfikować je dla LiveCD, zamiast zajmować się skomplikowanymi rzeczami, aby na przykład zapobiec temu, aby tło ekranu logowania było takie samo jak tło pulpitu.

  1. Wyłącz ekran logowania (lightdm) od „kopiowania” tła pulpitu i innych zmian:

    • otwarty nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Tutaj możesz zmienić domyślne tło logowania, jeśli chcesz:
      <key name = " background " type = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </default>
      
    • Wyłącz „kopiowanie” tła pulpitu, ustawiając to na false:
      <key name = " draw-user-backgrounds " type = "b">
      <default> false </default>
      
    • Ustaw motyw logowania na Radiance:
        <key name = " theme-name " type = "s">
      <default> „Promieniowanie” </default>
      
  2. Zmień domyślną tapetę; tutaj ustawimy na dołączoną „Tie My Boat” ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Otwórz nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overridei zmień poniższy wiersz na ścieżkę do pliku:
    picture-uri = 'file: ///usr/share/backgrounds/warty-final-ubuntu.png'
    
  3. Zmień motyw na Promieniowanie

    • Otwórz plik zastępowania motywów Ubuntu `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override` i zmień Ambiance poniżej na Radiance :
      [org.gnome.desktop.interface]
      gtk-theme = " Ambiance "
      ...
      [org.gnome.desktop.wm.preferences]
      theme = „ Ambiance
  4. Ważne: skompiluj zmodyfikowane schematy!

    • Po zakończeniu dostosowywania skompiluj zmodyfikowane schematy za pomocą:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. Zbuduj, przetestuj i zainstaluj!

  • Naciśnij Buildprzycisk w Ubuntu Builder, aby rozpocząć tworzenie niestandardowego ISO Live-CD. UB automatycznie obsługuje czyszczenie itp., Które wcześniej musiały zostać wykonane ręcznie.

    wprowadź opis zdjęcia tutaj

  • ISO można znaleźć w /home/ubuntu-builder; możesz to przetestować za pomocą wbudowanego QEMU lub na innej maszynie wirtualnej.

  • Mój ukończony rozmiar CD wynosił 778 MB (po usunięciu starego .23jądra), a Unity i Gnome 3D są nadal dostępne, jeśli użytkownik tego chce, więc to całkiem nieźle jak na personalizację! :)

Powinno to spowodować:

  1. Po uruchomieniu pojawi się opcja „Wypróbuj Ubuntu” lub „Zainstaluj Ubuntu”:

    wprowadź opis zdjęcia tutaj

  2. Kliknięcie przycisku „Wypróbuj” powoduje wyświetlenie niestandardowego pulpitu!

    wprowadź opis zdjęcia tutaj

  3. Wylogowanie (logowanie przy użyciu ubuntupustego hasła) pokazuje, że tapeta logowania jest domyślnie zachowana:

    wprowadź opis zdjęcia tutaj

  4. Instalator nie ulega awarii po wybraniu strefy czasowej:

    wprowadź opis zdjęcia tutaj

  5. Wybierz nazwę użytkownika itp. Do instalacji:

    wprowadź opis zdjęcia tutaj

  6. Zainstalowany ekran logowania:

    wprowadź opis zdjęcia tutaj

  7. Zainstalowany pulpit:

    wprowadź opis zdjęcia tutaj


1
Jak zaktualizować / zainstalować pakiet, który wymaga ponownego uruchomienia systemu (na przykład jądro lub dbus)? Kiedy próbuję zaktualizować, instaluje się; ale w trybie GUI wskaźnik sesji zmienia kolor na czerwony i mówi restart to complete the update.
Khurshid Alam

Jak zastąpić kompozycję Ubuntu moją własną grafiką?
Roshan George

Ten nie działa. Nie wiem dlaczego. Nie jestem pewien, czy zdarzy mi się to sam. Kiedy uruchamiam go w wirtualnym pudełku, pokazuje popu z informacją, że „/casper/vmlinuz.efi: nie znaleziono pliku”. Jak to naprawić? s24.postimg.org/jbez8svx1/Untitled.png
Roshan George

@izx Czy możesz mi powiedzieć, jak ustawić katalog roboczy dla Ubuntu-Builder? Tworzy katalog w / home / ubuntu-builder. Uruchamiam go z dostępem do roota.
shantanu

5
Ten projekt został przerwany. PPA nie działa, a strona internetowa nie zawiera linków do pobrania. Sugeruję dodanie tej informacji na początku twojej odpowiedzi, aby pomóc innym przybywającym tutaj nie marnować czasu.
Sopalajo de Arrierez

115

Tworzenie własnej niestandardowej płyty CD na żywo - sposób ręczny.

1. Przygotowania

  • Najpierw pobierz Live CD ISO . Podczas pobierania zainstaluj oprogramowanie potrzebne do odbudowania:sudo apt-get install squashfs-tools schroot

    Squashfs Zainstaluj narzędzia squashfs to skompresowany system plików tylko do odczytu dla systemu Linux.

    schroot Zainstaluj schroot pozwala użytkownikom na wykonywanie poleceń lub interaktywnych powłok w różnych chrootach.

  • Zamontuj dysk Live CD:

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

    Jeśli używasz innego ISO lub innej lokalizacji do pobrania, dostosuj odpowiednio.

  • Utwórz obszar roboczy i skopiuj zawartość do obszaru roboczego:

    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
    
  • Jeśli podczas wykonywania modprobe pojawi się taki błąd:

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

    przenieś plik modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLDi spróbuj ponownie!

  • Dostęp do sieci:

    sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
    
  • Utwórz pseudo system plików:

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

2. Dostosowywanie

  • Możesz uzyskać listę wszystkich pakietów za pomocą dpkg-query -W --showformat='${Package}\n' | less

  • Możesz usuwać gry za pomocą apt-get remove --purge gnome-games

  • Zaktualizuj swoje źródła za pomocą sudoedit /etc/apt/sources.list. Skomentuj wiersze, których nie chcesz i odkomentuj te, których chcesz, dodaj PPA, jeśli chcesz, a następnie musisz zaktualizować za pomocąapt-get update && apt-get dist-upgrade

  • Dodawanie pakietów takich jak thunderbird, Samba, konfiguracja systemu Samba i SSH odbywa się w taki sam sposób, jak zwykle instalowane z wiersza poleceń. Więc sudo apt-get install thunderbird samba system-config-samba sshdodam te.

  • Jeśli pakiet został pobrany ręcznie, możesz go zainstalować za pomocą sudo dpkg -i {file_name}.deb

    • Możesz sprawdzić Centrum Oprogramowania Ubuntu, Synaptic lub stronę internetową pakietów pod kątem nazw, jeśli trzeba zainstalować więcej.
    • Możesz rozważyć dodanie (sieciowych) narzędzi sieciowych.
    • Szybko pobierzesz ponad 800 Mb; jeśli to zrobisz, usuniesz więcej pakietów, aby uzyskać mniej niż 800, lub musisz użyć dysku DVD podczas nagrywania. Usunięcie darmowego pakietu Office zwolni Ci 33+ Mb, jeśli nie będziesz go potrzebować.
  • Aby utworzyć skrót AskUbuntu na pulpicie:

    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
    

    Możesz dodać więcej z nich (pomiń część mkdir), edytując adres URL do czegoś innego. Dzięki uprzejmości dv3500ea

  • Zmiana ustawień w edytorze gconf.

    Możesz zmienić dowolną opcję gconf, jeśli wiesz, jaka jest ścieżka tej opcji i jaką chcesz mieć wartość (oraz rodzaj wartości oczywiście).

    wprowadź opis zdjęcia tutaj

    Zmiana tapety odbywa się za pomocą ścieżki, którą wskazałem strzałkami: /desktop/gnome/background/jest to wartość ciągu i służy ona picture_filenamejako opcja. Wartość, którą obecnie posiada na moim pulpicie to /discworld2/Downloads/fantasticwall_2.jpg. Samo tło powinno zostać skopiowane /usr/share/backgrounds/. Pamiętaj, aby ustawić uprawnienia i właściciela.

    Przykłady:

    • Aby zmienić tapetę (zmień nazwę pliku w pierwszym poleceniu na własny obraz) na ten obraz i zmień motyw na Promieniowanie, możesz użyć tych informacji, aby utworzyć polecenia, aby ustawić to dla swojej płyty CD na żywo:

      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
      

      Dzięki uprzejmości dv3500ea

    • Włącz pulpit zdalny:

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

      Ustawienia ikon, paneli itp. Są wykonywane przez dodanie takiego polecenia.

    • Możesz także edytować /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(lub gdy nie działasz, zapisz ten plik do wykorzystania w przyszłości). Wszystkie ustawienia konfiguracji wykonane przez gconftool-2 są zapisane w tym pliku.

  • Zmień domyślną strefę czasową używaną przez CD na żywo

    dpkg-reconfigure tzdata
    
  • Zmień ustawienie regionalne na angielski (oczywiście zmień je na to, czego chcesz)

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Skonfiguruj pliki konfiguracyjne.

    Jeśli chcesz mieć niestandardowy plik konfiguracyjny dla określonego pakietu, możesz to zrobić na kilka sposobów.

    Najtrudniejszym (ale najbardziej logicznym) sposobem byłoby albo znalezienie pakietu, zmiana pliku konfiguracyjnego i przepakowanie go, albo znalezienie plików źródłowych, ustalenie, gdzie przechowują atrapę pliku konfiguracyjnego i zmiana tego, a następnie przebudowanie pakietu.

    • Oczywiście działa to tylko wtedy, gdy domyślny plik konfiguracyjny znajduje się w pakiecie źródłowym. Wiele pakietów automatycznie generuje swoje pliki konfiguracyjne w skrypcie {postagename} .postinst, co utrudniłoby wykonanie tego.

      Najłatwiejszym sposobem byłoby utworzenie skryptu i skopiowanie bieżącej konfiguracji, aby /etc/skelzostały dodane do pulpitu (podobnie jak dodawanie skrótów Firefox, jak wyjaśniono powyżej), a po zainstalowaniu kliknij link na pulpicie, aby ustawić plik konfiguracji w miejscu, w którym powinien być. Skrypt może zarówno kopiować, jak i usuwać zarówno skrypt, jak i plik konfiguracyjny z pulpitu po pomyślnym zainstalowaniu. Tej metody można użyć do zaktualizowania konfiguracji Samby (wprowadź swoją bieżącą konfigurację /etc/skel/. Umieść tam skrypt, który ma uprawnienia do wykonywania i zawiera przeniesienie wspomnianej konfiguracji do, /etc/samba/smbd.confa wszystko, co musisz zrobić, to wykonać skrypt).

    • Zasadniczo zawsze działa, ponieważ zastępuje akcję ręczną po instalacji ręcznym skryptem aktywowanym po instalacji. Ale oznacza to również, że nie jest częścią niestandardowej płyty CD na żywo.

3. Sprzątanie

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

Spowoduje to usunięcie wszystkich plików tymczasowych; nie to, co stworzyliśmy. ~/livecd/jest tylko do odczytu, więc normalny rmnie usunie tych plików. Musisz zamontować go z dostępem do zapisu (lub tak jak ja użyłem nowej płyty CD na żywo, aby uruchomić i zamontować dom i rmstamtąd.

4. Konfigurowanie ISO

  • Pliki manifestu.

    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
    
  • Ponownie wygeneruj plik squashfs.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Zaktualizuj sumy md5.

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

5. Tworzenie 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. Odmontuj i wyczyść

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

7. Komentarze:

  • Wszystko zostało przetestowane na Live CD Ubuntu 11.04. Jedyne, co poszło nie tak, to chrootowanie: dodałem dchroot do plików, które musisz zainstalować, aby to zrobić.

  • Jeśli chodzi o „należy utworzyć skróty do Firefoxa na pulpicie”, „Powinny zmienić domyślny motyw na promienny” i „Powinny zmienić domyślną tapetę ubuntu”. Zredagowałem je po tym, jak dv3500ea umieścił je w komentarzach; Nie testowałem tego podczas tworzenia Live CD 11.04.


Czy apt-get update && apt-get dist-upgradezaktualizuje również jądro / initrd użyte na Live CD? Mam na myśli jądro procesu rozruchu z nośnika na żywo, załadowanego przez Syslinux, a nie tego zainstalowanego.
gertvdijk

apt-get dist-upgradedziała bez wad, z wyjątkiem niektórych warning: could not determine root device from /etc/fstabwiadomości. Czy to ma stać się problemem?
Sopalajo de Arrierez

Nie. Ale dla pewności spójrz na swoje i zobacz, jak / jest zamontowany.
Rinzwind

1
Według help.ubuntu.com w 12.04 i 14.04 /etc/resolv.confnie można ich usunąć w ramach czyszczenia
souravc

1
Ta metoda nadal działa: Testowane z Kubuntu 18.04.2. Uwaga: mogłem tylko uruchomić .ISO za pomocą unetbootin (etcher nie działał). Brak problemów z uruchomieniem podczas nagrywania .ISO na DVD.
Nmath

23

Tworzenie Live CD z istniejącej / nowej instalacji

EDYCJA: Ta metoda wydaje się już nie działać. Sugeruję wypróbowanie innych metod sugerowanych w tej kontroli jakości.

Dobrym sposobem byłoby zrobienie płyty CD na żywo z bieżącej instalacji. Można to zrobić za pomocą maszyny wirtualnej (po prostu nie instaluj żadnych narzędzi VM w systemie-gościu)

Najpierw potrzebujemy świeżej instalacji (jeśli nie możesz jej zainstalować naprawdę, spróbuj użyć maszyny wirtualnej) z tylko potrzebnymi rzeczami (w twoim przypadku thunderbird, samba i ssh). Następnie dostosowujemy system i zapisujemy, gdzie są poprawki (np. Zmieniasz tło pulpitu, ustawienia są w ~ / .gconf lub dodajesz skróty firefox, znajdują się w ~ / Desktop). Jest to potrzebne do kroku 4.

  1. Ustaw niektóre zmienne:

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

    Zamień ~ / temp ścieżką do katalogu tymczasowego, w którym będziemy pracować. Zastąp ~ / livecd ścieżką do drzewa CD.

  2. Utwórz strukturę folderów. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Teraz będziemy musieli zainstalować kilka pakietów:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Teraz skopiujemy bieżącą instalację, zmodyfikujemy flagi wykluczenia, aby dopasować do twoich potrzeb:

    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
    

    Jeśli masz osobną partycję rozruchową, wykonaj następujące czynności: sudo cp -av /boot/* ${WORK}/rootfs/boot
    W twoim przypadku chcesz skopiować ustawienia i niektóre pliki z katalogu domowego. Najpierw określ, które katalogi chcemy skopiować: CONFIG = '. Config .gconf Desktop jakiś inny folder i kolejny folder' A teraz kopiujemy:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Teraz chrootujemy się do nowego systemu i modyfikujemy go.

    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
    

    Kolejne polecenia są wykonywane w chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper zawiera skrypty na żywo. Jeśli chcesz też instalatora, uruchom to:

    apt-get install ubiquity ubiquity-frontend-gtk
    

    Lub jeśli chcesz KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Zaktualizuj moduły.dep i initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Usuń użytkowników niesystemowych - nie martw się, skopiowaliśmy ustawienia i dane do „szkieletu” użytkowników. Oznacza to, że wszyscy nowi użytkownicy będą je mieć.

    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. Sprzątać:

    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. Wyjdź z chroot. exit

  10. Teraz kopiujemy jądro:

    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. Jeśli zainstalowałeś instalator, musisz to zrobić, aby instalator nie instalował rzeczy takich jak 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. Odmontuj zamontowane elementy:

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

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

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

  16. Teraz grub.cfg:

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

    (zastąp nano edytorem tekstu ulubionych, to nie ma znaczenia) Wklej to i zapisz:

    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. Jeśli chcesz, możesz dodać dodatkową pozycję menu, która pozwala przejść bezpośrednio do Ubiquity.

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

  19. Przetestuj to za pomocą maszyny wirtualnej!

Wszystkie kredyty idą w górę, ponieważ przewodnik jest stąd .


Mam pytanie dotyczące grub.cfg. Czy ten plik grub.cfg jest używany tylko podczas instalacji, czy jest też trwały w zainstalowanym systemie? Co jeśli nie edytuję grub.cfg?
Roshan George

@RoshanGeorge Konfiguruje GRUB na płycie CD. Nie powinien się utrzymywać po instalacji.
nickguletskii

Czy możemy po prostu zainstalować instalację tak, jak normalnie dla Ubuntu, czyli pokazać instalator wszechobecności, zamiast pokazywać grub? Oznacza to, że w instalacji Ubuntu, kiedy wkładamy i uruchamiamy płytę CD, Ubiquity wyświetla się zamiast menu Grub, czy możemy to zrobić?
Roshan George

@RoshanGeorge Powinno to być możliwe poprzez dodanie pozycji menu za pomocą linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Przetestuję i zweryfikuję.
nickguletskii

@RoshanGeorge Z powodzeniem dodałem opcję uruchomienia Ubiquity z menu uruchamiania. Muszę jednak naprawić przewodnik - brakuje niektórych kroków wszechobecności. Spróbuję to naprawić jutro.
nickguletskii

15

Możesz użyć ucklub, live-magicaby dostosować Live CD.

uckjest dostępny z oficjalnych źródeł oprogramowania Ubuntu we wszystkich wersjach Ubuntu od 10.04 LTS Lucid Lynx. Możesz zainstalować uckz Centrum oprogramowania, apt-getw wierszu polecenia lub klikając tutaj Zainstaluj uck .


1
wygląda na to, że UCK zostało przerwane :(
amc

Ubuntu Builder został zakończony w 2014 roku; Zestaw Ubuntu Customization Kit instaluje się, ale nie działa i został wycofany w 2015 r .; System Imager został wycofany w 2016 roku. Ta odpowiedź naprawdę wymaga aktualizacji. Czy w 2019 r. Istnieje oficjalnie wspierana metoda?
allquixotic

@allquixotic uck znajduje się w repozytorium wszechświata 18.04. Czy ta wersja nie działa?
mchid

10

Zestaw dostosowywania Ubuntu

Jest to zbiór skryptów, które ułatwiają tworzenie niestandardowego dysku LiveCD z istniejącego obrazu .iso. Jest bardzo podobny do Remastersys, z tą różnicą, że jest aktywnie utrzymywany. Ma GUI do pomocy w dostosowywaniu, ale można również użyć wiersza polecenia, aby zrobić to samo.

  1. Poprosi o wybranie pakietów językowych, które mają być zawarte na płycie CD.
  2. Następnie poprosi o wybranie pliku obrazu .iso, który będzie używany jako podstawa dla nowej płyty CD.
  3. Podaj nazwę nowego obrazu .iso, który zostanie utworzony.
  4. Następnie poprosi o pakiety, które zostaną dodane / usunięte do / z LiveCD. Daje ci opcję pomiędzy wierszem poleceń a domyślnym GUI (Centrum oprogramowania Ubuntu). Uwaga: powinieneś wybrać wiersz poleceń. Z wiersza poleceń możesz dodawać / usuwać pakiety za pomocą apt-get lub Ubuntu Software Center (wpisz polecenie program-centrum z wiersza poleceń). Możesz także zmodyfikować ustawienia konfiguracji dla wszystkich programów / aplikacji.
  5. Po zakończeniu (pobranie wymaganych pakietów może trochę potrwać), kontynuuj.
  6. Teraz usiądź i zrelaksuj się. Po pewnym czasie dostosowany LiveCD będzie gotowy.

2
wygląda na to, że projekt UCK został przerwany :(
amc

5

Jeśli potrzebujesz większej kontroli nad tym, jakie dokładnie zmiany są wprowadzane, możesz dokonać modyfikacji ręcznie.

Proces ten polega na rozpakowaniu pliku danych SquashFS zawierającego główny system plików systemu operacyjnego na żywo, chrootowaniu do wyodrębnionego systemu plików, wprowadzaniu modyfikacji, wychodzeniu z chroota, ponownym pakowaniu pliku SquashFS, a następnie ponownym generowaniu obrazu ISO.

Pełne szczegóły są opisane na stronie LiveCDCustomization na Ubuntu wiki.


5

W Centrum oprogramowania Ubuntu

Edytuj> Źródła oprogramowania> Inne oprogramowanie> Dodaj ..

Wklej następujący wiersz w polu i kliknij dodaj źródło.

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

Załaduj ponownie źródła i zainstaluj Remastersys z Software Center.

Po zakończeniu zainstaluj wszystkie kodeki multimedialne i aplikacje, które chcesz na niestandardowym ubuntu. Rozpocznij remastersys od

System> Administracja> Remastersys

Wybierz tryb dist , kliknij OK i poczekaj na zakończenie procesu. Po zakończeniu znajdziesz niestandardowe ISO

/home/remastersys/remastersys/custom.iso


Postępowałem dokładnie tak, jak opisano tutaj, ale niestety podczas rozruchu pokazuje „nie można znaleźć obrazu ramdisk: / ubninit” i odświeża się raz po raz z 10 sekundowymi przerwami. Wynik: Nie mogę uruchomić mojego dostosowanego ISO. Czy możesz mi powiedzieć, jak mogę to rozwiązać? Proszę.
tuxtu

3

Remastersys może być odpowiedzią na twoje potrzeby. Musisz przejść do strony http://www.remastersys.com/ubuntu.html i postępować zgodnie z instrukcjami. Ten program tworzy iso z twojego systemu operacyjnego, w tym wszystkie ustawienia i aplikacje. Niż możesz nagrać płytę CD za pomocą tego ISO. Niestety w przeszłości występował problem z uruchomieniem go jako płyty CD na żywo, podczas gdy instalacja nie była problemem (nie wiem, czy nadal jest to problem).


1
lub UCK, który korzysta z GUI i jest mniej trudny
Uri Herrera

Remastersys nie żyje. Teraz ta strona jest własnością squatter domen.
allquixotic

1

Nie znam „GUI” poza Lucid, jednak gNewsense , który jest rozwidleniem Ubuntu, sprawia, że ich skrypty przyjmują wersję Ubuntu i udostępniają niestandardowy widelec za darmo i dość dobrze udokumentowany.

Zasadniczo jest to proces:

  1. Umieszczanie niestandardowej grafiki w miejscu, w którym mogą ją znaleźć skrypty
  2. Decydowanie o tym, co chcesz w swoim jądrze (lub czego nie chcesz)
  3. Decydowanie, które pakiety chcesz (lub czego nie chcesz)
  4. Uruchamianie skryptu, który odzwierciedla repozytorium apt
  5. Tworzenie dystrybucji CD / ISO.

Choć nie są one „przyjazne dla początkujących”, ich narzędzia są stosunkowo łatwe w użyciu.


1

Majstrowałem przy nowej usłudze internetowej o nazwie Reconstructor . Według ich strony internetowej

Reconstructor to zestaw narzędzi do tworzenia niestandardowych wersji systemu operacyjnego GNU / Linux, w szczególności Debian i Ubuntu.

Zgodnie z artykułem Linux Journal na temat Reconstructor pobierają niewielkie opłaty za dostosowania. To, czy warto, zależy od twoich potrzeb.


link nie działa, a domena przekierowuje do potencjalnie złośliwej strony!
amc

1

Radziłbym wypróbować Reconstructor

„Reconstructor to program Ubuntu GNU / Linux CD Creator, który pozwala modyfikować istniejącą dystrybucję Ubuntu i zapisywać ją jako własną dystrybucję systemu Linux. Wykorzystuje dysk Desktop (Live), Alternate (Install) lub Server jako podstawę, a następnie umożliwia w celu dostosowania użytkownika. Możesz w zasadzie dostosować całe środowisko, takie jak dodawanie / usuwanie oprogramowania, zmianę domyślnego wyglądu (powitalny, motywy, czcionki, tapety itp.), dodawanie łączy pulpitu itp. ”

Aby uzyskać więcej informacji, przeczytaj poniższe linki: 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


Ale te narzędzia nie pozwolą mi zmienić marki mojej dystrybucji, pozwolą tylko budować obrazy i dodawać pakiety, a przynajmniej to wiem.
user51447,

link do rekonstrukcji nie działa, a domena przekierowuje do potencjalnie złośliwej strony!
amc

1

Możesz także użyć JLIVECD do dostosowania obrazu ISO. To narzędzie wiersza polecenia do dostosowywania dystrybucji opartych na Ubuntu i Ubuntu. Daje ci pełną kontrolę nad rzeczami, które wymagają personalizacji, ale musisz wiedzieć, co należy zrobić, tj. Przygotowuje tylko środowisko chroot dla ciebie (reszta zależy od ciebie) i buduje ostateczną ISO. Możesz dodawać nowe zmiany do istniejących zmian i sprawdzać wbudowane ISO.


1

Możesz użyć Cubic - to narzędzie zostało przetestowane (przeze mnie) i działa na hoście Ubuntu 18.04 z obrazem Ubuntu 18.04, co jest więcej niż można powiedzieć w przypadku większości innych narzędzi, które nie działają lub zostały wycofane.

Oto przewodnik, aby go użyć ze strony internetowej Linoxide .

Surowe kroki obejmują:

  • Upewnij się, że używasz obsługiwanej wersji Ubuntu (próbowałem 18.04; działa)
  • Zainstaluj klucz GPG dla Cubic PPA
  • Dodaj sześcienny PPA do swoich źródeł
  • Zainstaluj narzędzie sześcienne
  • Uruchom go i postępuj zgodnie z instrukcjami GUI

Zobacz także tę odpowiedź askubuntu.com/a/741770/100356, aby uzyskać instrukcje.
PJ Singh

0

Pobierz http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download postępuj zgodnie z instrukcjami, a gdy pojawi się monit o uruchomienie menedżera pakietów, aplikacji konsoli lub kontynuowanie pakowania, wybierz Aplikacja konsoli.

Teraz możesz biegać

łodzik

unity-2d-launcher

panel jedności-2d

i robić wszystko.

Jeśli to nie zadziała, najpierw uruchom menedżera pakietów, a następnie spróbuj ponownie za pomocą konsoli.

Mam nadzieję że to pomoże.


Zestaw dostosowywania ubuntu (UCK) został wycofany
amc

0

Możesz zmodyfikować /etc/hostsplik domyślny (a także niektóre inne pliki domyślne), edytując/usr/share/ubiquity/plugininstall.py

Pomyślałem, że byłoby to pomocne, ponieważ musiałem wiedzieć, jak to zrobić.


Właściwie po dalszym przeglądzie okazuje się /etc/hosts, że instalowany plik nie jest generowany przez plugininstall.pymoduł ubiquity . Jeśli chcesz zmodyfikować domyślny /etc/hostsplik, prawdopodobnie będziesz musiał utworzyć skrypt, który uruchomi się po pierwszym uruchomieniu i usunie lub zmieni nazwę. Chyba że ponownie skompilujesz moduł netcfg - co nie jest zalecane.
SW_user2953243,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.