'ipucu' Kategori'sine ait arşiv.
CPAN: test had returned bad status, won’t install without force
CPAN üzerinden herhangi bir modül yüklerken aşağıdaki hatayı alıp test aşamasında takılıyorsanız:
make test had returned bad status, won’t install without force
Öncelikle force installation deneyebilirsiniz:
# perl -MCPAN -e 'force install modül::ismi'
Bu da işe yaramıyorsa, aşağıdaki şekilde test aşamasını atlayarak kurulumu gerçekleştirebilirsiniz:
# cd ~/.cpan/build/modul-ismi/ # make install
Bu şekilde sorun kalmaması gerekir.
htaccess combiner ile Apache Performance Tunning
Apache üzerinde performansa direk etkisi olan en önemli konulardan birisi de “AllowOverride” direktifi ile devreye alınan htaccess kullanımıdır. Directory ya da vhost bazlı yapılandırma işlerinde oldukça kolaylık sağlayan bir özellik olmasına rağmen, bilindiği gibi AllowOverride direktifi None dışındaki bir değere set edildiğinde, apache kök dizini ve tüm alt dizinlerde .htaccess dosyası arayıp genel yapılandırmayı override edecek herhangi bir yapılandırma direktifi olup olmadığını kontrol eder. Özellikle çok sayıda alt dizinden oluşan bir klasör yapısı olan durumlarda performansa doğrudan etkisi olur.
Yukarıda bahsettiğim bu nedenden ötürü apache ile ilgili performans tavsiyelerinde mümkünse htaccess kullanımından tamamen kaçınılması, bunun yerine .htaccess içerisinde tanımlanması gereken direktifleri doğrudan ana yapılandırma dosyasında Directory blokları içerisinde belirtilmesi önerilmektedir. Elbette ana yapılandırma dosyalarına erişemeyen vhost sahipleri için AllowOverride direktifini kullanmanız elzem olabilir ancak böyle bir ihtiyaç yoksa bu direktifi None yapabilir ve apache’nin bahsi geçen .htaccess arama işi ile uğraşmasının önüne geçebilirsiniz.
Yazının başlığında bahsettiğim htacess combiner da sunucunuzda halihazırda htaccess dosyaları olması durumunda (örnek olarak birden çok wordpress, drupal vs. gibi cms yayınlanıyorsa), tüm htaccess içeriklerini okuyarak hepsini kombine eden ve ana yapılandırma dosyanıza (httpd.conf vs.) ekleyebileceğiniz hale getiren bir shell script. https://gist.github.com/colinmollenhour/459311 adresinde yayınlanan bu scripti web sunucunuzun en üst dizininde çalıştırdığınızda aynı dizinde .htaccess-combined isimli bir dosya oluşturarak sunucudaki tüm .htaccess dosyalarının içeriğini doğru syntax ile bu dosyaya yazıyor. Bahsi geçen bu içeriği ana yapılandırma dosyanıza ekleyip, AllowOverride direktifini de None yaparsanız (apache restart sonrası) sunucu üzerinden yük almış oluyorsunuz.
GPG Anahtarlarının Taşınması / Export – Import
Veri şifreleme / imzalama işleri için GnuPG kullanıyorum ve (sık olmamakla birlikte) bazen anahtarlarımı bir bilgisayardan diğerine taşımam icap edebiliyor. Normalde gpg için kgpg vs. gibi bir frontend kullanıyorsanız anahtarların export/import işleri gui üzerinden kolaylıkla yapılabiliyor. Ancak bir masaüstü ortamınız yoksa aynı işi komut satırından yapmak için aşağıdaki native yöntem kullanılabilir.
Bu yöntemde public ve private key’i export edip transfer etmeden önce şifreliyoruz. Özel anahtar şifreli olduğundan dolayı da doğrudan erişilebilir olmuyor.
apache: password protected bir alanda dosya / dizin exclusion
Başlık pek yeterli olmadı ancak .htaccess (ya da temel conf dosyaları) üzerinden mod_auth kullanılarak kimlik doğrulaması yapılan herhangi bir web dizininiz varsa ve bu dizindeki herhangi bir dosya ya da dizine kimlik doğrulamasına gerek kalmadan erişilmesini istiyorsanız, bahsi geçen bu dizin ve dosyaları genel şifrelemeden hariç tutmak isteyebilirsiniz. Bu gibi hariç tutma işleri şu şekilde yapılabilmektedir:
inxi – Hardware Bilgilerinin Detaylı Olarak Raporlanması
Daha önce sistem bilgilerinin raporlanmasına yönelik bir iki tool ile ilgili yazı yazmıştım. Bu gün ise yeni keşfettiğim inxi’den bahsetmek istiyorum. Inxi hemen tüm Linux distrosunda çalışabilen, df free gawk grep lspci ps readlink tr uname uptime wc, gibi komutları kullanarak donanımınızla ilgili detaylı rapor veren bir shell scriptidir.
Bir ekran görüntüsünü aşağıda görebileceğiniz gibi inxi ile donanımınız hakkında tüm bilgilere ulaşabiliyorsunuz. Ayrıca, her bir sistem bileşeni için ayrı genişletilmiş raporlar da almak mümküm oluyor.
FreeBSD – immutable flag ile write protection
FreeBSD sistemlerde şu ya da bu nedenle değiştirilmesini/silinmesini istemediğiniz dosyaları immutable olarak set edebilirsiniz. FreeBSD’lerde dosyaların permission’larına ek olarak kullanılabilen flag’ler bulunmaktadır. chflags komutu ile set edilebilen bu bayraklardan “schg” isimli olanı, set edilen dosya ya da dizinin root dahil kimse tarafından silinememesini ya da değiştirilememsini sağlamaktadır.
Örnek olarak, / altındaki test isimli dosyaya ilgili flag’i set etmek için aşağıdaki komutu kullanabilirsiniz.
# chflags schg /test
Böylece ilgili dosya silinemeyecektir:
# rm -f /test rm: /test: Operation not permitted
Bir dosyanın immutable flag’inin (ya da diğer herhangi bir flag’in) set edilip edilmediğini ls komutuna o parametreti geçilerek görülebilir.
# rm -f /test -rw-r--r-- 1 root wheel schg 6 Jan 26 22:24 /test
Daha önceden set edilmiş flag’leri kaldırmak için ise chflags komutuna 0 parametresini geçebilirsiniz:
# chflags 0 /test
immutable ve diğer flag’ler ile ilgili detaylı bilgiye:
http://www.freebsd.org/doc/handbook/permissions.html adresinden erişebilirsiniz.
Wget – Oracle Java Direct Download
Oracle’ın sitesinden herhangi bir java paketini komut satırından wget vs. ile indirmek, download işlemine ancak lisans anlaşmasının kabul edilmesiyle izin verildiği için mümkün olmuyor. Çünkü, lisans anlamşasını kabul ettiğinizi belirten check box’ı işaretlediğiniz zaman bu bilgi bir cookie’ye atanıyor ve download linkleri ancak o durumda geçerlilik kazanıyor.
Bu cookie meselesini atlatıp wget üzerinden direct download yapabilmek için wget satırına cookie bilgisini de vermeniz gerekiyor.
Yum Komutları ve Kullanımı
Yum basit söz dizimi nedeniyle en kullanışlı paket yöneticilerinden birisi. Bu yüzden bu yazıda, yum’ın temel ve sık kullanılan şekillerine değinmek istiyorum.