Bir Linux sistemini kapatırken, doğru süreci izlemek çok önemlidir.
Şayet bunu doğru yapmazsanız, dosya sisteminiz değersiz bir çöp
yığınına dönebilir. Bunun sebebi, Linux'un bir kerede doğrudan değil de
daha sonra yazan (write-back) bir disk önbellekleme sistemine
sahip olmasıdır. Bu performans artışı sağlamakla birlikte bazı
problemleri de yanında getirmektedir. Şayet bir kapris anında
enerjiyi keserseniz, önbellekte bulunan ama henüz diske yazılmamış
olan bütün bilgiler yok olup gidecektir.
Başka bir sebep de, galeyana gelip artalanda çalışan pek çok programın
olduğu, çok işlevli bir sistemin açma/kapama düğmesine vurursanız, bu
tam bir yıkım olabilir. Sistemi uygun bir şekilde kapatarak, artalanda
çalışan bütün programların verilerini kurtardığından emin olabiliriz.
Bir Linux sistemini kapatmak için gereken komut
shutdown'dır
[126].
Genellikle bunu yapmak için iki yoldan birisi kullanılır.
Tek kullanıcısı olduğunuz bir sistemde alışılmış yöntem: çalıştığınız
bütün programlardan çıkmak, bütün sanal konsollardan çıkıp, root
kullanıcı olarak tekrar girmek (şayet hali hazırda root olarak
bağlıysanız orada beklemek - ama kök dizininin veya root'un
ev dizininin (/root dizini) dosya sistemlerinin
ayrılması sırasında bir sorunla karşılaşmasını önlemek için, o
dizinlerden başka dizinlere geçin) ve daha sonra
shutdown -h now komutunu verin (now
parametresi yerine bir artı işaretiyle birlikte dakikaları belirten
sayılar da kullanabilirsiniz. Böylece, genellikle tek kullanıcılı
bir sistemde olmasanız bile kapanma işlemi istenen süre kadar
ertelenmiş olur).
Alternatif olarak shutdown -h +süre uyarı komutunu
kullanabilirsiniz. süre sistemin ne kadarlık bir
süre sonra kapatılacağını, uyarı ise ne sebeple
kapatılacağını belirten küçük bir uyarı metnidir.
# shutdown -h +10 'Yeni bir disk ekliyoruz. Sistem 3 saat kapalı kalacak.'
#
Bu herkesi, sistemin 10 dakika sonra kapatılacağını ve verilerini
kaybedebilecekleri konusunda uyarır. Bu uyarı X uçbirimleri dahil
birilerinin bağlı olduğu bütün uçbirimlere gönderilir. Ve birkaç
kez daha uyarı gider. Kapanma anı yaklaştıkça uyarılar sıklaşır.
Broadcast message from root (ttyp0) Wed Aug 2 01:03:25 1995...
Yeni bir disk ekliyoruz. Sistem 3 saat kapalı kalacak.
The system is going DOWN for system halt in 10 minutes !!
Erteleme süresi sonunda gerçek kapatma işlemi başlayınca; kök
dosya sistemi hariç bütün dosya sistemleri ayrılır, halen bağlı
kullanıcı olsa bile bütün kullanıcı süreç ve programları
öldürülür, artalan süreçleri kapatılır, bütün dosya sistemleri
ayrılır ve her şey tatlıya bağlanmış olur. Bu yapılırken,
init makineyi kapatabileceğinizi söyleyen
bir mesaj yayınlar. Bundan sonra yapmanız gereken tek şey
parmağınızı enerji düğmesine dokundurmaktır.
Bazen, nadiren iyi sistemlerde bile, düzgün bir kapanış yapmak
mümkün olmaz. Örneğin; şayet çekirdek paniklemişse, çöker ve
hatalı davranmaya başlar, bu durumda yeni bir komut vermek
imkansız olabilir. Düzgün bir şekilde kapatmanız mümkün
olmayınca yapabileceğiniz tek şey, başınıza kötü bir şey
gelmemesini ummak ve sistem enerji düğmesine basmaktır.
Şayet sorun biraz daha büyükse (örneğin birisi baltası ile
klavyenize vurduysa) ve çekirdekle update halen
düzgün bir şekilde çalışıyorsa, update'in
işlevini yapması ve önbellekte bulunan bilgileri yazılmaya
zorlaması için birkaç dakika beklemek daha uygun olacaktır.
Ondan sonra enerjiyi kesebilirsiniz.
Bazı insanlar sync komutunu 3 kere ard arda
kullanıp disk G/Ç'larının bitmesini bekleyip sistemi kapatmayı
tercih ederler. Şayet çalışan bir program yok ise bu işlem
shutdown komutu ile aynı işi yapmış olur.
Bununla beraber bu işlem sırasında dosya sistemleri ayrılmadığı
için ext2fs "temiz dosya sistemi" bayrağı ile ilgili hatalar
ortaya çıkabilir. Bu nedenle üçlü sync komutu ile
sistemi kapatmak tavsiye edilmez.
(Bilgi: Üçlü sync'in sebebi, komutların ayrı ayrı yazıldığı
Unix'in ilk zamanlarında disk G/Ç işlemlerinin bitmesi için
yeterli zamanı kazanmaktı.)