Benvingudes i benvinguts al portal Linkat

La Linkat és la distribució educativa de GNU/Linux que ha iniciat i ofereix el Departament d'Educació a la comunitat educativa. Es tracta d'un projecte de programari lliure que permet als centres educatius, però també a tota la societat, tenir accés de forma legal, gratuïta i amb suport tècnic professional, a un conjunt molt ampli d'aplicacions: educatives, d'ofimàtica, d'Internet, multimèdia...

Ordres de terminal per a netejar el sistema  Final

  • Fins ara, quan feia les actualitzacions, anava al gestor d'actualitzacions (Update manager). En acabat, engegava el Ubuntu-tweak i al Janitor feia neteja.

    L'altre dia vau comentar l'ús del Clusterssh (cssh). Ho he provat i m'ha anat molt bé. Ara voldria (aquests pobres, sempre demanant) acabar la feina: es tracta que un cop feta l'actualització (o instal·lació) via terminal, es pugui fer la neteja que fins ara feia amb l'Ubuntu-tweak a través de línies de comandes. A grans trets:
    • La memòria cau (Firefox, centre de programari, ...)
    • La Personal (ho posa allà, al Ubuntu-tweak)
    • I el Sistema: (Apt cache, Kernels obsolets, Paquets de configuració i paquets innecessaris)
    Es pot fer la neteja amb comandes al terminal? (És molt temptadora aquesta barreja de cssh i actualitzacions i neteja des d'un sol ordinador!)

    Joan
  • Hola Joan,

    Tot el que es fa per entorn gràfic es pot realitzar per línies d'ordres.

    Tota la informació del firefox es guarda al /home de cada usuari a un directori que s'anomena /home/USUARI/.mozilla/firefox, pots esborrar aquest directori per eliminar l'historial de navegació.

    La cache del Centre de programari el trobaràs al directori /home/USUARI/.cache/software-center, també pots eliminar els logs del apt per buidar informació /var/log/apt/history.log*

    Al directori .cache també trobaràs la cache de molts programes (firefox, chromium, vlc...).

    La informació personal d'un usuari la trobaràs al /home de cada usuari i normalment es refereix als directoris ocults que comencen amb un "." al davant. Fes anar l'ordre següent per veure tots els directoris i fitxers ocults del teu /home

    Code

    ls -dla  ~/.*


    Els kernels obsolets poden ocupar molts Gb i sempre és una bona idea fer una neteja, però s'ha de vigilar amb aquesta operació, primer eliminem tots els kernels i seguidament hem d'instal·lar un o la màquina no podrà arrencar una vegada s'apaga.

    - Eliminar tots els kernels:

    Code

    sudo apt-get purge linux-image-* linux-headers-*


    - Instal·lar un kernel (3.13 o 3.16):
    Kernel 3.13. Per instal·lar la darrera versió del kernel 3.13 s'ha d'executar l'ordre següent:

    Code

    sudo apt-get install linux-image-generic-lts-trusty linux-headers-generic-lts-trusty


    Kernel 3.16. Per instal·lar la darrera versió del kernel 3.16 s'ha d'executar l'ordre següent:

    Code

    sudo apt-get install linux-image-generic-lts-utopic linux-headers-generic-lts-utopic


    Amb un sudo apt-get autoremove s'esborren els paquets que no són necessaris al sistema.

    A veure que tal tot això, fes proves abans amb un ordinador i després ataca a tots amb el cluster-ssh.

    Salut.

    Projecte Linkat
  • D'acord:

    Les dades personals no em calen, ja que tinc els ordinadors congelats.

    En canvi, les que sí que em convenen són les d'eliminar el Kernel vell, directament (només tinc un sol kernel a l'ordinador). Es pot eliminar només el vell? (I no tots i tornar a instal·lar?)

    La resta d'ordres deuen ser semblants a:

    sudo apt-get clean
    sudo apt-get autoclean
    sudo apt-get autoremove

    Són aquestes? Estarien en l'ordre correcte?

    Joan
  • Hola Joan,

    Durant les actualitzacions van entrant noves revisions del kernel i les antigues, encara no es facin servir, ocupen molt d'espai al disc. L'altre dia al meu ordinador vaig alliberar uns 10 Gb d'espai només esborrant versions de kernel antigues.

    La forma més ràpida i senzilla d'esborrar-les totes les versions és fent anar l'ordre següent.

    Code

    sudo apt-get purge linux-image-* linux-headers-*


    I seguidament instal·lar l'últim kernel 3.16 (per exemple)

    Code

    sudo apt-get install linux-image-generic-lts-utopic linux-headers-generic-lts-utopic


    El problema és que no els diferents ordinadors poden tenir paquets de versions de kernel diferents i amb aquesta ordre pots atacar a tots els ordinadors a la vegada.

    Salut.

    Projecte Linkat
  • Molt bé.

    A veure si ho entenc:
    Jo faig:
    1.- per actualitzar el llistat de paquets disponibles:

    Code

    sudo apt-get update


    2.- per veure si tot ha anat bé:

    Code

    sudo apt-check


    3.- per actualitzar paquets ja instal·lats que no necessiten altres paquets:
    (Aquí també hi entrarien actualitzacions de kernel?)

    Code

    sudo apt-get upgrade


    4.- per netejar paquets descarregats i instal·lats:

    Code

    sudo apt-get clean


    5.- per netejar de paquets vells que no s'utilitzen:

    Code

    sudo apt-get autoclean


    6.- per netejar biblioteques inútils:

    Code

    sudo apt-get autoremove


    Aleshores, penso: si jo veig que em surt el signe de reiniciar a l'àrea de missatges, he d'entendre que s'ha actualitzat el kernel. I aleshores hauria de fer les ordres que has posat a dalt:
    Per esborrar totes les versions de kernel:

    Code

    sudo apt-get purge linux-image-* linux-headers-*


    I seguidament instal·lar l'últim kernel. (Com que jo tinc encara 12.04 lts poso precise enlloc de utopic)

    Code

    sudo apt-get install linux-image-generic-lts-precise linux-headers-generic-lts-precise


    Amb la qual cosa, està el sistema actualitzat i "net".

    Ara no sé si la idea és una bogeria: se m'acut que potser tot es podria posar en un sol script i enganxar-ho en un fitxer de text (que es digui Actualització.txt, per exemple).

    El text del fitxer podria ser:

    Code

    sudo apt-get update && sudo apt-get upgrade && sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove


    Es tractaria de:
    • Obrir el fitxer de text.
    • Control-A, Control-C (seleccionar tot, copiar)
    • Alt-F4 (sortir del fitxer de text).
    • Terminal: cssh tots
    • Control-V (enganxar el text al terminal, de fet al cluster-ssh)

    En cas que s'hagués actualitzat el kernel, amb un procediment anàleg (fitxer ActualitzaKernel.txt):

    Code

    sudo apt-get purge linux-image-* linux-headers-* && sudo apt-get install linux-image-generic-lts-precise linux-headers-generic-lts-precise


    No sé si fer que les ordres vagin seguides unes darrere de les altres pot provocar problemes, ni si el conjunt d'ordres segueixen una lògica adequada.

    La qüestió és que l'actualització pot reduir el seu temps de realització força dràsticament. Jo, avui, només amb les primeres sis ordres, en menys de deu minuts tenia actualitzats tots els ordinadors de l'aula (14). Sobretot en no entrar en cap altre ordinador que el que donava ordres, ni haver de teclejar desenes de vegades la contrasenya.

    De fet, en el cas que s'hagués actualitzat el kernel, jo ho podria saber només mirant l'Ubuntu-tweak de l'ordinador on estic controlant. En aquest cas, també podria entrar als altres ordinadors com a super i fer el mateix procés de neteja amb l'Ubuntu-tweak amb els altres, però això ja allargaria el procés.

    He fet el conte de la lletera amb aquest protocol?

    Joan



    Editat per jcompte el 11/Mar/2015 - 20:13.
  • Quote

    I seguidament instal·lar l'últim kernel. (Com que jo tinc encara 12.04 lts poso precise enlloc de utopic)
    Code
    sudo apt-get install linux-image-generic-lts-precise linux-headers-generic-lts-precise


    El paquet linux-image-generic-lts-precise t'instal·larà el kernel que ve per defecte a la precise (3.2 o 3.8), crec que és un kernel una mica antic.

    Instal·lant el paquet linux-image-generic-lts-utopic t'instal·la a la teva 12.04 la versió del kernel que porta "utopic" que ara mateix és la 3.16.

    El paquet linux-image-generic-lts-trusty t'instal·la l aversió de kernel 3.13.

    Tens més informació a la wiki de les diferents versions de kernel:
    http://linkat.x…dex.php/Kernel

    L'script és molt bona idea, però millor seria fer un control d'errors per revisar una a una les diferents ordres i veure que tot ha acabat correctament, per exemple:

    #!/bin/bash
    #
    # Automatitzar updates
    #

    sudo apt-get update
    if [ ! $? -eq 0 ] ; then
    echo "Error fent update"
    exit 1
    else
    echo "update OK"
    fi

    sudo apt-get -y upgrade
    if [ ! $? -eq 0 ] ; then
    echo "Error fent upgrade"
    exit 1
    else
    echo "Upgrade OK"
    fi

    sudo apt-get clean
    if [ ! $? -eq 0 ] ; then
    echo "Error fent clean"
    exit 1
    else
    echo "clean OK"
    fi

    sudo apt-get autoclean
    if [ ! $? -eq 0 ] ; then
    echo "Error fent autoclean"
    exit 1
    else
    echo "autoclean OK"
    fi

    sudo apt-get -y autoremove
    if [ ! $? -eq 0 ] ; then
    echo "Error fent autoremove"
    exit 1
    else
    echo "autoremove OK"
    fi

    Projecte Linkat
  • De fet, després de sudo apt-get update, poso sudo apt-get check. Vindria a ser un equivalent?

    Un altre dubte: jo vull mantenir el meu estimat xubuntu 12.04. Si poso el kernel de l'utopic em mantindrà tot tal i com ho tinc?

    Aleshores, tu proposes de tenir aquest arxiu de text. Amb quina extensió ha d'acabar? .sh? On l'hauria de guardar? Des de la terminal ja el podria engegar?

    Per cert, ara me n'adono: dec haver actualitzat el kernel... I sembla que ho deu haver netejat. Per tant, potser no cal aquella neteja de kernels, i els noms precise, utopic, etc...

    (Perdoneu que estigui tot tan mal organitzat, però és que estic... força eufòric -no sé com dir-ho d'una altra manera!-)
  • Ho sento, he tingut un problema al contestar i m'he carregat el teu últim missatge :S

    Quote

    De fet, després de sudo apt-get update, poso sudo apt-get check. Vindria a ser un equivalent?


    No, el apt-get check serveix per comprovar dependències trencades de paquets, no és lo mateix que comprovar que una ordre s'hagi executat correctament.

    Quote


    Un altre dubte: jo vull mantenir el meu estimat xubuntu 12.04. Si poso el kernel de l'utopic em mantindrà tot tal i com ho tinc?

    Perdona, he vist que el kernel que pots posar a la xubuntu 12.04 és el 3.13 (trusty), per tant no instal·lis el utopic. Sorry.


    Quote

    Aleshores, tu proposes de tenir aquest arxiu de text. Amb quina extensió ha d'acabar? .sh? On l'hauria de guardar? Des de la terminal ja el podria engegar?

    Sí, es pot dir actualitzacions.sh, guardar-lo a cada ordinador al /home de l'usuari administrador, cal donar-li permisos d'execució al fitxer i executar-lo a cada màquina amb el cssh.
    Per copiar el fitxer a totes les màquines també ho pots fer per cssh amb l'ordre següent:

    Code

    scp super@192.168.0.22:actualitzacions.sh .


    Això copiarà el fitxer /home/super/actualitzacions.sh de l'ordinador 192.168.0.22 al directori on estiguis en aquell moment.

    Pensant que 192.168.0.22 és el teu ordinador.

    Quote


    Per cert, ara me n'adono: dec haver actualitzat el kernel... I sembla que ho deu haver netejat. Per tant, potser no cal aquella neteja de kernels, i els noms precise, utopic, etc...

    Quan fas un upgrade s'actualitzen només revisions de la versió del kernel, per exemple, si tens la versió 3.8 només entraran actualitzacions d'aquest kernel (3.8-1, 3.8-2, 3.8-3...)
    Quan fas apt-get install linux-image-generic-lts-trusty instal·la una nova versió de kernel 3.13-*

    Quote


    (Perdoneu que estigui tot tan mal organitzat, però és que estic... força eufòric -no sé com dir-ho d'una altra manera!-)

    xDDD tranquil!

    Projecte Linkat
  • Escric des de casa:

    He fet el fitxer actualitzar. He anat a propietats i he marcat la casella:

    Permet que aquest fitxer s'executi com a programa

    Des del Gestor de fitxers, botó dret | Executar... i no fa res. :-(

    Obro una terminal... escric actualitzar... "no s'ha trobat l'ordre". :-((

    Escric actualitzar.sh... "no s'ha trobat l'ordre". :-(((

    Des del Gestor de fitxers, obert com a root... res. :-((((

    Dec haver de fer servir chmod? Escric chmod 700 actualitzar.sh i després executar i... res :-(((((

    Què he de fer perquè funcioni?
    (I poder canviar les cares, que faig morros fins als peus!)

    Joan
  • Bé:

    He fet les proves amb un sol ordinador i posant les ordres una a una. (Això dels arxius *.sh encara no ho he fet, a l'espera de la resposta al comentari anterior).

    Per esborrar els kernels eventuals i tornar a posar els nous:

    El primer cop, crec que hi devien haver uns 5 kernels. Fer tota l'operació ha suposat 10 minuts.

    El segon cop (ja només hi deuria haver el darrer kernel -de trusty-, ha suposat 2 minuts.

    Més 3 o 4 minuts de l'actualització (només hi havia 1 paquet). Això és poc.

    Fins i tot es podria pensar a mirar primer si hi ha nous kernels i fer l'actualització condicionada al resultat. Com es pot saber si hi ha kernel nou?

    Per la resta, cap problema. Per si després no em podia engegar amb el burg, he passat altre cop el grub customizer. Sabeu si actualitzant el kernel, cal modificar el burg?

    La cosa va bé... :-)

    A veure això dels arxius .sh

    Joan



    Editat per jcompte el 13/Mar/2015 - 08:54.
  • Hola Joan,

    Per executar un script s'ha de donar permisos d'execució primer, això es fa amb l'ordre chmod.

    Obre un terminal i ves al directori on tens el fitxer actualitzar.sh i fes anar l'ordre següent:

    Code

    chmod +x actualitzar.sh


    Per executar un script has de fer-lo d'aquesta manera:

    Code

    ./actualitzar.sh


    O també ho pots executar d'aquesta forma:

    Code

    bash actualitzar.sh


    Per poder escriure directament actualitzar.sh al terminal, com si fos qualsevol ordre del sistema, cal que el executable estigui en un dels directoris que es llisten a la variable $PATH.
    Si fas anar l'ordre echo $PATH veuràs una llista de directoris on es guarden els executables.
    Per exemple, si copies el fitxer actualitzar.sh a /usr/sbin, ja podràs executar-lo directament.

    Code

    cp -av actualitzar.sh /usr/sbin/


    ara ja pots podràs escriure al terminal actualitzar.sh i s'executarà.

    Salut.

    Projecte Linkat
  • D'acord: ja ho he provat i funciona.

    El que passa és que només ho tinc en un ordinador (i a la P). Aleshores suposo que he de posar-lo al home de tots els ordinadors. Ho faré!

    I aquesta pregunta:

    Quote

    Fins i tot es podria pensar a mirar primer si hi ha nous kernels i fer l'actualització condicionada al resultat. Com es pot saber si hi ha kernel nou?


    Fins aviat,
    Joan
  • Avui he tingut un espant considerable: he fet la prova de desinstal·lar el kernel i posar l'actual. A l'hora següent no hi havia d'anar cap grup a l'aula informàtica. Quan he pujat a l'hora de després, em trobo un grup que sortien. Em diuen "d'aquell ordinador -el que té el cssh- no ens ha deixat sortir. Dels altres sí que hem fet la feina."

    En apagar els ordinadors ja tenien el kernel nou, ja, però en engegar, el burg no trobava res: no sabia on havia d'anar. He hagut d'arrencar amb una distribució en viu i fer anar el Grub customizer.

    (Per cert, els ordinadors Alda no saben engegar des d'una unitat USB? He hagut de fer-ho des de DVD i triga un munt d'estona!)

    En un ordinador, a més, quan ha tret el kernel, s'ha menjat el controlador de la tarja nvidia: he hagut de reinstal·lar-lo de cap i de nou.

    En fi: una aventureta abans del cap de setmana de projecte del Moodle.

    Passo a un altre tema.

    Em puc respondre sobre com saber quins kernels a la màquina. Es fa així:

    Code

    dpkg --get-selections | grep linux-image


    Al meu ordinador de casa em dóna el següent:

    Code

    linux-image-3.13.0-46-generic            install
    linux-image-extra-3.13.0-46-generic        install
    linux-image-generic                install


    En aquest enllaç:

    Code

    http://kernel.ubuntu.com/~kernel-ppa/mainline/
    és on podrem saber quin és el darrer kernel. (En el cas de trusty -per a l'xubuntu 12.04- la versió és la:

    Code

    v3.14.1-trusty

    Per tant, a casa em convindria de fer l'actualització. Si coincidís la versió, no caldria fer l'actualització.

    En vista de les emocions del dia -la mestra, quan ha vist que els ordinadors no arrencaven, li ha vingut una suor freda, no tant com la meva-, aquestes actualitzacions les deixarem per quan faci bon temps i no volin per allà ni infants ni finals d'avaluacions, matinet a la bona hora.

    Molt bon cap de setmana,
    Joan



    Editat per jcompte el 13/Mar/2015 - 18:59.
  • Tinc un problema:

    Vaig tornar a reinstal·lar l'ordinador que va tenir problemes (vegeu post anterior).

    Ara, quan vaig a connectar amb ell, em posa un missatge d'advertiment i el desconnecta:
    https://dl.dropboxusercontent.com/u/7315496/Imatges/Imatges%20Intranet/CSSH%20rebuig.png

    Al terminal posa:

    Code

    super@info-03:~$ cssh super@192.168.0.9
    Warning: Tried to connect to session manager, Authentication Rejected, reason : MIT-MAGIC-COOKIE-1 authentication rejected
    192.168.0.9  session closed
    super@info-03:~$

    Com puc fer per tornar a establir aquest ordinador a cssh?

    Joan
  • Hola Joan,

    Aquest missatge és normal, t'està dient que la clau de l'ordinador amb aquella IP ja és la mateixa.

    Has d'executar l'ordre que et diu al missatge:
    ssh-keygen -f "...

    Després d'executar aquella ordre ja podràs connectar.

    Salut.

    Projecte Linkat
  • 0 usuaris

Aquesta llista mostra els usuaris actius durant els darrers 20 minuts.