Projecte 2. Personalització de Fedora 28

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Introducció

S'ha de crear un livecd de Fedora 28, amb tot el programari que es faci servir a 2n d'ASIX de tal forma que quan carregui, estigui ja instal·lat tot el programari.

En aquest projecte heu d'indicar:
  • Primer cal fer un estudi de totes les apliacions que es fan o farán servir.
  • Buscar eines o aplicacions que permetin crear livecd's, i triar la més adecuada.
  • Crear el fitxer o fitxers necessaris per implementar el livecd (será un fitxer iso), segons l'eina treida.
  • Crear la iso.
  • Provar la iso amb qemu o virtualbox.

LiveCD

Recerca

Per a portar a terme aquesta tasca he trobat dues opcions similars que podrien servir:

  • Clonezilla: és un software de clonació de discos i particions que permet, des de menús avançats, crear imatges de disc autoarrencables que permeten restaurar discos sense necesitat d'arrencar el Clonezilla des d'un altre suport. D'aquesta manera, portem el disc amb el backup de la imatge i aquesta mateixa ja porta el Clonezilla per a restaurar-la.
  • Kickstart: és un projecte també de codi obert allotjat a GitHub que permet crear imatges personalitzades a partir d'una distribució existent i amb tot el software que hi ha preinstal·lat.

La millor opció

Crec que la millor opció per a executar el projecte és el Kickstart perquè, a diferència del Clonezilla que permet clonar directament el disc i "resintal·lar-lo" en una altra màquina, fa una còpia exacta del sistema (amb el software preinstal·lat, les configuracions... però també els usuaris i les seves dades. Això pot ser interessant per a un administrador de sistemes per a restaurar una màquina en cas de fallada per a un usuari concret o per a ordinadors d'una empresa que siguin tots iguals amb el mateix usuari perquè treballen remotament (per terminal server o similar). En canvi, el Kickstart permet, com el seu nom indica, una empenta per accelerar el procés d'instal·lació. Genera una imatge ISO Live d'un sistema, amb capacitat per a ser instal·lada, però de tal manera que manté només el software instal·lat; de manera que la configuració d'usuaris, permisos, etc. queda per defecte i ens tocarà a nosaltres crear l'usuari principal i definir la contrasenya del root o el repartiment de particions al disc a nosaltres com a instal·ladors del sistema. Aquesta opció és més interessant perquè permet l'equivalent a l'OOBE de Microsoft Windows, on l'OEM posa a punt una imatge al disc, amb programes de prova i altre bloatware normalment, i a la primera engegada de l'ordinador quan ja és amb el client final, se li demana només el nom d'usuari, la contrasenya que vol utilitzar i acaba el procés de posada en marxa.

Test de la millor opció

Partirem de la base que tenim un Fedora 28 KDE instal·lat des de la ISO descarregada des de la seva pàgina web oficial.
Primer de tot instal·larem el programari necessari per als alumnes de ASIX:

  • MySQLWorkbench
  • Virtualbox
  • Yakuake
  • MariaDB

Yakuake i MariaDB es poden instal·lar des dels repositoris mitjançant la comanda

dnf install mariadb-server yakuake
M18UF1PT21.png


Els altres 2 softwares s'han de descarregar des de les seves respectives pàgines web i instal·lar mitjançant dnf una vegada descarregats els arxius .rpm

Descàrrega de MySQL Workbench


Descàrrega de Virtualbox


Instal·lació de MySQL Workbench i Virtualbox


Aleshores, el programari que necessitem per a fer la ISO personalitzada a partir de la instal·lació existent són els paquets que instal·larem amb:

dnf install system-config-kickstart pungi spin-kickstarts liveusb-creator
M18UF1PT25.png


Problema

He trobat documentació molt pobra referent a com mantenir preinstal·lats els paquets existents al sistema actual (com ara el Yakuake, MySQLWorkbench o Virtualbox); de manera que per a obtenir una ISO arrencable amb la configuració actual del sistema de proves he optat per la segona opció: crear una imatge auto-arrencable amb Clonezilla.

Workaround

Apagarem la màquina de testing i arrencarem des d'un disc de Clonezilla Live:

M18UF1PT226.png


Haurem de mapejar el nostre USB d'instal·lació directament a la màquina virtual:

VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk </dev/sdX corresponent al disc USB>

En el meu cas:

VBoxManage internalcommands createrawvmdk -filename "/dades/VMs/USB.vmdk" -rawdisk /dev/sdb
Problema 2

M'he trobat que no puc mapejar un USB directament a la màquina virtual com a USB, llavors Clonezilla no em deixa utilitzar la opció de crear una imatge bootable perquè VirtualBox li mostra com un disc dur intern i Clonezilla no deixa enregistrar la ISO de recupració directament a un disc dur. Una solució seria fer exactament el mateix però en una màquina física amb el pendrive de recuperació connectat a la màquina; aleshores Clonezilla podria crear una imatge "auto-extraïble" en aquest pendrive a partir de l'estat del disc dur de la màquina origen. El procediment seria el mateix i obtindríem un pendrive bootable que serviria per a restaurar una imatge de Clonezilla amb l'estat actual de la màquina: instal·lat Fedora 28 + paquets necessaris i configuracions bàsiques fetes de manera que al restaurar-la tindríem un sistema base amb el software bàsic per a qualsevol alumne d'ASIX.

Pendrive

Haureu de posar la iso anterior en una memoria usb, de tal forma que en posar en marxa l'ordinador arranqui des del usb i executi la iso.
En aquesta part heu d'indicar:

  • Primer cal fer un estudi de totes les posibles formés que hi ha per crear un usb bootable.
  • Triar la que permeti afegir la iso directament al pendrive, sense descomprimir-la perviament o modificarla.
  • Crear l'usb bootable amb la iso.

Recerca

  • Fedora Media Writer: està inclòs per defecte al Fedora 28 i permet enregistrar imatges ISO personalitzades en Pendrives sense necessitat de descomprimir.
  • dd: la utilitat a Linux per excel·lència per a fer còpies d'arxius, discos, particions o també copiar ISOs en Pendrives especificant l' input file i l' output file. És lent perquè fa la còpia sector a sector. Tampoc modifica la imatge ni requereix descomprimir-la.

La millor opció

Les dues opcions són bones; i segurament l'eina gràfica de Fedora Media Writer utilitza el programari DD per darrere per tal de copiar la ISO que seleccionem cap a un dispositiu d'emmagatzematge. Per tant, per comoditat, jo escolliria l'eina gràfica si és que disposem d'un sistema amb entorn gràfic. Si no fos possible, podríem executar dd des d'un terminal especificant com a paràmetre if= la imatge ISO generada en l'apartat anterior i com a of= el disc que correspongui al pendrive que volem utilitzar.
Com que en l'apartat anterior no he pogut generar la ISO personalitzada, no puc fer un test de la millor opció amb aquesta ISO però el funcionament seria el descrit en el paràgraf anterior.

Test de la millor opció

No he pogut provar les opcions per gravar les ISOs ja que no he pogut generar la ISO. Tot i això, en altres ocasions he creat pendrives amb Fedora autònoms utilitzant la eina gràfica del media-writer i també he creat altres pendrives amb diverses distribucions autònomes com ara Debian, Ubuntu, Clonezilla o fins i tot discos d'instal·lació de Windows 8.1 des d'un pendrive utilitzant dd de manera que les dues opcions serien vàlides ja que no requereixen desempaquetar l'arxiu ISO.
Tot i això, per fer-ho encara més senzill, podríem aprofitar l'eina Easy2Boot per a crear un USB multibootable i afegir una còpia d'aquesta ISO al submenú que correspongui; de manera que podríem tenir un USB autònom amb diverses imatges arrencables; incloent una imatge personalitzada del Fedora.

Referències/bibliografia