Set IP ILOM

Tiap server Sparc Enterprise T-series dilengkapi dengan ILOM (Integrated Lights Out Manager). ILOM merupakan embedded Linux yang berfungsi untuk manajemen server, mulai dari melihat error, menyalakan/mematikan server, mengatur konfigurasi hardware, dan yang paling sering dipakai adalah mengakses console server ybs. Kenapa penting, karena server semacam ini tidak dilengkapi dengan port VGA untuk koneksi ke monitor. Jadi instalasi OS pun dilakukan via console (text-based).

Di bagian belakang server T series, ada 2 port yang berhubungan dengan ILOM. Pertama memiliki label “SER MGT” (singkatan dari Serial Management) & yang kedua memiliki label NET MGT. Mengakses ILOM melalui port serial tentu tidak praktis karena kita perlu menghubungkan langsung kabel serial dari laptop ke port “SER MGT” tadi. Agak merepotkan apalagi bila servernya berada di lokasi yang cukup jauh. NET MGT mengatasi keterbatasan ini dengan menyediakan IP sebagai antar mukanya. Kita cukup melakukan koneksi SSH ke IP ILOMnya saja.

Default username ILOM ini adalah root & default password ILOM tersebut adalah “changeme”. Setelah sukses login ke ILOM, kita akan mendapati tanda prompt ->. Untuk melihat alamat IP NET MGT yang ada pada ILOM ini kita bisa gunakan perintah seperti berikut ini :

-> cd /SP/network
/SP/network
-> ls

 /SP/network
    Targets:

    Properties:
        commitpending = (Cannot show property)
        dhcp_server_ip = none
        ipaddress = 192.168.1.10
        ipdiscovery = static
        ipgateway = 0.0.0.0
        ipnetmask = 255.255.255.0
        macaddress = 00:14:4F:D4:09:E9
        pendingipaddress = 192.168.1.10
        pendingipdiscovery = static
        pendingipgateway = 0.0.0.0
        pendingipnetmask = 255.255.255.0
        state = enabled

 Commands:
     cd
     set
     show
->

Untuk mengubah alamat IP ILOM caranya seperti pada contoh di bawah ini :

-> set pendingipaddress=172.16.1.15
Set 'pendingipgateway' to '172.16.1.15'

-> set pendingipnetmask=255.255.255.0
Set 'pendingipgateway' to '255.255.255.0'

-> set pendingipgateway=172.16.1.1
Set 'pendingipgateway' to '172.16.1.1'

-> set commitpending=true
Set 'commitpending' to 'true'

-> ls

 /SP/network
    Targets:

    Properties:
        commitpending = (Cannot show property)
        dhcp_server_ip = none
        ipaddress = 172.16.1.15
        ipdiscovery = static
        ipgateway = 0.0.0.0
        ipnetmask = 255.255.255.0
        macaddress = 00:14:4F:D4:09:E9
        pendingipaddress = 172.16.1.15
        pendingipdiscovery = static
        pendingipgateway = 0.0.0.0
        pendingipnetmask = 255.255.255.0
        state = enabled

 Commands:
     cd
     set
     show

->

Bila IPnya sudah sukses diganti, kita bisa langsung coba SSH ke IP baru tersebut :

$ ssh root@172.16.1.15
Password:
Waiting for daemons to initialize...
Daemons ready

Oracle(R) Integrated Lights Out Manager

Version 3.0.12.4.v r71977

Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.

Warning: password is set to factory default.

->

Mengganti Nama LVM Grup

Saat menginstal CentOS/RedHat Linux, kita bisa memilih untuk menggunakan LVM (Logical Volume Manger) untuk manajemen harddisk & partisinya. Bila kita memilih untuk menggunakan LVM, instaler biasanya akan menawarkan layout seperti ini :

Contoh Default Disk Layout CentOS

Boot disk akan dibagi menjadi 2 partisi, partisi pertama akan dialokasikan untuk direktori /boot & partisi kedua akan dialokasikan untuk menjadi anggota LVM. LVM grup akan diberi nama mengikuti hostname mesin tersebut. Pada contoh di atas misalnya, mesin tersebut memiliki hostname “devserver01” sehingga LVM akan menggunakan nama grup vg_devserver01. Baru kemudian di dalam group tersebut dibuat logical volume untuk partisi root & swap. Tentu kita bisa melakukan kustomisasi terhadap usulan disk layout tersebut.

Misalnya saya punya sebuah virtual server yang sudah berisi CentOS Linux. Mesin ini adalah hasil cloning dari virtual server lainnya. Karena merupakan hasil cloning, nama LVM grupnya masih mengikuti nama hostname server aslinya. Contohnya seperti ini :

[root@dev01 ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
[root@dev01 ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_websvr01-lv_root  6.7G  745M  5.6G  12% /
tmpfs                            499M     0  499M   0% /dev/shm
/dev/vda1                        485M   32M  428M   7% /boot
[root@dev01 ~]# 

Terlihat hostname server ini adalah dev01, sementara LVM grup-nya masih menggunakan nama lama vg_websvr01. Ini bisa dilihat juga dengan perintah vgs atau vgdisplay seperti berikut ini :

[root@dev01 ~]# vgs
  VG          #PV #LV #SN Attr   VSize VFree
  vg_websvr01   1   2   0 wz--n- 7.51g    0 
[root@dev01 ~]# 
[root@dev01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_websvr01
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.51 GiB
  PE Size               4.00 MiB
  Total PE              1922
  Alloc PE / Size       1922 / 7.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               Mz4cE4-jzec-gfHi-H76W-cmFy-FA2U-SWXKrA

[root@dev01 ~]#

LVM menyediakan perintah vgrename untuk mengatasi hal ini. Saya bisa menggunakan vgrename untuk mengubah nama LVM grup tersebut, seperti yang terlihat pada contoh di bawah ini :

[root@dev01 ~]# vgrename vg_websvr01 vg_dev01
  Volume group "vg_websvr01" successfully renamed to "vg_dev01"
[root@dev01 ~]# 

Pada contoh ini saya mengubah nama grupnya dari vg_websvr01 menjadi vg_dev01. Sukses tidaknya perubahan nama grup ini bisa dicek lagi dengan perintah vgs atau vgdisplay seperti pada contoh di bawah ini :

[root@dev01 ~]# vgs
  VG       #PV #LV #SN Attr   VSize VFree
  vg_dev01   1   2   0 wz--n- 7.51g    0 
[root@dev01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_dev01
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.51 GiB
  PE Size               4.00 MiB
  Total PE              1922
  Alloc PE / Size       1922 / 7.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               Mz4cE4-jzec-gfHi-H76W-cmFy-FA2U-SWXKrA

[root@dev01 ~]# 

Tidak cukup sampai di situ, ada 2 hal lain yang harus diperhatikan setelah mengubah nama LVM grup ini.

  1. Berkas /etc/fstab. Pengaturan mountpoint partisi disimpan dalam berkas ini. Isi berkas /etc/fstab mulanya seperti ini :

    [root@dev01 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Apr  5 07:37:58 2014
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/vg_websvr01-lv_root /                       ext4    defaults        1 1
    UUID=c0144e8c-75aa-4c57-a51c-1c4b8df0759f /boot                   ext4    defaults        1 2
    /dev/mapper/vg_websvr01-lv_swap swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    [root@dev01 ~]# 
    

    Bila berkas ini tidak diperbaharui, maka server ini akan gagal boot karena dia masih mencari partisi /dev/mapper/vg_websvr01-lv_root. Oleh karenanya kita perlu mengganti setiap nama LVM grup yang ada di dalam berkas /etc/fstab tersebut. Pada contoh saya tadi, berikut adalah isi berkas /etc/fstab setelah diperbaharui :

    [root@dev01 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Apr  5 07:37:58 2014
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/vg_dev01-lv_root /                       ext4    defaults        1 1
    UUID=c0144e8c-75aa-4c57-a51c-1c4b8df0759f /boot                   ext4    defaults        1 2
    /dev/mapper/vg_dev01-lv_swap swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    [root@dev01 ~]# 
    
  2. Berkas /boot/grub/grub.conf. Karena LVM grup yang tadi diubah namanya memiliki partisi root, kita perlu mengatur ulang isi berkas grub.conf. Tampilan awal dari berkas grub.conf adalah seperti berikut ini :

    [root@dev01 ~]# cat /boot/grub/grub.conf 
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/mapper/vg_websvr01-lv_root
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/vda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.32-431.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_websvr01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_websvr01/lv_root rd_NO_MD rd_LVM_LV=vg_websvr01/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-431.el6.x86_64.img
    [root@dev01 ~]# 
    

    Tanpa diubah sistem akan gagal menemukan mana partisi rootnya dan akibatnya gagal menemukan di mana lokasi kernel Linux berada. Setelah diubah tampilannya menjadi seperti ini :

    [root@dev01 ~]# cat /boot/grub/grub.conf 
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/mapper/vg_dev01-lv_root
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/vda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.32-431.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_dev01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_dev01/lv_root rd_NO_MD rd_LVM_LV=vg_dev01/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-431.el6.x86_64.img
    [root@dev01 ~]#
    

Untuk memastikan kedua berkas tadi sudah terbarui dengan benar, saya tinggal reboot servernya saja.

Yum Remove

CentOS & RedHat Linux menggunakan yum sebagai perintah untuk mengatur instalasi paket (package management tool). Saya baru tahu dari Wikipedia kalau yum itu sendiri adalah singkatan dari “Yellowdog Updater, Modified”. Sintaks pemakaiannya mirip dengan apt-get-nya Debian/Ubuntu Linux. Misalnya untuk menginstal paket dari repositori, saya bisa menggunakan perintah yum install, Misalnya saya ingin memasang paket Apache web server (httpd) :

[root@web01 ~]# yum install httpd
Loaded plugins: fastestmirror
Determining fastest mirrors
CDROM                                                                                                                                        | 4.0 kB     00:00 ... 
CDROM/primary_db                                                                                                                             | 4.4 MB     00:00 ... 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be installed
--> Processing Dependency: httpd-tools = 2.2.15-29.el6.centos for package: httpd-2.2.15-29.el6.centos.x86_64
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-29.el6.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6.centos.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package httpd-tools.x86_64 0:2.2.15-29.el6.centos will be installed
---> Package mailcap.noarch 0:2.1.31-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================
 Package                                  Arch                              Version                                          Repository                        Size
====================================================================================================================================================================
Installing:
 httpd                                    x86_64                            2.2.15-29.el6.centos                             CDROM                            821 k
Installing for dependencies:
 apr                                      x86_64                            1.3.9-5.el6_2                                    CDROM                            123 k
 apr-util                                 x86_64                            1.3.9-3.el6_0.1                                  CDROM                             87 k
 apr-util-ldap                            x86_64                            1.3.9-3.el6_0.1                                  CDROM                             15 k
 httpd-tools                              x86_64                            2.2.15-29.el6.centos                             CDROM                             73 k
 mailcap                                  noarch                            2.1.31-2.el6                                     CDROM                             27 k

Transaction Summary
====================================================================================================================================================================
Install       6 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]: y
Downloading Packages:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                27 MB/s | 1.1 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : apr-1.3.9-5.el6_2.x86_64                                                                                                                         1/6 
  Installing : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                                  2/6 
  Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                             3/6 
  Installing : httpd-tools-2.2.15-29.el6.centos.x86_64                                                                                                          4/6 
  Installing : mailcap-2.1.31-2.el6.noarch                                                                                                                      5/6 
  Installing : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                6/6 
  Verifying  : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                1/6 
  Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                             2/6 
  Verifying  : httpd-tools-2.2.15-29.el6.centos.x86_64                                                                                                          3/6 
  Verifying  : apr-1.3.9-5.el6_2.x86_64                                                                                                                         4/6 
  Verifying  : mailcap-2.1.31-2.el6.noarch                                                                                                                      5/6 
  Verifying  : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                                  6/6 

Installed:
  httpd.x86_64 0:2.2.15-29.el6.centos                                                                                                                               

Dependency Installed:
  apr.x86_64 0:1.3.9-5.el6_2        apr-util.x86_64 0:1.3.9-3.el6_0.1     apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1     httpd-tools.x86_64 0:2.2.15-29.el6.centos    
  mailcap.noarch 0:2.1.31-2.el6    

Complete!
[root@web01 ~]#

Dari contoh di atas, terlihat bahwa yum tidak hanya memasang paket httpd, yum juga memasang beberapa paket lain yang diperlukan oleh httpd (dependencies packages). Dalam contoh tadi ada 5 paket tambahan yang ikut terpasang secara otomatis.

Nah lucunya saat saya ingin membuang paket httpd, paket-paket lain tadi tidak ikut terbuang. Misalnya dengan yum remove berikut ini :

[root@web01 ~]# yum install httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
CDROM                                                                                                                                                                                                                  | 4.0 kB     00:00 ... 
Setting up Install Process
Package httpd-2.2.15-29.el6.centos.x86_64 already installed and latest version
Nothing to do
[root@web01 ~]# vi /etc/yum.conf 
[root@web01 ~]# yum remove httpd
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be erased
--> Finished Dependency Resolution
CDROM                                                                                                                                                                                                                  | 4.0 kB     00:00 ... 

Dependencies Resolved

==============================================================================================================================================================================================================================================
 Package                                              Arch                                                  Version                                                               Repository                                             Size
==============================================================================================================================================================================================================================================
Removing:
 httpd                                                x86_64                                                2.2.15-29.el6.centos                                                  @CDROM                                                2.9 M

Transaction Summary
==============================================================================================================================================================================================================================================
Remove        1 Package(s)

Installed size: 2.9 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                          1/1 
  Verifying  : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                          1/1 

Removed:
  httpd.x86_64 0:2.2.15-29.el6.centos                                                                                                                                                                                                         

Complete!
[root@web01 ~]#

yum hanya membuang paket httpd saja. Ada 5 paket lain yang tadi ikut terinstal tidak terbuang juga.

[root@web01 ~]# rpm -qa | egrep "apr|httpd|mailcap"
apr-util-1.3.9-3.el6_0.1.x86_64
httpd-tools-2.2.15-29.el6.centos.x86_64
apr-1.3.9-5.el6_2.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
mailcap-2.1.31-2.el6.noarch
[root@web01 ~]#

Di Debian, ada opsi untuk menggunakan apt-get autoremove untuk menghapus sisa paket dependensi yang sudah tidak dipakai. Saya juga baru tahu ternyata ada opsi untuk mengatur yum supaya menghapus semua paket dependensinya. Opsi ini perlu diaktifkan dulu di dalam berkas /etc/yum.conf seperti ini :

[root@web01 ~]# echo "clean_requirements_on_remove=1" >> /etc/yum.conf

Opsi clean_requirements_on_remove akan membuat yum membersihkan setiap paket dependensinya. Setelah penambahan opsi tersebut, contohnya seperti berikut ini :

[root@web01 ~]# yum remove httpd
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be erased
--> Finished Dependency Resolution
--> Finding unneeded leftover dependencies
---> Marking httpd-tools to be removed - no longer needed by httpd
---> Marking apr-util-ldap to be removed - no longer needed by httpd
---> Marking mailcap to be removed - no longer needed by httpd
---> Marking apr-util to be removed - no longer needed by httpd-tools
---> Marking apr to be removed - no longer needed by httpd-tools
Found and removing 5 unneeded dependencies
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-5.el6_2 will be erased
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be erased
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be erased
---> Package httpd-tools.x86_64 0:2.2.15-29.el6.centos will be erased
---> Package mailcap.noarch 0:2.1.31-2.el6 will be erased
--> Finished Dependency Resolution
CDROM                                                                                                                                                                                                                  | 4.0 kB     00:00 ... 

Dependencies Resolved

==============================================================================================================================================================================================================================================
 Package                                                    Arch                                                Version                                                             Repository                                           Size
==============================================================================================================================================================================================================================================
Removing:
 httpd                                                      x86_64                                              2.2.15-29.el6.centos                                                @CDROM                                              2.9 M
Removing for dependencies:
 apr                                                        x86_64                                              1.3.9-5.el6_2                                                       @CDROM                                              296 k
 apr-util                                                   x86_64                                              1.3.9-3.el6_0.1                                                     @CDROM                                              198 k
 apr-util-ldap                                              x86_64                                              1.3.9-3.el6_0.1                                                     @CDROM                                              9.3 k
 httpd-tools                                                x86_64                                              2.2.15-29.el6.centos                                                @CDROM                                              137 k
 mailcap                                                    noarch                                              2.1.31-2.el6                                                        @CDROM                                               52 k

Transaction Summary
==============================================================================================================================================================================================================================================
Remove        6 Package(s)

Installed size: 3.6 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                          1/6 
  Erasing    : httpd-tools-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                    2/6 
  Erasing    : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                                                                                                       3/6 
  Erasing    : mailcap-2.1.31-2.el6.noarch                                                                                                                                                                                                4/6 
  Erasing    : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                                                                                                            5/6 
  Erasing    : apr-1.3.9-5.el6_2.x86_64                                                                                                                                                                                                   6/6 
  Verifying  : httpd-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                          1/6 
  Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                                                                                                                       2/6 
  Verifying  : httpd-tools-2.2.15-29.el6.centos.x86_64                                                                                                                                                                                    3/6 
  Verifying  : apr-1.3.9-5.el6_2.x86_64                                                                                                                                                                                                   4/6 
  Verifying  : mailcap-2.1.31-2.el6.noarch                                                                                                                                                                                                5/6 
  Verifying  : apr-util-1.3.9-3.el6_0.1.x86_64                                                                                                                                                                                            6/6 

Removed:
  httpd.x86_64 0:2.2.15-29.el6.centos                                                                                                                                                                                                         

Dependency Removed:
  apr.x86_64 0:1.3.9-5.el6_2              apr-util.x86_64 0:1.3.9-3.el6_0.1              apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1              httpd-tools.x86_64 0:2.2.15-29.el6.centos              mailcap.noarch 0:2.1.31-2.el6             

Complete!
[root@web01 ~]#

Dengan begitu sekarang tidak ada lagi paket dependensi yang tertinggal :

[root@web01 ~]# rpm -qa | egrep "apr|httpd|mailcap"
[root@web01 ~]#

Repositori Lokal DVD RHEL

Tiap kali menggunakan Ubuntu atau Debian, saya selalu menggunakan repositori online saat perlu memasang paket/aplikasi tertentu (software). Perintah apt-get atau aptitude akan otomatis mengunduh instaler paket dari repositori di Internet. Memang perlu koneksi internet tiap kali akan memasang paket. Dulu saat saya masih kesulitan mendapat akses internet, saya mengoleksi banyak CD/DVD repositori Ubuntu. Kalau tidak salah ingat dulu Ubuntu 7.04 punya 5 atau 6 CD repositori. Debian lebih fantastis lagi, jumlah CD repositorinya sampai puluhan. DVD Debian terbaru versi 7.4.0 jumlahnya sampai 9 buah. Sangat tidak praktis mengoleksi semua DVD repositori tadi. Menggunakan media CD/DVD tentu rentan hilang, rusak tidak bisa terbaca, dan repot karena harus menggonta-ganti CD/DVD saat memasang paket tertentu. Memang masih bisa diakali dengan menyimpan ISO image dari CD/DVD tadi, tapi ini juga tidak praktis karena membutuhkan ruang yang cukup besar dalam harddisk.

Dulu saya pernah tulis cara menjadikan DVD Ubuntu Linux sebagai sumber repositori lokal. Tadi saya kembali ingat hal ini saat menginstal Red Hat Linux. Tidak seperti Debian atau Ubuntu, Red Hat Enterprise Linux (RHEL) menyediakan online repositori hanya bagi pengguna yang membeli lisensinya. Namun demikian saya masih tetap bisa menggunakan DVD instalasi sebagai repositori lokal. Saya tidak tahu persisnya, aplikasi apa yang tidak tersedia dalam DVD & hanya bisa didapat dari online repositori resminya RHEL.

Tulisan ini akan jadi catatan saya untuk menjadikan DVD instalasi RHEL 6.4 sebagai repositori lokal.

Tadi saya menginstal virtual mesin dengan hostname redhat6, mesin ini menggunakan RHEL 6.4

[root@redhat6 ~]# uname -a
Linux redhat6 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@redhat6 ~]# 
[root@redhat6 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.4 (Santiago)
[root@redhat6 ~]#

Tanpa repositori lokal saya tidak bisa memasang paket nmap. Saat mencoba mencari paket nmap saya mendapati error seperti ini :

[root@redhat6 yum.repos.d]# yum search nmap
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Warning: No matches found for: nmap
No Matches found
[root@redhat6 yum.repos.d]#

RHEL menempatkan konfigurasi repositori dalam direktori /etc/yum.repos.d :

[root@redhat6 ~]# cd /etc/yum.repos.d/
[root@redhat6 yum.repos.d]# ls
rhel-source.repo
[root@redhat6 yum.repos.d]#

Ada 1 berkas konfigurasi bawaan proses instalasi OS seperti berikut ini :

[root@redhat6 yum.repos.d]# cat rhel-source.repo 
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@redhat6 yum.repos.d]#

Karena saya ingin menjadikan DVD instalasi RHEL sebagai repositori lokal, tentu langkah pertama adalah mengakses DVDnya terlebih dulu. Saya mount DVD RHEL 6.4 ke direktori /mnt:

[root@redhat6 yum.repos.d]# mount -o loop /dev/cdrom /mnt
[root@redhat6 yum.repos.d]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_redhat6-lv_root
                      5.5G  931M  4.3G  18% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             485M   33M  427M   8% /boot
/dev/sr0              3.5G  3.5G     0 100% /mnt
[root@redhat6 yum.repos.d]#

Langkah selanjutnya saya buat berkas konfigurasi baru, saya pilih nama iso-rhel6.repo. Tiap berkas konfigurasi repositori boleh menggunakan nama apa saja asalkan diakhiri dengan *.repo.

[root@redhat6 yum.repos.d]# vi iso-rhel6.repo 
[ISO_RHEL64]
name=ISO RHEL64_x86_64
baseurl=file:///mnt
enabled=1 
gpgcheck=0
[root@redhat6 yum.repos.d]#

Isi berkasnya paling tidak harus terdiri dari id, name & baseurl. ID dituliskan dalam tanda kurung kotak [ISO_RHEL64]. Sejauh yang saya tahu tidak ada aturan khusus untuk memilih ID repo tadi. Pada contoh di atas, baseurl saya arahkan untuk mengakses direktori /mnt (mountpoint DVD). Selanjutnya saya tinggal jalankan 2 perintah seperti berikut ini :

[root@redhat6 yum.repos.d]# yum clean all
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: ISO_RHEL64
Cleaning up Everything
[root@redhat6 yum.repos.d]# yum repolist
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
ISO_RHEL64                                                                                                                                                | 3.9 kB     00:00 ... 
ISO_RHEL64/primary_db                                                                                                                                     | 3.1 MB     00:00 ... 
repo id                                                                           repo name                                                                                status
ISO_RHEL64                                                                        ISO RHEL64_x86_64                                                                        3,648
repolist: 3,648
[root@redhat6 yum.repos.d]#

Setelah sistem selesai membuat repositori lokal, saya bisa memeriksanya dengan perintah yum repolist seperti contoh berikut ini :

[root@redhat6 yum.repos.d]# yum repolist
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id                                                                           repo name                                                                                status
ISO_RHEL64                                                                        ISO RHEL64_x86_64                                                                        3,648
repolist: 3,648
[root@redhat6 yum.repos.d]#

Artinya sekarang sistem sudah punya repositori lokal dengan nama “ISO RHEL64_x86_64”. Untungnya paket nmap tersedia dalam DVD ini :

[root@redhat6 yum.repos.d]# yum search nmap
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
=============================================================================== N/S Matched: nmap ===============================================================================
nmap.x86_64 : Network exploration tool and security scanner

  Name and summary matches only, use "search all" for everything.
[root@redhat6 yum.repos.d]#

Dengan begitu saya tinggal menggunakan perintah yum install untuk memasang nmap, yum akan mengambil berkas sumber nmap dari DVD bukan dari Internet :

[root@redhat6 yum.repos.d]# yum install nmap
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nmap.x86_64 2:5.51-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================
 Package                               Arch                                    Version                                         Repository                                   Size
=================================================================================================================================================================================
Installing:
 nmap                                  x86_64                                  2:5.51-2.el6                                    ISO_RHEL64                                  2.8 M

Transaction Summary
=================================================================================================================================================================================
Install       1 Package(s)

Total download size: 2.8 M
Installed size: 9.7 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 2:nmap-5.51-2.el6.x86_64                                                                                                                                      1/1 
ISO_RHEL64/productid                                                                                                                                      | 1.7 kB     00:00 ... 
  Verifying  : 2:nmap-5.51-2.el6.x86_64                                                                                                                                      1/1 

Installed:
  nmap.x86_64 2:5.51-2.el6                                                                                                                                                       

Complete!
[root@redhat6 yum.repos.d]#

CentOS sebagai salah satu varian open source Red Hat, langsung menyediakan repositori online sejak awal instalasi. Pada contoh di bawah ini terlihat CentOS langsung mendeteksi lokasi repositori online yang paling cepat diakses :

[root@centos ~]# uname -a
Linux centos 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@centos ~]# 
[root@centos ~]# cat /etc/redhat-release 
CentOS release 6.4 (Final)
[root@centos ~]# 
[root@centos ~]# yum repolist
Loaded plugins: fastestmirror, security
Determining fastest mirrors
 * base: mirror.axarva.co.id
 * extras: mirror.axarva.co.id
 * updates: mirror.axarva.co.id
base                                                                                                                                                      | 3.7 kB     00:00     
base/primary_db                                                                                                                                           | 4.4 MB     00:10     
extras                                                                                                                                                    | 3.4 kB     00:00     
extras/primary_db                                                                                                                                         |  19 kB     00:00     
updates                                                                                                                                                   | 3.4 kB     00:00     
updates/primary_db                                                                                                                                        | 2.5 MB     00:03     
repo id                                                                         repo name                                                                                  status
base                                                                            CentOS-6 - Base                                                                            6,367
extras                                                                          CentOS-6 - Extras                                                                             14
updates                                                                         CentOS-6 - Updates                                                                           718
repolist: 7,099
[root@centos ~]# 
[root@centos ~]# yum search nmap
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.axarva.co.id
 * extras: mirror.axarva.co.id
 * updates: mirror.axarva.co.id
=============================================================================== N/S Matched: nmap ===============================================================================
nmap-frontend.noarch : The GTK+ front end for nmap
nmap.x86_64 : Network exploration tool and security scanner

  Name and summary matches only, use "search all" for everything.
[root@centos ~]#

Saya juga bisa pakai cara yang sama untuk menjadikan DVD instalasi CentOS sebagai repositori lokal. Untuk testing, saya pindahkan dulu konfigurasi repositorinya CentOS ke dalam folder backup :

[root@centos ~]# mkdir /etc/yum.repos.d/backup
[root@centos ~]# mv /etc/yum.repos.d/*repo /etc/yum.repos.d/backup
[root@centos ~]#

Selanjutnya sama persis seperti sudah ditulis di atas :

[root@centos ~]# mount -o loop /dev/cdrom /mnt
    [root@centos ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                      3.6G  844M  2.6G  25% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sda1             485M   37M  423M   8% /boot
/dev/sr0              4.1G  4.1G     0 100% /mnt
[root@centos ~]# 
[root@centos ~]# vi /etc/yum.repos.d/iso-centos64.repo
[ISO_CentOS64]
name=ISO CentOS64_x86_64
baseurl=file:///mnt
gpgcheck=0
[root@centos ~]# 
[root@centos ~]# yum repolist
Loaded plugins: fastestmirror, security
Determining fastest mirrors
ISO_CentOS64                                                                                                                                              | 4.0 kB     00:00 ... 
ISO_CentOS64/primary_db                                                                                                                                   | 4.4 MB     00:00 ... 
repo id                                                                           repo name                                                                                status
ISO_CentOS64                                                                      ISO CentOS64_x86_64                                                                      6,381
repolist: 6,381
[root@centos ~]# 
[root@centos ~]# yum install -q  nmap

=================================================================================================================================================================================
 Package                               Arch                                    Version                                       Repository                                     Size
=================================================================================================================================================================================
Installing:
 nmap                                  x86_64                                  2:5.51-2.el6                                  ISO_CentOS64                                  2.7 M

Transaction Summary
=================================================================================================================================================================================
Install       1 Package(s)

Is this ok [y/N]: y
[root@centos ~]#

Pasang SSD Mac Mini (part 5 – END)

Sekilas Tentang Partisi a.k.a Volume

Tulisan ini masih lanjutan dari beberapa post sebelumnya tentang pasang SSD. Sejauh ini saya sudah memasang SSD ke dalam Mac Mini & sudah selesai menginstal Mac OSX 10.9.1 ke dalam SSD tersebut. Berarti sekarang Mac Mini memiliki 2 buah storage :

  1. SSD 128GB. Untuk menyingkat penulisan selanjutnya saya akan menyebut SSD sebagai disk0
  2. Harddisk 2.5″ 500GB. Selanjutnya saya akan menyebut SSD sebagai disk1.

Baik disk0 maupun disk1 saat ini masih bisa dipakai sebagai media boot. Hanya saja sekarang saya gunakan disk0 sebagai active boot disk-nya.

Mac membagi tiap disk menjadi beberapa partisi. Sama seperti waktu kita menggunakan Windows, kita biasa menyebut partisi dengan drive C:\, D:\, dst. Di Mac OSX, partisi sering kali disebut juga sebagai “volume”. Selanjutnya saya mungkin menggunakan istilah volume untuk menyebut partisi (dan juga sebaliknya). Tiap volume bisa diberi nama sendiri-sendiri. Perintah diskutil list dapat dipakai untuk menampilkan struktur partisi setiap harddisk :

ttirtawi@macmini:~ $ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER         
   0:      GUID_partition_scheme                        *128.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS MacOSX                  127.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            479.8 GB   disk1s2
   3:       Microsoft Basic Data                         8.7 GB     disk1s3
   4:        Bios Boot Partition                         1.0 MB     disk1s4
   5:                 Linux Swap                         691.0 MB   disk1s5
   6:       Microsoft Basic Data                         10.6 GB    disk1s6
ttirtawi@macmini:~ $

Pada disk0 a.k.a SSD, Mac menggunakan partisi nomor 2. Partisi nomor 2 tersebut saya beri nama “MacOSX” (lihat pada tulisan sebelumnya). Semua data sistem operasi OSX 10.9.1, aplikasi-aplikasi, home directory berada pada volume “MacOSX” ini. Dengan kata lain, volume “MacOSX” adalah root filesystem-nya.

Hal yang sama berlaku pada disk1 a.k.a harddisk 2.5“ 500GB tadi. Semua data sistem operasi OSX 10.9.1, aplikasi-aplikasi, home directory sebelum proses instal ulang, ada di partisi nomor 2 yang bernama ”Macintosh HD”. Karena saya tidak akan menggunakan disk1 sebagai boot disk lagi, saya hanya perlu home directory lama saja.

Seperti umumnya sistem Unix, Mac OSX mengenal proses mounting untuk setiap partisi/volume yang dimilikinya. Tanpa adanya proses mount, user tidak bisa mengakses data-data yang disimpan dalam partisi tersebut.

Untuk setiap volume yang berada pada non-root disk, Mac OSX akan otomatis melakukan mounting menggunakan nama volume sebagai nama mountpoint-nya. Misalnya volume “Macintosh HD” milik disk1 tadi otomatis di-mount pada /Volume/Macintosh\ HD.

Memindahkan Mountpoint Partisi Mac

Seperti disebut sebelumnya, volume “Macintosh HD” otomatis di-mount di /Volume/Macintosh\ HD. Saya kurang suka nama mountpoint-nya, menurut saya terlalu panjang. Saya memilih untuk memindahkan mountpoint-nya ke direktori yang lebih gampang diingat & lebih pendek untuk diketik. Tentu lebih cepat untuk mengetikkan ~/mydata daripada /Volume/Macintosh\ HD. Alih-alih menggunakan alias untuk menyingkatnya, saya pilih untuk mengganti saja sekalian mountpoint-nya.

Untuk menentukan mountpoint secara manual, kita bisa mendaftarkan volume & mountpoint-nya pada file /etc/fstab. Linux juga menggunakan file /etc/fstab untuk mengatur mountpoint setiap volume/partisinya. Berkas /etc/fstab dapat dimodifikasi dengan editor teks seperti vi. Mac punya perintah vifs sebagai alternatif untuk mengedit /etc/fstab.

Tiap volume yang didaftarkan dalam file /etc/fstab diwakili dengan UUID-nya. Jadi untuk mengubah mountpoint partisi “Macintosh HD”, saya perlu cari tahu dulu UUID-nya dengan perintah diskutil seperti pada contoh di bawah ini :

ttirtawi@macmini:~ $ diskutil info /Volumes/Macintosh\ HD/
   Device Identifier:        disk1s2
   Device Node:              /dev/disk1s2
   Part of Whole:            disk1
   Device / Media Name:      Customer

   Volume Name:              Macintosh HD
   Escaped with Unicode:     Macintosh%FF%FE%20%00HD

   Mounted:                  Yes
   Mount Point:              /Volumes/Macintosh HD
   Escaped with Unicode:     /Volumes/Macintosh%FF%FE%20%00HD

   File System Personality:  Journaled HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended (Journaled)
   Journal:                  Journal size 40960 KB at offset 0x1238a000
   Owners:                   Enabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      Yes
   Media Type:               Generic
   Protocol:                 SATA
   SMART Status:             Verified
   Volume UUID:              E61E6A98-9E6A-32FD-87C9-31AFB09F6218

   Total Size:               499.8 GB (499763888128 Bytes) (exactly 976101344 512-Byte-Units)
   Volume Free Space:        71.5 GB (71495225344 Bytes) (exactly 139639112 512-Byte-Units)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No
   Ejectable:                No

   Whole:                    No
   Internal:                 Yes
   Solid State:              No
   Device Location:          "Lower"    
ttirtawi@macmini:~ $

Dari contoh di atas, UUID “Macintosh HD” adalah E61E6A98-9E6A-32FD-87C9-31AFB09F6218. Saya ingin “Macintosh HD” di-mount ke ~/mydata. Tentu direktori ~/mydata ini harus sudah ada dulu sebelumnya.

ttirtawi@macmini:~ $ mkdir ~/mydata

Setelah saya ubah maka berkas /etc/fstab-nya menjadi seperti ini :

ttirtawi@macmini:~ $ sudo vifs
#
# Warning - this file should only be modified with vifs(8)
#
# Failure to do so is unsupported and may be destructive.
#
UUID=E61E6A98-9E6A-32FD-87C9-31AFB09F6218 /Users/ttirtawi/mydata hfs rw,auto
ttirtawi@macmini:~ $

Setelah itu saya tinggal reboot Mac Mininya. Setelah reboot, partisi “Macintosh HD” akan berada pada mountpoint ~/mydata (/Users/ttirtawi/mydata) seperti terlihat pada contoh di bawah ini :

ttirtawi@macmini:~ $ df -h
Filesystem      Size   Used  Avail Capacity   iused    ifree %iused  Mounted on
/dev/disk0s2   118Gi   19Gi  100Gi    16%   4924430 26124376   16%   /
devfs          193Ki  193Ki    0Bi   100%       666        0  100%   /dev
/dev/disk1s2   465Gi  382Gi   84Gi    83% 100108219 21904447   82%   /Users/ttirtawi/mydata
map -hosts       0Bi    0Bi    0Bi   100%         0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%         0        0  100%   /home
ttirtawi@macmini:~ $

Bersih-Bersih Harddisk Lama

Ada beberapa bagian dalam disk1 (“Macintosh HD”) yang sudah tidak saya perlukan, seperti misalnya :

  • Folder sistem OSX
  • Folder Application
  • Recovery partition
  • Partisi bekas BootCamp (dulu saya pernah instal Ubuntu Linux berdampingan dengan Mac OSX)

Saya hanya perlu data-data dalam folder Users/ttirtawi saja. Selebihnya saya bisa hapus semua. Struktur partisi dalam disk1 sekarang seperti berikut ini :

ttirtawi@macmini:~ $ diskutil list /dev/disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            479.8 GB   disk1s2
   3:       Microsoft Basic Data                         8.7 GB     disk1s3
   4:        Bios Boot Partition                         1.0 MB     disk1s4
   5:                 Linux Swap                         691.0 MB   disk1s5
   6:       Microsoft Basic Data                         10.6 GB    disk1s6
ttirtawi@macmini:~ $

Ada beberapa partisi yang tidak saya perlukan lagi yaitu partisi 3,4,5,6. Kapasitas dari keempat partisi tersebut cukup besar, sayang bila tidak digunakan. Saya ingin gabungkan dengan partisi 2 (“Macintosh HD”). Untuk menghapus partisi 3,4,5,6 saya gunakan perintah seperti berikut ini :

ttirtawi@macmini:~ $ diskutil eraseVolume HFS+ Blank /dev/disk1s3
Started erase on disk1s3
Unmounting disk
Erasing
Initialized /dev/rdisk1s3 as a 8 GB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk1s3 Blank
ttirtawi@macmini:~ $ 
ttirtawi@macmini:~ $ diskutil eraseVolume HFS+ Blank /dev/disk1s4
Started erase on disk1s4
Unmounting disk
Erasing
Initialized /dev/rdisk1s4 as a 977 KB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk1s4 Blank
ttirtawi@macmini:~ $ 
ttirtawi@macmini:~ $ diskutil eraseVolume HFS+ Blank /dev/disk1s5
Started erase on disk1s5
Unmounting disk
Erasing
Initialized /dev/rdisk1s5 as a 659 MB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk1s5 Blank
ttirtawi@macmini:~ $ 
ttirtawi@macmini:~ $ diskutil eraseVolume HFS+ Blank /dev/disk1s6
Started erase on disk1s6
Unmounting disk
Erasing
Initialized /dev/rdisk1s6 as a 10 GB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk1s6 Blank
ttirtawi@macmini:~ $

Setelah keempat partisi tadi dihapus tampilan struktur partisinya menjadi seperti berikut ini :

ttirtawi@macmini:~ $ diskutil list /dev/disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            479.8 GB   disk1s2
   3:                  Apple_HFS Blank                   8.5 GB     disk1s3
   4:                  Apple_HFS Blank                   1.0 MB     disk1s4
   5:                  Apple_HFS Blank                   691.0 MB   disk1s5
   6:                  Apple_HFS Blank                   10.5 GB    disk1s6
ttirtawi@macmini:~ $

Berikutnya saya gabungkan satu persatu partisi tersebut dengan partisi nomor 2.

ttirtawi@macmini:~ $ diskutil mergePartitions HFS+ Macintosh\ HD disk1s2 disk1s3
The chosen disk supports resize; disregarding your new file system type and volume name
Merging partitions into a new partition
     Start partition: disk1s2 Macintosh HD
     Finish partition: disk1s3 Blank
Started partitioning on disk1
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            488.4 GB   disk1s2
   3:                  Apple_HFS Blank                   1.0 MB     disk1s4
   4:                  Apple_HFS Blank                   691.0 MB   disk1s5
   5:                  Apple_HFS Blank                   10.5 GB    disk1s6
ttirtawi@macmini:~ $

Lalu saya lanjutkan dengan menggabungkan partisi 4 ke dalam partisi nomor 2 :

ttirtawi@macmini:~ $ diskutil mergePartitions HFS+ Macintosh\ HD disk1s2 disk1s4
The chosen disk supports resize; disregarding your new file system type and volume name
Merging partitions into a new partition
     Start partition: disk1s2 Macintosh HD
     Finish partition: disk1s4 Blank
Started partitioning on disk1
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            488.4 GB   disk1s2
   3:                  Apple_HFS Blank                   691.0 MB   disk1s5
   4:                  Apple_HFS Blank                   10.5 GB    disk1s6
ttirtawi@macmini:~ $

Lalu saya lanjutkan dengan menggabungkan partisi 5 ke dalam partisi nomor 2 :

ttirtawi@macmini:~ $ diskutil mergePartitions HFS+ Macintosh\ HD disk1s2 disk1s5
The chosen disk supports resize; disregarding your new file system type and volume name
Merging partitions into a new partition
     Start partition: disk1s2 Macintosh HD
     Finish partition: disk1s5 Blank
Started partitioning on disk1
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            489.1 GB   disk1s2
   3:                  Apple_HFS Blank                   10.5 GB    disk1s6
ttirtawi@macmini:~ $

Terakhir saya gabungkan partisi 6 ke dalam partisi nomor 2 :

ttirtawi@macmini:~ $ diskutil mergePartitions HFS+ Macintosh\ HD disk1s2 disk1s6
The chosen disk supports resize; disregarding your new file system type and volume name
Merging partitions into a new partition
     Start partition: disk1s2 Macintosh HD
     Finish partition: disk1s6 Blank
Started partitioning on disk1
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            499.8 GB   disk1s2
ttirtawi@macmini:~ $

Lumayan ada tambahan 20 GB untuk partisi 2 (“Macintosh HD”). Saya tidak sentuh partisi 0 & 1, takut merusak data-data dalam partisi nomor 2. Proses mergePartition tadi tidak menghapus data yang sudah ada di dalam partisi nomor 2.

Migrasi Home Directory

Setelah selesai melakukan clean install Mac OSX, saya buat user baru untuk saya gunakan sehari-hari. User baru saya ini sekarang memiliki home directory ($HOME) di dalam SSD. Sementara direktori $HOME lama saya sekarang berada di :

/Users/ttirtawi/mydata/Users/ttirtawi

Karena kapasitas SSD baru cuma 128GB, tentu tidak mungkin menyalin semua data lama tersebut. Data lama saya dalam “Macintosh HD” sudah lebih dari 400GB. Saya punya dua pilihan untuk mengatasi masalah ini :

  1. Menggunakan $HOME lama yang ada di dalam “Macintosh HD”. Cara ini yang paling praktis, cukup dengan mengubahnya dari menu “Advance Options” (bisa diakses dari System Preferences ☞ Users & Groups)
    Advance Option User Setting Mac
    Edit HOME User Mac
    Saya tinggal ganti bagian yang diberi tanda panah, dari /Users/ttirtawi menjadi /Users/ttirtawi/mydata/Users/ttirtawi.
  2. Menggunakan lokasi $HOME baru yang ada di SSD (/Users/ttirtawi) & menggunakan soft link untuk mengakses data lama.

Meskipun cara pertama adalah cara yang paling praktis, kelemahannya adalah saya tidak bisa memaksimalkan kecepatan SSD untuk penggunaan sehari-hari. Karena beberapa data yang sering diakses seperti yang ada di Library masih berada di harddisk yang kecepatan aksesnya lambat. Jadi saya memilih untuk menggunakan cara kedua saja.

ttirtawi@macmini:~ $ ln -sf ~/mydata/Users/ttirtawi/Documents Documents
ttirtawi@macmini:~ $ ln -sf ~/mydata/Users/ttirtawi/Downloads Downloads
ttirtawi@macmini:~ $ ln -sf ~/mydata/Users/ttirtawi/Music Music
ttirtawi@macmini:~ $ ln -sf ~/mydata/Users/ttirtawi/Pictures Pictures

Dengan cara di atas saya otomatis mengatur ulang librari iPhoto & iTunes. Librari iPhoto berada dalam folder Pictures. Sementara koleksi musik iTunes ada di folder Music. Jumlah berkas foto & musik saya cukup banyak, jadi biarlah iPhoto & iTunes tetap lambat karena harus mengakses data dari harddisk lama. Begitu iPhoto & iTunes dibuka, keduanya langsung menampilkan data-data lama saya. Tidak perlu ada setting tambahan lainnya.

Khusus untuk aplikasi Mail saya tidak menggunakan cara tadi. Mailbox saya tidak terlalu besar jadi bisa dipindah semua ke dalam SSD. Pekerjaan saya tergantung sekali dengan email, jadi saya putuskan untuk menaruh mailbox ke dalam SSD saja. Baik mailbox, account setting, Preferences, semuanya ada di dalam folder Library. Jadi saya cukup pindahkan semua data Mail ke Library yang baru :

ttirtawi@macmini:~ $ cd ~/Library
ttirtawi@macmini:~ $ mv ~/mydata/Users/ttirtawi/Library/Mail/* .

Must Have Application

Karena saya melakukan instal ulang, mau tidak mau saya harus menginstal lagi semua aplikasi satu per satu. Beberapa aplikasi Mac saya ambil & beli dari App Store. Aplikasi yang saya dapat dari Mac App Store mudah untuk didapatkan kembali. Cukup buka App Store lalu klik menu Purchases. Lalu saya tinggal klik satu persatu untuk menginstalnya kembali.

Sementara aplikasi yang lain saya ambil langsung dari Internet & backup data di harddisk eksternal. Dengan clean install ini saya jadi punya waktu untuk bersih-bersih aplikasi. Saya hanya instal aplikasi yang benar-benar saya perlukan saja :

  • Adium
  • Adobe Flash Plugin
  • AppCleaner : melakukan uninstall suatu aplikasi di Mac sangat mudah, cukup memindahkan aplikasi yang ingin dibuang dari direktori /Application ke Trash. AppCleaner mempermudah saya melakukan uninstall karena AppClenaner membuang juga data-data sampah yang berhubungan dengan aplikasi.
  • Byword : aplikasi yang saya pakai untuk menulis artikel ini, Byword adalah text editor yang mendukung format Markdown.
  • Dropbox
  • Evernote
  • Filezilla : meskipun saya lebih suka menggunakan secure copy (scp) dari Terminal, kadang saya perlu juga aplikasi Filezilla untuk melakukan transfer data ke remote server.
  • Jave Runtime Environment : pernah saya tulis di sini alasan saya perlu JRE.
  • KeePassX : aplikasi penting untuk menyimpan password, pernah saya tulis di sini.
  • Microsoft Office 2011
  • Mozilla Firefox
  • OmniGraffle Professional : aplikasi untuk membuat diagram seperti Microsoft Visio.
  • Skitch : aplikasi untuk mengambil screenshot, saya suka aplikasi ini karena terintegrasi dengan Evernote
  • Skype
  • Teamviewer : ini aplikasi yang saya pakai bila ingin mengakses komputer orang yang punya masalah dengan komputernya. Ini pernah saya tulis juga di sini.
  • TextWrangler : ini adalah editor teks favorit di Mac
  • The Unarchiver : aplikasi untuk menangani kompresi file (*.zip, *.rar, *tar.gz, dsb)
  • Thunderbird Mail (saya masih punya kumpulan email lama yang tidak dimigrasi ke Mail App)
  • Transmission : aplikasi untuk mengunduh torrent file.
  • Twitter / Tweetdeck
  • VLC Media Player
  • Virtualbox : aplikasi penting untuk menjalankan virtual machine, saya tetap butuh Linux & Windows jadi saya memasangnya pada virtual machine.
  • Wireshark : perlu untuk membaca file hasil snoop network, saya perlu ini untuk urusan pekerjaan.
  • iPhoto
  • iSyncr
  • iWork (Pages, Number, Keynote)

Membandingkan Kecepatan SSD & Harddisk

Beberapa sumber di Internet merekomendasikan aplikasi Blackmagic Disk Speed Test untuk mengukur kecepatan baca/tulis data harddisk. Saat Mac Mini masih menggunakan harddisk 500GB sebagai boot disk, kecepatannya terukur seperti berikut ini :

Kecepatan baca/tulis harddisk konvensional

Setelah saya sukses memasangkan SSD Samsung 840 Pro & menggunakannya sebagai media boot, saya ukur lagi kecepatan baca tulisnya. Hasilnya seperti berikut ini :

Kecepatan baca/tulis SSD

Saya puas sekali dengan peningkatan kecepatan ini. Mac Mini saya tidak lagi terasa lambat, proses booting sangat cepat, membuka aplikasi tidak lagi ada jeda yang menjengkelkan.