/etc/fstab Önyükleme Hatası: Acil Durum Modu ve journalctl | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

journalctl ile /etc/fstab Önyükleme Hatası Nasıl Düzeltilir

Seviye: Başlangıç / Orta
Tahmini süre: ~15 dakika
Amaç: Sistemin açılmasını engelleyen bir /etc/fstab hatasını belirlemek ve düzeltmek için journalctl ile sistem günlüklerini analiz etmek.

Giriş

/etc/fstab dosyasındaki basit bir sözdizimi hatası, sunucunun açılmasını engelleyebilir ve sizi acil durum bakım kabuğuna (emergency shell) düşürebilir. Kurtarma için hatanın tam noktasını belirlemek üzere sistem günlüklerini analiz etmeniz gerekir. Bu eğitimde systemd journal'ını sorgulamak ve Linux'un önyükleme sırasında ürettiği sistem günlüklerini görüntülemek için journalctl kullanacağız. systemd günlüklerini anlamak, hızlı kurtarma ve hizmetleriniz için yüksek erişilebilirlik sağlayan Linux günlük yönetimi açısından kritik bir beceridir. Hataya neden olan bağlama noktasını bulmak için temel journalctl komutlarına aşina olmak gerekir.

Linux günlük yönetimi ve günlükleme yığını

Kurtarmaya geçmeden önce ilgili bileşenleri anlamak önemlidir. Systemd (Linux'un init sistemi ve hizmet yöneticisi), Systemd-journald'ı (günlük verilerini toplayan ve depolayan sistem hizmeti) kullanır. Bu hizmet her günlüğü (log) (sistemde gerçekleşen olayların kaydı) Journal içinde (Systemd-journald tarafından saklanan ikili biçimdeki günlük verileri) toplar. Bunlar arasında sistem günlükleri (sistem genelindeki olayların ve durum değişikliklerinin kayıtları), önyükleme günlükleri (sistem başlatma sürecinin kayıtları) ve çekirdek günlükleri (işletim sisteminin çekirdeği tarafından üretilen mesajlar) bulunur.

Yapılandırmanıza bağlı olarak bunlar geçici günlükler (bellekte tutulan ve yeniden başlatmada kaybolan günlükler) veya kalıcı günlükler (sistem yeniden başlatmalarından sonra da korunan, genellikle diskte saklanan günlükler) olabilir. Journal sürekli büyür; bu nedenle günlük döndürme (disk alanından tasarruf etmek için eski günlük dosyalarını arşivleme ve yönetme süreci) systemd tarafından otomatik olarak yürütülür.

Ön koşullar

Başlamadan önce aşağıdaki koşulların karşılandığından emin olun:

  • İşletim sistemi: Ubuntu 22.04/24.04 LTS, Debian 12/13, AlmaLinux/Rocky 9/10 üzerinde test edilmiştir
  • Erişim: Acil durum kabuğuna ulaşmak için doğrudan konsol erişimi (IPMI, VNC veya fiziksel konsol)
  • Gerekli bilgi: Linux komut satırının rahat kullanımı ve temel metin düzenleme

Info

Varsayılan Ubuntu ve Debian kurulumlarında root hesabı kilitlidir. sudo passwd root komutuyla önceden bir root parolası belirleyin; aksi hâlde acil durum moduna giriş yapamazsınız.
VPS örnekleri çoğunlukla root kullanıcısı varsayılan olarak etkin biçimde sunulur.

Adım 1: Önyükleme hatasını belirleme

/etc/fstab dosyasındaki bir sözdizimi hatası, yazım hatası veya eksik aygıt acil durum modunu tetikler, önyükleme sürecini durdurur ve aşağıdakine benzer bir mesaj gösterir:

Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode. Give root password for maintenance (or press Control-D to continue):

İstem satırına ulaşmak için root parolanızı girin. Bu aşamada bazı dosya sistemleri bağlanmamış veya yalnızca okunur olarak bağlanmış olabilir.

Adım 2: Linux'un ürettiği sistem günlüklerini görüntülemek ve analiz etmek için journalctl kullanma

Hatanın nedenini belirlemek için geçerli önyüklemenin günlüklerini kontrol etmemiz gerekir.

Aşağıdaki komutu çalıştırın:

sudo journalctl -xb

Burada Journalctl'ı (systemd journal'ını sorgulamak için kullanılan bir komut satırı aracı) kullanıyoruz. Bu, en temel journalctl komutlarından biridir. Araca geçerli önyüklemenin günlüklerini (-b) göstermesini ve ek açıklayıcı metin (-x) eklemesini söyler.

Çıktı çok büyük olabilir. Hatayı bulmak için günlük filtrelemesi (günlük çıktısını belirli ölçütlere göre daraltma işlemi) yapmamız gerekir.

Sayfalayıcı (less kullanır) içinde arama yapmak için /fstab veya /mount yazıp Enter'a basın.

Beklenen çıktıdan bir kesit:

-- Subject: A start job for unit mnt-data.mount has failed -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- A start job for unit mnt-data.mount has finished with a failure. -- -- The job identifier is 123 and the job result is failed.

Bu, /mnt/data bağlamasından sorumlu bir unit'in (systemd'de bir kaynağın nasıl yönetileceğini tanımlayan yapılandırma dosyası) başarısız olduğunu gösterir. Daha açık söylemek gerekirse, mount unit (systemd tarafından yönetilen bir sürece ilişkin bilgileri barındıran unit yapılandırma dosyası) başlatılamamıştır.

Tip

Bir sayfa aşağı inmek için boşluk tuşunu, günlük görüntüleyiciden çıkmak için q tuşunu kullanabilirsiniz.

Adım 3: Belirli hataları bulmak için systemd günlüklerini filtreleme

Tüm önyükleme günlüğünü kaydırmak çok yavaşsa, belirli filtreler kullanarak günlükleri journalctl ile analiz edebiliriz.

Yalnızca yüksek öncelikli hataları görmek için aşağıdaki komutu çalıştırın:

sudo journalctl -p err -b

Beklenen çıktı:

May 23 10:00:01 server systemd[1]: Failed to mount mnt-data.mount - /mnt/data. May 23 10:00:01 server systemd[1]: Dependency failed for Local File Systems.

Tip

Dependency failed for Local File Systems mesajı yalnızca önyükleme sırasında görünür; elle systemctl start çalıştırdığınızda görünmez.

Önceliğe (-p err) göre journalctl ile günlük filtrelemesi yaparak bilgilendirme mesajlarını eleriz.

Başarısız olan unit'in tam adını biliyorsak hizmet günlüklerini doğrudan kontrol edebiliriz. Şunu çalıştırın:

sudo journalctl -u mnt-data.mount

Günlükleri journalctl ile unit düzeyinde analiz ettiğinizde, yapılandırma sorununu tam olarak izole edersiniz. journalctl ile filtrelemenin bir başka yöntemi zaman aralığı belirtmektir; ancak önyükleme sorunlarında unit'e göre filtreleme en verimli yaklaşımdır.

Adım 4: /etc/fstab hatasını düzeltme

systemd journal'ı sorunun /mnt/data bağlama noktası olduğunu doğruladığına göre, yapılandırma dosyasını düzeltmemiz gerekir.

Önce dosyayı düzenlemeyi deneyin. Kaydederken Read-only file system hatası alırsanız, acil durum modu kök dosya sistemini sıklıkla yalnızca okunur bağladığı için kök dosya sistemini okuma-yazma olarak yeniden bağlamanız gerekir:

sudo mount -o remount,rw /

Ardından değişiklik yapmadan önce yapılandırma dosyasını yedekleyin:

sudo cp /etc/fstab /etc/fstab.bak

Sonra dosyayı açın (AlmaLinux, Rocky veya RHEL gibi RPM tabanlı sistemlerde nano varsayılan olarak kurulu olmayabilir; önce sudo dnf install -y nano ile kurun):

sudo nano /etc/fstab

/mnt/data satırını bulun (doğru UUID'yi blkid ile öğrenebilirsiniz):

UUID=1234abcd-56ef-78gh-90ij-klmnopqrstuv /mnt/data ext4 defualts 0 2

Yazım hatasına dikkat edin: defaults yerine defualts. Yazım hatasını düzeltin:

UUID=1234abcd-56ef-78gh-90ij-klmnopqrstuv /mnt/data ext4 defaults 0 2

Dosyayı kaydedip çıkın. Ardından systemd'nin /etc/fstab dosyasında yapılan değişikliklerden haberdar olması için systemd yöneticisi yapılandırmasını yeniden yükleyin:

sudo systemctl daemon-reload

Warning

/etc/fstab içindeki UUID'leri ve sözdizimini her zaman doğrulayın. Hatalı bir girdi, sistemin bir sonraki açılışta yeniden acil durum kabuğuna düşmesine neden olur.

Doğrulama

Yeniden başlatmadan önce /etc/fstab dosyanızın sözdizimini findmnt ile doğrulayın:

findmnt --verify

Hata bildirilmezse, bağlama noktasının çalıştığını doğrulamaya geçin:

Şunu çalıştırın:

sudo mount -a

Komut herhangi bir çıktı vermezse sözdizimi doğrudur ve bağlama başarılı olmuştur. Hâlâ bir hata varsa komut bir hata mesajı verir. Debian 13 ve AlmaLinux 10'da mesaj kesin nedeni belirtebilir (ör. Unknown parameter 'defualts'), ancak Ubuntu 24.04'te çıktı çoğunlukla geneldir (wrong fs type, bad option). Ubuntu'da ayrıntılar için sudo dmesg | tail çalıştırın.

Doğruladıktan sonra, önyüklemeye devam etmek için acil durum kabuğundan çıkın veya sistemi yeniden başlatın:

sudo systemctl reboot

Yeniden başlattıktan sonra, bağlamanın normal önyükleme sürecinde sorunsuz gerçekleştiğinden emin olmak için journalctl komutlarıyla hizmet günlüklerini yeniden kontrol edebilirsiniz:

sudo journalctl -u mnt-data.mount -b

Sorun giderme

  • Acil durum kabuğuna erişilemiyor: root hesabı kilitliyse ve acil durum kabuğuna erişemiyorsanız, sunucuyu bir Live USB veya kurtarma ortamıyla başlatmanız, kök bölümü bağlamanız ve /etc/fstab dosyasını doğrudan oradan düzenlemeniz gerekir.
  • UUID değişti: Bir bölümü biçimlendirdiyseniz veya bir diski değiştirdiyseniz UUID değişir. Yeni UUID'yi bulmak için sudo blkid kullanın ve /etc/fstab dosyasını buna göre güncelleyin.
  • Gerekli olmayan diskler için önyükleme hatalarını önleme: Kök veya sistem dışındaki birimler (yedekleme veya veri diskleri gibi) için /etc/fstab girdisine nofail bağlama seçeneğini ekleyin (ör. ext4 defaults,nofail 0 2). Bu, aygıt bağlanamasa bile systemd'ye önyüklemeye devam etmesini söyler.

Geri alma

Sunucu başarıyla açıldıysa ancak değiştirilen /mnt/data satırı uygulamalarda beklenmeyen davranışlara yol açıyorsa, /etc/fstab içinde satırı yorum satırına alarak bağlamayı geri alabilirsiniz:

sudo sed -i 's|^UUID=1234abcd-56ef-78gh-90ij-klmnopqrstuv /mnt/data|#UUID=1234abcd-56ef-78gh-90ij-klmnopqrstuv /mnt/data|' /etc/fstab

Sonra önceki durumu geri yüklemek için birimin bağlantısını kesin:

sudo umount /mnt/data

Sonuç

Etkili Linux günlük yönetimi, büyük ölçüde systemd günlükleri arasında nasıl gezineceğinizi bilmeye dayanır. journalctl ile Linux'un ürettiği sistem günlüklerini görüntüleyerek bunları verimli biçimde analiz edebilir ve /etc/fstab yapılandırma hataları gibi kritik önyükleme arızalarından kurtulabilirsiniz. Bu araçlarda ustalaşmak, erişilebilirliği korumanızı ve altyapınız genelindeki karmaşık sorunları teşhis etmenizi sağlar.

Belge sürümü: 1.0
Son güncelleme: Mayıs 2026
Sahibi: Teknik Dokümantasyon Ekibi

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA