MacPorts ve diğerleri

Homebrew hakkında çok güzel olduğunu iddia eden yazılar gördüm fakat adamakıllı bir kanıt göremedim ben. Homebrew’i aylar önce denedim ve kurduğum ilk gün 3 tane bağımlı paketin olmadığını görünce kırk takla atarak ports a göre döndüm. Kullanacağınız paket yöneticisinde paket zenginliği çok önemli. Kuracağınız paketlerin bağımlılığının olması doğaldır.  Paket yöneticisi seçiminde paket zenginliği en önemli konulardan birisidir.

MacPorts çok yetenekli, neden macports un homebrew den daha üstün olduğunu gösterecek bir kaç örnek vereyim.

Zenginlik

Php 5.3 kullanıyorum, 5.4 ü de sistemime kurmak arada denemek istiyorum. Kullandığım bilgisayarda sudo port activate php54 ile version değiştirip, çalışmayan yer olup olmadığını test edip, herşey düzgün ise sunucuyu da 5.4 e yükseltebiliyorum. Eğer sorun varsa sudo port activate php53 ile önceki versionu aktif edebiliyorum. Aynı şey python veya diğer paketler için de geçerli.

Stabilite

Diyelim ki php5 paketini kurdum. php5 son stabil versiyona linklidir. Yani 5.3 stabil iken 5.3 e linklidir. 5.4 stabil olmuş ise 5.4 e otomatik yükseltilir ve 5.3 sisteminizden kaldırılmaz! Önemli nokta burası. Sistemi güncellediniz, sorun çıktı sudo port activate php53 ile geri dönebilirsiniz.

Ports /opt/local altına kurulur, MacOSX ile birlikte gelen hiç bir uygulamanıza karışmaz, dokunmaz. Kaldırmak istediğinizde de yardım bulması çok kolay.

Sistem Bakımı

Kolay sistem bakımı sağlar. port installed |grep -v “active” ile aktif olmayan paketlerin listesini alıyorsunuz. Baktınız hiç birisi işinize yaramıyor ve bir daha da kullanmayacaksınız. sudo port uninstall inactive ile hepsini kaldırıyorsunuz.

Upgrade / Downgrade

sudo port selfupdate ile sistem veritabanını günceller ve yeni versionları kurarsınız. Debian’daki apt-get update e eşittir. Sorun ile karşılaşırsanız zaten kurulmuş olan eski versionu güncellemek için sadece activate etmeniz yeterli.

Örneğin sunucunuzda php 4.4.9 gibi çok eski bir version var. Karşılaştığınız hatayı kullandığınız bilgisayarda görmek istiyorsunuz. “sudo port install php4 @4.4.9” yazıyorsunuz ve php4 ün 4.4.9 versionu u Macintosh’unuza MacPorts aracılığıyla kuruluyor. Hatayı kendi bilgisayarınızda tekrarlayıp, çözüp commit ediyorsunuz.

Dökümantasyon

En önemli noktalardan biridir dökümantasyon. port help yazıyorsunuz ve şöyle bir çıktı alıyorsunuz (sadece bir kısmı bu).

Supported actions
——————
activate, archive, archivefetch, build, cat, cd, checksum, clean, configure,
contents, deactivate, dependents, deps, destroot, dir, distcheck, distfiles,
dmg, dpkg, echo, edit, exit, extract, fetch, file, gohome, help, info,
install, installed, lint, list, livecheck, load, location, log, logfile,
mdmg, mirror, mpkg, notes, outdated, patch, pkg, platform, portpkg,
provides, quit, rdependents, rdeps, rev-upgrade, rpm, search, select,
selfupdate, setrequested, space, srpm, submit, sync, test, unarchive,
uninstall, unload, unsetrequested, upgrade, url, usage, variants, version,
work

Bunlar sadece action lar. Yani alt komutlar ile bir çok işlem yapabilirsiniz. Daha fazla detay isterseniz kocaman man sayfaları var. homebrew de yardım ı çalıştırınca websitesine yönlendiriyor, ne saçmalık! İnternetim yoksa dökümanım da mı olmayacak?

İnternette Macports’a çok haksızlık ediliyor. Bir sisteme kötü demek için yaşanan problemlerin diğer insanların da yaşayıp yaşamadığına bakmak lazım. Bazı sorunlar “kullanıcı” kaynaklıdır.

MacPorts kullanıyorum, mutluyum. Stabil, başağrısız, bol paketli, güzel dökümantasyonlu bir paket yöneticisi arıyorsanız homebrew, fink gibi atraksyonlara girmenizi hiç tavsiye etmem.

 

2 Yorum Yapıldı

Metin Amiroff

Eline saglik. Vagrant kullaniyorum, mutluyum. Mac'te sadece editor ve virtualbox kurulu. sudo port install php4 @4.4.9 iyi trickmis ama... Debian'daki karsiligini merak etmedim degil...

irfan

Vagrant'ı hiç duymamıştım, web için güzel seçenek görünüyor. php4 @4.4.9 küçük bir örnek, böyle çok fazla trick var (: Debian'da paketi edindikten sonra dpkg -i foo.deb ile kurup update-alternatives ile hangisini istiyorsan onu default atıyorsun. Ama çok temel paketlerde veya paketi edinmeden yapılabiliyor mu bilmiyorum. apt-get ve port (kullandığım kadarıyla) neredeyse aynı yeteneklere sahip. Sadece komutlar değişiyor.

Yorum eklemek için çok geç, 05-11-2013 tarihinde yoruma kapatıldı.