Ulimit Ayarı (too many open files)
Kepubify ile büyük bir epub dosyasını kepuba çevirirken too many open files şeklinde bir hata alıp başarısız oluyordum. Epub en nihayetinde bir arşiv dosyası ve büyük ya da düzgün hazırlanmamış bir epub dosyasının içinde ciddi anlamda fazla sayıda dosya bulunabiliyor. Benim dönüştürmeye çalıştığım epub dosyasının içerisinde de 100lerce dosya olmasından ve uygulamanın bu dosyaların hepsi üzerinde işlem yapmaya çalışmasından dolayı işlem başarısız oluyordu. Çözümüyse aslında oldukça basit; ulimit parametresini artırmak. Linux bir işlemin belirli sayıda dosya açmasına izin veriyor ve bunun üzerine çıkmaya çalışan bir uygulama olursa engel oluyor.
Geçici Çözüm
Çözümüne gelecek olursak, ben kalıcı olarak bu ayarı değiştirmek istemediğimiden geçici bir çözümle hallettim sorunumu. Terminal üzerinden
komutunu çalıştırarak o anki mevcut terminal oturumunda bu limiti artırabiliyoruz ve mevcut terminal üzerinden açacağımız uygulamalar da bu limite göre çalışmış oluyor. Sayıyı kendinize göre ayarlayabilirsiniz.
Bir şeyleri değiştirmeden önce mevcut ayarınızı kontrol etmek isterseniz ulimit -n komutunu kullanabilirsiniz.
Kalıcı Çözüm - 1
Kalıcı çözümlere gelecek olursak da (ben denemedim): /etc/sysctl.conf dosyasını açıp içerisini aşağıdaki satırı eklemeniz gerekiyor (sayıyı kendinize göre ayarlayarak)
daha sonra kaydedip çıkabilirsiniz. Bu değişikliği devreye almak için yönetici olarak sysctl -p komutunu çalıştırmanız gerekiyor.
Eğer sysctl: permission denied on key ‘fs.file-max’ hatası alırsanız, üstteki yöntemi atlayıp bir sonraki yöntemi deneyebilirsiniz.
Kalıcı Çözüm - 2
/etc/security/limits.conf dosyasını açın ve içerisine aşağıdaki satırları ekleyin:
daha sonra /etc/pam.d/common-session dosyasını açarak aşağıdaki satırı ekleyin:
dosyayı kaydedip oturumunuzu kapatın ve tekrar giriş yapın. ulimit -n ile ayarlarınızı test edin.