Archive for the ‘Solaris 10’ Category
Kirim Email via Console dengan sendEmail
Mengirim email via console sangat mudah, apalagi jika anda seorang administrator yang memegang sebuah server dimana server anda harus bisa memberitahukan error system setiap saat ke alamat email anda maupun pada orang yang bertanggungjawab pada service yang berjalan. Ada opsi yang sangat mudah karena kita sudah dibantu dengan adanya aplikasi sendEmail yang berbasis bash-scripting dengan bahasa Perl. Cara anda tinggal install terlebih dahulu (based on Ubuntu) :
# aptitude install sendemail libio-socket-ssl-perl libnet-ssleay-perl perl
atau jika tidak menggunakan distro Ubuntu bisa didapat source nya disini
cara installnya seperti ini :
Uncompress terlebih dahulu paket .tar.gz disini paket ada di /temp :
# tar zxvf /tmp/sendEmail-v1.55.tar.gz
# cd /tmp/sendEmail-v1.55
Copy sendEmail script ke /usr/local/bin :
# cp /tmp/sendEmail-v1.55/sendEmail /usr/local/bin
Buat file executable :
# chmod +x /usr/local/bin/sendEmail
Contoh menggunakan sendEmail seperti ini (disini saya menggunakan smtp gmail) :
# sendEmail -f my.account@gmail.com -t myself@domain.tld -u this is the test title -m “this is a test message” -s smtp.gmail.com -o tls=yes -xu usernameonly -xp mypasswd -a /home/brokenz/perdana.txt
keterangan option:
- -f : berarti from alias sender
- -t : berarti to email address (tambahkan -cc dan -bcc jika anda membutuhkan)
- -u : berarti subject dari email
- -m : berarti message alias pesan anda
- -s : berarti server (secara default menggunakan port 25 jika tidak bisa gunakan port 587 ex: smtp.gmail.com:587)
- -o : berarti option lain seperti tls dan misc seperti -xu dan -xp
- -xu : berarti username email anda
- -xp : berarti password email anda
- -a : berarti file attachment yang akan dikirim
Mengirim ke banyak orang
sendEmail -f myaddress@isp.net -t “admin <admin@isp.net>” user1@isp.net user2@isp.net -s relay.isp.net -u “Test email” -m “Hallo apakabar hari ini ?.”
Mengirim ke banyak orang dengan cc dan bcc
sendEmail -f myaddress@isp.net -t admin@isp.net;user1@isp.net;user2@isp.net -cc user2@isp.net tom@isp.net jess@isp.net -bcc ra@isp.net dub@isp.net kay@isp.net -s relay.isp.net -u “Test email with cc and bcc recipients” -m “Hi his is a test email.”
Mengirim email dengan isi file sebagai body dari message
cat /tmp/file.txt | sendEmail -f myaddress@isp.net -t admin@isp.net -s relay.isp.net -u “Test email with contents of file”
Mengirim email dengan isi file sebagai body dari message (cara ke 2)
sendEmail -f myaddress@isp.net -t admin@isp.net -s relay.isp.net -o message-file=/tmp/file.txt -u “Test email with contents of file”
Mengirim html email: (make sure your html file has <html> at the beginning)
cat /tmp/file.html | sendEmail -f myaddress@isp.net -t admin@isp.net -s relay.isp.net -u “Test email with html content”
Mengirim Short Message Service (SMS)/text message ke cellular phone
Untuk cara yang satu ini saya masih bingung dengan gateway sms no matrix yang saya gunakan,
./sendEmail -f usernameonly@gmail.com -t 08151700100@indosat.com -m This is an SMS message from Linux.-o tls=auto -s smtp.gmail.com -xu usernameonly -xp mypasswd
Cara Backup Data
Sebagai seorang admin pasti setiap hari kita tak lepas dengan yang namanya data server, sebagai seorang admin pastinya kita juga harus mengantisipasi terjadinya hal-hal yang tidak diinginkan terhadap data kita yang ada di server. Lalu bagaimana caranya kita mengantisipasi itu, salah satunya adalah dengan mem-backup data kita secara periodic baik itu ke server lain maupun di storage khusus untuk backup. Nah, cara backup data salah satunya juga bisa dengan menggunakan bash scripting, karena secara default linux/unix sudah mendukung hal tersebut. Berikut contoh script bash untuk membackup data :
#!/bin/bash#change direktori to source direktori
cd /home/Dokumen/
#
source_direktori=”/home/Dokumen/”
#
#struktur direktori destination = /media/backup/2010/07
#
destination_direktori=”/media/backup/$(date +%Y)/$(date +%m)/”
#
#untuk menghasilkan file kompresi dengan hasil filenya “backupdata_20100701.tar.gz “
file_tar=”backupdata_$(date +%Y%m%d).tar.gz”
#
# mencari destination direktori
# bila tidak ditemukan direktori tujuan maka kita buat script
if [ ! -d "$destination_direktori" ] ; then
echo “* Make Destination Direktori”
mkdir -p $destination_direktori
fi
#
#mencari file ods, xls, odt, dan doc (spreadsheet dan word processor) dan
#mencari file modifikasi H-1 dan H lalu copy ke directory $destination_direktori. find $source_direktori -type f \( -iname ‘*.ods’ -iname ‘*.xls’ -o -iname \ ‘*.odt’ -o -iname ‘*.doc’ \) -mtime -1 -exec cp -b –parents ‘{}’ $destination_direktori \;
#
#kompres dan hapus file aslinya
tar zcvf $destination_direktori$file_tar $destination_direktori –remove-files –exclude=’*.tar.gz’
Nah setelah script selesai dibuat sesuai keinginan kita tinggal di taruh saja di crontab untuk dijalankan scriptnya secara periodic. Semoga bermanfaat
Script TCP port and PID on Solaris
Untuk menemukan PID dari port yang kita inginkan bisa dengan menggunakan script porting. Copy dan simpan dalam extension “.sh”. Letakkan di folder /usr/sbin/ dan /usr/bin agar menjadi absolut path jika anda belum paham apa itu absolut path dan relative path silahkan tanya sama si mbah google karena saya tidak akan menjelaskannya disini
:
bash-3.00# cp porting.sh /usr/sbin/
bash-3.00# cp porting.sh /usr/bin/
Ubah permision script porting.sh dengan chmod a+x atau agar lebih secure gunakan option u+x agar super user saja yang bisa menggunakan script ini.
bash-3.00# chmod a+x /usr/bin/porting.sh
bash-3.00# chmod a+x /usr/sbin/porting.sh
Oya rename saja script porting.sh menjadi porting agar lebih enak di pandang
bash-3.00# mv /usr/bin/porting.sh /usr/bin/porting
bash-3.00# mv /usr/sbin/porting.sh /usr/sbin/porting
Sekarang bagaimana command agar kita bisa menggunakan script ini, yang pertama dengan port yang kita inginkan misal port 22 :
bash-3.00# porting -p 22
PID Process Name and Port
_________________________________________________________
461 /usr/lib/ssh/sshd 22
sockname: AF_INET6 :: port: 22
_________________________________________________________
16055 /usr/lib/ssh/sshd 22
sockname: AF_INET6 ::ffff:124.195.15.220 port: 22
_________________________________________________________
16056 /usr/lib/ssh/sshd 22
sockname: AF_INET6 ::ffff:124.195.15.220 port: 22
_________________________________________________________
4558 /usr/lib/ssh/sshd 22
sockname: AF_INET6 ::ffff:124.195.15.220 port: 22
_________________________________________________________
4559 /usr/lib/ssh/sshd 22
sockname: AF_INET6 ::ffff:124.195.15.220 port: 22
Nah kalau untuk list semua ya tinggal seperti ini :
bash-3.00# porting -a
PID Process Name and Port
_________________________________________________________
287 /usr/lib/nfs/statd
sockname: AF_INET 0.0.0.0 port: 0
_________________________________________________________
324 /usr/lib/inet/inetd
sockname: AF_INET6 :: port: 7100
sockname: AF_INET6 :: port: 513
sockname: AF_INET6 :: port: 23
sockname: AF_INET6 :: port: 21
sockname: AF_INET6 :: port: 79
sockname: AF_INET 0.0.0.0 port: 514
sockname: AF_INET6 :: port: 514
sockname: AF_INET 0.0.0.0 port: 6112
sockname: AF_INET6 :: port: 6481
sockname: AF_INET 0.0.0.0 port: 6481
_________________________________________________________
369 /usr/sadm/lib/smc/bin/smcboot
sockname: AF_INET 127.0.0.1 port: 5987
sockname: AF_INET 127.0.0.1 port: 898
sockname: AF_INET 127.0.0.1 port: 5988
Cara Install Paket dengan Blastwave di Solaris 10
Tulisan ini menerangkan bagaimana cara kita agar menginstall paket langsung direct ke repositori internet yaitu ke server blastwave. Seperti jika kita menggunakan aptitude install di debian base. Ikuti step by step di bawah ini (saya menggunakan mesin Sun Fire v240 OS Solaris 10 SPARC)
bash-3.00# uname -a
SunOS Blackjack 5.10 Generic_141444-09 sun4u sparc SUNW,Sun-Fire-V240
bash-3.00# cat /etc/release
Solaris 10 10/09 s10s_u8wos_08a SPARC
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 September 2009
Step 1,
Install dulu pkgutil seperti dibawah ini
bash-3.00# pkgadd -d http://blastwave.network.com/csw/pkgutil_`/sbin/uname -p`.pkg
## Downloading…
…………..25%…………..50%…………..75%…………..100%
## Download Complete
The following packages are available:
1 CSWpkgutil pkgutil – Installs Solaris packages easily
(sparc) 1.6.1,REV=2009.06.15
Select package(s) you wish to process (or ‘all’ to process
all packages). (default: all) [?,??,q]:
Processing package instance <CSWpkgutil> from <http://blastwave.network.com/csw/pkgutil_sparc.pkg>
pkgutil – Installs Solaris packages easily(sparc) 1.6.1,REV=2009.06.15
Please see /opt/csw/share/doc/pkgutil/license for license information.
## Processing package information.
## Processing system information.
10 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of <CSWpkgutil> [y,n,?] y
Installing pkgutil – Installs Solaris packages easily as <CSWpkgutil>
## Installing part 1 of 1.
/etc/opt/csw/pkgutil.conf.CSW
/opt/csw/bin/bldcat
/opt/csw/bin/chkcat
/opt/csw/bin/pkgutil
/opt/csw/etc/pkgutil.conf.CSW
/opt/csw/libexec/pkgutil/wget
/opt/csw/share/doc/pkgutil/license
/opt/csw/share/doc/pkgutil/readme
/opt/csw/share/man/man1/bldcat.1
/opt/csw/share/man/man1/chkcat.1
/opt/csw/share/man/man1/pkgutil.1
/var/opt/csw/pkgutil/admin.CSW
[ verifying class <none> ]
## Executing postinstall script.
Installation of <CSWpkgutil> was successful.
bash-3.00# mkdir /etc/opt/csw/
bash-3.00# cp -p /opt/csw/etc/pkgutil.conf.CSW /etc/opt/csw/pkgutil.conf
Step 2,
Download software catalognya dulu
bash-3.00# /opt/csw/bin/pkgutil –catalog
Fetching new catalog http://blastwave.network.com/csw/unstable/sparc/5.10 if available…
–12:13:40– http://blastwave.network.com/csw/unstable/sparc/5.10/catalog
=> `/var/opt/csw/pkgutil/catalog.blastwave.network.com_csw_unstable_sparc_5.10′
Resolving blastwave.network.com… 64.79.150.209
Connecting to blastwave.network.com|64.79.150.209|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 385,355 (376K) [text/plain]
100%[================================================================================================================>] 385,355 131.24K/s
12:13:43 (130.90 KB/s) – `/var/opt/csw/pkgutil/catalog.blastwave.network.com_csw_unstable_sparc_5.10′ saved [385355/385355]
Step 3,
Install GNU GPG
bash-3.00# /opt/csw/bin/gpg –keyserver pgp.mit.edu –recv-keys A1999E90
gpg: directory `//.gnupg’ created
gpg: new configuration file `//.gnupg/gpg.conf’ created
gpg: WARNING: options in `//.gnupg/gpg.conf’ are not yet active during this run
gpg: keyring `//.gnupg/secring.gpg’ created
gpg: keyring `//.gnupg/pubring.gpg’ created
gpg: requesting key A1999E90 from hkp server pgp.mit.edu
gpg: //.gnupg/trustdb.gpg: trustdb created
gpg: key A1999E90: public key “Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>” imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
Verifikasi dahulu jika kita sudah mempunyai key :
bash-3.00# /opt/csw/bin/gpg –list-keys
//.gnupg/pubring.gpg
——————–
pub 1024D/A1999E90 2008-08-17 [expires: 2011-08-17]
uid Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>
sub 2048g/E4845389 2008-08-17 [expires: 2011-08-17]
Edit konfigurasi key untuk trust :
bash-3.00# /opt/csw/bin/gpg –edit-key A1999E90
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
pub 1024D/A1999E90 created: 2008-08-17 expires: 2011-08-17 usage: SC
trust: unknown validity: unknown
sub 2048g/E4845389 created: 2008-08-17 expires: 2011-08-17 usage: E
[ unknown] (1). Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>
Invalid command (try “help”)
Command> Trust
pub 1024D/A1999E90 created: 2008-08-17 expires: 2011-08-17 usage: SC
trust: unknown validity: unknown
sub 2048g/E4845389 created: 2008-08-17 expires: 2011-08-17 usage: E
[ unknown] (1). Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>
Please decide how far you trust this user to correctly verify other users’ keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don’t know or won’t say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
pub 1024D/A1999E90 created: 2008-08-17 expires: 2011-08-17 usage: SC
trust: ultimate validity: unknown
sub 2048g/E4845389 created: 2008-08-17 expires: 2011-08-17 usage: E
[ unknown] (1). Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>
Please note that the shown key validity is not necessarily correct
unless you restart the program.
Command> quit
Berikutnya edit konfigurasi pkgutil.conf
bash-3.00# vi /etc/opt/csw/pkgutil.conf
# Configuration file for pkgutil
# $Id: pkgutil.conf 7 2009-03-07 18:48:54Z bonivart $
# Master configuration file is placed in /opt/csw/etc. Place a pkgutil.conf
# file in /etc/opt/csw if you want a local override setting-by-setting
# Nothing below is mandatory to change, pkgutil will use the default values
# noted below for each option unless something is uncommented
# Mirror to use for downloads
# See http://www.blastwave.org/mirrors.php for alternative mirrors
# Default: http://blastwave.network.com/csw/unstable
#mirror=http://blastwave.network.com/csw/unstable
# Solaris 10: If you wish to limit pkgutil to installing packages
# only to the global zone, then uncomment this line. Note that pkgrm does not
# have the same option
# WARNING: do not modify this unless you know what you’re doing
# Default: blank
#pkgaddopts=-G
# Flags for use with wget, e.g. “-nv” for less verbose or “-q” for quiet
# WARNING: do not modify this unless you know what you’re doing
# Default: blank
#wgetopts=-q
# To enable use of gpg or md5, uncomment these
# NOTE: it doesn’t make sense to use md5 but not gpg so your options should be:
# 1. both disabled, 2. gpg enabled, 3. both enabled
# Default: false, false
use_gpg=true
use_md5=true
Langkah terakhir adalah sinkronisasi catalog server blastwave
bash-3.00# /opt/csw/bin/pkgutil –catalog
Fetching new catalog http://blastwave.network.com/csw/unstable/sparc/5.10 if available…
–13:30:57– http://blastwave.network.com/csw/unstable/sparc/5.10/catalog
=> `/var/opt/csw/pkgutil/catalog.blastwave.network.com_csw_unstable_sparc_5.10′
Resolving blastwave.network.com… 64.79.150.209
Connecting to blastwave.network.com|64.79.150.209|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 385,355 (376K) [text/plain]
100%[================================================================================================================>] 385,355 131.26K/s
13:31:00 (130.98 KB/s) – `/var/opt/csw/pkgutil/catalog.blastwave.network.com_csw_unstable_sparc_5.10′ saved [385355/385355]
Checking catalog integrity with gpg.
gpg: Signature made Thu Dec 31 06:19:20 2009 WIT using DSA key ID A1999E90
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2011-08-17
gpg: Good signature from “Blastwave Software (Blastwave.org Inc.) <software@blastwave.org>”
Step 4,
Buka browser untuk mengetahui software apa saja yang sudah tersedia di blastwave di http://www.blastwave.org
dibagian software anda bisa lihat misal saya akan menginstall bittorrent, dicatalog terlihat nama software adalah CSWbittorrent. Maka langsung saja kita install dengan perintah
bash-3.00# pkg-get -i CSWbittorrent
No existing install of CSWbittorrent found. Installing…
Trying http://ibiblio.org/pub/packages/solaris/opencsw/current/sparc/5.10/bittorrent-4.0.4-SunOS5.8-all-CSW.pkg.gz
–13:38:44– http://ibiblio.org/pub/packages/solaris/opencsw/current/sparc/5.10/bittorrent-4.0.4-SunOS5.8-all-CSW.pkg.gz
=> `bittorrent-4.0.4-SunOS5.8-all-CSW.pkg.gz’
Resolving ibiblio.org… 152.46.7.80
Connecting to ibiblio.org|152.46.7.80|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 157,729 (154K) [text/plain]
100%[================================================================================================================>] 157,729 62.07K/s
13:38:47 (61.94 KB/s) – `bittorrent-4.0.4-SunOS5.8-all-CSW.pkg.gz’ saved [157729/157729]
…….
…….
/opt/csw/share/BitTorrent/winsetup.py
/opt/csw/share/doc/BitTorrent/README
[ verifying class <none> ]
Installation of <CSWbittorrent> was successful.
Ref :
http://www.blastwave.org/jir/blastwave.fam
Informasi Package di Solaris
Jika kita ingin mengetahui informasi sebuah paket di Solaris, bisa dengan menggunakan command pkgchk. Berikut contohnya :
gunakan perintah which untuk mengetahui di mana direktori paket berada
bash-3.00# which ssh
/usr/bin/ssh
lalu dengan pkgchk dengan option -l -p dan diikuti direktori sebuah paket
bash-3.00# pkgchk -l -p /usr/bin/ssh
Pathname: /usr/bin/ssh
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: bin
Expected file size (bytes): 265980
Expected sum(1) of contents: 37227
Expected last modification: Sep 16 03:17:14 2009
Referenced by the following packages:
SUNWsshu
Current status: installed








.
.
.
![Siena IV (The Tuscany Series) [Explore] Siena IV (The Tuscany Series) [Explore]](http://static.flickr.com/7083/7320391910_8e527775a2_t.jpg)
