Kamis, 07 Januari 2010

seting repositori osol 2009.06 (iso) di osol 2009.6

kopi berkas osol-repo-0906-full.iso ke direktori /

kopikan script bash berikut menjadi file /tmp/setup.sh
kemudian chmod +x /tmp/setup.sh
#/tmp/setup.sh

#!/bin/bash
lofiadm -a /osol-repo-0906-full.iso;
mkdir /repo;
mount -F hsfs /dev/lofi/1 /repo/;
cd /repo/;
svccfg -s application/pkg/server setprop pkg/inst_root=/repo/repo;
svccfg -s application/pkg/server setprop pkg/readonly=true;
svccfg -s application/pkg/server setprop pkg/port=10000;
cp /repo/repo/cfg_cache /etc/0906_cfg_cache;
sed -e 's/pkg.opensolaris.org\/release/localhost:10000\//g' /etc/0906_cfg_cache > /tmp/0906_cfg_cache;
mv /tmp/0906_cfg_cache /etc/0906_cfg_cache;
svccfg -s application/pkg/server setprop pkg/cfg_file=/etc/0906_cfg_cache;
svcadm refresh application/pkg/server;
svcadm enable application/pkg/server;
sleep 10;
hasil=`netstat -na|grep *.10000`;
if [ -n "$hasil" ];then
echo
echo "seting publisher ke localhost:10000";
pkg set-publisher -O http://localhost:10000/ opensolaris.org;
echo
pkg image-update
echo "telah berhasil menset"
else
echo
echo "port tidak terbuka";
echo
echo "berikut laporan dari lognya";
tail -n 10 /var/svc/log/application-pkg-server\:default.log
echo
fi

Kamis, 31 Desember 2009

can't boot zone after halt


setelah mencari kesana kemari tentang masalah dibawah ini :
root@opensoklaris:~# zoneadm -z mysql halt
root@opensoklaris:~# zoneadm -z mysql boot
zoneadm: zone 'mysql': call to zoneadmd failed
root@opensoklaris:~# zoneadm -z mysql unmount
root@opensoklaris:~# zoneadm -z mysql boot
referensi


http://blogs.sun.com/blogfinger/entry/how_to_add_a_solaris

Jumat, 25 Desember 2009

remastering opensolaris bagian 1

Remastering adalah kegiatan pemaketan ulang baik berupa penambahan atau pengurangan paket aplikasi dari yang standar. Pada kali ini saya mencoba mengulas untuk sistem operasi opensolaris.untuk melakukan remaster ini menggunakan script distro_construct. informasi penggunaan distro_construct bisa dilihat di sini
untuk mempersiapakan lingkungan untuk remastering ini diperlukan beberapa paket. kebetulan untuk opensolaris 2009.06 setelah di install SUNWdistro_const ternyata kurang cukup.
ini dikarenakan dependensi dari paket belum tertata dengan baik. untuk versi berikutnya mungkin sudah di perbaiki berikut ini cara mempersiapkan lingkungan ini.

- melakukan instalasi opensolaris 2009.06

- mempersiapkan repository dari opensolaris 2009.06
tutorial untuk melakukan setup dari rahmad di sini

- melakukan instalasi paket distro_constructor
#pkg install SUNWinstall SUNWPython-extra SUNWp7zip SUNWdistro_const

- mengubah file manifest
pada file manifest ada beberapa bagian yang diubah antara lain


distribution name="OpenSoklaris"

pkg_repo_default_authority

 post_install_repo_default_authority

 packages

 key_value_pairs



secara default akan menghasilkan 2 image yaitu ISO image dan usb image.
secara lengkap file tersebut ada di sini

- mengekseskui distro_const

di direktori slim_cd_x86.xml kita eksekusi dengan perintah

#distro_const build ./slim_cd_x86.xml

hasilnya seperti

Build started Fri Dec 11 15:50:16 2009
Distribution name: OpenSolaris
Build Area dataset: rpool/dc
Build Area mount point: /rpool/dc

===== potong =====

Copying ISO contents to USB image...
..................................................
..................................................
..................................................
........................................
1474400 blocks
=== /usr/bin/usbgen completed at Fri Dec 11 16:35:21 WIT 2009

Build completed Fri Dec 11 16:35:21 2009
Build is successful.


ada bugs kalau di build di virtual box sehingga apabila di sort maka gagal membuat image

kelebihan dari script distro_const disini adalah bisa resume

caranya melihat status dari compile dengan perintah
#distro_const build -l ./slim_cd_x86.xml
/usr/share/distro_const/DC-manifest.defval.xml validates
/tmp/slim_cd_x86_temp_13184.xml validates

Step Resumable Description
-------------- --------- -------------
im-pop X Populate the image with packages
im-mod X Image area modifications
slim-im-mod X Slim CD Image area Modifications
br-init X Boot root initialization
slim-br-config X Slim CD boot root configuration
br-config X Boot root configuration
br-arch X Boot root archiving (64-bit)
br-arch-32 X Boot root archiving (32-bit)
slim-post-mod X Slim CD post bootroot image area modification
grub-setup X Grub menu setup
post-mod X Post bootroot image area modification
gen-slim-cont Generate Slim CD image content list
iso ISO image creation
usb USB image creation
untuk meresume dari post-mod bisa dilakukan dengan
#distro_const build -r post-mod ./slim_cd_x86.xml







referensi

http://dlc.sun.com/osol/docs/content/dev/DistroConst/command.html


Kamis, 12 November 2009

Membuat thin-client sendiri untuk konek ke windows






Sembari sedang bertugas di jakarta, masih terngiang ada info dari salah satu kastamer bahwa mereka sudah mengimplementasikan thin client dengan menggunakan USB dengan menggunakan linux. Saatnya mencoba mengungkap bagaimana hal ini dibuat.

apakah Thin client itu ? (wikipedia)

A thin client (sometimes also called a lean or slim client) is a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles

mengapa thin client ?

1. Harga Hardware untuk client

Sering kali aplikasi di client membutuhkan hardware yang up to date dengan teknologi yang ada sekarang. Sehingga pilihan jatuh ke thin client karena menggunakan hardware lama namun tetap mengupgrade server apabila diperlukan untuk memenuhi kebutuhan server

2. Management

Hal ini cukup menarik dimana IT support yang nota bene kerjaannya memperbaiki peralatan yang berhubungan dengan IT pasti akan cukup bersyukur dengan kerja thin client ini sebab akan membuat sistem menjadi tersentralisasi. namun karena tersentralisasi maka supportnya pun harus lebih cepat responnya sebab sekali satu server mati maka semua client yang berhubungan juga tidak bisa menggunakannya.

3. Keamanan

Karena data berada di server sehingga untuk menjaga keamanan lebih terfokus kepada server sehingga diharapkan lebih mudah.

4. Catu Daya

Bila full konfigurasi yang digunakan maka kebutuhan daya akan semakin besar. Thin client ini adalah solusi untuk mengurangi hal ini.
Kembali ke catatan teknis untuk lebih hemat dengan solusi opensource. Menurut informasi beliau, disana menggunakan terminal server. jadi konsep dasarnya linux membuka koneksi client terminal service ke server windows sehingga usernya tetap menggunakan resource server. Berhubung info ini sifatnya tidak rahasia maka saya coba mereka-reka bagaimana kira2 IT staffnya membuatnya. Semoga ada guna buat pembaca blog ini.

5. dan masih ada pertimbangan yang lain...

berikut ini diagram yang dimaksud




yang terlintas pertama dalam membuat ini adalah live USB dengan speksifikasi minimal.
dalam hal ini saya pilih Debian.

caranya download image nya di
http://cdimage.debian.org/cdimage/release/current-live/i386/usb-hdd/

saya memilih debian-live-502-i386-lxde-desktop.img

kemudian untuk menulis ke USB menggunakan tool dari komunitas ubuntu

https://wiki.ubuntu.com/Win32DiskImager



setelah di burn di flash disk akan terisi file file seperti ini




sebenarnya dengan image ini anda bisa booting dan bisa menjalankan linux namun untuk melakukan RDP harus melakukan instalasi aplikasi rdesktop.

namun permasalahannya bila di lakukan reboot maka harus mengulangi langkah instalasi dan sebagainya. akhirnya harus diubah supaya default ada aplikasi rdesktop.

caranya adalah melakukan copy file g:\live\filesystem.squashfs ke linux box atau bahkan editing menggunakan flashdisk itu sendiri (saya melakukan langkah 2 :D).

dari namanya teringat satu filesystem "SQUASHFS"
Squashfs is a compressed read-only filesystem for Linux.

kemudian mount file tersebut untuk di extract dan dimodifikasi.
file tersebut saya simpan di /root

mkdir /mnt/squashfs;

mkdir /mnt/squashfsnew;

mount -o loop -t squashfs /root/filesystem.squashfs /mnt/squashfs;

cp -pR /mnt/squashfs/ /mnt/squashfsnew;

umount /mnt/squashfs;

chroot /mnt/squashfsnew/squashfs;

untuk mempercepat download paket ubahlah menjadi repo local. ubah /etc/apt/sources.list

kemudian install paket X11 dan rdesktop

karena user default login dibuat "on the fly" maka harus dibuat script untuk bikin "on the fly"

di masukkan ke /etc/rc.local untuk membuat .bashrc yang isinya melakukan instruksi rdesktop

ke server target

setelah selesai keluar dari chroot.

kemudian bikin filesystem squashfs baru dari direktori /mnt/squashfsnew/squashfs

mksquashfs /mnt/squashfsnew/squashfs/ /mnt/filesystem.squashfs

kopi file /mnt/filesystem.squashfs ke direktori g:\live

menimpa file yang sebelumnya.




Selasa, 27 Oktober 2009

Instalasi Mysql 5.1.34 di solaris 10


Terusik dengan performa MySQL di solaris 10. Pagi ini sebelum beraktifikas, ditemani mesin X4150 dan external storage, saatnya merajut script ruwet.

Tidak semulus yang dibayangkan namun mudah


download mysql-5.1.34-solaris10-x86_64.tar.gz bisa dicari di download mysql.

taruh di /export/home

cd /export/home
gunzip mysql-5.1.34-solaris10-x86_64.tar.gz
tar -xvf mysql-5.1.34-solaris10-x86_64.tar
groupadd mysql
useradd -g mysql mysql
mv mysql-5.1.34-solaris10-x86_64 mysql
cd mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

kemudian cek dengan

root@sbypoc # bin/mysqld_safe --user=mysql &
[1] 634
root@sbypoc # 091027 12:54:37 mysqld_safe Logging to '/export/home/mysql/data/sbypoc.err'.
091027 12:54:37 mysqld_safe Starting mysqld daemon with databases from /export/home/mysql/data

root@sbypoc #ps -ef|grep mysql
root 634 393 0 12:54:37 pts/4 0:00 /bin/sh bin/mysqld_safe --user=mysql


sekarang menancapkan ke service ke smf

bikin file /lib/svc/method/svc-mysql

isinya


#!/usr/bin/sh

#

# William Pool (Puddle) 01/05

# SMF Method file for MySQL

# E-mail: puddle@flipmotion.com

#

# This uses Sun's default MySQL packages

# SUNWmysqlu SUNWmysqlr

# Modify accordingly!

#

# NOTE: Make sure DB_DIR is owned BY the mysql

# user and group and chmod 700.

#

. /lib/svc/share/smf_include.sh

DB_DIR=/export/home/mysql/data

PIDFILE=${DB_DIR}/`/usr/bin/uname -n`.pid



case "$1" in

start)

/export/home/mysql/bin/mysqld_safe --user=mysql \
--datadir=${DB_DIR} --pid-file=${PIDFILE} \
> /dev/null &

;;

stop)

if [ -f ${PIDFILE} ]; then

/usr/bin/pkill mysqld_safe >/dev/null 2>&1

/usr/bin/kill `cat ${PIDFILE}` > /dev/null 2>&1 \
&& echo -n ' mysqld'

fi

;;

'restart')

stop

while pgrep mysqld > /dev/null

do

sleep 1

done

start

;;

*)

echo ""

echo "Usage: `basename $0` \
{ start | stop | restart }"

echo ""

exit 64

;;

esac

kemudian buat file /var/svc/manifest/network/mysql.xml

isinya

<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--

William Pool (Puddle) 02/05
Service manifest for MySQL
E-mail: puddle@flipmotion.com
-->

<service_bundle type='manifest' name='mysql:mysql'>

<service
name='network/mysql'
type='service'
version='1'>
<create_default_instance enabled='false' />
<single_instance />


<dependency name='fs'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/system/filesystem/local' />
</dependency>

<dependency name='net'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>

<exec_method
type='method'
name='start'
exec='/lib/svc/method/svc-mysql start'
timeout_seconds='-1'>
<method_context>
<method_credential user='mysql' group='mysql' />
</method_context>
</exec_method>

<exec_method
type='method'
name='stop'
exec=':kill'
timeout_seconds='-1'>
</exec_method>

<exec_method
type='method'
name='restart'
exec='/lib/svc/method/svc-mysql restart'
timeout_seconds='-1'>
</exec_method>



</service>

</service_bundle>

kemudian kita ubah permisi filenya

chown root:bin /lib/svc/method/svc-mysql

chmod 555 /lib/svc/method/svc-mysql

chown root:sys /var/svc/manifest/network/mysql.xml

chmod 444 /var/svc/manifest/network/mysql.xml

chown -R mysql:mysql /export/home/mysql

chmod -R 700 /export/home/mysql/data

kita lakukan import ke SMF

svccfg import /var/svc/manifest/network/mysql.xml
svcadm -v enable mysql