Una instal·lació desatesa (sense intervenció de l'usuari) i una instal·lació silenciosa (sense mostrar el progrés de la instal·lació) no són estrictament el mateix. Tot i això, és habitual que s'usin els dos termes per designar el mateix: una instal·lació sense intervenció. En el cas de la instal·lació silenciosa és desatesa, però els paràmetres es prenen per defecte, mentre que en la desatesa generem un fitxer amb els valors dels paràmetres (fitxer de respostes).
Continguts:
- Instal·lació silenciosa en Linux
- Instal·lació silenciosa en Windows
- Instal·lació desatesa d'arxius msi amb Windows installer
- Generar imatge ISO que conté una instal·lació desatesa personalitzada de Windows
- Generar imatge ISO que conté una instal·lació desatesa personalitzada d'Ubuntu
- Generar imatge ISO personalitzada d'Ubuntu usant Kickstart
Instal·lació silenciosa en Linux
-
Busqueu l'opció que val afegir en la línia de comandament apt-get install per fer una instal·lació silenciosa; proveu-lo instal·lant l'editor de text vim.
sudo
apt-get install -qq vim
-
Feu el mateix amb aptitude
sudo
aptitude -y install vim
-
Es pot aconseguir que apt-get faci totes les instal·lacions de forma silenciosa afegint un comandament adequat al fitxer
/etc/apt/apt.conf
, quin és aquest comandament? Quin problema li veus a configurar l'apt per silenciar-lo sempre?
Dpkg::Options {"--force-confold";}
Respondrà
automàticament “sí” a totes les preguntes del paquet a
instal·lar; caldrà per tant conèixer prèviament totes les
preguntes per estar segur de que farà realment el que volem.
Instal·lació silenciosa en Windows
Windows
Installer és la solució nadiua per empaquetar i desplegar
programes a Windows, semblants als packages de Linux. Els programes
empaquetats així els coneixereu perquè tenen extensió msi.
Tenen l'avantatge que es poden integrar amb l'estructura de
l'Active Directory, ser instal·lats massivament (deployed)
per la xarxa, permeten evitar reinicis indesitjats i també fer
instal·lacions desateses. L'inconvenient és que cal desenvolupar
amb productes Microsoft (exemple: Visual Studio) per empaquetar amb
el Windows Installer, o bé utilitzar altres programes privatius a
l'estil d'AdvancedInstaller.
Procediments:
Si executeu el Windows Installer a la
línia d'ordres,
msiexec
/?
veureu que hi ha una opció
silenciosa i una de desatesa:
-
/quiet
Quiet mode, no user interaction -
/passive
Unattended mode - progress bar only
Així, doncs, per a qualsevol fitxer
amb extensió msi podrem utilitzar /passive
per a una instal·lació desatesa.
Instal·lació desatesa d'arxius msi amb Windows installer
-
Executeu de nou la instal·lació “normal” del paquet vim amb apt-get, prenent nota de les preguntes que us fa i de les respostes que doneu
-
Creeu un fitxer de text amb les respostes anteriors, una en cada línia
-
Desinstal·leu el paquet. Torneu-lo a instal·lar amb apt-get de forma desatesa usant redirecció de l'entrada del shell i el fitxer de respostes del pas anterior.
sudo
apt-get install vim < resposta
-
Podeu desinstal·lar el paquet de forma desatesa usant el mateix procediment?
Sí,
sudo apt-get remove vim < resposta
-
Usant redirecció de la sortida del shell, instal·leu vim sense necessitat d'intervenció de l'usuarii sense que apt-get mostri res per pantalla.
sudo
apt-get remove vim < resposta >null
-
Quina diferència veieu entre usar l'apt-get com a l'exercici 1 i com hem fet ara?
En
l'exercici 1 responem les preguntes amb la resposta “per defecte”
(instal·lació silenciosa) mentre que ara triem les respostes en el
fitxer de respostes (instal·lació desatesa).
Generar un fitxer
ISO que conté una instal·lació desatesa de Windows
Introducció
Generareu
un fitxer ISO bootable, que es podria enregistrar en CD, que conté
una instal·lació desatesa personalitzada de Windows. La
personalització inclou deshabilitar alguns components, com ara els
jocs. Posteriorment provareu la ISO en una màquina virtual neta,
verificant la instal·lació.
Material
necessari:
-
Virtual Box
-
Màquina Windows 7 (no està provat el procediment en altres versions superiors)
-
ISO Windows 7 (disponible en el repositori),
-
programa Win Tool kit és una eina per a la instal·lació de Windows i la personalització de components que volem que s'instal·lin.
Tasques a realitzar:
-
Farem la generació de la ISO seguint el procediment explicat més avall, i fent les captures de pantalla que creieu necessàries per documentar tot el procés
-
Farem la instal·lació desatesa usant la ISO anterior, seguint el procediment, i fent les captures de pantalla adients.
Procediment:
-
Instal·leu Win Tool kit en la màquina virtual Windows
-
Connecteu la ISO del Windows original com a unitat de CD de la màquina virtual
-
Executeu Win Tool kit.
- Informeu-lo d'on estan els fitxers originals de Windows i en quin directori de treball copiarà els fitxers.
- Trieu: Intermediate: unattended Creator. Personalitzeu: Admin password, computer name, network location=work, Time zone, Updates = no, afegiu un usuari admin. Guardeu la configuració.
- Advanced: Components remover: Apply unattended -> copieu el CD de Win7 en un directori. En acabar, heu de incorporar el fitxer de personalització XML generat al pas anterior (fitxer de respostes automatitzat).
- Make ISO ... trigarà una estona
-
Quan acabi, comproveu que ha generat el fitxer ISO en el directori especificat.
-
A continuació “extraurem” la ISO de la màquina virtual per fer-la utilitzable des de la màquina host.
- Compartiu una carpeta en la màquina host, suposem que li dieu vbox_compartida.
-
Atureu la màquina (Inicio->Apagar).
-
En Virtual Box, paràmetres de la màquina, carpetes compartides, afegiu la carpeta vbox_compartida. Doneu-li el nom compartit següent: X
-
Inicieu de nou la màquina virtual
-
Executeu el comandament net use X: \\vboxsvr\X per crear una unitat de xarxa que apunti a la carpeta compartida amb la màquina host. Comproveu que s'ha creat l'unitat X en la màquina virtual.
-
Copieu la ISO en la unitat X; ara la teniu disponible en la carpeta vbox_compartida del host. Comproveu.
-
Anem ara a fer una instal·lació desatesa usant la ISO que heu generat.
- Creeu una màquina Windows nova, amb un disc dur nou. Assigneu-li com a unitat de CD la ISO que teniu en la carpeta vbox_compartida
- Inicieu la màquina...us preguntarà si voleu formatar el disc amb NTFS, i no hauria de demanar-vos res més, la resta de paràmetres són automàtics.
- Un cop acabada la instal·lació, comproveu que funciona
Observacions:
-
La instal·lació desatesa que hem generat no ha inclòs drivers específics. Caldria proporcionar els fitxers .INF, que no sempre estan disponibles: sovint els drivers de windows són .EXE que directament descomprimeixen els fitxers en el directori de drivers, i llavors hem d'investigar una mica quins s'ha instal·lat. Aquest punt del hardware i drivers de les màquines on es farà la instal·lació desatesa és potser el que més mals de caps dóna a la realitat. Convé tenir un directori de xarxa compartit amb tots els drivers útils de les màquines de la xarxa local.
-
En la instal·lació desatesa en màquines reals caldria “cremar” la ISO i anar botant amb ella cada màquina. Una alternativa és l'arranc per xarxa: un servidor DHCP proporciona una IP amb la qual la màquina veu a un servidor d'imatges ISO i la instal·lació es fa per xarxa.
Generar un fitxer ISO que conté una instal·lació desatesa de Linux
Objectiu:
modificar el contingut d'un fitxer ISO bootable, que es podrà
enregistrar en CD, personalitzant el seu contingut. La
personalització pot consistir en afegir paquets, eliminar-ne altres
o automatitzar la instal·lació fent-la desatesa; aquesta última es
deixa per el següent exercici.
Material
necessari:
-
ISO d'Ubuntu
Tasques a realitzar:
-
Extreure el fitxer ISO en un directori seguint el procediment explicat més avall
-
Modifiqueu es fitxers que calguin en el directori que conté la ISO
-
Genereu el nou fitxer ISO personalitzat
Procediment:
-
Creeu dos directoris (per exemple, “iso_original” i “iso_personal)
-
Munteu la imatge ISO en el directori “iso_original” usant l'ordre mount; us caldrà l'opció -loop per “simular” el sistema de fitxers de la ISO
Primer
instal·lo les guest additions en Linux:
Comparteixo
una carpeta amb la màquina host:
Monto
la unitat compartida a Linux:
mkdir
/media/compartida
mount
-t vboxsf ASIX /compartida/
Ara
tinc les ISOs accesibles des de Linux:
Ara
monto la ISO en la carpeta iso_original
mount -o loop ./ubuntu-1
4
.04.
1
-
desktop
-i386.iso ./iso-original
-
Copieu TOT el contingut del directori “iso_original” en “iso_personal”, directoris i fitxers ocults inclosos. Comproveu-lo.
cp -r ./iso-original-iso/* ./iso-personal/
cp -r ./iso-original/.disk/ ./iso-personal/
-
Desmunteu la imatge ISO
umount ./iso-original/
-
Ara podem modificar els fitxers copiats en “iso_personal”; afegirem el paquet vim. Per fer-ho, descarregueu els paquet .deb corresponent usant apt-get amb l'opció -d (busqueu com funciona això)
apt-get
-d install vim
l'apt
s'executa en mode “baixada”, no instal·la res, només baixa els
.deb i els deixa en /var/cache/apt/archives
-
Ara cal incorporar els paquets al repositori local del CD (ISO en el nostre cas). Primer de tot creeu un directori “pool/extras” dintre del del CD i copieu dins els .deb. Creeu un altre directori “dists/stable/extras/binary-i386/Packages” en el CD on situarem el repositori.
mkdir -p iso-personal/dists/stable/extras/binary-i386
mkdir -p iso-personal/pool/extras/
L'opcio -p és:
-p, --parents
no error if existing, make parent directories as needed
és a dir, que crea directoris i subdirectoris, fins i tot buits,
per mantenir la mateixa estructura que l'original
-
A continuació usem “apt-ftparchive packages” per generar l'índex de paquets que l'apt necessita per instal·lar aplicacions:
apt-ftparchive packages ./pool/extras/ >
dists/stable/extras/binary-i386/Packages
-
Ara generem un fitxer comprimit amb tots els .deb que hem afegit:
gzip -c ./dists/stable/extras/binary-i386/Packages |
tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
-
Ja podem tornar a generar la ISO, ara personalitzada amb l'aplicació vim. Per fer-ho, usem el comandament
mkisofs [
options
] [ -o
filename
]
pathspec
[pathspec
...]
NOTA: mkisofs
té moltes opcions; mireu-vos només les mínimes necessàries.
Ajuda: que fan les opcions -J
, -l , -z , -iso-level?
mkisofs -J -l -z -iso-level 4 -o
./ubuntu-10.04-personal-i386.iso iso-personal/
Observacions:
-
Quan s'afegeixen altres paquets a banda dels instal·lats per defecte, i tenim una connexió activa a Internet durant la instal·lació (obtesa mitjançant DHCP), els paquets dependents necessaris s'obtenen de forma automàtica els dipòsits en línia. Això és fàcil de tenir amb màquines virtuals, però amb màquines reals potser no tindrem un servei DHCP a l'abast i llavors la instal·lació fallarà. En aquest cas és quan hem de fer el procediment anterior, però afegint totes les dependències. Això pot augmentar molt la mida de la iso resultant. En general és difícil saber el debs que estan en dependència amb un altre. Per tal de fer una llista de deb necessari caldria fer el següent:
-
En una màquina virtual, instal·lar un servidor Ubuntu net amb la imatge del CD original.
-
Arrenqueu amb el CD muntat i assegureu-vos que el cd està disponible a sources.list
-
Fem un apt-get install dels paquets addicionals que vull tenir instal·lat per defecte
-
Fem una còpia de seguretat dels debs que estan a //var/cache /apt , que són els que han de ser a la iso.
-
Com a exercici opcional podríem fer les passes anteriors i provar la ISO generada en una màquina virtual sense xarxa.
Generar imatge ISO personalitzada per instal·lació desatesa d'Ubuntu
Material
necessari:
-
ISO d'Ubuntu i connexió a Internet per instal·lar aplicacions
Tasques a realitzar:
-
Instal·lar la aplicació kick-start
-
Usar kick-start per crear un fitxer de respostes ks.cfg per la instal·lació desatesa
-
Personalitzar el fitxer ks.cfg
-
Instal·lar la aplicació isomasterE
- Executar isomaster, obrint la ISO original d'Ubuntu
- Editeu els fitxers de configuració de la ISO
- Genereu la ISO personalitzada
- Proveu-la, fent una instal·lació desatesa
Procediment:
- Instal·leu la aplicació kickstart (http://en.wikipedia.org/wiki/Kickstart_%28Linux%29) i executeu-la
sudo
apt-get install system-config-kickstart
system-config-kickstart
- Editeu el fitxer de respostes automàtiques generat ks.cfg i observeu el contingut. En l'apartat particions afegiu la creació d'una partició swap (en Internet trobareu molta informació sobre els paràmetres del fitxer generat per kick-start).
Cal
afegir: part swap --size 1024
- Instal·leu la aplicació isomaster. Aquest programa permet modificar una imatge ISO, tal com fèiem manualment en un exercici anterior. Arrenca el programa especificant la imatge. Per exemple, isomaster ubuntu-10.04.1-alternate-i386.iso . Es mostra una finestra dividida: en la part superior hi ha una navegador de fitxers, en la inferior el contingut de la ISO.
apt-get
install isomaster
- Dintre del directori isomaster de la ISO, editeu l'arxiu /isolinux/txt.cfg. Observeu l'estructura; està dividit en entrades de menú, cada una es mostrarà com una opció del menú d'arrancada de la instal·lació. Anem a generar una opció més que servirà per iniciar una instal·lació desatesa. Copieu i enganxeu la primera entrada del menú, i després modifiqueu-la:
label desatesa
menu label ^Instal·lació Ubuntu desatesa
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed
initrd=/install/initrd.gz quiet ks=cdrom:/isolinux/ks-custom.cfg --
- Navegueu per la finestra superior per localitzar el fitxer ks.cfg; afegiu-lo a la imatge ISO. Re-nombreu-lo: s'ha de dir igual que com teniu a la línia corresponent del menú en el fitxer /isolinux/txt.cfg que heu generat en el punt anterior.
Cal
que es digui ks-custom.cfg
- De la mateixa forma, re-nombreu el fitxer ubuntu.seed del directori /preseed de la ISO per que coincideixi amb la línia corresponent del menú en el fitxer /isolinux/txt.cfg.
Cal
que es digui ubuntu-custom.seed
- Genereu la ISO.
- Proveu-la realitzant una instal·lació desatesa; és molt possible que l'instal·lador encara us pregunti alguna cosa, degut a que us hàgiu deixat alguna resposta per informar.
Segurament
els hi preguntarà idioma i localització; es pot arreglar en part
afegint la línia corresponent als fitxers cfg. El fitxer ks.cfg que
hi usat és:
#Generated
by Kickstart Configurator
#platform=x86
#
Locale sets language and country.
d-i
debian-installer/locale string es_ES
#System
language
lang
ca_ES
#Language
modules to install
langsupport
en_GB es_ES --default=ca_ES
#System
keyboard
keyboard
es_cat
#System
mouse
mouse
#System
timezone
timezone
Europe/Madrid
#Root
password
rootpw
--disabled
#Initial
user
user
asix --fullname "asix" --iscrypted --password
$1$bJJ3OlIy$2pg.tN/Oayam.ZoXvZQ/s.
#Reboot
after installation
reboot
#Use
text mode install
text
#Install
OS instead of upgrade
install
#Use
CDROM installation media
cdrom
#System
bootloader configuration
bootloader
--location=mbr
#Clear
the Master Boot Record
zerombr
yes
#Partition
clearing information
clearpart
--all --initlabel
#Disk
partitioning information
part
swap --size 1024
part
/ --fstype jfs --size 1 --grow
#System
authorization infomation
auth
--useshadow --enablemd5
#Network
information
network
--bootproto=dhcp --device=eth0
#Firewall
configuration
firewall
--disabled
#X
Window System configuration information
xconfig
--depth=16 --resolution=800x600 --defaultdesktop=GNOME --startxonboot
#Run
the Setup Agent on first boot
firstboot
–enable