Category: Allgemeine Informationen

Allgemeine Informationen

Top 5 – Open Source Netzwerk-und Performance-Monitoring + Alerting System

Top 5 – Open Source Netzwerk-und Performance-Monitoring + Alerting System

Einführung – Überwachung Ihres Netzwerks und verschiedenen Anwendungen ist der wichtigste Teil Ihrer bussiness. So wählen Monitoring-Tools ist kritisch und wichtigste Aufgabe, weil man sich voll auf dieses Werkzeug, um zu unterrichten, wenn etwas schief geht, antworten wird!

1) Nagios – ist ein beliebter Open-Source-Computer-System-Monitor, Netzwerk-Monitoring-und Infrastruktur-Monitoring-Software-Anwendung. Nagios bietet komplette Überwachung und Alarmierung für Server, Switches, Anwendungen und Services und wird als der Defacto-Industrie betrachtet
Standard. Nagios unterstützt zwei Arten von Monitoring-Aktive und Passive. Bei aktiver Überwachung Nagios Termine oder sucht aktiv erwähnten Dienstleistungen, während im Falle von passiven Prüfungen, externe Anwendung kann verwendet werden, um Service-Prüfergebnisse vorzulegen.
– Für passive Prüfungen NSCA (Nagios Service Check Acceptor)-Daemon sollte auf Nagios-Server laufen zu passive Prüfungen über das Netzwerk, das passive Prüfungsergebnisse an Nagios über Unix-Socket unterbreiten zu akzeptieren.
– Für Acitive Schecks NRPE (Nagios Remote Plugin Executor) Daemon muss auf Remote-Rechner laufen, um Dienste zu überwachen. Allerdings können Sie SSH zu nutzen.

Zur Überwachung Remote-Hosts und Services Nagios Community stellen Ihnen einige Plugins wie unten gezeigt …
* NRPE – NRPE Daemon auf entfernten Rechnern laufen wird und Nagios Checks Dienste auf entfernten Rechnern via check_nrpe (Befehl) aus Nagios-Hosts.
* Check_mk – Das beste Nagios Plugin zur Überwachung von Remote-Host. Schönheit dieses Plugins ist, dass die meisten der commons Dienste in einem Anschluss an Remote-Hosts überprüft und die Ergebnisse werden als passiv an Nagios übermittelt. Dies verbessert die Leistung, weniger Netzwerkverkehr und natürlich ohne Last oder Belastung für die Remote-Host (die wir beobachten). Für check_mk, müssen wir Agenten installiert check_mk dh check_mk_agent einfaches Shell-Skript und binden Sie dieses Skript in TCP-Port 6556 mit xinetd-Daemon. Check_mk bietet außerdem folgende Features.
– Unterstützung dynamischer check_mk Nagios-Konfiguration Generation, Inventar der Kontrollen.
– Livestatus – ein schönes Plugin, um mit Nagios (Unix-Socket) zu kommunizieren
– Nagios-GUI Multisite – Monitor mehrere Nagios aus einzelnen Web-basierte Schnittstelle
– SNMP unterstützt und automatische Service-Erkennungen für viele Cisco Switches, Routern und NetApp Filer als auch.
Nagios Multisite-GUI – Eine weitere Schönheit der check_mk Nagios-Plugin wird montoring mehrere Nagios mit nur einem Web-basierte Schnittstelle. Diese webbasierte Schnittstelle usese check_mk Livestatus Plugin, um Nagios-Daten.
Check_mk – http://mathias-kettner.de/
URL – http://www.nagios.org/~~V
Autor – Ethan Galstad

2) Ganglia – ist eine skalierbare, verteilte System-Monitor-Tool für High-Performance-Computing-Systeme wie Cluster und Grids. Es ermöglicht dem Benutzer aus der Ferne live betrachten oder historische Statistiken (z. B. CPU-Last Mittelwerte oder Netzauslastung) für alle Maschinen, die überwacht werden. Ganglia ist sehr hilfreich, um herauszufinden, Anwendungs-oder Team klug Ressourcennutzung auch in Cluster-Umgebungen. Wir müssen installiert gmond (Ganglien Monitor Daemon) auf jedem Rechner (in Gruppen oder Cluster), die alle Werte sammelt.
gmetad (Ganglien Metadaten-Daemon) müssen auf einer bearbeiteten in Gruppen oder Cluster, die Daten von bestimmten Servern zu sammeln gmond wird installiert.
URL – http://ganglia.info/~~V

3) Kakteen – ist ein Open Source, Web-basierte Grafik-Tool (Frontend für RRDtool). Kakteen kann ein Benutzer Umfrage Dienste in vorgegebenen Intervallen und Graphen der resultierenden Daten. Es wird allgemein auf Graphen Zeitreihendaten von Metriken wie CPU-Auslastung und Nutzung der Netzwerkbandbreite verwendet. Cacti ist besser, Hardware-Geräte wie Switches, Router per SNMP überwachen.
URL – http://www.cacti.net/

4) Zabbix – Es ist so konzipiert, überwachen und verfolgen den Status verschiedener Netzwerk-Dienste, Server und andere Netzwerk-Hardware. Es nutzt MySQL, PostgreSQL, SQLite, Oracle oder IBM DB2, um Daten zu speichern. Seine Backend ist in C geschrieben und das Web-Frontend ist in PHP geschrieben.
Zabbix bietet verschiedene Monitoring-Optionen. Ein Zabbix-Agent kann auch auf UNIX-und Windows-Hosts installiert werden, um Statistiken wie CPU-Last, Netzwerk-Auslastung, Speicherplatz, etc. überwachen
Als Alternative zur Installation eines Agenten auf den Hosts, umfasst Zabbix Unterstützung für Überwachung per SNMP, TCP-und ICMP-Prüfungen, sowie über IPMI, SSH, Telnet und Verwendung von benutzerdefinierten Parametern.
Zabbix unterstützt eine Vielzahl von Echtzeit-Benachrichtigung Mechanismen. Schönheit von Zabbix ist XMPP Benachrichtigungen!
URL – http://www.zabbix.com/
Autor – Alexei Vladishev

5) Zenoss – Zenoss (Zenoss Core) ist ein Open-Source-Anwendung, Server und Netzwerk-Management-Plattform auf dem Zope Application Server basiert.
URL – http://www.zenoss.com/

HINWEIS – Diese Liste basiert auf persönlichen Erfahrungen und erste Wahl vieler IndianGNU Community-Mitglieder basiert.

Thank you,
Arun Bagul

Wie RAM (physische) als Festplatte nutzen

Wie RAM (physische) als Festplatte nutzen

Einführung –
Irgendwann um die Leistung zu gewinnen, können physikalische RAM als Speicherplatz, was sehr schnell ist, zu vergleichen, um normale Festplatte genutzt werden.
Also, wie kann ich RAM zu verwenden ist Festplatte? Gehen Sie durch diese Schritte.

Schritt 1) ​​Verzeichnis erstellen, wie unten dargestellt, wo Sie den RAM als Festplatte mounten wollen

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

Schritt 2) RAM Mount dh tmpfs bei Mountpoint “/ tmp / ram”-Verzeichnis

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

* Überprüfen montiert auf nicht?

root @ arunbagul: ~ # df-h
Dateisystem Größe Benut Verf Ben% montiert auf
tmpfs 10M 0 10M 0% / tmp / ram

**, Um diese dauerhaft Add-Eintrag in / etc / fstab mounten, wie unten dargestellt.

root @ arunbagul: ~ # cat / etc / fstab

….

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

root @ arunbagul: ~ #

– Zur Montage dieser Nutzung Befehl mount (damit werden alle Mount-Punkte in fstab mounten erwähnt)

root @ arunbagul: ~ # mount-a

Thank you,
Arun Bagul

IndianGNU.org – Vierter Jahrestag!

IndianGNU.org – Vierter Jahrestag!

Dear All,

Heute feiern wir vierten Jahrestag! Wir haben erfolgreich abgeschlossen vier Jahre und immer noch wachsende mit voller Geschwindigkeit! Es war einfach unmöglich, ohne Ihre Unterstützung, Beitrag und harte Arbeit.

openlsm Project ~

Diese Jahr war hart für openlsm und wir werden starten Admin-Panel Entwicklungs-Version bis Ende Dez. 2010. Wir erwarten viel mehr von der zweiten Meilenstein …

Cheers,
IndianGNU.org

Perl-CGI Session und Cookie howto

Perl-CGI Session und Cookie howto

Einführung –

Fast 1 Jahr zurück, kämpfte ich eine Menge für die Umsetzung Session und Cookie in Perl-CGI-Anwendung. So dachte an meine Arbeit mit Ihnen allen teilen.
Ich wollte es auf meine Weise zu tun …

Mariä Himmelfahrt, ist Ihr Webserver Apache dh aktivieren, damit Sie CGI-Skripte ausführen

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

So testen Sie Netzwerk-Performance und Bandbreite

So testen Sie Netzwerk-Performance und Bandbreite

Einführung –

Netzwerk-Latenz und Bandbreite sind die beiden Metriken am ehesten von Interesse sein, wenn Sie ein Netzwerk-Benchmark. Auch wenn die meisten Service-und Produkt-Werbung konzentriert sich auf die Bandbreite, in Zeiten der Latenz kann eine wichtige Kennzahl sein.

** Was ist Bandbreite?

Bandbreite (BW) in Computer-Vernetzung bezieht sich auf die Datenrate durch eine Netzwerkverbindung oder Schnittstelle unterstützt. BW ist im Hinblick auf die Bits pro Sekunde (bps) gemessen.

** Was ist die Netzwerk-Latenz?

Die Latenz ist ein Maß für die zeitliche Verzögerung in einem System erlebt. Netzwerklatenz ist einfach definiert als die zeitliche Verzögerung beobachtet, wie Daten überträgt von einem Punkt zum anderen. Es gibt eine Reihe von Faktoren, die Netzwerk-Latenz beitragen. Dazu gehören Getriebe (Medium-Konnektivität), Entfernung, Router und Computer-Hardware Verzögerungen.

Liste der Projekte verwendet werden, um Netzwerk-Performance und Bandbreite testen –

1) bmon – Bandbreite überwachen und bewerten Schätzer, ist es basierte Konsole, Live-BW
2) bwbar – Bandbreiten-Nutzung in Text und grafischen Format
3) BWM-ng – Bandwidth Monitor NG (Next Generation leben BW, Konsolenzugang
4) dstat – Dstat ist ein Ersatz für vmstat iostat und ifstat.
5) iftop – Bandbreiten-Auslastung auf einem Interface, basierte Konsole
6) iperf – Führen Netzwerk-Durchsatz-Tests Wette zwei Host
7) ifstat – Bericht Interface Statistics
8) cbm – Color Bandwidth Meter, basierte Konsole
9) etherape – Grafische Netzwerkverkehr Browser
10) iptraf – Interaktive Bunte IP-LAN-Monitor, Konsole und GUI-basierte
11) netmrg – Es ist Daemon basiert, mySQL unterstützen, sammelt Daten von Geräten.
12) nuttcp – Netzwerk Performance-Messung Werkzeug
13) nepim

HINWEIS ~ Für einige von ihnen rpm oder deb-Paketen sind nicht möglich!

Schritt 1] Wie bei der Installation Redhat / RHCE, CentOS System und Dibian basierten System?

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

Schritt 2] So nutzen – 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 auf einem Host (A) und Client auf einem anderen Rechner (B) -, um Netzwerk-Durchsatz zwischen zwei Rechnern messen.

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

Top 7 ERP-und CRM Open Source Software

Einführung –

Was ist Enterprise Resource Planning (ERP)?

ERP ist eine integrierte Software-System verwendet werden, um Ressourcen-, Vermögens-, Finanz-Ressourcen, Materialien und HR Management.
Sein Zweck ist es, den Informationsfluss zwischen allen Business-Funktionen der Organisation zu erleichtern.

Was ist Customer Relationship Management (CRM)?

CRM ist ein breit wie Unternehmen die Interaktion mit Kunden, Klienten und Interessenten erfasst. Es beinhaltet die Verwendung von
Technologie zu organisieren, zu automatisieren und synchronisieren Geschäft (Verkauf), Marketing, Kundendienst und technische Unterstützung.

1) Openbravo

Openbravo ERP ist eine web-basierte ERP-Business-Lösung für kleine und mittlere Unternehmen, die unter freigesetzt wird
der Openbravo Public License, auf der Mozilla Public License basiert.
URL – http://www.openbravo.com/

2) OpenERP

OpenERP ist ein Open Source umfassende Suite von Business-Anwendungen, einschließlich Vertrieb, CRM, Projektmanagement,
Lagerverwaltung, Produktion, Rechnungswesen, Human Resources.
URL – http://www.openerp.com/

3) Fedena

Fedena ist eine Open Source Software Schulleitung auf Ruby on Rails-Framework entwickelt. fedena enthält Module für die Zulassung, Student Details, Benutzer verwalten, Verwalten News, Prüfungs-, Fahrplan-und Besucherzahlen.
URL – http://www.projectfedena.org/

4) JFire

JFireis eines Enterprise Resource Planning und Customer Relationship Management System. JFire ist Client-Server-basiertes System mit Desktop-Client für Windows und Linux OS.
URL – http://www.jfire.net/

5) Apache OFBiz –

OFBiz ist ERP-System. Es bietet Enterprise-Anwendungen, die Integration und Automatisierung vieler Geschäftsprozesse.
URL – http://ofbiz.apache.org/

6) SugarCRM

SugarCRM ist führender CRP Open Source Software. SugarCRM ist meine persönliche Wahl!

URL – http://www.sugarcrm.com

7) vtigerCRM

VtigerCRM ist sehr einfach und am besten ERP-und CRM Web-basierte Software. Ich habe persönlich diese Software verwendet. Es hat viele Addons. URL – http://www.vtiger.com/

Bitte beachten Sie die ERP-Software-Liste auf wiki – http://en.wikipedia.org/wiki/List_of_ERP_software_packages

Vielen Dank,
Arun Bagul

Bash-Skript ~ Lernen durch Beispiele

Bash-Skript ~ Lernen durch Beispiele

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

Wie konfiguriert man Multi-Master-Replikation MySQL

Wie konfiguriert man Multi-Master-Replikation MySQL

Einführung ~

Ich hatte geplant, Artikel auf Multi-Master-Replikation MySQL seit langer Zeit schreiben, schließlich begann jetzt!. Verwenden Sie hierzu den Artikel “How to configure MySQL-Replikation mit einem Master” URL ~ http://www.indiangnu.org/2007/mysql-replication-one-master-multiple-slave/

* Lassen Sie mich zu informieren, dass Sie alle Multi-Master-Replikation in MySQL ist lediglich auf die beiden folgenden Variablen. Es hat nichts mit Replikations-Technologie in die MySQL-Replikation verwendet tun ….

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

Wo —
N => n-te Zahl der Master-Server (auf Master-1 keep it 1 und Master-2 keep it 2 und so weiter ..)
M => Anzahl der Master-Server (2 in unserem Fall aber besser, diesen Wert so hoch zu halten, dass wir neue Master-Server hinzufügen können)

log-slave-updates => Slave-Server nicht anmelden, um sein eigenes Binärlog alle Aktualisierungen, die von einem Master-Server empfangen werden. Diese Option weist den Slave die Updates von der SQL-Thread auf seine eigenen Binärlog zu schreiben.

** Stellen Sie sicher, dass MySQL läuft und sich auf allen Servern und Master-Slave-Server –

How to setup Multi-Master-Replikation MySQL? —

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>

* Also haben wir alle gelernt, zu konfigurieren, Multi-Master-Replikation MySQL. Viel Spaß!

Grüße,
Arun Bagul

Wie zu gründen oder auszubauen RPM-Paket

Wie zu gründen oder auszubauen RPM-Paket

Einführung —

* “Rpmbuild” Werkzeug wird verwendet, um beide zu bauen …

1) ~ Binary-Paket verwendet, um die Software zu installieren und Skripten unterstützt. Es enthält die Dateien, die die Anwendung umfassen, zusammen mit zusätzlichen Informationen, die zu installieren und zu löschen.
2) ~ Quellcode-Paket enthält die Original-komprimierten tar-Datei des Quellcodes, Patches und File-Spezifikation.

* Was ist RPM und RPM-Paket-Manager?

Die RPM Package Manager (RPM) ist ein leistungsfähiges Befehlszeilen-Paket-Management-System, das Installieren, Deinstallieren, Überprüfung, Abfrage und Aktualisierung von Softwarepaketen.

RPM-Paket besteht aus einem Archiv von Dateien und Meta-Daten, die zur Installation und Archiv-Dateien zu löschen. Die Meta-Daten umfassen Hilfsskripte, Dateiattribute und beschreibende Informationen über das Paket.

* So erstellen Sie RPM-Paket müssen Sie drei Dinge angeben ~

1) Quelle der Anwendung – in jedem Fall, sollten Sie nicht ändern, die Quellen in der Paket-Erstellung verwendet.

2) Patches – RPM gibt Ihnen die Möglichkeit, automatisch Patches zu ihnen. Der Patch behebt ein Problem, speziell für das Zielsystem. Dies könnte auch die Veränderung Makefiles um den Antrag in die entsprechenden Verzeichnisse der Lösung von Cross-Plattform installieren Konflikte. Patches erstellen, die Umwelt für die ordnungsgemäße Erstellung erforderlich.

3) Specification File – Die Spezifikation Datei befindet sich im Herzen von RPM-Paket Bauprozess. Es enthält Informationen, die von RPM benötigt, um das Paket zu erstellen, sowie Instruktionen, RPM, wie sie zu bauen. Die Spezifikation Datei bestimmt auch genau, welche Dateien ein Teil des Pakets sind, und wo sie installiert werden.

** Spezifikation Datei ~ ist um 8 Abschnitte unterteilt, wie unten gezeigt

a) Präambel ~ enthält Informationen, die angezeigt werden, wenn Anwender Informationen über das Paket anfordert. Dies würde eine Beschreibung der Funktion des Pakets gehören die Version der Software etc.

b) Herstellung ~ wo die eigentliche Arbeit des Aufbaus eines Pakets gestartet. Wie der Name schon sagt, ist dieser Abschnitt, wo die notwendigen Vorbereitungen vor dem eigentlichen Aufbau der Software vorgenommen werden. In der Regel, wenn alles muss geschehen, bevor die Quellen für den Aufbau der Software sein, muss es in der Vorbereitung Abschnitt passieren. Der Inhalt dieses Abschnitts sind eine normale Shell-Skript. Jedoch nicht RPM zwei Makros bieten das Leben leichter machen. Ein Makro kann eine komprimierte tar-Datei entpacken und in das Quell-Verzeichnis cd. Die anderen Makros gilt leicht Patches auf die entpackte Quellen.

c) Build ~ Dieser Abschnitt besteht aus einer Shell-Skript. Es wird verwendet, um Befehle auszuführen, was sind erforderlich, um tatsächlich den Quellen kompilieren wie Single-make-Befehl, oder komplizierter sein, wenn der Build-Prozess erfordert. Es gibt keine Makros in diesem Abschnitt.

d) Installieren ~ Dieser Abschnitt beinhaltet auch ein Shell-Skript, die Installation Abschnitt wird verwendet, um die Befehle benötigt, um tatsächlich die Installation der Software ausführen.

e) Installieren und Deinstallieren von Scripts ~ Es besteht aus Skripten, die ausgeführt werden, auf dem System des Benutzers, wenn das Paket tatsächlich installiert oder entfernt. RPM kann ein Script ausführen pre / post Installation / Deinstallation des Pakets.

f) Stellen Sie sicher, Script ~ Skript, das auf dem System des Benutzers ausgeführt wird. Es wird ausgeführt, wenn das RPM-Paket ist die ordnungsgemäße Installation überprüft.

g) Abschnitt Sauberkeit ~ Skript, das Dinge sauber nach dem aufbauen können. Dieses Skript wird nur selten verwendet, da RPM in der Regel einen guten Job gemacht hat Clean-up in den meisten Build-Umgebungen.

h) Dateiliste ~ besteht aus einer Liste von Dateien, die das Paket enthalten. Darüber hinaus können eine Reihe von Makros verwendet werden, um Dateiattribute Kontrolle bei der Installation, sowie zu bezeichnen, welche Dateien Dokumentation sind, und die Konfigurations-Informationen enthalten. Die Dateiliste ist sehr wichtig.

*** RPM Voraussetzung für die Build-Umgebung ~

A] U / min erfordert eine Reihe von Verzeichnissen, die Ausführung der zu bauen. Während die Standorte der Verzeichnisse und Namen können geändert werden. Standard-Layout wird unten gezeigt —

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

drwxr-xr-x 2 root root 4096 25. August 2007 SOURCES => Enthält die Original-Quellen, Patches und Icon-Dateien
drwxr-xr-x 2 root root 4096 25. August 2007 SPECS => Enthält die Spezifikations-Dateien
drwxr-xr-x 2 root root 4096 25. August 2007 BUILD => Verzeichnis, in dem die Quellen entpackt werden, und Software wird gebaut
drwxr-xr-x 8 root root 4096 28. Mai 2008 RPMS => Enthält die Binär-Paket Dateien, die von den Build-Prozess erstellt
drwxr-xr-x 2 root root 4096 25. August 2007 SRPMS => Quellcode-Paket enthält die Dateien, die von den Build-Prozess erstellt

root @ arunsb: ~ #

B] Need zu exportieren einige globale Variablen durch RPM verwendet —

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

Schritt 1] erstellen Spezifikation (spec) Datei ~

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 /

# # Präambel Section –
Name: openlsm
Version: 0.99
Hersteller: IndianGNU.org & openlsm
Release: r45
Group: System Environment / Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Zusammenfassung: openlsm Admin-Server
Lizenz: GPL

% description
openlsm Admin-Server ist kostenlos und Open-Source-Web-basiertes Control Panel für Linux, Unix-Systemen.

# # Section-Vorbereitung
% 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-Abschnitt
% build

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

# # Install-Abschnitt
% install

cd ./openlsm-0.99-r45 /
make install

# # Files-Sektion
% 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
….
… ..
… .. Liste der Dateien, die von pkg installiert
root @ arunsb: ~ #

* Wie erstellen Sie die Datei-Liste?

Erstellen der Datei-Liste ist manuell. Was ich tat, ist nahm ich die Datei-Liste aus meiner Anleitung installiert Präfix Verzeichnis mit Befehl finden wie unten gezeigt …

root @ arunsb: ~ # find / usr / local / openlsm /-type f-oder-Typ D

Schritt 2] Ab dem 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 2. Dezember 17.21 openlsm.spec
root @ arunsb: / usr / src / redhat / SPECS #

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

….
… ..

Überprüfen bei unverpackten Datei (en): / usr / lib / rpm / check-files% (buildroot)
Schrieb: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Schrieb: / 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. Dezember 17.50 Uhr / 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. Dezember 17.50 Uhr / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Quelle und Binär-Paket erzeugt!

** Mal sehen, was passiert ist in “/ usr / src / redhat /”-Verzeichnis

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
BUILD RPMS SOURCES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0.99-r45 <== Quelle extrahiert hier als Teil des Build-Instruktionen von der Spezifikation Datei zB “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SOURCES /
openlsm-0,99-r45.tar.gz <== Original “openlsm-0,99-r45.tar.gz” Quelle von mir kopierte Datei
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat RPMS/i386 # ls /
openlsm-0,99-r45.i386.rpm <== Binär-RPM-Paket erstellt!
root @ arunsb: / usr / src / redhat SRPMS # ls /
openlsm-0,99-r45.src.rpm <== Source-RPM-Paket erstellt!
root @ arunsb: / usr / src / redhat #

Schritt 3] Jetzt installieren Sie das Paket und testen Sie es ~

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
Preparing … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
bin contrib etc gehören lib sbin Skripte Aktien var
root @ arunsb: ~ #

** Starten des openlsm-Server ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat starten
* Starting openlsm Admin-Server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm redhat-Status
openlsm (pid 21607) läuft …
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
Name: openlsm Relocations: (nicht verschiebbar)
Version: 0.99 Hersteller: IndianGNU.org & openlsm
Release: r45 Build Date: Mi 02 Dec 2009 05:50:54 PM ist
Install Date: Mi 02 Dec 2009 06:06:23 PM ist Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemons Source RPM: openlsm-0,99-r45.src.rpm
Grösse: 14877918 Lizenz: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Zusammenfassung: openlsm Admin-Server
Beschreibung:
openlsm Admin-Server ist kostenlos und Open-Source-Web-basiertes Control Panel für Linux, Unix-Systemen.
root @ arunsb: ~ #

** Hinweis ~ Dieser Artikel keine Informationen darüber enthalten, wie micros definieren, wie man Dokumente zu kopieren, sind man-Seiten Standort standardmäßig, wie Baugenehmigungen und Eigenverantwortung usw. Ich werde diese Themen im nächsten Artikel über RPM-Decke.

** Bitte beachten Sie die Englisch Artikel ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Grüße,
Arun Bagul

Verschlüsseln Sie Ihre Mails mit GPG und Enigmail Thunderbird-Plugin

Verschlüsseln Sie Ihre Mails mit GPG und Enigmail Thunderbird-Plugin

Einführung ~

GNU Privacy Guard (GnuPG oder GPG) ist Open Source / Free Software-Verschlüsselung und Signatur-Tool, Alternative zu den Pretty Good Privacy (PGP) Suite von Kryptographie-Software. Enigmail ist eine Erweiterung für Mozilla Thunderbird und Mozilla-Anwendungen. Es bietet öffentlichen Schlüssel E-Mail-Verschlüsselung. Aktuelle kryptographische Funktionen von GNU Privacy Guard (GnuPG, GPG) behandelt.

Schritt 1] GnuPG installieren oder GPG —

* Ubuntu / Debian ~

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

* Redhat / Fedora ~

root @ Arun: ~ # yum install gnupg gnupg2

Schritt 2] Wie installiere ich Enigmail?

Ich gehe davon aus, dass Mozilla Thunderbird bereits auf Ihrem System installiert ist. So installieren Sie “Enigmail” folgen folgenden Schritte

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

Hinweis: ~ select OS und Thunderbird-Version richtig.

b) in der Menüleiste der wichtigsten Thunderbird-Fenster sehen Sie “Extras”. Wählen Sie diese, und dann auf “Add-ons”-Option. Dies öffnet ein neues Fenster mit allen Ihren Thunderbird-Plug-Ins. In der unteren linken Ecke des neuen Fensters finden Sie einen Button sehen der Aufschrift “Install”. Klicken Sie auf diese Schaltfläche. Erzähl Thunderbird in dem Sie die Enigmail. XPI-Datei. und einfach sagen, “Install” that’s it!

* Once ‘Enigmail’ installiert ist, starten Sie den Thunderbird. Dann werden Sie sehen “OpenPGP”-Reiter im Hauptmenü von Thunderbird.

Schritt 3] Setup private / öffentliche Schlüssel ~

Enigmail setzt Public-Key Kryptographie, um die Privatsphäre zwischen Ihnen und Ihren Korrespondenten gewährleisten. Um die öffentlich / privaten Schlüssel gibt es zwei Methoden, entweder erzeugen sie mit Hilfe von “gpg” Kommandozeilen-Tool oder benutzen Sie “Enigmail” ….

* Wir erzeugen private / öffentliche kryptographische Schlüssel mit Hilfe von “Enigmail” wie unten gezeigt ….

a) Klicken Sie auf “OpenPGP” in der Menüleiste des Thunderbird-Hauptfenster. Wählen Sie “Key Management”.
b) In Enigmail Key Manager ~ klicken Sie auf “Erstellen”-Registerkarte in der Menüleiste und wählen Sie “Neuer Schlüssel-Paar”.
c) An der Spitze des Fensters sehen Sie ein Auswahlmenü mit allen Ihrer E-Mail-Adressen. GnuPG wird Ihre neue Schlüssel mit einem E-Mail-Adresse zuordnen.
Enigmail ist nur bitten Sie, die gewünschte Adresse für diesen Schlüssel verwenden. Wählen Sie die Konten werden verschlüsselte E-Mail erhalten.

HINWEIS ~ Wir können dieselben Tasten für mehrere Konten.

d) Sie können Passphrase oder einfach nur “no Passphrase” Option wählen, um Schlüssel ohne Passwort zu generieren.
e) Verzeichnis erstellen zu retten “Revocation Zertifikate” …

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

f) Klicken Sie auf “Generate key”-Taste, um Schlüssel zu generieren. Fertig ..

Um Aktien-Tasten können Sie einfach veröffentlichen Sie Ihre Schlüssel mit Keyserver.

a) In “Key Management”-Fenster wählen Sie Ihren Schlüssel und klicken Sie dann auf die Registerkarte “Keyserver” im Hauptmenü und klicken Sie dann auf “Upload Public Keys”
Hinweis: ~ stellen Sie sicher, zu überprüfen, “Display All Keys by Default” markieren (alle Tasten list)

Schritt 4] die E-Mail verfassen und zu unterschreiben ~

Verfassen Sie die E-Mail und sagen Sie Enigmail zu unterzeichnen. An der Spitze Ihres Compose-Fenster sehen Sie eine Schaltfläche Lesung finden Sie unter “OpenPGP”. Klicken Sie auf diese. Stellen Sie sicher, dass die “Sign”-Option, und nur, dass überprüft wird. Schließlich “Senden” die E-Mail! (Sie werden nach Ihrer Passphrase gefragt werden. Sobald Sie eingegeben haben, wird Ihre E-Mail Enigmail unterzeichnen und schicken Sie es, wenn Sie Ihre eigenen Schlüssel mit Passphrase es wird nicht fragen)
/ pgp_enigmail-compose

Viel Spaß!

Grüße,
Arun Bagul