FreeBSD Ports Reinstall – FORCE_PKG_REGISTER
Üzerinde FreeBSD çalışan sisteminizde, daha önceden ports collection üzerinden kurmuş olduğunuz bir paketin ek bir modülünü, eski kuruluma ait dosyaları silmeden üzerine yazmak sureti ile devreye almak isteyebilirsiniz. Bunun için gerekli düzenlemeleri yapıp ilgili ports dizininde “make install” komutunu çalıştırdığınız zaman aşağıdaki hatayı almanız muhtemeldir. |
An older version of lang/php5-extensions is already installed (php5-extensions) You may wish to ``make deinstall'' and install this port again by ``make reinstall'' to upgrade it properly. If you really wish to overwrite the old port of lang/php5-extensions without deleting it first, set the variable "FORCE_PKG_REGISTER" in your environment or the "make install" command line. *** Error code 1
MySQL Replication durumunu bir script ile check etmek
Bugün, HowtoForge‘da, Mysql master to master replication uygulamasının düzgün çalışıp çalışmadığını tespit edip durumu mail ile bildiren bir script uygulamasına ait güzel bir yazıya rastladım.
Eğer, Mysql sereverlarınız arasında master to master çalışan bir replikasyon uygulamanız varsa sürekli gözlem altında tutmak epey iyi bir fikirdir. Zira db replikasyon işleri, için oldum olası pis işler statüsündedir.
İşte nasıl yapıldığı:
Portsnap ile Süratli Ports Collection Güncellemesi.
Portsnap, FreeBSD’lerde port kurulumu ve güncellemesi için hızlı bir alternatif sunan güzel bir sistem. Ben genelde alışkanlıklarım nedeni ile bu işler için cvsup kullanan ve portsnap’a pek dokunmayan biriyimdir. Ancak bazı zamanlarda alışkanlıkların dışına çıkmak ve zaman kazanmak gerekebilir. İşte bu noktada portsnap tam da aradığınız bir yöntem olabilir.
Portsnap kısaca, FreeBSD ports collection’unun güvenli bir şekilde yayınlanmasını sağlayan bir sistem. Bu yöntem ile önceden oluşturulmuş güncel bir port ağacına ait snapshot’ı HTTP üzerinden sisteminize indirip kurabiliyorsunuz; ya da daha önceden kurulmuş port ağacını güncelleyebiliyorsunuz.
Kurulum ve kullanım:
Portsnap FreeBSD 6.0 ve daha yeni sürümlerde default olarak gelmektedir. Yani bu sürümleri kullanıyorsanız portsnap kurulumu yapmanıza gerek yok. Ben genelde 6.0 ve üzeri sürümleri kullandığım için portsnap kurulumuna detaylı bir şekilde değinmeyeceğim. Ancak eğer sisteminizde ports yüklü durumdaysa, /usr/ports/sysutils/ dizini altında portsnap ‘ı bulabilirsiniz. Bu dizinde make install clean demeniz kurulum için yeterli olur. Eğer FreeBSD’nin 6.0 öncesi bir sürümünü kullanıyorsanız ve ports sisteminizde yüklü değilse CD’den ports kurulumu için http://www.syslogs.org/2007/12/freebsd-62-kurulumu-part-v-ports-collection/ sayfasından yararlanabilirsiniz.
Portsnap’ın /etc/ dizini altında portsnap.conf isimli küçük bir configuration dosyası var. Aslen bu dosyada herhangi bir düzenleme yapmanıza gerek yok; default değerler ile sorunsuz çalışacaktır.
Qmail logs ve timestamp hadisesi.
Qmail log dosyalarının default tarih formatı ne kadar anlamsız değil mi ? Bu anlamsız format nedeni ile geçmişe yönelik bir mail aktivitesine ait bilgileri log dosyasında ararken ve özellikle tarih bilgisi de önem arz ediyorsa işiniz var demektir.
Multilog tarafından oluşturulan bu log dosyalarındaki, TAI64 isimli format kullanılarak üretilen timestamp’ler bir insan evladının bir bakışta okuyamayacağı kadar karmaşık olduğundan dolayı, bu bilgileri human-readable bir şekle dönüştürmeniz gerekmektedir.
Tai64 formatından, Human-Readable UTC formatına dönüştürme işini yapmak için daemontools paketinin içinde tai64nlocal isimli bir programcık bulunuyor. Bu programı kullanarak convert işlemini yapmak için log dosyasını track etmek için kullandığınız komutun (more, cat vs.) kıçına (pipe) | tai64nlocal ibaresini eklemeniz gerekiyor.
İşte şöyle:
Default timestamp içeren normal bir çıktı:
[root@hostname ~]# more logdosyası @400000004817b72606025e44 delivery 2: success: accepted_message./Remote_host_said:_250_ok @400000004817b726062f9094 status: local 0/10 remote 1/120 @400000004817b72606892dfc end msg 351 @400000004817b7260690c364 delivery 4: success: accepted_message./Remote_host_said:_250_ok @400000004817b7260699b85c status: local 0/10 remote 0/120 @400000004817b72606ce4964 end msg 362
Bu da human-readable hale dönüştürülmüş hali:
Greylisting
Greylisting, enteresan ve efektif bir spam ile başetme metodudur. Bu metod, gönderilen her bir mailin source ip’sini, gonderen e-mail adresini ve alıcı e-mail adresini kontrol ediyor. (Bu üç bilgiye triplet deniyor.) Eğer gönderilen bir maile ait bu üç bilgi daha önce rastlanılmamış bir triplet ise "geçici olarak servis dışı"ymış gibi davranarak ilgili maili reject ediyor ve "Daha sonra tekrar deneyiniz" şeklinde bir hata mesajı gönderiyor.
Server servis dışı olmadığı halde gönderilen maili geçici bir süre için reject etti. İşte greylist uygulamasının enteresan yönü bu.
Bu yalancı reject durumunun nedeni aslında çok basit; SMTP’nin standartların belirtildiği RFC 2821 uyarınca, bir mail geçici olarak reject edildiği zaman, gönderide bulunan MTA ya da maili gönderen uygulama bir müddet sonra aynı maili tekrar göndermek için teşebbüsde bulunur; bulunmuyorsa o mail spamdir.
Webmin – Web-Based Unix Management
Genellikle işin kolayına kaçmayı seven ve "İşimi görsün de gerisi önemli değil." şeklindeki yaygın bakış açısından kaçınan bir insanımdır. Zira yaptığım işle ilgili olarak ne yaptığımın, çalıştırdığım bir uygulamanın görevini yaparken ne yaptığının tam olarak bilincinde olmak isterim. Zannedersem *nix’lere olan ilgim de -açık olmalarından dolayı- bu tutumdan kaynaklanıyor. |
Ancak elbetteki bazı zamanlar istisnai durumlar olabiliyor. İşte Webmin de o istisnai durumlardan biri. Webmin normalde komut satırında ve konfigurasyon dosyalarını manuel olarak editlemek suretiyle yönetimini yaptığınız Unix türevi işletim sistemlerini ve üzerinde çalışan uygulamaları web arayüzlü olarak yönetmenizi sağlayan perl ile yazılmış bir araç. Hemen hemen her türlü yönetim faliyetini destekliyor olması nedeniyle de oldukça gelişmiş bir yazılım.
Her ne kadar bu tip daha az efor ve daha az bilgi ile işleri halleden araçlar insanı köreltse de bazı zamanlarda ve bazı uygulamalar için faydalı olabiliyor. (Daha az efor iyi bir şey olabilir ama bence daha az bilgi gerektirmesi, insanın daha fazlasını öğrenmek istemesinin nedenlerini törpüleyen bir durumdur.)
Neyse, bu kullanışlı ama alışkanlık haline getirilmemesi gereken yazılımı kurmak için öncelikli olarak sisteminizde Perl 5’in kurulu olması gerekiyor.
FreeBSD için kaynaktan kurulum adımları şöyle:
Webmin’i download edin.
# fetch http://prdownloads.sourceforge.net/webadmin/webmin-1.420.tar.gz (12MB) |
Dump Backup
FreeBSD’de dump ile örneğin /var’ın backup’ını almak icin komut şu şekilde.
dump -0L -f '/bla/bla.dump' -a '/var'
Switchler için, man dump.
Squid ile web sitelerini manupule etmek
Bugün üye olduğum bir mailing liste Ömer Barlas isimli bir arkadaşımız tarafından gönderilen ilginç ve eğlenceli bir fikir epey hoşuma gitti. Bir ara hayata geçirip işyerinde biraz eğlenmeyi düşünüyorum.
Aşağıdaki adresten detaylarına ulaşabileceğiniz bu eğlenceli durum, squid ve imagemagick kütüphanesini kullanarak , belirlediğiniz bir sitenin resim dosyalarını manupule ederek, siteyi ziyaret eden kişiye bozuk halleri ile göndermenizi sağlıyor. :)
http://www.serbestcagrisim.com/