Category: Algemene informatie

Algemene informatie

Top 5 – Open Source Netwerk en Performance Monitoring + waarschuwingssysteem

Top 5 – Open Source Netwerk en Performance Monitoring + waarschuwingssysteem

Inleiding – Toezicht op uw netwerk en de verschillende toepassingen is het belangrijkste onderdeel van uw bussiness. Dus het kiezen van controle-instrumenten is van cruciaal belang en belangrijkste taak, omdat je volledig antwoord op deze tool aan te melden wanneer er iets mis gaat!

1) Nagios – is een populair open source computersysteem monitor, netwerk monitoring en infrastructuur monitoring software applicatie. Nagios biedt complete monitoring en alerting voor servers, switches, applicaties en diensten, en wordt beschouwd als de defacto industrie
standaard. Nagios ondersteunt twee soorten monitoring-actief als passief. In het geval van actieve monitoring nagios schema’s of actief controleert genoemde diensten, terwijl in geval van passieve controles, externe applicatie kan worden gebruikt om de service check de resultaten in te dienen.
– Voor Passieve controles NSCA (Nagios Service Check acceptor) daemon moet draaien op nagios server om passieve controle over het netwerk, waarin passieve controle zal voorleggen aan nagios via unix socket te accepteren.
– Voor Acitive controles nrpe (Nagios Remote Plugin Executor) daemon wil heeft om te draaien op andere machine om diensten te bewaken. Maar u kunt gebruik maken van SSH ook.

Om te controleren externe hosts en diensten nagios gemeenschap je een paar plugins zoals hieronder wordt getoond …
* Nrpe – nrpe daemon draait op remote hosts en nagios zal de controle-diensten op remote hosts via check_nrpe plugin (commando) van nagios hosts.
* Check_MK – De beste nagios plugin voor het toezicht remote host. Schoonheid van deze plugin is dat de meeste van de commons diensten worden gecontroleerd in een verbinding met externe hosts en de resultaten worden voorgelegd als passieve resultaten aan nagios. Dit verbetert de prestaties, minder netwerkverkeer en natuurlijk zonder belasting of belasting van remote host (die we in de gaten). Voor Check_MK, we moeten geïnstalleerd check_mk-agent wil zeggen check_mk_agent eenvoudig shell script en binden dit script in 6556 tcp-poort met behulp van xinetd daemon. Check_MK biedt ook volgende functies.
– Check_MK ondersteuning voor dynamische nagios configuratie generatie, inventaris van de controles.
– Livestatus – een mooie plugin om te communiceren met nagios (unix socket)
– Nagios meerdere locaties GUI – monitor meerdere nagios van enkele web-based interface
– SNMP-ondersteuning en automatische service detectie voor veel cisco switches, routers en NetApp filers ook.
Nagios meerdere locaties GUI – Een andere schoonheid van Check_MK nagios plugin is montoring meerdere nagios gebruik van slechts een web-gebaseerde interface. Deze webbased interface usese Check_MK Livestatus plugin om nagios gegevens op te halen.
Check_MK – http://mathias-kettner.de/
URL – http://www.nagios.org/~~V
Auteur – Ethan Galstad

2) Ganglia – is een schaalbaar gedistribueerd systeem-monitor tool voor high-performance computing-systemen, zoals clusters en grids. Het laat de gebruiker toe om afstand te bekijken live of historische statistieken (zoals de CPU load gemiddeld of netwerk gebruik) voor alle machines die worden gecontroleerd. Ganglia is zeer nuttig om uit te vinden toepassing of het team het verstandig gebruik van hulpbronnen, zelfs in geclusterde omgeving. We moeten geïnstalleerd gmond (ganglia-monitor daemon) op elke machine (in groep of cluster) waarin alle statistieken verzamelt.
gmetad (ganglia metadata daemon) moeten geïnstalleerd op een machinaal in groep of cluster die gegevens verzamelen van bepaalde gmond servers.
URL – http://ganglia.info/~~V

3) Cacti – is een open source, web-based grafische tool (frontend voor RRDtool). Cacti kan een gebruiker poll diensten op vooraf vastgestelde termijnen en grafiek van de verkregen gegevens. Het wordt over het algemeen gebruikt om de grafiek tijdreeksen gegevens van statistieken, zoals CPU-belasting en netwerk gebruik van de bandbreedte. Cacti is beter te controleren hardware-apparaten zoals switches, routers via SNMP.
URL – http://www.cacti.net/

4) Zabbix – Het is voor toezicht op en de status van de verschillende netwerkdiensten, servers en andere netwerkhardware. Het maakt gebruik van MySQL, PostgreSQL, SQLite, Oracle of IBM DB2 op te slaan. De backend is geschreven in C en het web frontend is geschreven in PHP.
Zabbix biedt verschillende controle-opties. Een Zabbix agent kan ook worden geïnstalleerd op UNIX-en Windows-hosts om statistieken zoals CPU belasting, netwerkgebruik, schijfruimte, etc. te controleren
Als alternatief voor het installeren van een agent op hosts, Zabbix bevat ondersteuning voor bewaking via SNMP, TCP en ICMP controles, evenals meer dan IPMI, SSH, telnet en met behulp van aangepaste parameters.
Zabbix ondersteunt een groot aantal real-time kennisgevingsprocedures. Schoonheid van Zabbix is ​​XMPP meldingen!
URL – http://www.zabbix.com/
Auteur – Alexei Vladishev

5) Zenoss – Zenoss (Zenoss Core) is een open-source applicatie, server en netwerk management platform gebaseerd op de Zope applicatie server.
URL – http://www.zenoss.com/

LET OP – Deze lijst is gebaseerd op persoonlijke ervaring en keuze uit vele IndianGNU leden van de gemeenschap.

Dank je wel,
Arun Bagul

Hoe RAM (fysiek) te gebruiken als harde schijf

Hoe RAM (fysiek) te gebruiken als harde schijf

introductie –
Ergens om de prestaties te krijgen, kan fysiek RAM-geheugen worden gebruikt als harde schijf ruimte, die is erg snel in vergelijking met normale harde schijf.
Dus, hoe kan ik gebruik maken van RAM-geheugen is schijf? gaan door middel van deze stappen.

Stap 1) Maak de map zoals hieronder wordt weergegeven waar u wilt RAM mounten als schijf

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

Stap 2) mount RAM-geheugen dat wil zeggen tmpfs op mountpoint “/ tmp / ram” directory-

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

* Check gemonteerd op niet?

root @ arunbagul: ~ # df-h
Bestandssysteem Grootte Gebruikt Beschikbaar Gebruik% Gemonteerd op
tmpfs 10M 10M 0 0% / tmp / ram

** Om dit permanent add entry monteren in / etc / fstab zoals hieronder aangegeven.

root @ arunbagul: ~ # cat / etc / fstab

….

tmpfs / tmp / ram tmpfs defaults, size = 10m 0 0

root @ arunbagul: ~ #

– Om dit gebruik opdracht mount te monteren (dit zal monteren alle mount punten die in fstab)

root @ arunbagul: ~ # mount-a

Dank je wel,
Arun Bagul

IndianGNU.org – vierde verjaardag!

IndianGNU.org – vierde verjaardag!

Beste allemaal,

Vandaag vieren we vierde verjaardag! We hebben met succes voltooid vier jaar en nog steeds groeiende met volle snelheid! Het was gewoon onmogelijk zonder uw steun, bijdrage en harde werk.

openlsm Project ~

Dit jaar was zwaar voor openlsm en wij zullen lanceren Admin panel ontwikkeling versie tegen het einde van december 2010. We verwachten nog veel meer uit de tweede mijlpaal …

Cheers,
IndianGNU.org

Perl CGI – Session en Cookie howto

Perl CGI – Session en Cookie howto

Inleiding –

Bijna 1 jaar terug, worstelde ik veel voor de uitvoering van sessie en cookie in Perl CGI-toepassing. Dus dacht om mijn werk met jullie allemaal delen.
Ik wilde het doen op mijn manier …

Aanname, is uw webserver bijvoorbeeld Apache ingesteld om CGI-scripts draaien

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

Hoe te testen Netwerk performance en bandbreedte

Hoe te testen Netwerk performance en bandbreedte

Inleiding –

Netwerk latency en bandbreedte zijn de twee statistieken het meest waarschijnlijk van belang zijn wanneer u benchmark een netwerk. Hoewel de meeste diensten en producten reclame richt zich op bandbreedte, soms de latentie kan worden een belangrijke maatstaf.

** Wat is bandbreedte?

Bandbreedte (BW) in computer netwerken verwijst naar de gegevens die ondersteund wordt door een netwerkverbinding of interface. BW wordt gemeten in termen van bits per seconde (bps).

** Wat is netwerk latency?

Latency is een maat voor de vertraging ervaren in een systeem. Netwerk latency is gewoon gedefinieerd als de vertraging waargenomen als de gegevens doorgeeft van het ene punt naar het andere. Er zijn een aantal factoren die bijdragen aan het netwerk latency. Deze omvatten de overbrenging (medium van connectiviteit), Afstand, routers en computer hardware vertragingen.

Lijst van projecten gebruikt om netwerk performance en bandbreedte test –

1) bmon – bandbreedte monitor en de snelheid schatter, is de console gebaseerde, live BW
2) bwbar – bandbreedte verbruik in tekst en grafische opmaak
3) bwm-ng – Monitor van de Bandbreedte NG (Next Generation, live BW, console gebaseerd
4) dstat – dstat is een vervanging voor vmstat, iostat en ifstat.
5) iftop – Bandbreedtegebruik op een interface, console gebaseerd
6) iperf – Voer netwerk throughput testen weddenschap met twee hosts
7) ifstat – Verslag interface statistieken
8) cbm – Kleur Bandwidth Meter, console gebaseerd
9) etherape – Grafische netwerkverkeer browser
10) iptraf – Interactieve Kleurrijke IP LAN Monitor, console en GUI-gebaseerde
11) netmrg – Het is daemon gebaseerd, ondersteuning voor MySQL, verzamelt gegevens van apparaten.
12) nuttcp – Netwerk performance measurement tool
13) nepim

OPMERKING ~ Voor sommige van hen rpm of deb-pakketten zijn niet beschikbaar!

Stap 1] Hoe te installeren op Redhat / RHCE, CentOS gebaseerd systeem en Dibian gebaseerd systeem?

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

Stap 2] Hoe te gebruiken – 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

** start “iperf” server on one host(A) and client on another host(B)- to measure Network throughput between two hosts.

* 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-en CRM Open Source Software

Top 7 ERP-en CRM Open Source Software

Inleiding –

Wat is Enterprise Resource Planning (ERP)?

ERP is een geïntegreerd software systeem dat wordt gebruikt om middelen, activa, financiële middelen, materialen en HR beheren.
Het doel is het vergemakkelijken van de doorstroming van informatie tussen alle zakelijke functies van de organisatie.

Wat is Customer Relationship Management (CRM)?

CRM is een algemeen erkend als interacties bedrijf met klanten, opdrachtgevers en prospects. Het gaat om het gebruik van
technologie te organiseren, te automatiseren en synchroniseren van business (sales) activiteiten, marketing, klantenservice en technische ondersteuning.

1) Openbravo

Openbravo ERP is een web-based ERP-oplossing voor kleine en middelgrote bedrijven die is vrijgegeven onder
de Openbravo Public License, gebaseerd op de Mozilla Public License.
URL – http://www.openbravo.com/

2) OpenERP

OpenERP is een open source uitgebreide suite van zakelijke toepassingen waaronder Sales, CRM, Project management,
Warehouse management, productie, Accounting, Human Resources.
URL – http://www.openerp.com/

3) Fedena

Fedena is een open source school management software ontwikkeld op Ruby on Rails framework. fedena bevat modules in verband met de toelating, Student Details, gebruikers beheren, beheren Nieuws, Onderzoek, het tijdschema en Toeschouwers.
URL – http://www.projectfedena.org/

4) JFire

JFireis een Enterprise Resource Planning en Customer Relationship Management-systeem. JFire is Client-Server systeem met Desktop-client beschikbaar voor Windows en Linux OS.
URL – http://www.jfire.net/

5) Apache OFBiz –

OFBiz is ERP-systeem. Het biedt enterprise applicaties die integreren en automatiseren veel van de business processen.
URL – http://ofbiz.apache.org/

6) SugarCRM

SugarCRM is de grootste CRP open source software. SugarCRM is mijn persoonlijke keuze!

URL – http://www.sugarcrm.com

7) VtigerCRM

VtigerCRM is zeer eenvoudig en beste ERP-en CRM webbased software. Ik heb persoonlijk gebruik gemaakt van deze software. Het heeft vele addons. URL – http://www.vtiger.com/

Raadpleeg de ERP-software lijst op wiki – http://en.wikipedia.org/wiki/List_of_ERP_software_packages

Dank u wel,
Arun Bagul

BASH Scripting ~ leren door voorbeelden

BASH Scripting ~ leren door voorbeelden

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

Configureren multi meester MySQL replicatie

Configureren multi meester MySQL replicatie

Inleiding ~

Ik was van plan om te schrijven artikel over Multi Master MySQL replicatie sinds lange tijd eindelijk begonnen nu!. Raadpleeg het artikel over de “How to configure MySQL replicatie met een Master” URL ~ http://www.indiangnu.org/2007/mysql-replication-one-master-multiple-slave/

* Laat ik u meedelen dat alle Multi Master replicatie in MySQL is puur gebaseerd op de volgende twee variabelen. Het heeft niets te maken met replicatie technologie die wordt gebruikt in MySQL replicatie ….

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

Waar —
N => n aantal master server (op master-1 houdt het 1 en op master-2 houdt het 2 en zo verder ..)
M => Totaal aantal Master Server (2 in ons geval maar beter om deze waarde te hoog te houden zodat we nieuwe master server kunt toevoegen gemakkelijk)

log-slaaf-updates => Slave server niet inloggen om zijn eigen binaire log alle updates die worden ontvangen van een master server. Deze optie geeft de slaaf om de updates door haar SQL draad om haar eigen binaire log log.

** Zorg ervoor dat MySQL draait en tot op alle servers en master-slave-server

Hoe te opstelling Multi Master MySQL replicatie? —

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>

* Dus we allemaal geleerd voor het configureren van multi-master MySQL replicatie. Enjoy!

Groeten,
Arun Bagul

Hoe te creëren of RPM Package

Hoe te creëren of RPM Package

Inleiding –

* “Rpmbuild” tool wordt gebruikt om zowel …

1) Binary Package ~ gebruikt om de software te installeren en scripts ondersteunen. Het bevat de bestanden die de aanvraag omvat, samen met eventuele aanvullende informatie die nodig is te installeren en te verwijderen.
2) Bron Pakket ~ bevat de oorspronkelijke gecomprimeerde tar-bestand van de broncode, patches en specificatie File.

* Wat is RPM & RPM Package Manager?

De RPM Package Manager (RPM) is een krachtige command line package management systeem kunnen installeren, verwijderen, verificatie, opvragen en bijwerken van software pakketten.

RPM package bestaat uit een archief van bestanden en meta-data gebruikt voor het installeren en het archief bestanden te wissen. De meta-data bevat helper scripts, file attributen en beschrijvende informatie over het pakket.

* Om RPM-pakket moet u drie dingen specificeren ~

1) Bron van toepassing – in ieder geval, moet je niet wijzigen van de bronnen die gebruikt worden in het pakket bouwproces.

2) Patches – RPM geeft je de mogelijkheid om automatisch patches van toepassing zijn. De patch verhelpt een probleem specifiek voor het doelsysteem. Dit kan onder meer veranderende makefiles om de applicatie te installeren in de juiste mappen, of cross-platform oplossing van conflicten. Patches creëren voor het milieu vereist voor een goede compilatie.

3) Specificatie Bestand – De specificatie bestand wordt in het hart van RPM pakket bouwproces. Het bevat informatie die nodig is door RPM aan het pakket te bouwen, evenals instructies RPM vertellen hoe het te bouwen. De specificatie bestand dicteert ook exact welke bestanden zijn een onderdeel van het pakket, en waar ze moeten worden geïnstalleerd.

** Specificatie bestand ~ is onderverdeeld in 8 afdelingen zoals hieronder weergegeven

a) Preambule ~ bevat informatie die wordt weergegeven wanneer gebruikers verzoek informatie over het pakket. Dit zou ook een beschrijving van de functie van het pakket, het versienummer van de software, enz.

b) Bereiding ~ waar de feitelijke werkzaamheden van de bouw van een pakket gestart. Zoals de naam al zegt, dit gedeelte is waar de noodzakelijke voorbereidingen worden voorafgaand aan de daadwerkelijke bouw van de software gemaakt. In het algemeen, als er iets moet worden gedaan om de bronnen voorafgaand aan de opbouw van de software, moet het gebeuren in de voorbereiding sectie. De inhoud van deze afdeling zijn een gewone shell script. Echter RPM bieden twee macro’s om het leven gemakkelijker te maken. Een macro kan uitpakken een gecomprimeerd tar-bestand en cd in de bron directory. De andere macro geldt gemakkelijk patches om de uitgepakte bronnen.

c) Bouw ~ Dit deel bestaat uit een shell-script. Het wordt gebruikt om wat opdrachten uit te voeren zijn nodig om daadwerkelijk samen te stellen de bronnen zoals enkele make commando, of meer complexe als het proces bouwen vereist. Er zijn geen macro’s beschikbaar in deze sectie.

d) Installeer ~ Dit deel bevat ook een shell script, de installatie sectie wordt gebruikt om de commando’s nodig zijn om daadwerkelijk installeren van de software uit te voeren.

e) installeren en verwijderen Scripts ~ Het bestaat uit scripts die worden uitgevoerd, op het systeem van de gebruiker, wanneer het pakket daadwerkelijk is geïnstalleerd of verwijderd. RPM kan uitvoeren van een script pre / post installatie / verwijdering van de verpakking.

f) Controleer Script ~ script dat wordt uitgevoerd op het systeem van de gebruiker. Het wordt uitgevoerd als RPM controleert correcte installatie van het pakket.

g) schoon gedeelte ~ script dat kan dingen schoon te maken na het bouwen. Dit script wordt zelden gebruikt, omdat RPM doorgaans een goede baan heeft van de clean-up in de meeste omgevingen te bouwen.

h) Bestand Lijst ~ bestaat uit een lijst van bestanden die zal bestaan uit het pakket. Daarnaast kunnen een aantal macro’s worden gebruikt om de controle bestandskenmerken wanneer geïnstalleerd, alsmede om aan te geven welke bestanden zijn documentatie, en welke configuratie-informatie bevatten. Het bestand lijst is erg belangrijk.

Eis *** RPM’s voor milieu bouwen ~

A] RPM vereist een set van mappen het uitvoeren van de te bouwen. Hoewel de locaties van de mappen ‘en namen kunnen worden gewijzigd. Standaard lay-out is hieronder weergegeven —

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

drwxr-xr-x 2 root root 4096 25 augustus 2007 SOURCES => Bevat de oorspronkelijke bronnen, patches en bestanden icon
drwxr-xr-x 2 root root 4096 25 augustus 2007 SPECS => Bevat de specificatie bestanden
drwxr-xr-x 2 root root 4096 25 augustus 2007 BUILD => directory waarin de bronnen zijn uitgepakt, & software is gebouwd
drwxr-xr-x 8 root root 4096 28 mei 2008 RPMS => Bevat de binary bestanden die door het bouwproces
drwxr-xr-x 2 root root 4096 25 augustus 2007 SRPMS => Bevat de broncode bestanden die door het bouwproces

root @ arunsb: ~ #

B] Need exporteren paar globale variabelen gebruikt door RPM —

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

Stap 1] Maak Specification (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 /

# # Section-Preambule
Naam: openlsm
Versie: 0.99
Verkoper: IndianGNU.org & openlsm
Release: R45
Groep: Systeem Milieu / Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Samenvatting: openlsm Admin Server
Licentie: GPL

% description
openlsm Admin Server is gratis en open source web-based control panel voor Linux, Unix-systemen.

# # Voorbereiding 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

# # Section-Build
% build

cd ./openlsm-0.99-r45 /
. / configure-prefix = / usr / local / openlsm-with-mysql = / usr / bin / mysql_config-enable-interne-pcre-met-geoip = / usr-with-ldap = / usr-enable-trace
maken

# # Install Section –
% installeren

cd ./openlsm-0.99-r45 /
make install

# # Section-Files
% 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
….
… ..
… .. lijst met bestanden geïnstalleerd door pkg
root @ arunsb: ~ #

* Hoe creëer je de File List?

Het creëren van het bestand lijst is handmatig proces. Wat ik deed is nam ik de lijst met bestanden van mijn handleiding geïnstalleerd prefix directory met commando vinden, zoals hieronder weergegeven …

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

Stap 2] Vanaf de Bouw ~

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

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

….
… ..

Controle voor onverpakte file (s): / usr / lib / rpm / check-bestanden BuildRoot% ()
Schreef: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Schreef: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

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

* Bron en binair pakket gemaakt!

** Laten we eens kijken wat er gebeurd is in “/ usr / src / redhat /” directory

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
BUILD RPMS BRONNEN SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BOUWEN /
openlsm-0,99-R45 <== Bron gewonnen hier als onderdeel van de instructies uit specificatie bestand dwz “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls bronnen /
openlsm-0,99-r45.tar.gz <== originele ‘openlsm-0,99-source r45.tar.gz’ bestand gekopieerd door mij
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
openlsm-0,99-r45.i386.rpm <== binaire RPM package aangemaakt!
root @ arunsb: / usr / src / redhat # ls SRPMS /
openlsm-0,99-r45.src.rpm <== Bron rpm package aangemaakt!
root @ arunsb: / usr / src / redhat #

Stap 3] Nu het pakket installeert en test het ~

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

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

** Het starten van de openlsm server ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat start
* Vanaf 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
Naam: openlsm Relocations: (niet verplaatsbare)
Versie: 0.99 Vendor: IndianGNU.org & openlsm
Release: R45 Build Date: Fri 02 december 2009 05:50:54 PM IST
Installeer Datum: wo 02 december 2009 06:06:23 PM IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Groep: Systeem Milieu / Daemons Source RPM: openlsm-0,99-r45.src.rpm
Grootte: 14877918 Licentie: GPL
Handtekening: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Samenvatting: openlsm Admin Server
Beschrijving:
openlsm Admin Server is gratis en open source web-based control panel voor Linux, Unix-systemen.
root @ arunsb: ~ #

** OPMERKING ~ In dit artikel wordt geen informatie bevatten over hoe de micro’s te definiëren, hoe je documenten te kopiëren, om man pagina’s standaard locatie, hoe u goedkeuringen en eigendom enz. Ik zal de dekking van deze onderwerpen in het volgende artikel over RPM.

** Raadpleeg de engels artikel ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Groeten,
Arun Bagul

Versleutel uw mails met GPG en Enigmail Thunderbird plugin

Versleutel uw mails met GPG en Enigmail Thunderbird plugin

Inleiding ~

GNU Privacy Guard (GnuPG of GPG) is open source / vrije software encryptie en ondertekening tool, alternatief voor het Pretty Good Privacy (PGP) suite van cryptografische software. Enigmail is een extensie voor Mozilla Thunderbird en andere Mozilla-toepassingen. Het biedt publieke sleutel e-mail encryptie. Werkelijke cryptografische functionaliteit wordt afgehandeld door GNU Privacy Guard (GnuPG, GPG).

Stap 1] Installeer GnuPG of GPG —

* Ubuntu / Debian ~

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

* Redhat / Fedora ~

root @ arun: ~ # yum install gnupg gnupg2

Stap 2] Hoe installeer Enigmail?

Ik neem aan dat Mozilla Thunderbird al is geïnstalleerd op uw systeem. To install “Enigmail” Volg volgende stappen

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

Opmerking ~ selecteren OS en Thunderbird versie behoren.

b) In de menubalk van de belangrijkste Thunderbird venster ziet u ‘Extra’. Selecteer deze, en dan “Add-ons”-optie. Dit zal een nieuw venster waarin alle van uw Thunderbird plug-ins. In de onderste linker hoek van dit nieuwe venster zie je een knop “Install”. Klik op deze knop. Vertel Thunderbird waar u het Enigmail. XPI-bestand. en gewoon zeggen “Install” dat is het!

* Zodra ‘Enigmail’ is geïnstalleerd start de Thunderbird. Dan zult u zien “OpenPGP” tab in het hoofdmenu van Thunderbird.

Stap 3] Setup private / public key ~

Enigmail gebruikt publieke sleutel cryptografie om privacy te verzekeren tussen u en uw correspondenten. Genereren voor het publiek / private sleutels, is er twee methoden ofwel ze genereren met de hulp van “gpg” command line tool of gebruik “enigmail” ….

* Wij zullen genereren private / publieke cryptografische sleutels met de hulp van “enigmail” zoals hieronder afgebeeld ….

a) Klik op “OpenPGP” in de menubalk van het hoofdvenster van Thunderbird. Selecteer “Key Management”.
b) In Enigmail Key Manager ~ klik op “Generate” tab in de menubalk en kies “Nieuwe sleutelpaar”.
c) Op de top van het venster ziet u een keuzelijst met alle van uw e-mailadressen. GnuPG zal associëren uw nieuwe sleutel met een e-mailadres.
Enigmail is gewoon je vraagt welk adres u wilt gebruiken voor deze sleutel. Selecteer indien rekening zal worden ontvangen versleutelde mail.

OPMERKING ~ We kunnen dezelfde toetsen voor meerdere accounts.

d) U kunt gebruik maken van passphrase of gewoon controleren “Nee passphrase” checkbox om keys te genereren zonder wachtwoord.
e) Maak de map op te slaan “Intrekking Certificaten” …

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

f) Klik op “Generate key” knop om sleutels te genereren. gedaan ..

Om te delen toetsen gemakkelijk kunt publiceren uw sleutels met keyserver.

a) In de “Key Management” venster selecteert u uw sleutels en klik vervolgens op het tabblad ‘Keyserver’ in het hoofdmenu en klik vervolgens op “Upload Public Keys”
Opmerking ~ Zorg ervoor dat te controleren “Display alle toetsen door Standaard” checkbox (tot een lijst van alle sleutels)

Stap 4] Stel de mail en ondertekenen ~

Compose de mail en vertel Enigmail te ondertekenen. Op de top van uw Compose venster ziet u een knop lezing “OpenPGP”. Klik op deze. Zorg ervoor dat de “Sign” optie, en alleen dat, is aangevinkt. Tenslotte “Verzenden” de mail! (U wordt gevraagd om uw wachtwoord. Zodra u, zal Enigmail ondertekenen uw e-mail en stuur het als je sleutels te genereren met wachtwoord anders zal het niet vragen)
/ pgp_enigmail-componeren

Enjoy!

Groeten,
Arun Bagul