martedì 30 agosto 2016

mount.nfs: mount system call failed

Nel caso vi si presenti questo errore, il metodo che ha maggior successo nel risolvere è specificare manualmente tutte le opzioni:

sudo mount -o vers=3,proto=tcp,nolock,noacl 192.168.0.9:/volume1/musica /media -v

naturalmente vers dovrà specificare la versione utilizzata e proto il protocollo corretto

specificare le opzioni per altro può aumentare nuotevolmente il tempo di mount (nel caso di fallback a seguito di timeout, non è passare da 15s di tempo di mount a meno di 1).

per testare i tempi di mount potete aggiungere un time davanti ai due comandi di mount:

time sudo mount -o vers=3,proto=tcp,nolock,noacl 192.168.0.9:/volume1/musica /media -v

time sudo mount 192.168.0.9:/volume1/musica /media -v

Se avete bisogno di listare o verificare quali nfs sono disponibile per il vostro client da un determinato server (utile anche in caso di problemi):

showmount -e 192.168.0.9



martedì 16 agosto 2016

Lista pacchetti installati con dimensione su debian/raspbian (raspberry)

Si trovano diversi comandi in giro per fare questa operazione, i due che mi sono piaciuti (funzionano e sono rapidi...) sono:

dpkg-query -W --showformat='${Installed-Size}\t${Package}\n' | sort -nr | less

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n


lunedì 8 agosto 2016

reset stampante via usb da linux

Editate un file usbreset.c con dentro questo:

/* usbreset -- send a USB port reset to a USB device */

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>

#include <linux/usbdevice_fs.h>


int main(int argc, char **argv)
{
    const char *filename;
    int fd;
    int rc;

    if (argc != 2) {
        fprintf(stderr, "Usage: usbreset device-filename\n");
        return 1;
    }
    filename = argv[1];

    fd = open(filename, O_WRONLY);
    if (fd < 0) {
        perror("Error opening output file");
        return 1;
    }

    printf("Resetting USB device %s\n", filename);
    rc = ioctl(fd, USBDEVFS_RESET, 0);
    if (rc < 0) {
        perror("Error in ioctl");
        return 1;
    }
    printf("Reset successful\n");

    close(fd);
    return 0;
}
compilate con:
 cc usbreset.c -o usbreset
date i permessi:

chmod +x usbreset
beccate le coordinate delle stampanti:

artexe@mryouen-kiosk:~$ lsusb
Bus 002 Device 002: ID 0dd4:015d Custom Engineering SPA
e resettate la stampante:

sudo ./usbreset /dev/bus/usb/002/002

venerdì 5 agosto 2016

mysql: elenco delle tabelle con spazio occupato

Per sapere quale tabella sta occupando più spazio nel vostro mysql:

SELECT table_name AS `Table` , round( ((data_length + index_length) /1024 /1024 ) , 2) `Size in MB`
FROM information_schema.TABLES
ORDER BY `Size in MB` DESC

giovedì 4 agosto 2016

forzare il controllo del filesystem al riavvio su linux (ubuntu ma anche gli altri!)

Le distro più recenti non permettono più il comando:

shutdown -rF now

ma basta semplicemente fare un

sudo touch /forcefsck

seguito dal comando di riavvio.

il sistema operativo al riavvio si accorge della presenza del file ed effettua un check (poi lo cancella).

Mi fanno però notare che se il filesystem non è scrivibile questo sistema potrebbe non funzionare per ovvi motivi...