Category: Informasi umum

Informasi umum

Top 5 – Source Network Terbuka dan Memonitor Kinerja + sistem peringatan

Top 5 – Source Network Terbuka dan Memonitor Kinerja + sistem peringatan

Pendahuluan – Monitoring jaringan dan berbagai aplikasi adalah bagian terpenting dari bisnis Anda. Jadi memilih alat monitor sangat penting dan yang paling penting tugas, karena Anda sepenuhnya akan menjawab pada alat ini untuk memberitahu setiap kali ada yang salah!

1) nagios – adalah sumber komputer open sistem monitor, memonitor jaringan dan infrastruktur aplikasi pemantauan perangkat lunak. Nagios menawarkan pemantauan yang lengkap dan mengingatkan untuk server, switch, aplikasi, dan layanan dan dianggap sebagai industri de facto
standar. Nagios mendukung dua jenis pemantauan-Aktif dan Pasif. Dalam hal jadwal monitoring nagios Aktif atau secara aktif memeriksa layanan yang disebutkan, sedangkan dalam kasus cek Pasif, aplikasi eksternal dapat digunakan untuk menyampaikan hasil layanan cek.
– Untuk cek Pasif NSCA (nagios Layanan Centang Akseptor) daemon harus dijalankan di server nagios menerima cek pasif melalui jaringan, yang akan mengirimkan cek pasif untuk nagios via unix socket.
– Untuk cek Acitive (nagios Pelaksana Plugin Remote) daemon NRPE akan harus berjalan di mesin remote untuk memonitor layanan. Namun Anda dapat menggunakan SSH juga.

Untuk memantau host remote dan layanan masyarakat nagios menyediakan beberapa plugin seperti yang ditunjukkan di bawah ini …
* NRPE – daemon NRPE akan berjalan pada host remote dan nagios akan cek layanan pada host remote melalui plugin check_nrpe (perintah) dari host nagios.
* Check_MK – Plugin nagios terbaik untuk memantau host remote. Kecantikan dari plugin ini adalah bahwa sebagian besar layanan commons diperiksa dalam satu koneksi ke host remote dan hasilnya disampaikan sebagai hasil pasif untuk nagios. Hal ini meningkatkan kinerja, lalu lintas jaringan kurang dan tentu saja tidak ada beban atau beban pada remote host (yang kita sedang memantau). Untuk Check_MK, kita harus diinstal check_mk agen yaitu naskah check_mk_agent shell sederhana dan mengikat script ini untuk 6556 port tcp menggunakan daemon xinetd. Check_MK juga menyediakan fitur berikut.
– Check_MK dukungan dinamis konfigurasi nagios generasi, inventarisasi cek.
– Livestatus – sebuah plugin yang indah untuk berkomunikasi dengan nagios (unix socket)
– Nagios Multisite GUI – nagios beberapa monitor dari antarmuka berbasis web saja
– Mendukung SNMP dan pendeteksian layanan otomatis untuk switch cisco banyak, router dan filers NetApp juga.
Nagios Multisite GUI – lain keindahan Check_MK nagios plugin nagios pendingin beberapa hanya menggunakan satu antarmuka berbasis web. Ini antarmuka berbasis web usese Check_MK Plugin Livestatus untuk mendapatkan data nagios.
Check_MK – http://mathias-kettner.de/
URL – http://www.nagios.org/~~V
Penulis – Ethan Galstad

2) Ganglia – adalah sebuah sistem terdistribusi alat monitor yang terukur untuk kinerja tinggi sistem komputasi seperti cluster dan grid. Hal ini memungkinkan pengguna untuk jarak jauh melihat statistik hidup atau sejarah (seperti rata-rata beban CPU atau pemanfaatan jaringan) untuk semua mesin yang sedang dipantau. Ganglia sangat membantu untuk mengetahui aplikasi atau tim pemanfaatan sumber daya bijaksana bahkan di lingkungan cluster. Kita harus diinstal gmond (ganglia daemon monitor) pada setiap mesin (dalam kelompok atau cluster) yang mengumpulkan semua statistik.
gmetad (ganglia daemon metadata) perlu diinstal pada salah satu mesin dalam kelompok atau cluster yang akan mengumpulkan data dari server gmond tertentu.
URL – http://ganglia.info/~~V

3) Cacti – merupakan open source, berbasis web alat grafik (frontend untuk RRDtool). Cacti memungkinkan user untuk layanan polling pada interval yang telah ditentukan dan grafik data yang dihasilkan. Hal ini umumnya digunakan untuk grafik time-series data metrik seperti beban CPU dan pemanfaatan bandwidth jaringan. Cacti adalah lebih baik untuk memonitor perangkat keras seperti switch, router melalui SNMP.
URL – http://www.cacti.net/

4) zabbix – Hal ini dirancang untuk memantau dan melacak status berbagai layanan jaringan, server, dan perangkat keras jaringan lainnya. Menggunakan MySQL, PostgreSQL, SQLite, Oracle atau IBM DB2 untuk menyimpan data. Backend nya ditulis dalam C dan frontend web ditulis dalam PHP.
Zabbix menawarkan pilihan pemantauan beberapa. Seorang agen zabbix juga dapat diinstal pada host UNIX dan Windows untuk memantau statistik seperti beban CPU, pemanfaatan jaringan, ruang disk, dll
Sebagai alternatif untuk menginstal agen pada host, zabbix termasuk dukungan untuk pemantauan melalui SNMP, TCP dan cek ICMP, serta lebih dari IPMI, SSH, telnet dan menggunakan parameter kustom.
Zabbix mendukung berbagai real-time mekanisme pemberitahuan. Kecantikan dari zabbix adalah pemberitahuan XMPP!
URL – http://www.zabbix.com/
Penulis – Alexei Vladishev

5) Zenoss – Zenoss (Zenoss Core) adalah sebuah aplikasi open-source, server, dan jaringan platform manajemen didasarkan pada server aplikasi Zope.
URL – http://www.zenoss.com/

CATATAN – Daftar ini berdasarkan pengalaman pribadi dan pilihan anggota masyarakat IndianGNU banyak.

Terima kasih,
Arun Bagul

Cara menggunakan RAM (fisik) sebagai disk

Cara menggunakan RAM (fisik) sebagai disk

Pendahuluan –
Kadang untuk mendapatkan kinerja, ram fisik dapat digunakan sebagai ruang disk yang sangat cepat dibandingkan dengan hard disk normal.
Jadi, bagaimana saya dapat menggunakan RAM disk? melalui langkah-langkah ini.

Langkah 1) Buat direktori seperti gambar di bawah di mana Anda ingin me-mount sebagai disk RAM

root @ arunbagul: ~ # mkdir-p / tmp / ram
root @ arunbagul: ~ # ls / tmp / ram
root @ arunbagul: ~ #

Langkah 2) RAM mount yaitu tmpfs di mount point “/ tmp / ram” direktori-

root @ arunbagul: ~ # mount-t tmpfs-o size = tmpfs 10M / tmp / ram /

* Memeriksa dipasang pada tidak?

root @ arunbagul: ~ # df-h
Ukuran Filesystem Digunakan Avail% Gunakan Mount pada
tmpfs 10M 0 10M 0% / tmp / ram

** Untuk me-mount entri ini secara permanen add di / etc / fstab seperti berikut.

root @ arunbagul: ~ # cat / etc / fstab

….

tmpfs / tmp / ram tmpfs default, ukuran = 10m 0 0

root @ arunbagul: ~ #

– Untuk me-mount ini menggunakan perintah mount (ini akan me-mount mount point semua yang disebutkan di fstab)

root @ arunbagul: ~ # mount-a

Terima kasih,
Arun Bagul

IndianGNU.org – Ulang Tahun Keempat!

IndianGNU.org – Ulang Tahun Keempat!

Dear All,

Hari ini, kami merayakan ulang tahun keempat! Kami telah berhasil menyelesaikan empat tahun dan masih tumbuh dengan kecepatan penuh! Hal ini tidak mungkin tanpa dukungan Anda, kontribusi dan kerja keras.

openlsm Proyek ~

ini merupakan tahun yang sulit bagi openlsm dan kami akan meluncurkan versi Admin panel pembangunan pada akhir Desember, 2010. Kami mengharapkan lebih banyak dari tonggak kedua …

Cheers,
IndianGNU.org

Perl CGI – Session dan Cookie Howto

Perl CGI – Session dan Cookie Howto

Pendahuluan –

Hampir 1 tahun kembali, aku berjuang banyak untuk melaksanakan sesi dan cookie dalam aplikasi CGI Perl. Jadi berpikir untuk berbagi karya saya dengan anda semua.
Aku ingin melakukannya dengan cara saya …

Asumsi, web server apache yaitu diaktifkan untuk menjalankan script CGI

Step 1] Write Auth.pm Perl module –

Please simply copy following Auth.pm perl module for authentication using Session and Cookies…

[root@arun ~]# cat /var/application/module/Auth.pm

package Auth;

### Subroutine to authenticate user
sub  User
{
my ($ref_page) = (@_);
### Session information
my $sid = $ref_page->cookie(“APP_SID”) || undef;
my $session = CGI::Session->load(undef,$sid);
if ( $session->is_expired ) { print $ref_page->redirect(-location => ‘../arun.html’);}
elsif ( $session->is_empty) { print $ref_page->redirect(-location => ‘../arun.html’);}
else { print $ref_page->header();}
# don’t forget to create dir ‘/var/tmp’
# with proper ownership/permission
#$session = new CGI::Session(undef, $sid, {Directory=>’/var/tmp’});
#################################################
return($session->param(‘login_user’));
}

1;
[root@arun ~]#

Step 2] authe_me.pl –

authe_me.pl file is used to set cookies and verify username/password. You may use MySQL DB to store username and password.
In this case you have to this file…

[root@arun ~]# cat /var/application/www/cgi-bin/auth_me.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth; ## our module

### Header
########################
my $page = CGI->new();
##print $page->header();

##########
if ( $ENV{REQUEST_METHOD} eq “POST” )
{
my %form;
my $session_dir=”/var/tmp”;
my ($admin_user,$admin_password) = (“admin”,”arun123″);

foreach my $key (param()) { $form{$key} = param($key);}
##
if (($form{username}) && ($form{password}))
{

### Session Details ###
CGI::Session->name(“APP_SID”);
## Create new session
my $session = new CGI::Session(undef, undef, {Directory=>$session_dir});
## Set cookies
my $cookie = $page->cookie(-name=>$session->name(),-value=>$session->id(),-expires=>’+2h’,-path=>’/’);
## Store data in session variable and save it
$session->param(‘login_user’,$form{username}); # OR
##$session->param(-name=>’login_user’,-value=>$form{username});
$session->save_param($page, [“login_user”]);

## Session and Cookie expiration time is SAME.
$session->expire(“+2h”);
#### Session Details end ####

## if login successful redirect to main.pl else login page
if (($form{username} eq $admin_user) and ($form{password} eq $admin_password))
{ print $page->redirect(-location => ‘main.pl’,-cookie=>$cookie);}
else { print $page->redirect(-location => ‘../arun.html’); }
############################
} else { print $page->redirect(-location => ‘../arun.html’); }
}

[root@arun ~]#

Step 3] Create Login Page –

[root@arun ~]# cat /var/application/www/arun.html
<html>
<title>Arun Login Page</title>

<!– Form start –>
<table align=’center’ border=’1′>
<form method=”POST” action=”cgi-bin/auth_me.pl”>
<tr>
<td><label>Login</label></td>
<td><input name=”username” type=”text”></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input name=”password” type=”password”><br/></td>
</tr>
<tr>
<td><input value=”Submit” type=”submit”></td>
</tr>

</form>
</table>

</html>

[root@arun ~]#

Step 4] Create main page where Session and Cookie authentication verified – main.pl

[root@arun ~]# cat /var/application/www/cgi-bin/main.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth;

### Header
my $page = CGI->new();
## check authentication
my $login_name=Auth::User($page);
###
print $page->start_html( -title=>’Arun Main Page’);

print “<h3>This is Main Page</h3></br>”;
print “<br>Login Name – $login_name”;

#end
[root@arun ~]#

Step 5] Please access login page and try http://your_ipaddr/arun.html

Thank you,
Arun Bagul

Bagaimana kinerja Pengujian Jaringan dan Bandwidth

Bagaimana kinerja Pengujian Jaringan dan Bandwidth

Pendahuluan –

Jaringan latency dan Bandwidth adalah dua metrik paling mungkin menarik ketika Anda patokan jaringan. Meskipun layanan yang paling dan iklan produk berfokus pada bandwidth, pada waktu latency dapat menjadi lebih penting metrik.

** Apa itu Bandwidth?

Bandwidth (BW) dalam jaringan komputer mengacu pada data rate didukung oleh koneksi jaringan atau antarmuka. BW diukur dalam bit per detik (bps).

** Apa itu Jaringan latency?

Latency adalah ukuran waktu tunda yang dialami dalam suatu sistem. Jaringan latency hanya didefinisikan sebagai waktu tunda diamati sebagai mentransmisikan data dari satu titik ke titik lain. Ada sejumlah faktor yang berkontribusi terhadap latensi jaringan. Ini termasuk transmisi (medium konektivitas), Jarak, Router dan keterlambatan perangkat keras komputer.

Daftar Proyek yang digunakan untuk menguji kinerja jaringan dan Bandwidth –

1) bmon – memantau Bandwidth dan estimator rate, itu adalah berbasis konsol, hidup BW
2) bwbar – Penggunaan Bandwidth Teks dan format grafis
3) BWM-ng – Bandwidth Monitor NG (Next Generation, hidup BW, konsol berbasis
4) dstat – Dstat adalah pengganti untuk vmstat, iostat dan ifstat.
5) iftop – Penggunaan Bandwidth pada sebuah antarmuka, konsol berbasis
6) iperf – Lakukan tes throughput Jaringan bertaruh dua host
7) ifstat – Laporan Interface Statistik
8) cbm – Warna Bandwidth Meter, konsol berbasis
9) etherape – Grafis browser jaringan lalu lintas
10) iptraf – Interactive Colorful IP LAN Monitor, konsol dan berbasis GUI
11) netmrg – Ini adalah daemon berbasis, dukungan mySQL, Mengumpulkan data dari perangkat.
12) nuttcp – kinerja alat ukur Jaringan
13) nepim

CATATAN ~ Untuk beberapa dari mereka rpm atau deb paket tidak tersedia!

Langkah 1] Bagaimana menginstal pada Redhat / RHCE, sistem berbasis CentOS dan sistem berbasis Dibian?

root@me:~# yum install netperf iperf nuttcp nepim lmbench

** Ubuntu –

root@me:~# apt-get install  bmon bwbar bwm-ng dstat cbm etherape iftop iperf ifstat iptraf netmrg

Langkah 2] Bagaimana menggunakan – bmon, BWM-ng, dstat, ifstat –

root@me:~# bmon

interface: lo at me.arun.world

#   Interface                RX Rate         RX #     TX Rate         TX #
───────────────────────────────────────────────────────────────────────────────
me.arun.host (source: local)
0   lo                         0.00B            0       0.00B            0
1   eth0                       0.00B            0       0.00B            0
2   eth2                       0.00B            0       0.00B            0
3   vboxnet0                   0.00B            0       0.00B            0
4   pan0                       0.00B            0       0.00B            0
5   ppp0                      69.39KiB         61       7.49KiB         44

root@me:~# bwm-ng

bwm-ng v0.6 (probing every 0.500s), press ‘h’ for help
input: /proc/net/dev type: rate
\         iface                   Rx                   Tx                Total
==============================================================================
lo:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth0:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth2:           0.00 KB/s            0.00 KB/s            0.00 KB/s
ppp0:          64.39 KB/s            7.92 KB/s           72.31 KB/s
——————————————————————————
total:          64.39 KB/s            7.92 KB/s           72.31 KB/s

root@me:~# dstat
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
7   4  85   4   0   0| 281k  110k|   0     0 |   0     0 | 865  3013
8   4  88   0   0   0|   0     0 |7027B 1261B|   0     0 | 956  4505
8   5  86   0   0   0|   0     0 |  14k 1867B|   0     0 |1144  3332
9   5  86   0   1   0|   0     0 |  79k 2496B|   0     0 |1360  3366
18   8  74   0   0   0|   0     0 |  52k 6511B|   0     0 |1299  3618
8   6  85   0   1   0|   0     0 |  35k 5339B|   0     0 |1094  4231
6   4  90   0   0   0|   0     0 |   0  3164B|   0     0 | 953  2750 ^C
root@me:~#

root@me:~# ifstat
eth0                eth2                ppp0
KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
0.00      0.00      0.00      0.00     95.73      4.31
0.00      0.00      0.00      0.00     67.93      8.17
0.00      0.00      0.00      0.00    106.77     13.70

** Mulai “iperf” server di satu host (A) dan klien pada host yang lain (B) – untuk mengukur throughput jaringan antara dua host.

* Host -A

root@me:~# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————
[  4] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 56171
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec

* Host -B
test@hostB:~$ iperf -c 192.168.0.1
————————————————————
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 49.5 KByte (default)
————————————————————
[  3] local 192.168.0.2 port 56171 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec
test@hostB:~$

root@me:~# iftop
root@me:~# cbm

Thank you,
Arun Bagul

Top 7 ERP dan CRM Software Open Source

Top 7 ERP dan CRM Software Open Source

Pendahuluan –

Apakah Enterprise Resource Planning (ERP)?

ERP adalah perangkat lunak sistem yang terintegrasi yang digunakan untuk mengelola sumber daya, aset, sumber daya keuangan, bahan dan SDM.
Tujuannya adalah untuk memudahkan aliran informasi antara semua fungsi bisnis organisasi.

Apa Manajemen hubungan pelanggan (CRM)?

CRM adalah luas diakui sebagai interaksi perusahaan dengan pelanggan, klien dan prospek penjualan. Ini melibatkan penggunaan
teknologi untuk mengatur, otomatis, dan menyinkronkan bisnis (penjualan) kegiatan, pemasaran, layanan pelanggan, dan dukungan teknis.

1) Openbravo

Openbravo ERP adalah ERP berbasis web bisnis solusi bagi perusahaan kecil dan menengah yang dirilis di bawah
Openbravo Public License, berdasarkan Mozilla Public License.
URL – http://www.openbravo.com/

2) OpenERP

OpenERP adalah suite open source komprehensif aplikasi bisnis termasuk manajemen Penjualan, CRM, Proyek,
Pengelolaan gudang, Manufaktur, Akuntansi, Sumber Daya Manusia.
URL – http://www.openerp.com/

3) Fedena

Fedena merupakan sekolah manajemen software open source dikembangkan di Ruby on Rails framework. fedena berisi modul yang berhubungan dengan Penerimaan, Mahasiswa Rincian, Mengelola Pengguna, Atur Berita, Ujian, Jadwal dan Kehadiran.
URL – http://www.projectfedena.org/

4) JFire

JFireis Enterprise Resource Planning dan Customer Relationship Management system. JFire Client-Server adalah sistem berbasis Desktop dengan klien tersedia untuk Windows dan Linux OS.
URL – http://www.jfire.net/

5) Apache OFBiz –

OFBiz adalah sistem ERP. Ini menyediakan aplikasi perusahaan yang mengintegrasikan dan mengotomatisasi banyak proses bisnis.
URL – http://ofbiz.apache.org/

6) SugarCRM

SugarCRM memimpin CRP perangkat lunak open source. SugarCRM adalah pilihan pribadi saya!

URL – http://www.sugarcrm.com

7) VtigerCRM

VtigerCRM sangat mudah dan terbaik software ERP dan CRM berbasis web. Aku punya pribadi yang digunakan software ini. Ini memiliki banyak Addons. URL – http://www.vtiger.com/

Silakan lihat daftar perangkat lunak ERP di wiki – http://en.wikipedia.org/wiki/List_of_ERP_software_packages

Terima kasih,
Arun Bagul

BASH Scripting ~ belajar dengan contoh

BASH Scripting ~ belajar dengan contoh

Introduction ~

—————————————–
Program (1) ~ array.sh
—————————————–

#!/bin/bash
echo “==============”
declare -a myarr[0]=”Arun”
declare -a myarr1
myarr1=(arun bagul bangalore mumbai raju santhosh)
myarr[1]=”Bagul”

echo “my name is ${myarr[0]} ${myarr[1]}”
echo “————————–”
echo “${myarr1[*]}”
echo ${myarr1[2]}
echo ${myarr1[@]}
echo “————————–”
echo “Total no of elements in array – ${#myarr1[*]}”
echo “Total no of elements in array – ${#myarr1[@]}”
echo “Size of word ‘${myarr1[2]}’ is – ${#myarr1[2]}”
echo ${#myarr1[1]}
echo ${#myarr1[0]}

echo “————————–”

#how to delete element in array
unset myarr[1]
echo “myarr is – ${myarr[*]}”

#how to assign element in array
myarr[1]=”- System Engineer!”
echo “myarr is – ${myarr[*]}”

echo ${myarr}

————————————————————————
Program (2) ~ command_line_arguments.sh
————————————————————————

#!/bin/bash

echo “Script/command name => $0”
echo “arg1 => $1”
echo “arg2 => $2”
echo “arg3 => $3”
echo “Total No of argument = $#”

echo “Script PID is => $$”
echo “Status of previous command – $?”

name=$myname
echo “Name – $name”

read n

————————————————-
Program (3) ~ default_value.sh
————————————————-

#!/bin/bash

#start=’123′
#start=${1:-$start}

start=${1:-‘123’}

echo “Value of ‘start’ variable is ==> $start”

—————————————————
Program (4) ~ echo_example.sh
—————————————————

#!/bin/bash

name=”Arun”

echo -e “My Name is $name_arun and \n”
echo -e “My Name is ${name}_arun and \n”

echo -e ‘My Name is $name and \n’

—————————————–
Program (5) ~ elif.sh
—————————————–

#! /bin/bash

if [ $1 -eq $2 ];then
echo “good”
elif [ $2 -eq $3 ];then
echo “Fine”
elif [ $1 -eq $3 ];then
echo “OK”
else
echo “NO”
fi

————————————————————
Program (6) ~ for_loop_example-1.sh
————————————————————

#!/bin/bash

i=1
while [ $i -le 512 ]
do
temp=$i
echo “What is => $i | $temp”
i=$(expr $i + 32)
for (( j=$temp; $j<=$i; j++ ))
do
echo -n ” $j”
done
done

———————————————————–
Program (7) ~ for_loop_example-2.sh
———————————————————–

#!/bin/bash
#for val in $(ls -1 /tmp)
sum=0
#for val in {1..5}
#for val in {$1..$2}
for((val=$1;$val<=$2;val++))
do
#echo “$val”
sum=$(expr $sum + $val )
#sum=`expr $sum + $val`
done

echo “$0 # Sum of $1 to $2 => $sum”

————————————————————
Program (8) ~ for_loop_example-3.sh
————————————————————

#!/bin/bash

for i in {1..9}
do
echo $i
done

—————————————–
Program (9) ~ function.sh
—————————————–

#!/bin/bash

function my_function()
{
name=”Arun Bagul”
echo “‘my_function’ body ~ $name”
return 1;
}
##########

myfunc()
{
echo “Another way of defining the function”
}

##########################

echo “Starting function program”
echo “——————————”

#calling function here
my_function
##
myfunc

echo -e “\n end of program”

—————————————————————————————
Program (10) ~ how_to_pass_argument_to_function.sh
—————————————————————————————

#!/bin/bash

function my_function()
{
echo “Total number of argument ~ $#”
echo “Arg1 => $1”
echo “Arg2 => $2”
echo “Arg3 => $3”
return 0;
}
##########

echo “Starting function program”
echo “——————————”

#calling function here
my_function arun bagul 1234

————————————————————————-
Program (11) ~ how_to_take_hidden_input.sh
————————————————————————-

#!/bin/bash

echo -n “Enter User Name :”
read username
echo -n “Enter Password :”
read -s mypwd

echo -e “\nI am $username and my password is – $mypwd”

——————————————————————————
Program (12) ~ how_to_take_input_from_user.sh
—————————————————————————–

#!/bin/bash

echo -ne “Enter the Name:- ”
read name
echo -n -e “Enter the Number:- ”
read num

echo “——————————”

add=$(expr $num + 10)

echo “Name is ~ $name”
echo “Number is ~ $add”

—————————————–
Program (13) ~ ifthen.sh
—————————————–

#!/bin/bash

if [ “arun” == “arun” ];then
echo “true!”
else
echo “false”
fi

echo “———————————-”

if [ 2 == 2 ];then
echo “true!”
else
echo “false”
fi

echo “———————————-”

if [ “arun” = “arun” ];then
echo “true!”
else
echo “false”
fi

echo “———————————-”

if [ 2 -eq 2 ];then
echo “true!”
else
echo “false”
fi

——————————————————
Program (14) ~ non-interactive.sh
——————————————————

#!/usr/bin/expect -f
spawn ssh arun@192.168.0.1
expect “password:”
sleep 1
send “pwd\r”
interact

—————————————————————-
Program (15) ~ read_file_line_by_line.sh
—————————————————————-

#!/bin/bash

file_name=”/etc/hosts”

while read myvar
do
echo “Line => $myvar”
done < $file_name

echo “#################################################”

for myvar1 in $(cat $file_name)
do
echo “Line => $myvar1”
done

——————————————————
Program (16) ~ reverse-number.sh
——————————————————

#!/bin/bash

declare -a date_array
num=$1
i=$(expr $(echo $num | wc -c) – 1 )

while [ $num -gt 10 ]
do
temp=$( expr $num % 10 )
num=$( expr $num / 10);
echo “Digit($i) => $temp”
date_array[$i]=”${temp}”
i=$(expr $i – 1)
done
echo “Digit($i) => $num”
date_array[$i]=”${num}”

echo ${date_array[*]}

——————————————————–
Program (17) ~ string-operation.sh
——————————————————–

#! /bin/bash

echo “Arun Bagul:-”
string=”/root/arun/bagul/image.gif”
echo “string=> $string”
echo “String=> ${string##/*/}”
echo “String=> ${string#/*/}”

echo “String=> ${string%.*}”
echo “String=> ${string%%.*}”
#str=”/home/y/conf/arunbagul/daily_market_0.conf”
str=”${str##/*conf/}”
echo “String=> ${str%/*}”

#done

mystr=”keyword_summary_exact_arunsb”
echo $mystr
echo ${mystr%_*}

echo “$*”

—————————————–
Program (18) ~ switch.sh
—————————————–

#!/bin/bash

echo ” Switch program | arg1 => $1″
echo ” ——————————-”
case $1 in

123)
echo “Case is 123”
;;

arun)
echo “Case is ‘arun'”
;;

pri*)

echo “Case is ‘pri*'”
;;

*)
echo ” * Usage: $0 ”
echo ” Default case (nothing is matched)”
exit 0;
;;
esac

—————————————————————–
Program (19) ~ while_loop_example-1.sh
——————————————————————

#!/bin/bash

mywait=wait

while [ “${mywait}” = “wait” ]
do
echo “arun”
done

——————————————————————-
Program (20) ~ while_loop_example-2.sh
——————————————————————–

#! /bin/bash

## on command line -> i=0 && while [ $i -le 10 ] ; do echo $i; i=$(expr $i + 1); done

i=0
while [ $i -le 10 ]
do
echo $i
i=$(expr $i + 1)
done

——————————————————————–

* Please download PDF file http://www.slideshare.net/arunbagul/bash-learning-by-examples/

Regards,
Arun

Bagaimana mengkonfigurasi MySQL multi master replikasi

Bagaimana mengkonfigurasi MySQL multi master replikasi

Pendahuluan ~

Saya berencana untuk menulis artikel tentang Multi Master MySQL replikasi sejak lama; Akhirnya mulai sekarang!. Silakan merujuk artikel tentang “Bagaimana mengkonfigurasi MySQL replikasi dengan satu Master” URL ~ http://www.indiangnu.org/2007/mysql-replication-one-master-multiple-slave/

* Biarkan saya memberitahu Anda semua bahwa Multi Master replikasi di MySQL adalah murni didasarkan pada dua variabel berikut. Itu tidak ada hubungannya dengan teknologi yang digunakan replikasi replikasi di MySQL ….

mysql> show variables like ‘%increment_%’;
+——————————-+——-+
| Variable_name                 | Value |
+——————————-+——-+
| auto_increment_increment      | 1     |
| auto_increment_offset         | 1     |
+——————————-+——-+
2 rows in set (0.00 sec)

mysql>

** Requirements ~

a) Master Hosts (2 master in my case) ~
master-1 => 10.66.66.194
master-2 => 10.66.90.135
b) Replication Slave (1 slave) ~
Slave => 10.66.75.137

c) MySQL server (with replication support)

** Let us understand how it works ?

* Master-1 Server =>

Set following variables…

mysql> set auto_increment_increment=5;
mysql> set auto_increment_offset=1;

mysql> show variables like ‘%increment_%’;
+————————–+——-+
| Variable_name            | Value |
+————————–+——-+
| auto_increment_increment | 2     |
| auto_increment_offset    | 1     |
+————————–+——-+
2 rows in set (0.00 sec)

mysql>

** Create Table ~

mysql> create table class ( rollno INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) );

** Add Record now ~

mysql> INSERT INTO class VALUES (”,’Arun Bagul’);
mysql> INSERT INTO class VALUES (”,’Ravi Bhure’);
mysql> INSERT INTO class VALUES (”,’Karthik Appigita’);
mysql> INSERT INTO class VALUES (”,’Ameya Pandit’);

mysql> SELECT * FROM class;
+——–+——————+
| rollno | name             |
+——–+——————+
|      1 | Arun Bagul       |
|      3 | Ravi Bhure       |
|      5 | Karthik Appigita |
|      7 | Ameya Pandit     |
+——–+——————+
4 rows in set (0.00 sec)

mysql>

* Master-2 Server =>

Set following variables…

mysql> set auto_increment_increment=2;
mysql> set auto_increment_offset=2;

mysql> show variables like ‘%increment_%’;
+————————–+——-+
| Variable_name            | Value |
+————————–+——-+
| auto_increment_increment | 2     |
| auto_increment_offset    | 2     |
+————————–+——-+
2 rows in set (0.00 sec)

mysql>

** Create Table ~

mysql> create table class ( rollno INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) );

** Add Record now ~

mysql> INSERT INTO class VALUES (”,’Nilkanth Parab’);
mysql> INSERT INTO class VALUES (”,’Nishit Shah’);
mysql> INSERT INTO class VALUES (”,’Ram Krishna’);
mysql> INSERT INTO class VALUES (”,’Suhail Thakur’);

mysql> SELECT * FROM class;
+——–+——————+
| rollno | name             |
+——–+——————+
|      2 | Nilkanth Parab   |
|      4 | Nishit Shah      |
|      6 | Ram Krishna      |
|      8 | Suhail Thakur    |
+——–+——————+
4 rows in set (0.00 sec)

mysql>

** What is the importance of “auto_increment_increment” and “auto_increment_offset” ~

mysql> desc class;
+——–+————-+——+—–+———+—————-+
| Field  | Type        | Null | Key | Default | Extra          |
+——–+————-+——+—–+———+—————-+
| rollno | int(5)      | NO   | PRI | NULL    | auto_increment |
| name   | varchar(30) | YES  |     | NULL    |                |
+——–+————-+——+—–+———+—————-+

auto_increment_offset    => This is BASE value for column with “auto_increment” attribute (please refer the above example)
auto_increment_increment => This is the increment value for column with “auto_increment” attribute

** If you combine the both tables (master-1 and master-2) the final table will look like this ~

mysql> SELECT * FROM class;
+——–+——————+
| rollno | name             |
+——–+——————+
|      1 | Arun Bagul       |
|      2 | Nilkanth Parab   |
|      3 | Ravi Bhure       |
|      4 | Nishit Shah      |
|      5 | Karthik Appigita |
|      6 | Ram Krishna      |
|      7 | Ameya Pandit     |
|      8 | Suhail Thakur    |
+——–+——————+
8 rows in set (0.00 sec)

mysql>

** This is how Multi master replication works….

auto_increment_offset=Nth master server
auto_increment_increment=M

Mana —
N => n jumlah server master (di master-1 tetap 1 dan pada master-2 tetap 2 dan seterusnya ..)
M => Total jumlah Master Server (2 dalam kasus kami, tetapi lebih baik untuk menjaga nilai ini tinggi sehingga kita dapat menambahkan server master baru dengan mudah)

log-budak-update => slave server tidak log untuk log biner sendiri setiap update yang diterima dari server Master. Opsi ini menceritakan budak untuk log pembaruan yang dilakukan oleh SQL thread ke biner sendiri log.

** Pastikan bahwa MySQL berjalan dan sampai pada semua server master dan slave server –

Cara men-setup replikasi MySQL Multi Master? —

Step 1] Create Database/Tables on  Master  & Slave Servers –

You can create DB on all master & slave server or  create on one server and export that DB on  rest of all servers…

Master-1 => Create DB and Table

mysql> create database student;

mysql> use student;

mysql> create table class ( rollno INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT , name VARCHAR(30) );

mysql> show tables;
+——————-+
| Tables_in_student |
+——————-+
| class             |
+——————-+
1 row in set (0.00 sec)

mysql> desc class;
+——–+————-+——+—–+———+—————-+
| Field  | Type        | Null | Key | Default | Extra          |
+——–+————-+——+—–+———+—————-+
| rollno | int(5)      | NO   | PRI | NULL    | auto_increment |
| name   | varchar(30) | YES  |     | NULL    |                |
+——–+————-+——+—–+———+—————-+
2 rows in set (0.00 sec)

mysql> SELECT * FROM class;
Empty set (0.00 sec)
mysql>

* Now take dump of “student” DB and export it on all master and Slave server…

[root@master-1~]# mysqldump -u root -p  -d student > /home/arunsb/student.sql

* SCP the dump file on master-2 and slave server ~
[root@master-1~]# scp /home/arunsb/student.sql arunsb@10.66.90.135:/tmp/student.sql
[root@master-1~]# scp /home/arunsb/student.sql arunsb@10.66.75.137:/tmp/student.sql

Login on master-2 and slave ~

mysql> create database student;

[root@master-2~]# mysql -u root -p student < /tmp/student.sql
Enter password:
[root@master-2~]#

[root@master-2~]# mysql -u root -p
Enter password:

mysql> use student

mysql> SELECT * FROM class;
Empty set (0.00 sec)
mysql>

** Please repeat the same steps on Slave server as well…

Step 2] Update “my.cnf” config file on master-1,master-2 and slave server –

[root@master-1~]# cat /etc/my.cnf

###########################
##MySQL replication setting

#Master setting(1)
server-id = 1
log-bin = /var/log/mysql/binary/mysql-bin.log
binlog-do-db = student
binlog-ignore-db = mysql
#log = /var/log/mysql/mysql.log
auto_increment_offset=1
auto_increment_increment=5
log-slave-updates

##slave setting
master-port=3306
master-host=10.66.90.135
master-user=replication
master-password=mypwd
master-connect-retry=60
replicate-do-db=student
###########################

[root@master-1~]#

[root@master-2~]# cat /etc/mysql/my.cnf

###########################
##MySQL replication setting

#Master setting(2)
server-id = 2
log-bin = /var/log/mysql/binary/mysql-bin.log
binlog-do-db=student
binlog-ignore-db = mysql
log = /var/log/mysql/mysql.log
auto_increment_offset=2
auto_increment_increment=5
log-slave-updates

##slave setting
master-port=3306
master-host=10.66.66.194
master-user=replication
master-password=mypwd
master-connect-retry=60
replicate-do-db=student
###########################

[root@master-2~]#

* please create directory for binary log and set permission…

[root@master-1~]# mkdir -p /var/log/mysql/binary/
[root@master-1~]# chown mysql:adm  /var/log/mysql/ /var/log/mysql/binary/

[root@master-2~]# mkdir -p /var/log/mysql/binary/
[root@master-2~]# chown mysql:adm  /var/log/mysql/ /var/log/mysql/binary/

** MySQL Replication Slave ~

[root@slave~]# cat  /etc/my.cnf

[mysqld]

########################################
##slave setting
server-id=4
master-port=3306
master-host=10.66.90.135
master-user=replication
master-password=mypwd
master-connect-retry=60
replicate-do-db=student
########################################

[root@slave~]#

Step 3] Give Replication permission on both masters ~

** Master (1 & 2) ~

mysql> GRANT REPLICATION SLAVE ON *.* TO ‘replication’@’10.66.%.%’ IDENTIFIED BY ‘mypwd’;
Query OK, 0 rows affected (0.00 sec)

mysql>

Step 4] Restart MySQL on both master as well as replication slave server ~

** Please verify setting on master-1 and master-2 server…

* Master-1

mysql> show variables like ‘%increment_%’;
+————————–+——-+
| Variable_name            | Value |
+————————–+——-+
| auto_increment_increment | 5     |
| auto_increment_offset    | 1     |
+————————–+——-+
2 rows in set (0.00 sec)

* Master-2

mysql> show variables like ‘%increment_%’;
+————————–+——-+
| Variable_name            | Value |
+————————–+——-+
| auto_increment_increment | 5     |
| auto_increment_offset    | 2     |
+————————–+——-+
2 rows in set (0.00 sec)

** Please verify ‘master’ & ‘slave’ status on both masters(1 & 2) and slave –

mysql> show master status;
mysql> show slave status;

** Multi Master replication is started…

Step 5] Add few records on Master-1 & Master-2 server at same time ~

Add records on both master server at same time and check master and replication slave status as shown above….

** Add following on master-1

mysql> INSERT INTO class VALUES (”,’Arun Bagul’);
mysql> INSERT INTO class VALUES (”,’Ravi Bhure’);
mysql> INSERT INTO class VALUES (”,’Karthik Appigita’);
mysql> INSERT INTO class VALUES (”,’Ameya Pandit’);

** Add following on master-2

mysql> INSERT INTO class VALUES (”,’Nilkanth Parab’);
mysql> INSERT INTO class VALUES (”,’Nishit Shah’);
mysql> INSERT INTO class VALUES (”,’Ram Krishna’);
mysql> INSERT INTO class VALUES (”,’Suhail Thakur’);

** Please verify the numbers of records on both masters and slave….

mysql> SELECT * FROM class;
+——–+——————+
| rollno | name             |
+——–+——————+
|      1 | Arun Bagul       |
|      2 | Nilkanth Parab   |
|      6 | Ravi Bhure       |
|     11 | Karthik Appigita |
|     16 | Ameya Pandit     |
|     17 | Nishit Shah      |
|     22 | Ram Krishna      |
|     27 | Suhail Thakur    |
+——–+——————+
8 rows in set (0.00 sec)

mysql>

* Jadi kita semua belajar untuk mengkonfigurasi MySQL multi-master replikasi. Nikmatilah!!

Salam,
Arun Bagul

Cara membuat atau membangun RPM Package

Cara membuat atau membangun RPM Package

Pendahuluan —

* “Rpmbuild” alat ini digunakan untuk membangun kedua …

1) Paket Binari ~ digunakan untuk menginstal perangkat lunak dan mendukung script. Ini berisi file yang terdiri dari aplikasi, bersama dengan informasi tambahan yang diperlukan untuk menginstal dan menghapusnya.
2) Sumber Paket ~ berisi dikompresi asli file tar source code, patch dan Spesifikasi File.

* Apakah yang dimaksud paket RPM & RPM Manager?

RPM Package Manager (RPM) adalah baris perintah handal sistem manajemen paket yang mampu menginstal, menghapus, memverifikasi, query, dan meng-update paket perangkat lunak.

Paket RPM terdiri dari sebuah arsip dari file dan meta-data yang digunakan untuk menginstal dan menghapus file arsip. Meta-data termasuk skrip pembantu, atribut file, dan informasi deskriptif tentang paket.

* Untuk membangun paket RPM Anda harus menentukan tiga hal ~

1) Sumber aplikasi – Dalam setiap kasus, Anda tidak boleh mengubah sumber-sumber yang digunakan dalam proses pembangunan paket.

2) Patch – RPM memberi Anda kemampuan untuk secara otomatis menerapkan patches kepada mereka. Alamat patch khusus untuk masalah sistem target. Ini dapat mencakup perubahan makefiles untuk menginstal aplikasi ke direktori yang sesuai, atau menyelesaikan konflik lintas-platform. Patch menciptakan lingkungan yang tepat diperlukan untuk kompilasi.

3) Spesifikasi File – File Spesifikasi di jantung proses pembangunan paket RPM. Ini berisi informasi yang diperlukan oleh RPM untuk membangun paket, serta instruksi memberitahu RPM bagaimana untuk membangunnya. File spesifikasi juga menentukan file apa yang merupakan bagian dari paket, dan di mana mereka harus diinstal.

File ~ ** Spesifikasi dibagi untuk 8 bagian seperti yang ditunjukkan di bawah ini

a) Pembukaan ~ berisi informasi yang akan ditampilkan ketika pengguna meminta informasi tentang paket. Hal ini termasuk deskripsi paket fungsi, nomor versi dari software dll

b) Persiapan ~ mana karya yang sebenarnya membangun sebuah paket dimulai. Seperti namanya, bagian ini adalah tempat persiapan yang diperlukan sebelum dibuat bangunan yang sebenarnya dari perangkat lunak. Secara umum, jika ada yang perlu dilakukan untuk sumber-sumber sebelum membangun perangkat lunak, hal itu harus terjadi di bagian persiapan. Isi bagian ini adalah shell script biasa. Namun, RPM tidak menyediakan dua macro untuk membuat hidup lebih mudah. Satu makro dapat mengekstrak file tar terkompresi dan cd ke direktori source. Makro lain dengan mudah berlaku membongkar tambalan untuk perbaikan pada sumber-sumber.

c) Membangun ~ Bagian ini terdiri dari sebuah shell script. Hal ini digunakan untuk melakukan perintah apa saja yang diperlukan untuk benar-benar menyusun sumber-sumber seperti perintah make tunggal, atau menjadi lebih rumit jika proses build memerlukannya. Tidak ada macro tersedia dalam bagian ini.

d) Instal ~ Bagian ini juga berisi shell script, install bagian digunakan untuk melakukan perintah yang diperlukan untuk benar-benar menginstal perangkat lunak.

e) Instalasi dan Uninstall Scripts ~ ini terdiri dari skrip yang akan dijalankan, pada pengguna sistem, ketika paket sebenarnya diinstal atau dihapus. RPM dapat mengeksekusi sebuah script pre / post instalasi / penghapusan paket.

f) Verifikasi Script ~ script yang dijalankan pada sistem pengguna. Hal ini dijalankan ketika RPM memverifikasi paket instalasi yang tepat.

g) Bersihkan Bagian ~ script yang dapat membersihkan sesuatu setelah membangun. Script ini jarang digunakan, karena RPM biasanya melakukan pekerjaan yang baik bersih-up di lingkungan yang paling membangun.

h) File Daftar ~ terdiri dari daftar file yang akan terdiri dari paket. Selain itu, sejumlah makro yang dapat digunakan untuk mengontrol atribut berkas ketika diinstal, serta untuk menunjukkan file mana yang merupakan dokumentasi, dan yang mengandung informasi konfigurasi. Daftar file sangat penting.

*** RPM’s persyaratan untuk membangun lingkungan ~

A] RPM memerlukan set direktori untuk melakukan membangun. Sementara direktori ‘lokasi dan nama-nama yang dapat diubah. Layout default ditampilkan di bawah ini —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 Agustus 2007 SUMBER => Berisi sumber-sumber asli, patch, dan ikon file
drwxr-xr-x 2 root root 4096 25 Agustus 2007 Spesifikasi => Berisi file spesifikasi
drwxr-xr-x 2 root root 4096 25 Agustus 2007 BUILD => Direktori di mana sumber membongkar, & perangkat lunak dibangun
drwxr-xr-x 8 root root 4096 28 Mei 2008 RPMS => Berisi file-file paket biner yang diciptakan oleh proses membangun
drwxr-xr-x 2 root root 4096 25 Agustus 2007 SRPMS => Berisi file paket source yang dibuat oleh proses membangun

root @ arunsb: ~ #

B] Perlu untuk mengekspor beberapa variabel global yang digunakan oleh RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = /usr/src/redhat/BUILD/
root @ arunsb: ~ # export RPM_SOURCE_DIR = /usr/src/redhat/SOURCES/

Langkah 1] Buat Spesifikasi (spec) File ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* Bagaimana Anda membuat File List?

Membuat daftar file adalah proses manual. Apa yang saya lakukan adalah saya mengambil daftar file dari direktori awalan diinstal secara manual dengan perintah find seperti yang ditunjukkan di bawah ini …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Langkah 2] Menjalankan Build ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Unpackaged memeriksa file (s): / usr / lib / rpm / check-files% (buildroot)
Wrote: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Wrote: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # echo $?
0

root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 Desember 2 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3.052.868 Desember 2 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi #

* Sumber dan paket biner dibuat!!

** Mari kita lihat apa yang terjadi di “/ usr / src / redhat /” direktori

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
Spesifikasi SUMBER BUILD RPMS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0,99-R45 <== Sumber diekstrak di sini sebagai bagian dari membangun instruksi dari file spesifikasi yaitu “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SUMBER /
0,99-openlsm-r45.tar.gz <== asli ‘openlsm-0,99-r45.tar.gz’ file source disalin oleh saya
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
0,99-openlsm-r45.i386.rpm <== Binary paket rpm dibuat!
root @ arunsb: / usr / src / redhat # ls SRPMS /
0,99-openlsm-r45.src.rpm <== Sumber paket rpm dibuat!
root @ arunsb: / usr / src / redhat #

Langkah 3] Sekarang instal paket dan mengujinya ~

root @ arunsb: / usr / src / redhat # cp RPMS/i386/openlsm-0.99-r45.i386.rpm / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
0,99-openlsm-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0,99-r45.i386.rpm
Menyiapkan … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
contrib bin lib sbin etc termasuk skrip berbagi var
root @ arunsb: ~ #

** Menjalankan server openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat mulai
* Memulai openlsm admin server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat status
openlsm (pid 21607) is running …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0,99-R45
openlsm-0,99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0,99-R45
..

root @ arunsb: ~ # rpm-Qiv openlsm-0,99-R45
Nama: openlsm Relokasi: (tidak relocatable)
Versi: 0.99 Vendor: IndianGNU.org & openlsm
Release: R45 Build Date: Wed 02 Dec 2009 05:50:54 IST
Instal Tanggal: Wed 02 Dec 2009 06:06:23 IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemon Sumber RPM: 0,99-openlsm-r45.src.rpm
Ukuran: 14877918 License: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Ringkasan: openlsm Admin Server
Keterangan:
Admin Server openlsm gratis & open source berbasis web panel kontrol untuk Linux, sistem Unix.
root @ arunsb: ~ #

** CATATAN ~ Artikel ini tidak mengandung informasi tentang cara menetapkan mikro, bagaimana untuk menyalin dokumen, halaman manual untuk lokasi default, bagaimana mengatur permision dan kepemilikan dll saya akan mencakup topik-topik ini dalam artikel berikutnya di RPM.

** Silakan merujuk artikel inggris ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Salam,
Arun Bagul

Mengenkripsi mail Anda dengan GPG plugin Thunderbird dan Enigmail

Mengenkripsi mail Anda dengan GPG plugin Thunderbird dan Enigmail

Pendahuluan ~

GNU Privacy Guard (GnuPG, atau GPG) adalah open source / free software enkripsi dan penandatanganan tool, alternatif dari Pretty Good Privacy (PGP) suite perangkat lunak kriptografi. Enigmail adalah sebuah ekstensi untuk Mozilla Thunderbird dan aplikasi Mozilla lainnya. Memberikan kunci publik enkripsi e-mail. Fungsionalitas kriptografi sebenarnya ditangani oleh GNU Privacy Guard (GnuPG, GPG).

Langkah 1] Instalasi GnuPG, atau GPG —

* Ubuntu / Debian ~

root @ Arun: ~ # apt-get install gnupg gnupg2

* Redhat / Fedora ~

root @ Arun: ~ # yum install gnupg gnupg2

Langkah 2] Cara Memasang Enigmail?

Saya berasumsi bahwa Mozilla Thunderbird tersebut telah terinstal di sistem anda. Menginstal “Enigmail” ikuti langkah-langkah berikut

a) Download “Enigmail” dari url “http://enigmail.mozdev.org/download/”

Catatan ~ pilih OS dan Thunderbird versi dengan benar.

b) Dalam menu bar jendela Thunderbird utama anda akan melihat “Tools”. Pilih ini, dan kemudian “Add-ons” pilihan. Ini akan memunculkan jendela baru daftar semua Thunderbird plug-in. Di bawah pojok kiri jendela baru ini Anda akan melihat tombol bertuliskan “Install”. Klik tombol ini. Katakan Thunderbird di mana Anda menyimpan Enigmail. Xpi file. dan hanya mengatakan “Instal” itu dia!!

* Setelah ‘Enigmail’ terinstal restart Thunderbird. Kemudian Anda akan melihat “OpenPGP” tab di menu utama dari Thunderbird.

Langkah 3] Setup private / public key ~

Enigmail menggunakan kriptografi kunci publik untuk memastikan privasi antara Anda dan koresponden Anda. Untuk menghasilkan publik / kunci pribadi, ada dua metode yang baik menghasilkan mereka dengan bantuan dari “gpg” piranti baris perintah atau menggunakan “Enigmail” ….

* Kami akan menghasilkan pribadi / kriptografi kunci publik dengan bantuan dari “Enigmail” seperti yang ditunjukkan di bawah ini ….

a) Klik “OpenPGP” di menu bar dari jendela utama Thunderbird. Pilih “Key Management”.
b) Dalam Enigmail Key Manager ~ klik pada “Hasilkan” tab pada menu bar dan pilih “sepasang kunci baru”.
c) Pada bagian paling atas jendela Anda akan melihat kotak kombo yang menunjukkan semua alamat email Anda. GnuPG akan mengasosiasikan kunci baru Anda dengan alamat email.
Enigmail adalah hanya menanyakan alamat mana yang ingin Anda gunakan untuk kunci ini. Pilih mana account Anda akan menerima email dienkripsi.

CATATAN ~ Kita dapat menggunakan tombol yang sama untuk beberapa account.

d) Anda dapat menggunakan passphrase atau hanya memeriksa “Tidak passphrase” kotak centang untuk menghasilkan kunci tanpa passphrase.
e) Buat direktori untuk menyimpan “Pembatalan Sertifikat” …

arunsb @ Arun: ~ $ mkdir / home / arunsb / .gpg_key /

f) Klik “Generate kunci” tombol untuk menghasilkan kunci. dilakukan ..

Untuk berbagi kunci dengan mudah Anda dapat mempublikasikan kunci dengan keyserver.

a) Dalam “Key Management” jendela pilih kunci Anda dan kemudian klik pada ‘keyserver tab’ dalam menu utama dan kemudian klik “Upload Kunci Publik”
Catatan ~ pastikan untuk memeriksa “Tampilkan Semua Tombol oleh Default” kotak centang (untuk mendaftarkan semua kunci)

Langkah 4] Tulis surat dan tanda itu ~

Tulis surat dan kirim Enigmail untuk menandatanganinya. Di bagian atas jendela Tulis, Anda akan melihat tombol bertuliskan “OpenPGP”. Klik pada ini. Pastikan bahwa “Sign” pilihan, dan hanya itu, dicentang. Akhirnya “Kirim” pos! (Anda akan diminta passphrase Anda. Setelah Anda masukkan, Enigmail akan menandatangani dan mengirim email Anda bila memiliki kunci menghasilkan dengan passphrase yang lain itu tidak akan bertanya)
/ pgp_enigmail-mengarang

Nikmatilah!!

Salam,
Arun Bagul