Carregant...
 

Lliurex-mirror.

1. Introducció

El Lliurex-mirror és l'eina per a realitzar rèpliques de repositoris remots allotjats en dispositius extraïbles.

 

El lliurex-mirror generalment s'utilitza a través d'una interfície web (admin-center) o bé des de l'aplicació autònoma amb interfície gràfica (lliurex-mirror-gui) des d'on es permet realitzar l'operativa bàsica.

 

Per a obtindre informació de com utilitzar la interfície gràfica es pot veure des de l'article de primers passos creació del mirror.

 

L'usuari avançat, desenvolupador o tècnic de manteniment disposa també de la versió text disposa també de la versió text, mitjançant ordes, la qual pot resultar més còmoda, ràpida o avançada per a un ús específic que no estiga inclòs en les operacions bàsiques que permet la interfície web.

2. Mode d'ús del client en consola


Per a utilitzar el client en mode consola, cal tindre instal·lat el paquet "lliurex-mirror-cli".


El paquet proporciona l'orde "lliurex-mirror", el qual permet realitzar totes les operacions.


Aquest paquet es pot instal·lar en un ordinador servidor (hauria d'estar instal·lat) o bé des d'un client d'aula per a poder realitzar accions remotes sobre el servidor.

 

La forma d'ús general del programa és la següent:

 

user@computer:~$ lliurex-mirror PARAMETRES_GENERALS MODE_DE_OPERACIÓ PARAMETRES_MODE_OPERACIÓ

 

3. Ajuda interactiva

Per a obtindre una ajuda ràpida sobre les opcions que permet el programa, simplement una execució sense paràmetres ni opcions,  mostrarà una ajuda en el terminal mateix.

 

Algunes de les ordes llistades es mostren amb un "*" davant, això indica que l'orde necessita validació d'usuari i contrasenya que s'han de proporcionar en la cridada.

4. Paràmetres generals

Els paràmetres generals que s'han d'utilitzar perquè el comportament del programe siga correcte són els següents:

 

Paràmetre, forma curtaParàmetre, forma llargaUtilitat
-H--hostIndica l'amfitrió (servidor) sobre el qual es realitzaran les accions, això és necessari ja que es poden executar des d'un equip client d'aula, encara que generalment s'executen des del servidor mateix, per a això, es pot indicar ‘localhost’ o, simplement, no utilitzar aquest paràmetre.
-k--keyIndica una clau interna per a poder utilitzar les accions sobre el servidor, és equivalent a l'ús d'usuari i contrasenya, per tant, es recomana utilitzar usuari i contrasenya d'usuari amb permisos d'administració d'aula (‘netadmin’).
-u--userUsuari amb permisos d'administració d'aula (‘netadmin’).
-p--passwordContrasenya de l'usuari amb permisos d'administració d'aula.

5. Modes d'operació

5.1. Nomenclatura

Les diferents maneres d'operació que apareixen enumerats en els següents apartats comencen amb el nom de l'operació que ha de ser afegit com a paràmetre a l'ordre lliurex-mirror i els paràmetres generals.

 

A continuació de la manera d'operació apareixen les opcions que suporta, com per exemple "*DISTRO", la qual cosa indicaria que ha de proporcionar-se el nom de la distribució de la rèplica ("llx21", "llx19", "llx16").

 

Entre alguns dels paràmetres es poden trobar parèntesis o claus, tots dos agrupen paràmetres i en cas de ser claus especifiquen que són opcionals utilitzar-los o no. També apareix una barra vertical "|" que estableix una opcionalitat d'entre una llista de pamàmetres especificant que es pot utilitzar un paràmetre d'entre els que apareixen en la llista separada per barres.

5.2. Operacions habituals

update DISTRO { url | FILEPATH }

Realitza/actualitza una rèplica d'un repositori interactivament per a utilitzar-la com a repositori ‘rèplica’ per a l'aula.

 

Aquesta opció necessita com a primer paràmetre ‘DISTRO’, el qual per al cas de LliureX 21 Focal es correspon amb el valor ‘llx21’.

 

Com a segon paràmetre es pot utilitzar un URL (per exemple, http://lliurex.net/focal), o bé utilitzar una carpeta ubicada en el servidor sobre el qual realitzem l'acció (servidor). Aquesta opció de realitzar/actualitzar la rèplica des d'una carpeta és interessant si es disposa d'una còpia del repositori en un suport extraïble (per exemple, un disc/memòria USB).

 

Aquesta operació com que s'executa de manera interactiva, es pot cancel·lar amb Ctrl+C.

 

Exemples:

user@computer:~$ lliurex-mirror -H server -u netadmin -p password update llx21 http://lliurex.net/focal user@computer:~$ lliurex-mirror -H server -u netadmin -p password update llx21 /media/disk/repo_lliurex/

 

volatileupdate DISTRO { url | FILEPATH }

És una operació anàloga a actualitzar 'update', amb la diferència que no fixa l'origen de dades que especifiquem en aquesta operació de manera permanent.

Amb aquesta operació es permet crear un repositori amb un origen d'un suport extraïble alhora que es manté la configuració perquè les actualitzacions futures siguen amb el valor per defecte (http://lliurex.net/).

Exemple:

Un disc USB connectat i muntat en el servidor mateix i un terminal en el servidor.

user@computer:~$ lliurex-mirror -u netadmin -p password volatileupdate llx21 /media/disk/repo_lliurex/

 

unattendedupdate DISTRO { url | FILEPATH }

És una operació anàloga a actualitzar 'update', amb la diferència que no es realitza de manera interactiva, executa la tasca en segon pla en el servidor objecte de l'operació.

Aquesta operació no mostra un progrés de la realització. Si volem obtindre el progrés de l'operació, posteriorment hem d'utilitzar l'operació ‘getpercentage’.

Com que és una operació que s'executa en segon pla, no es disposa d'un intèrpret que permeta cancel·lar l'operació mitjançant un senyal d'interrupció, per a això, s'ha d'utilitzar l'operació ‘stopupdate’.

stopupdate

És l'operació que permet parar una operació ‘unattendedupdate’.

isalive

És l'operació que permet comprovar si un procés d'actualització mitjançant les operacions ‘update’, ’rundebmirror’, ‘volatileupdate’, ’unattendedupdate’, executades prèviament, està en funcionamient.

getmirrorarchitecture

És l'operació que permet comprovar les arquitectures que estan configurades per a realitzar la rèplica en el servidor especificat en el paràmetre -H (si s'ha omés aquest paràmetre s'agafarà ‘localhost’).

setmirrorarchitecture DISTRO (amd64|i386) { (amd64|i386) }

És l'operació que permet configurar una arquitectura en la configuració del procés de rèplica del repositori. El valor per defecte per a una rèplica és totes les arquitectures (i386 i amd64).

Amb aquesta operació és possible ‘alleugerir’ la grandària d'una còpia d'un repositori quan es realitza la rèplica en el servidor d'aula. No obstant això, s'ha d'utilitzar amb compte ja que, encara que tota l'aula utilitze arquitectures més modernes (amd64) i, en principi, no hi haja clients antics (i386), encara es poden necessitar paquets i386 instal·lats sobre equips amd64, que en cas de ser necessaris en una instal·lació de programari i no estar disponibles en la rèplica d'aula impedisquen la instal·lació correcta del programari.

Nota: Aquesta operació sols configura les capacitats de la rèplica per a utilitzar-les amb la pròxima actualització, en cap moment realitza l'eliminació dels fitxers que actualment té la rèplica.

 

Exemple:

user@computer:~$ lliurex-mirror -H server -u netadmin -p password setmirrorarchitecture amd64

 

getpercentage { DISTRO }

És l'operació que permet comprovar el progrés d'una operació d'actualització (‘update’, ’rundebmirror’, ’volatileupdate’, ’unattendedupdate’) ja que mostra el percentatge completat fins al moment. Si l'operació d'actualització no s'està executant, s'indica el percentatge de la rèplica completat fins al moment.

El valor que torna es correspon amb el tant per cent de l'estat del procés d'actualització.

getavailabledistros

És l'operació que llista els perfils per a realitzar rèpliques configurats en el servidor sobre el qual s'aplica l'operació.

Els perfils llistats que s'obtenen com a resultat es corresponen amb el paràmetre vàlid anomenat ‘DISTRO’ en les diferents operacions de l'eina lliurex-mirror.

getmirrororig { DISTRO OPTION }

Aquesta operació mostra una llista que associa orígens (‘URL’) configurats amb una numeració ('option') per a realitzar les actualitzacions del repositori.

Les opcions d'actualització es poden consultar amb l'operació ‘distrolistoptions’, la qual mostra tots els valors possibles per al camp opcions.

Si es vol consultar quin és l'origen ('option') actualment habilitat, s'ha d'utilitzar l'operació ‘getoptionupdate’. Per a realitzar un canvi de l'opció d'actualització, s'ha d'utilitzar  l'operació ‘setoptionupdate’ des del client.

getoptionupdate { DISTRO }

És l'operació que torna l'origen (url) (‘option’) d'actualització que actualment està configurat per a utilitzar-lo en el procés de generació de la rèplica.

setoptionupdate DISTRO OPTION

És l'operació que permet fixar una ‘option’, la qual especifica un URL que s'utilitzarà en el procés de rèplica, generalment l'‘option’ numerada com a ‘1’ es considera el valor per defecte (rèplica des de lliurex.net) i l'‘option’ numerada com a ‘3’ és el valor especificat manualment en una operació generada des d'una actualització des d'un directori personalitzat.

Aquesta operació pot ser necessària per a restaurar l'origen si no s'utilitza l'opció ‘volatileupdate’.

Exemple:

user@computer:~$ sudo lliurex-mirror -H server -u netadmin -p password setoptionupdate llx21 1

 

ismirrorupdate { DISTRO }

És l'operació que informa si existeix un procés de creació/actualització d'una rèplica actualment en funcionament.

resetconfig { DISTRO }

És l'operació que permet restaurar la configuració per defecte en lliurex-mirror per a una determinada distribució.

5.3. Operacions utilitzades rarament

setcname

Prepara en el servidor la resolució del nom rèplica (‘mirror’); el servidor de destinació ha d'utilitzar el paquet ‘dnsmasq’.

rundebmirror DISTRO { url | FILEPATH }

És una operació idèntica a ‘update’ (vegeu l'ajuda per a ‘update’), es manté per compatibilitat.

exportmirror DISTRO MIRROR_COPY_DIR

És l'operació que permet generar una còpia de la rèplica actual allotjada en el servidor d'aula ‘server’ sobre un directori de la nostra elecció, el qual ha d'estar creat prèviament.

Per a utilitzar aquesta operació cal tindre instal·lat correctament el paquet ‘n4d-lliurex-mirror’ en l'equip que executa l'operació i executa ‘lliurex-mirror’.

És possible observar el funcionament del procés d'execució mitjançant l'operació ‘isaliveexport’, la qual proporciona informació sobre si el procés està en funcionament així com el percentatge de la tasca que s'ha completat.

Notes:

Perquè el funcionament d'aquesta operació siga correcte, la rèplica del servidor d'aula ha d'estar completa i ser vàlida.

Aquesta operació s'ha d'executar amb permisos d'administració (usuari primari ‘root’ o bé utilitzant ‘sudo’), independentement dels paràmetres ‘-u’ o bé ‘user’ i ‘-p’ o bé ‘password’ que es proporcionen per a poder realitzar les operacions sobre el servidor d'aula.
Aquesta operació no es pot cancel·lar una vegada executada.
Aquesta operació es pot substituir si es disposa d'accés al servidor mitjançant eines tradicionals de sincronització de sistemes Linux (cp, scp, rsync).
 

Exemple:

user@computer:~$ sudo lliurex-mirror -H server -u netadmin -p password exportmirror llx21 /media/disk/repo_copy

 

getpercentageexport { DISTRO }

És l'operació que permet comprovar el progrés d'una operació de còpia de la rèplica actual (‘exportmirror’) ja que mostra el percentatge completat fins al moment.

Aquesta operació s'ha d'executar amb permisos d'administració (usuari primari ‘root’ o bé utilitzant ‘sudo’), independentment dels paràmetres ‘-u’ o bé ‘user’ i ‘-p’ o bé ‘password’ que es proporcionen per a poder realitzar les operacions sobre el servidor d'aula.

El valor que torna es correspon amb el tant per cent de l'estat del procés d'exportació.

Exemple:

user@computer:~$ sudo lliurex-mirror -H server -u netadmin -p password getpercentageexport llx21

 

isaliveexport

És l'operació que permet comprovar si un procés d'actualització mitjançant l'operació ‘exportmirror’ executada prèviament està en funcionament.

setmirrororig DISTRO URL OPTION

Aquesta operació fixa un origen (url) per a realitzar la rèplica del repositori; actualment cada origen va associat a una determinada ‘opció’ d'actualització, la qual especifica si l'origen està fixat per defecte o és una especialització, el valor ‘1’ correspon a una opció per defecte i el valor ‘3’ correspon a una especialització.

Exemple:

Fixar l'origen per defecte de les actualitzacions (similar a l'operació ‘resetconfig’):

user@computer:~$ lliurex-mirror -H server -u netadmin -p password setmirrororig llx21 http://lliurex.net/focal 1

 

getchecksumvalidation { DISTRO }

És l'operació que consulta si es realitzarà una comprovació dels paquets quan es realitza la rèplica. El valor per defecte és 0 que correspon a no realitzar la comprovació, cosa que fa el procés més lleuger. Si es vol canviar aquest valor s'ha d'utilitzar l'opció ‘setchecksumvalidation’.

setchecksumvalidation DISTRO { {0|false} | { {1|true} }

És l'operació que fixa si es realitzarà una comprovació dels paquets quan es realitza la rèplica.

Exemple:

user@computer:~$ lliurex-mirror -H server -u netadmin -p password setchecksumvalidation llx21 1

 

enablewebserverforpath PATH

És l'operació que permet servir per http en la xarxa local un directori de la nostra elecció en el servidor especificat.
L'operació torna un número de port no privilegiat en el qual es presenta el camí ('path')proporcionat com a paràmetre.

Exemple:

user@computer:~$ lliurex-mirror -H server -u netadmin -p password enablewebserverforpath /net/mirror/llx21 user@computer:~$ 36322 user@computer:~$ firefox http://server:36322

 

stopwebserver PORT

És l'operació per a finalitzar el servidor http creat amb l'operació ‘enablewebserverforpath’.

Exemple:

user@computer:~$ lliurex-mirror -H server -u netadmin -p password stopwebserver 36322

 

distrolistoptions {DISTRO}

És l'operació que llista els valors que s'han d'aplicar en una configuració d'un perfil de replica d'una distribució. Aquesta operació sols té sentit per a ús intern o per a una programació que utilitze l'eina.

 

6. Altres eines relacionades amb lliurex-mirror

6.1. domirror

L'ús d'aquestes eines no és aconsellable en una operativa normal del dia a dia, no obstant això en algun cas pot ser interessant conéixer alguna operació que aquesta eina permet.

6.1.1. Verificar l'estat de tots els paquets d'una rèplica existent

En el cas que algun fitxer dels quals componen el repositori estiga en estat corrupte poden produir-se errors d'instal·lació quan un client desitge utilitzar-lo per a ser instal·lat, o també en cas que un servidor estiga fent ús del per a generar noves imagens de clients o instal·lacions per xarxa basades en netinstall podrien produir-se errors.

 

Per a realitzar una verificació d'integritat de tots els fitxers pot utilitzar-se com superusuari l'eina domirror.

 

El procés de verificació és més costós en temps per això és una opció que per defecte està desactivada quan es realitza un repositori local.

 

Per a realitzar una verificació s'ha de procedir de la següent forma:

  • S'ha d'executar sempre com a administrador
  • Sempre s'ha d'executar quan ja tinguem realitzat una rèplica, en cas contrari el comportament pot ser erroni i erràtic

 

Exemple:

user@computer:~$ sudo domirror -v -rf


Retry Domirror

 

7. Problemes coneguts

7.1. Unable to read MIRROR_DIR

En alguns casos durant una instal·lació nova des d'algun paquet antic no actualitzat pot donar-se l'error que impossibilita la creació de la rèplica inicial, això és pel fet que encara no s'ha creat la carpeta /net/mirror, per a solucionar aquest problema haurem de crear amb permisos d'administrador la carpeta i reintentar l'operació de creació de la rèplica local.

 

user@computer:~$ sudo mkdir /net/mirror

 

Mastodon E-Mail