12 Mart 2006

Bir kaç izin meselesi

İki adet gentoo linux kurulu ve çok sevdiğim makine var elimde, sunuculuk yapıyorlar kendileri. Övünmek gibi olmasın, bir yıla yakın bir zaman boyunca ikisi de açık durdular. Bu süre zarfında gentoo'da çok şey değişti, devfs'ten udev'e geçmek gibi köklü bir değişim oldu. Sunucuların kapanma zamanı geldiğinde hem çekirdekteki devfs desteğini çıkarmak, hem de diğer güncellemelerden faydalanmak için bir de çekirdek güncellemesi yaptım. Güncellemeler ve yeniden başlatma başarılı geçti, mutlu mesut gidiyorduk.

Ancak ufak tefek bir kaç sorun gözüme çarptı. SSH sunucusunun tuttuğu kayıtlarda, sisteme ssh ile her giriş yapanın arkasından şöyle bir hata düşülüyordu;
error: open /dev/tty failed - could not set controlling tty: Permission denied
Ayrıca çok faydalı bir program olan screen'i sıradan bir kullanıcı olarak çalıştırmaya çalıştığımda aşağıdaki hatayı verip kapanıyordu, root iken böyle bir sorun olmuyordu.
No more PTYs
Could not find a PTY
Ve işin ilginç yanı makinalardan sadece birinde oluyordu bu hatalar, diğeri gayet sorunsuzdu.

Elimde birbirine benzer iki makine olduğu için deneme ve karşılaştırma imkanım vardı. Her sorunla karşılaşanın yapması gerektiği gibi, verilen hata mesajlarını Internette arattım. Forumlarda ve e-posta listelerinde ipuçları buldum. Sorunun kaynağı aygıt dosyalarının izinleriydi. Bir şekilde güncelleştirmeler sırasında izinlerde bir sorun çıkmıştı, ve bu sorun sadece bir makinada olmuştu. Çözümü de şuydu; /dev/tty ve /dev/ptmx dosyaları herkesin yazabileceği şekilde durmalıydı. Hemen bir chmod
chmod a+rw /dev/tty /dev/ptmx
Ve sorunlar kaybolur...

Yeri gelmişken bir screen sorununun daha çözümünden bahsedeyim. Normalde vim ile bir dosyayı düzenledikten sonra çıktığınızda, vim'e girmeden önceki komut satırını aynen bulursunuz. Ancak vim'i screen altından çalıştırdığınızda, komut satırının önceki görünümü geri gelmez ve vim ile düzenlediğiniz dosyanın son görünen kısmı ekranda kalır. Bunun çözümü de ~/.screenrc dosyasına
altscreen on
satırını eklemek. Açıkçası bu değişikliğin neler yaptığına bakmadım, screen'in e-posta listelerinden bulduğum bir çözüm ve çalışıyor :)

Hiç yorum yok: