Rename Data Link Solaris 11

Biasanya nama network interface merupakan simbol dari driver yang dipakai :

root@testbed:# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 10.23.103.60 netmask ffffff80 broadcast 10.23.103.127
groupname CBTEAXCDR
ether 0:21:28:b3:46:68
igb0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.23.103.62 netmask ffffff80 broadcast 10.23.103.127
nxge0: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
inet 10.23.103.61 netmask ffffff80 broadcast 10.23.103.127
groupname CBTEAXCDR
ether 0:21:28:b8:c3:24
root@testbed:#

Misalnya igb (Intel Gigabit Ethernet), nxge (Sun 10/1 Gigabit Ethernet), bge (Broadcom Gigabit Ethernet), atau e1000g (Intel PRO/1000 Gigabit). Jadi seperti contoh di atas, interface pertama akan menggunakan nama igb0. Sementara interface lain diberi nama nxge0

Solaris 11 menggunakan konsep datalink yang terpisah dengan physical datalink (network interface). Dengan demikian nama datalink tidak lagi tergantung pada hardware driver. Kita jadi punya keleluasaan untuk mengganti nama link dari network interface tadi dengan nama yang lebih mudah dipahami. Default-nya, nama link adalah net0, net1, net2, dst. Misalnya seperti contoh berikut ini :

root@solaris11:~# dladm show-phys -P
LINK DEVICE MEDIA FLAGS
pci0 e1000g1 Ethernet -----
net2 e1000g2 Ethernet -----
onboard0 e1000g0 Ethernet -----
net3 e1000g3 Ethernet -----
root@solaris11:~#
root@solaris11:~# dladm show-link
LINK CLASS MTU STATE OVER
pci0 phys 1500 up --
net2 phys 1500 unknown --
onboard0 phys 1500 up --
net3 phys 1500 up --
root@solaris11:~#

Pada contoh di atas datalink net0 menggunakan driver e1000g. Misalnya kita ingin mengubah nama link net2 menjadi management0, kita bisa menggunakan perintah dladm :

root@solaris11:~# dladm rename-link net2 management0
root@solaris11:~# dladm show-phys -P
LINK DEVICE MEDIA FLAGS
pci0 e1000g1 Ethernet -----
management0 e1000g2 Ethernet -----
onboard0 e1000g0 Ethernet -----
net3 e1000g3 Ethernet -----
root@solaris11:~# dladm show-link
LINK CLASS MTU STATE OVER
pci0 phys 1500 up --
management0 phys 1500 unknown --
onboard0 phys 1500 up --
net3 phys 1500 up --
root@solaris11:~#

Selanjutnya kita bisa bekerja dengan nama link management0 :

root@solaris11:~# ipadm create-ip management0
root@solaris11:~# ipadm create-addr -T static -a 172.16.103.37/24 management0/v4static
root@solaris11:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net3/v4static static ok 172.16.103.30/24
oam0/link static ok 172.16.103.100/24
onboard0/onboard0 static ok 172.16.103.101/24
pci0/pci0 static ok 172.16.103.102/24
management0/v4static static ok 172.16.103.37/24
lo0/v6 static ok ::1/128
onboard0/_a static ok fe80::a00:27ff:feea:c690/10
pci0/_a static ok fe80::a00:27ff:fe77:60d1/10
root@solaris11:~# ifconfig management0
management0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 7
inet 172.16.103.37 netmask ffffff00 broadcast 172.16.103.255
ether 8:0:27:14:4d:92
root@solaris11:~#

Dengan kemampuan mengubah nama link, kita jadi lebih leluasa untuk menggunakan nama yang lebih informatif sesuai fungsi & peruntukan link tersebut.

Set IP Address Solaris 11

Mengganti IP address di Solaris 10 relatif mudah & praktis. Cukup dengan 1 perintah, tidak perlu mengedit beberapa file & perubahannya langsung permanen tanpa perlu reboot. Misalnya kita punya 1  network interface net2 yang belum diberi IP :

root@solaris:~# ifconfig net2
net2: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 11
inet 0.0.0.0 netmask ffffff00 broadcast 0.0.0.255
ether 0:c:29:94:85:30
root@solaris:~#

Kita ingin menggunakan interface tersebut dengan IP statis 172.16.103.222/24. Cukup jalankan perintah ipadm untuk mengaktifkan IPnya :

root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static

Maka interface net2 akan aktif seketika dengan IP tersebut :

root@solaris:~# ifconfig net2
net2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 11
inet 172.16.103.222 netmask ffffff00 broadcast 172.16.103.255
ether 0:c:29:94:85:30
root@solaris:~#

IP tersebut tidak akan hilang walaupun kita restart mesinnya.

UPDATE :

Misalnya kita coba jalankan perintah ipadm untuk mengaktifkan IP address tapi mendapat error seperti ini :

root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static
ipadm: cannot create address: No such interface
root@solaris:~#

Ini artinya belum ada IP interface pada link net2, kita perlu membuat IP interface terlebih dulu sebelum menambahkan IP address :

root@solaris:~# ipadm create-ip net2
root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static
root@solaris:~#

Ganti Hostname Solaris 11

Saya baru tahu ada banyal hal yang baru dari sistem operasi Solaris 11. Salah satunya adalah hal sederhana seperti mengganti hostname sebuah server.

solaris11_logo

Misalnya saya punya server Solaris 11 dengan hostname seperti ini :

root@solaris11:~# uname -n
solaris11
root@solaris11:~# hostname
solaris11
root@solaris11:~#

Untuk mengganti hostname dari “solaris11” menjadi “sol11_testbed01” saya perlu menggunakan perintah svccfg seperti berikut ini :

root@solaris11:~# svccfg -s svc:/system/identity:node setprop config/nodename="sol11_testbed01"
root@solaris11:~# svcadm refresh svc:/system/identity:node
root@solaris11:~# svcadm restart svc:/system/identity:node

Perubahannya instant, saya cukup relogin dan hostname-nya sudah berubah :

root@solaris11:~# su -
Oracle Corporation      SunOS 5.11      11.0    November 2011
root@sol11_testbed01:~# uname -a
SunOS sol11_testbed01 5.11 11.0 i86pc i386 i86pc
root@sol11_testbed01:~# uname -n
sol11_testbed01
root@sol11_testbed01:~# hostname 
sol11_testbed01
root@sol11_testbed01:~#

Solaris 11 langsung memperbaiki file /etc/hosts juga :

root@sol11_testbed01:~# more /etc/hosts
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Internet host table
#
::1 sol11_testbed01 localhost 
127.0.0.1 sol11_testbed01 localhost loghost

Tentu ini suatu kemajuan dari apa yang dimiliki oleh Solaris 10. Di Solaris 10 saya perlu mengedit secara manual beberapa file berikut :

  • /etc/hosts
  • /etc/nodaname
  • /etc/hostname.ce0 (untuk semua interface yang ada)

Dan untuk mengaktifkan hostname baru di Solaris 10, saya perlu lakukan reboot server; tentu ini sangat tidak praktis. Solaris 11 rupanya sudah menjawab keterbatasan tersebut.

Restore Dari TimeMachine

Kemarin saya membuat kesalahan bodoh dengan menghapus aplikasi Java dari Macbook. Awalnya saya sempat berkutat dengan Java supaya bisa menggunakan aplikasi kantor berbasis Java Web Start. Setelah gagal beberapa kali menginstal Java Runtime, utak atik saya berakhir dengan salah menghapus Java bawaan Mac OSX. Sebelumnya aplikasi Java terinstal dengan baik :

ttirtawi@macbook-air:~$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
ttirtawi@macbook-air:~$

Karena salah hapus file di /System, aplikasi Java terhapus juga. Ketika saya ingin menginstal ulang Java bawaan Mac OS, proses instalasi gagal karena program menganggap sudah ada aplikasi yang sama dengan versi yang lebih baru. Bosan mencari tahu lewat Google, saya putuskan untuk melakukan full restore. Mac OSX punya aplikasi TimeMachine untuk sarana backup restore. TimeMachine terintegrasi dengan baik dengan sistem operasinya sehingga relatif sangat mudah untuk dipakai. Sejak awal menggunakan Mac, saya sudah menggunakan TimeMachine untuk backup data. Sampai kemarin saya belum pernah menggunakan TimeMachine untuk melakukan restore.

20130203-213416.jpg

Proses restore keseluruhan sistem operasi sangat mudah. Setelah menyambungkan harddisk backup, saya cukup restart Macbook sambil menekan tombol Cmd+R sampai muncul menu untuk melakukan restore. Saya disuguhi pilihan untuk melakukan restore data sampai beberapa hari ke belakang. Saya pilih untuk mengembalikan data ke kondisi hari Sabtu jam 1 siang. Proses restore data berlangsung sekitar 1 jam.

Ajaib, setelah restore selesai Macbook saya kembali ke kondisi semula (hari Sabtu siang). Semua data normal dan kembali semua. Data-data yang sudah saya hapus Sabtu sore kemarin pun muncul kembali. Aplikasi Java juga kembali lagi. Sebenarnya mungkin ada cara yang lebih mudah untuk mengembalikan aplikasi Java yang corrupt. Tapi dengan cara ini saya jadi tahu persis kegunaan TimeMachine & bagaimana powerfull-nya aplikasi ini. Dengan menggunakan TimeMachine kita bisa menyelamatkan data yang hilang, memperbaiki sistem yang corrupt, dan bahkan bisa juga dipakai untuk melakukan cloning dari satu Mac ke mesin Mac yang lain.  Sejauh ini saya puas sekali dengan aplikasi TimeMachine bawaan Mac OSX ini.

Membuat Live Streaming MP3

Masih menyambung tulisan sebelumnya tentang Evolusi Radio, saya penasaran bagaimana sih caranya membuat livestreaming via internet. Banyak juga tulisan di internet yang membahas tentang cara menginstal aplikasi yang bisa menyediakan streaming musik. Saya coba satu dari web ini. Saya coba install di Ubuntu server (dan di salah satu virtual machine laptop yang menggunakan Linux Mint 13).

Singkatnya membuat aplikasi streaming ini ada 2 aplikasi yang harus diinstal:

  • Aplikasi yang melakukan siaran (broadcasting)
  • Aplikasi yang memainkan musik atau menyuplai konten siaran (lewat microphone misalnya)

Seperti petunjuk yang saya baca, setidaknya ada 2 paket yang harus diinstall yaitu icecast2 (sebagai broadcaster) dan ezstream untuk memainkan musiknya :

ttirtawi@mint13 ~ $ dpkg -l | egrep "ezstream|icecast"
ii  ezstream                               0.5.6~dfsg-1                            easy media streaming client over icecast servers
ii  icecast2                               2.3.2-9ubuntu1                          streaming media server
ttirtawi@mint13 ~ $

Karena Linux Mint & Ubuntu menggunakan manajemen paket yang sama, cara instalnya sama juga :

ttirtawi@mint13 ~ $ sudo apt-get install ezstream icecast

Yang perlu diset kemudian adalah password, hostname, dan port di mana aplikasi icecast2 akan berjalan. Semuanya ada di file /etc/icecast2/icecast.xml

icecast

Lalu berikutnya saya jalankan icecast2 dengan perintah :

ttirtawi@mint13 ~ $ sudo /etc/init.d/icecast2 start
Starting icecast2: Starting icecast2
Detaching from the console
icecast2.
ttirtawi@mint13 ~ $

Berikutnya saya cek apakah bener icecast2 sudah LISTEN di port 8100 :

ttirtawi@mint13 ~ $ netstat -ano  | grep 8100
tcp        0      0 0.0.0.0:8100            0.0.0.0:*               LISTEN      off (0.00/0/0)
unix  2      [ ACC ]     STREAM     LISTENING     11291    /home/ttirtawi/.pulse/0c1857bc46557b6ad5bb06f800000003-runtime/native
unix  3      [ ]         STREAM     CONNECTED     12584    /home/ttirtawi/.pulse/0c1857bc46557b6ad5bb06f800000003-runtime/native
unix  3      [ ]         STREAM     CONNECTED     11331    /home/ttirtawi/.pulse/0c1857bc46557b6ad5bb06f800000003-runtime/native
ttirtawi@mint13 ~ $

Berikutnya saya menyiapkan file konfigurasi ezstream seperti berikut ini :

ezstream

File /home/ttirtawi/playlist2.txt berisi daftar file MP3 yang akan dimainkan oleh ezstream :

ttirtawi@mint13 ~ $ cat playlist2.txt  | head -10
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/01 - Peppi Kamadhatu - Can't Smile Without You.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/02 - Olive - L.O.V.E.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/03 - Tata - When Will I See You Again.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/04 - Otrie B - Jeremy M Quartet - Smoke Gets In Your Eyes.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/05 - Peppi Kamadhatu - Love Is A Many Splendored Thing.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/06 - Otrie B - Jeremy M Quartet - For Sentimental Reasons.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/07 - Tata - Kiss Of Life.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/08 - Jeremy Monteiro Trio - Stardust.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/09 - Jeremy Monteiro - I'm Confessin' That I Love You.mp3
/mnt/hgfs/MUSIC/Jazz For Romantic Moments/10 - Jeremy Monteiro Trio - Your Eyes.mp3
ttirtawi@mint13 ~ $

Ready, lalu saya jalankan ezstream dengan perintah berikut ini :

ttirtawi@mint13 ~ $ ezstream -c ezstream.xml 
ezstream: Connected to http://localhost:8100/stream.mp3
ezstream: Streaming ``Peppi Kamadhatu - Can't Smile Without You''

Selesai, saya coba dengan aplikasi Tune-In di iPhone & seperti ini tampilannya :

20130114-001010.jpg