Sejak kepindahan saya tahun lalu dari Slackware ke FreeBSD, saya tidak pernah mengalami kesulitan saat melakukan update/upgrade aplikasi FreeBSD via ports. Setiap hari saya lakukan update ports dengan tiga langkah berikut ini:
portsnap fetch update
portaudit -Fda
portmaster -a
Biasanya berjalan lancar tanpa campur tangan manual. Masalah terjadi saat Postfix merilis versi 2.6.2 dan Postfix yang terinstall diserver masih 2.6.1.
Saat melakukan upgrade ke Postfix 2.6.2 muncul masalah seperti dibawah ini:
===>>> Port directory: /usr/ports/mail/postfix ===>>> This port is marked IGNORE ===>>> wait for a new VDA patch that works with 2.6.2 ===>>> If you are sure you can build it, remove the IGNORE line in the Makefile and try again. ===>>> Update for postfix-2.6.1,1 failed ===>>> Aborting update
Sebenarnya bukan Postfix-nya yang bermasalah tapi aplikasi pendukungnya, yaitu patch Postfix VDA saat ini masih belum ada port-nya untuk versi 2.6.2. Jika tidak menggunakan patch ini tentu tidak akan bermasalah. Alasan saya menggunakannya adalah agar Postfix mampu membatasi kapasitas mailbox user (quota).
Saya kunjungi website Postfix VDA ternyata sudah ada patch untuk versi 2.6.2 ini tapi FreeBSD masih belum mengupdate ports-nya. Menunggu? Tidak, saya mau yang up-to-date! Googling dong, cari tau. Jangan nanya doang, basi! Nih jawabannya.
Oke, saya ikuti petunjuk diatas.
Edit file Makefile
di /usr/ports/mail/postfix
, saya menggunakan vi
, sesuaikan jika Anda menggunakan editor lain:
# vi /usr/ports/mail/postfix/Makefile
Cari bagian seperti ini:
.if defined(WITH_VDA) IGNORE= wait for a new VDA patch that works with ${PORTVERSION} PATCH_SITES+= http://vda.sourceforge.net/VDA/ PATCHFILES+= postfix-${PORTVERSION}-vda-ng.patch.gz
Nonaktifkan option IGNORE
pada baris 199 dengan memberi tanda pagar (#) didepannya sehingga akan menjadi seperti dibawah ini:
.if defined(WITH_VDA) #IGNORE= wait for a new VDA patch that works with ${PORTVERSION} PATCH_SITES+= http://vda.sourceforge.net/VDA/ PATCHFILES+= postfix-${PORTVERSION}-vda-ng.patch.gz
Setelah itu, download patch Postfix VDA versi 2.6.2:
# wget wget http://vda.sourceforge.net/VDA/postfix-2.6.2-vda-ng.patch.gz --2009-07-08 13:17:48-- http://vda.sourceforge.net/VDA/postfix-2.6.2-vda-ng.patch.gz Resolving vda.sourceforge.net... 216.34.181.96 Connecting to vda.sourceforge.net|216.34.181.96|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 12661 (12K) [application/x-gzip] Saving to: `postfix-2.6.2-vda-ng.patch.gz' 100%[================================================>] 12,661 10.5K/s in 1.2s 2009-07-08 13:17:51 (10.5 KB/s) - `postfix-2.6.2-vda-ng.patch.gz' saved [12661/12661] FINISHED --2009-07-08 13:17:51--
Kemudian periksa signature MD5 dan SHA256-nya serta ukuran filenya:
# md5 postfix-2.6.2-vda-ng.patch.gz MD5 (postfix-2.6.2-vda-ng.patch.gz) = 648f09acd31125c99d1bc36860e21910 # sha256 postfix-2.6.2-vda-ng.patch.gz SHA256 (postfix-2.6.2-vda-ng.patch.gz) = 2e49d9320a38d5d7ca246320127186cfacc3aced9a47aeced61151ee6eb620a4 # ls -l postfix-2.6.2-vda-ng.patch.gz -rw-r--r-- 1 root wheel 12661 Jun 16 18:58 postfix-2.6.2-vda-ng.patch.gz
Salin file postfix-2.6.2-vda-ng.patch.gz
ke /usr/ports/distfiles/postfix/
kemudian edit file /usr/ports/mail/postfix/distinfo
, tambahkan informasi MD5, SHA256 dan ukuran file patch tersebut diatas.
Sebelum:
MD5 (postfix/postfix-2.6.2.tar.gz) = 1f0edbd521d2b0473626f4d61e8bb4eb SHA256 (postfix/postfix-2.6.2.tar.gz) = 025acf080bbe279cbc6e8e6806ecd0f99af41c8ca384fcb2f7631988f73d5f7c SIZE (postfix/postfix-2.6.2.tar.gz) = 3323255
Sesudah:
MD5 (postfix/postfix-2.6.2.tar.gz) = 1f0edbd521d2b0473626f4d61e8bb4eb SHA256 (postfix/postfix-2.6.2.tar.gz) = 025acf080bbe279cbc6e8e6806ecd0f99af41c8ca384fcb2f7631988f73d5f7c SIZE (postfix/postfix-2.6.2.tar.gz) = 3323255 MD5 (postfix/postfix-2.6.2-vda-ng.patch.gz) = 648f09acd31125c99d1bc36860e21910 SHA256 (postfix/postfix-2.6.2-vda-ng.patch.gz) = 2e49d9320a38d5d7ca246320127186cfacc3aced9a47aeced61151ee6eb620a4 SIZE (postfix/postfix-2.6.2-vda-ng.patch.gz) = 12661
Setelah semuanya siap, lakukan upgrade.
# portmaster postfix
Beres dah..!
# /usr/local/etc/rc.d/postfix restart postfix/postfix-script: stopping the Postfix mail system postfix/postfix-script: starting the Postfix mail system # tail -f /var/log/maillog Jul 8 13:33:05 velosi postfix/postfix-script[6910]: stopping the Postfix mail system Jul 8 13:33:05 velosi postfix/master[6849]: terminating on signal 15 Jul 8 13:33:05 velosi postfix/postfix-script[6988]: starting the Postfix mail system Jul 8 13:33:05 velosi postfix/master[6989]: daemon started -- version 2.6.2, configuration /usr/local/etc/postfix
trims nya tas solusinya?
ada lg gk,solusi laenya?