Home > Linux > Kubuntu: halt mount: / is busy

Kubuntu: halt mount: / is busy

Ho installato Kubuntu 13.10 su un laptop HP DV6000.
Mi sono accorto che in fase di spegnimento, il pc va in
stallo, rimanendo bloccato sul messaggio:

mount: / is busy

indagando sui vari log, ho scoperto essere colpa di network-manager
che tiene bloccato il tutto, impedendo al sistema di completare lo
shutdown.

In effetti, se prima disconnetto la rete e poi spengo,
tutto va a buon fine.

Googlando ho scoperto essere questo un bug noto.
Intervenendo sui runlevel del sistema, si può automatizzare il
tutto con uno script, che viene lanciato poco prima dello spegnimento.

aprire un terminale:

kate connection_down.sh

e mettere il seguente codice:

#!/bin/bash
## the script put all network interfaces down before halt,
## except 'lo'

for x in /sys/class/net/*; do
  interface="${x##*/}"
  if [ interface!='lo' ]
    then
      sudo ifconfig $interface down
      echo "+++ $interface is down!" ## debug
  fi;
done

assegnare i permessi in esecuzione

chmod +x connection_down.sh

spostare lo script in /etc/init.d

sudo mv connection_down.sh /etc/init.d/

Ora i runlevels di linux:

Level Purpose
0 Shut down (or halt) the system
1 Single-user mode; usually aliased as s or S
2 Multiuser mode without networking
3 Multiuser mode with networking
4 Free
5 Multiuser mode with networking and the X Window System
6 Reboot the system

mi interessano lo spegnimento (0) ed il reboot (6).
Piccola parentesi:
Dentro ogni runlevel (da /etc/rc0.d ad /etc/rc6.d) i link agli script,
vengono eseguiti in ordine alfabetico, quindi dobbiamo linkare il nostro
script nelle directory specifiche, utilizzando un nome che venga chiamato
al momento giusto.

Siccome il “kill all remaining processes” durante la fase di shutdown, viene
eseguito nel file S20sendSIGS, e considerato il file S10* che si occupa
di unattended upgrades (la connessione deve essere ancora attiva),
chiameremo i link al nostro script con S11*, così varrà chiamato
a metà strada tra i due citati.

quindi:

sudo ln -s /etc/init.d/connection_down.sh /etc/rc0.d/S11connection_down

per lo shutdown e

sudo ln -s /etc/init.d/connection_down.sh /etc/rc6.d/S11connection_down

Questo è tutto.

Per controllare che tutto vada a buon fine, vedendo a video che non ci sia il messaggio
iniziale, modifichiamo il grub in modo da poter leggere quello che accade:

sudo kate /etc/default/grub

modifichiamo la riga

GRUB_CMDLINE_LINUX=”nosplash”

sudo update-grub

Allo spegnimento sembra tutto risolto.

Categorie:Linux Tag:
  1. aprile 12, 2014 alle 4:13 pm

    We are a group of volunteers and starting a new scheme in our community.
    Your site provided us with valuable information to work on.
    You have done an impressive job and our whole community will be
    grateful to you.

  1. gennaio 27, 2015 alle 1:28 pm

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: