Impossibile installare nuovi plugins: la struttura necessita di pulizia

Ciao, quando aggiungo il plugin delle reazioni o il plugin di traduzione nel file containers/app.yml e provo a ricompilare l’app, ottengo il seguente output. Stranamente, anche con una frase in olandese nel messaggio di errore.

Assicurazione che il launcher sia aggiornato
Recupero di origin
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Aggiornamento del launcher...
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Aggiornamento da 333b879 a f982cc4
warning: unable to access '.git/info/attributes': Structure moet worden opgeschoond
warning: unable to access '.git/info/exclude': Structure moet worden opgeschoond
error: Le tue modifiche locali ai seguenti file verrebbero sovrascritte dall'unione:
        image/base/Dockerfile
        image/base/install-gifsicle
        image/base/install-imagemagick
        image/base/install-nginx
        image/base/install-pngcrush
        image/base/install-pngquant
        image/base/install-redis
Effettua il commit delle tue modifiche o mettile in stash prima di eseguire l'unione.
Abortito
aggiornamento fallito
Launcher aggiornato, riavvio in corso...

E questo si ripete all’infinito finché non premo CTRL+C.

Probabilmente sto facendo qualcosa di sbagliato. Ho provato a aggiornare tutto all’ultima versione, ma senza successo.

C’è qualche altra informazione che posso fornire? C’è una procedura di pulizia che potrei provare e poi tentare di installare di nuovo i plugin?

Hai aggiunto le due righe per clonare quei plugin e hai eseguito

 ./launcher rebuild app

?

Ciao, ho seguito questa procedura.

La sezione dei plugin del file containers/app.yml:

## I plugin vanno qui
## vedi https://meta.discourse.org/t/19157 per i dettagli
hooks:
  after_code:
- exec:
    cd: $home/plugins
    cmd:
      - git clone https://github.com/discourse/docker_manager.git
      - git clone https://github.com/paviliondev/discourse-locations.git
      - git clone https://github.com/discourse/discourse-sitemap.git
#          - git clone https://github.com/discourse/discourse-reactions.git
      - git clone https://github.com/discourse/discourse-translator.git

L’ho provato di nuovo ora, con lo stesso ciclo di output che si ripete all’infinito.

Ehi Jay, hai qualche idea su questa? C’è qualcosa che potrei fare per fornire più informazioni?

Scusa. Non mi è saltato subito all’occhio nulla. Potresti aver bisogno di due spazi prima di - exec (o forse è stato incollato in modo errato?). Non è un errore che riconosco o che mi aspetterei di causare quel problema. … Sì. Forse ti servono 4 spazi prima di - exec e altri 2 prima del resto. Potresti rinominare il tuo app.yml e rieseguire discourse-setup, quindi copiare e incollare con cura la riga discourse_docker e modificarla per includere i plugin aggiuntivi.

Se vuoi risolvere il problema pagando, consulta Redirecting… o Redirecting… e posso dare un’occhiata.

Ho provato il tuo suggerimento e penso di aver ottenuto qualcosa eseguendo discourse-setup. Ho ricevuto questo:

WARNING: Discourse richiede almeno 2GB di swap quando si esegue con 2GB di RAM o meno. Questo sistema non sembra avere spazio swap sufficiente.

Senza spazio swap sufficiente, il tuo sito potrebbe non funzionare correttamente e i futuri aggiornamenti di Discourse potrebbero non completarsi con successo.

Ctrl+C per uscire o attendere 5 secondi per creare un file swap da 2GB.
install: impossibile accedere a '/swapfile': Struttura deve essere ripulita
fallocate: impossibile aprire /swapfile: Struttura deve essere ripulita
mkswap: impossibile aprire /swapfile: Struttura deve essere ripulita
swapon: impossibile aprire /swapfile: Struttura deve essere ripulita
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Creazione swap fallita: sei root? Stai eseguendo su hardware reale o su un server completamente virtualizzato?

free indica che non c’è swap disponibile sul mio VPS. Strano, non l’avevo mai avuto prima e il sito funziona comunque bene. Ho anche installato con successo dei plugin.

Devo ottenere lo swap o c’è qualche pulizia da fare?

Ho eseguito ./launcher cleanup. Non ha aiutato.

Ciò che mi incuriosisce è questa riga di errore in olandese:

Structure moet worden opgeschoond

Si verifica durante l’esecuzione di discourse-setup e quando si prova lo swap. E si presenta mentre si cerca di accedere a .git/info/grafts.

Quindi hai eliminato/rinominato il tuo app.yml e hai rieseguito la configurazione di Discourse, ma hai ancora ottenuto l’errore? È strano.

Non mi aspetterei che ./launcher cleanup sia d’aiuto. Quella comanda cerca solo di pulire le risorse Docker (principalmente).

Failed to create swap: are you root? Are you running on real hardware, or a fully virtualized server?

Ehi. Ecco una domanda: sei root? Sei su un server completamente virtualizzato?

L’hai installato molto, molto tempo fa?

Ma per questo caso sono praticamente a corto di idee.

OK, deve essere qualcosa legato al filesystem. Dai un’occhiata a questo: non riesco nemmeno a fare cd nella directory ‘info’:

root@skrzat:/var/discourse/.git# ls -al
ls: impossibile accedere a 'info': Struttura da pulire
totale 32
drwxr-xr-x   8 root root  198 mar 26 21:54 .
drwxr-xr-x  11 root root  246 gen  7 22:18 ..
drwxr-xr-x   2 root root    6 nov 13 11:43 branches
-rw-r--r--   1 root root  274 nov 13 11:43 config
-rw-r--r--   1 root root   73 nov 13 11:43 description
-rw-r--r--   1 root root    0 mar 26 21:53 FETCH_HEAD
-rw-r--r--   1 root root   23 nov 13 11:43 HEAD
drwxr-xr-x   2 root root  301 nov 13 11:43 hooks
-rw-r--r--   1 root root 7395 gen  7 22:18 index
d?????????   ? ?    ?       ?            ? info
drwxr-xr-x   3 root root   30 nov 13 11:43 logs
drwxr-xr-x 155 root root 4096 mar 24 15:13 objects
-rw-r--r--   1 root root   41 mar 26 21:52 ORIG_HEAD
-rw-r--r--   1 root root 1572 nov 13 11:43 packed-refs

drwxr-xr-x 5 root root 46 nov 13 11:43 refs

la cosa più strana sono tutti quei punti interrogativi.

Farò le mie ricerche, probabilmente non c’entra nulla con Discourse.

Ciao a tutti, ecco un aggiornamento su come ho risolto il problema.

Infatti era il filesystem XFS a essere gravemente danneggiato. Per ripararlo era necessario installare XFSprogs, ma non sono riuscito a farlo perché l’installazione tramite apt-get generava gli stessi errori.

Ho capito che installare i plugin e ricostruire l’applicazione è un’operazione che richiede molte risorse di memoria. Tuttavia, ho un forum di piccole dimensioni con un hardware sottostante limitato: 2 GB di RAM e 15 GB di spazio su disco. Non avevo lo swap abilitato e la mia ipotesi è che abbia riscontrato problemi di memoria perché ho dovuto riavviare il sistema più volte mentre cercavo di installare i plugin. Probabilmente non è stato bene per il filesystem, e XFS ha messo in atto delle protezioni, tra l’altro, anche sulla cartella GIT.

Quindi ho ripristinato un backup (fortunatamente su S3, quindi nessun problema da quel lato), ho fatto una copia del file app.yml, ho riavviato la VPS e ho configurato lo swap seguendo questa guida (VPS Debian). In meno di un’ora ho rimesso tutto in funzione. Un po’ di :sweat_smile:

E il plugin delle reazioni che volevo installare funziona alla grande!