Pazartesi, Kasım 4, 2024

2038 Yılı Sorunu için EXT4 Dosya Sistemi Nasıl Güncellenir?

yüksek çözünürlüklü linux görseli

Sistemin bize verdiği uyarı aşağıdaki gibi yani 1 Ocak 1970’de 00:00:00 UTC’den bu yana geçen saniye sayısı 2038’de dolacak ve 19 Ocak 2038 UTC 03:14:07’den sonraki saatlerde sistem bize boş boş bakacak.(Sistem o zamana kadar aynı kalıp kullanılır mı? orasını kimse garanti edemez.)

ext4 filesystem being mounted at /boot supports timestamps until 2038 (0x7fffffff)

Bu sorun aslında 32bit kullanımından kaynaklı geçerlilik süresi 2038’de doluyor hal böyle olunca da bir takım alanlarda hata görebiliyoruz. İlk olarak dosya sistemi bizi uyarıyor bu uyarıdan sonra uygulamalar uyarmaya başlayacak. 2038 yıl sorunu hakkında daha fazla bilgi almak isteyenler tıklayın

Bu durumu kontrol etmek için sistemde aşağıdaki komutu çalıştırmanız yeterlidir.

tune2fs -l /dev/sda1 | grep "Inode size:"

Bu direk olarak size Inode boyutunu dönecek boyut olarak 128 yazıyorsa sıkıntı çünkü 2038 yıl sorunu dosya sisteminizde var demektir.

2038 yıl sorunu olmayan Inode size’ı 256 olan tune2fs çıktımız.

root@ankara:~# tune2fs -l /dev/sda1
tune2fs 1.44.5 (15-Dec-2018)
Filesystem volume name:   <none>
Last mounted on:          /
Filesystem UUID:          b015ad21-ff3e-48a3-95e6-6d5890429dd9
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              9760000
Block count:              39968763
Reserved block count:     1604208
Free blocks:              37358012
Free inodes:              9628366
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Reserved GDT blocks:      277
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8000
Inode blocks per group:   500
Flex block group size:    16
Filesystem created:       Tue Aug 18 14:43:20 2020
Last mount time:          Thu Jun 24 15:13:17 2021
Last write time:          Thu Jun 24 15:13:16 2021
Mount count:              57
Maximum mount count:      -1
Last checked:             Tue Aug 18 14:43:20 2020
Check interval:           0 (<none>)
Lifetime writes:          1198 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
First orphan inode:       1034301
Default directory hash:   half_md4
Directory Hash Seed:      1c09ee01-778c-40d7-bf12-aa05891586a9
Journal backup:           inode blocks
Checksum type:            crc32c
Checksum:                 0x8e360349
root@ankara:~#

Çözüm için öncelikli olarak /boot alanını yedekleyelim.

cp -a /boot /mnt/backup-boot/

ve ardından doğru Inode boyutuyla yeniden biçimlendirelim.

umount /boot
mkfs.ext4 -I 256 /dev/sda1

en basit yolu seçmek istiyorum derseniz `e2fsck -f /dev/sda1 tune2fs -I 256 /dev/sda1`

sonrasında ise yedeklediğimiz her şeyi geri eski yerine atalım.

mount /boot
cp -a /mnt/backup-boot/boot/* /boot/

Bunlarla uğraşmak istemiyorsanız, sistemlerinizi hem donanımsal hem de yazılımsal olarak güncel tutmayı ihmal etmeyiniz.