Debian için bir uygulama geliştirdim ve equivs-build kullanarak .deb kurulum paketi hazırladım. Paket oluşturmak için kullandığım kontrol dosyasının bir postinst betiğini çalıştıran bir satırı var, setup.sh. Bu dosyada, aşağıdakileri içeren çeşitli yöntemler kullanarak kullanıcının giriş adını almaya çalıştım:
USER=$(logname)
USER=$(who am i | awk '{print $1}')
Bir terminal penceresinde kök olarak denediğimde bu yollar düzgün çalışıyor. Ne yazık ki, hepsi kurulum sırasında başarısız oldu ve kullanıcı adı "root" olarak alındı. Bu, komut dosyasındaki tüm yolların yanlış olmasına neden olur ve komut dosyası bir hatayla çıkar ve Yazılım Merkezinin bir hata mesajı göstermesine ve kurulumu durdurmasına neden olur.
Ancak, paketi aşağıdaki gibi yüklemek için dpkg kullanarak, uygulamam başarıyla yüklendi.
dpkg -i package-name
Peki, bu neden oluyor? Giriş adı doğru nasıl alınır?