divendres, 1 d’abril del 2016

Instal·lacions desateses


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

  1. 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
  1. Feu el mateix amb aptitude

sudo aptitude -y install vim

  1. 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

  1.   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
  2. Creeu un fitxer de text amb les respostes anteriors, una en cada línia
  3. 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
  1. Podeu desinstal·lar el paquet de forma desatesa usant el mateix procediment?
Sí, sudo apt-get remove vim < resposta
  1. 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
  1. 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:
  1. 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
  2. Farem la instal·lació desatesa usant la ISO anterior, seguint el procediment, i fent les captures de pantalla adients.

Procediment:
  1. Instal·leu Win Tool kit en la màquina virtual Windows
  2. Connecteu la ISO del Windows original com a unitat de CD de la màquina virtual
  3. 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
  1. Quan acabi, comproveu que ha generat el fitxer ISO en el directori especificat.
  2. 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.
  3. 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:
  1. Extreure el fitxer ISO en un directori seguint el procediment explicat més avall
  2. Modifiqueu es fitxers que calguin en el directori que conté la ISO
  3. Genereu el nou fitxer ISO personalitzat

Procediment:
  1. Creeu dos directoris (per exemple, “iso_original” i “iso_personal)
  2. 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-14.04.1-desktop-i386.iso ./iso-original


  1. 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/
  1. Desmunteu la imatge ISO
umount ./iso-original/


  1. 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


  1. 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
  1. 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


  1. 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


  1. 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:
  1. En una màquina virtual, instal·lar un servidor Ubuntu net amb la imatge del CD original.
  2. Arrenqueu amb el CD muntat i assegureu-vos que el cd està disponible a sources.list
  3. Fem un apt-get install dels paquets addicionals que vull tenir instal·lat per defecte
  4. 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:
  1. Instal·lar la aplicació kick-start
  2. Usar kick-start per crear un fitxer de respostes ks.cfg per la instal·lació desatesa
  3. Personalitzar el fitxer ks.cfg
  4. Instal·lar la aplicació isomasterE
  5. Executar isomaster, obrint la ISO original d'Ubuntu
  6. Editeu els fitxers de configuració de la ISO
  7. Genereu la ISO personalitzada
  8. Proveu-la, fent una instal·lació desatesa


Procediment:
  1. 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


  1. 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
  1. 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
  1. 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 --
  1. 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
  1. 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
  1. Genereu la ISO.
  2. 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












 

Gestió d'usuaris i grups en Linux

Usuaris i grups Linux  Els comptes de Linux són com els comptes de Windows o MacOS; però els detalls no, així que cal explicar alguns detall...