|
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
परिचय ~
मैं लंबे समय से multi master MySQL replication पर लेख लिखने की योजना बना रहा था, आखिरकार अब शुरू किया! कृपया कर के “MySQL replication with one master” कॉन्फ़िगर करने के लिए निम्न यूआरएल का प्रयोग करे ~ http://www.indiangnu.org/2007/mysql-replication-one-master-multiple-slave/
* मुझे आप सभी को सूचित करना चाहता हू की “multi master MySQL replication” पूर्णतः दोन वेरियबल पर आधारित है. इसका MySQL replication तकनीक के साथ कोई संबंध नही है…
mysql> show variables like ‘%increment_%’;
+——————————-+——-+
| Variable_name | Value |
+——————————-+——-+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+——————————-+——-+
2 rows in set (0.00 sec)
mysql>
** आवश्यकताओं ~
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)
** हमें समझ ना है की यह कैसे काम करता है?
* 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) );
** रिकॉर्ड अभी जोड़ें ~
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>
** “auto_increment_increment” और “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 => इस ‘auto_increment “विशेषता के आधार स्तम्भ के लिए मूल्य है (कृपया ऊपर के उदाहरण देखें)
auto_increment_increment => इस स्तंभ के लिए वेतन वृद्धि “auto_increment” विशेषता के साथ मूल्य है
** यदि आप मेज दोनों गठबंधन (master-1 और master-2) अंतिम टेबल इस तरह से दिखेगा ~
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>
** इस तरह से multi master replication काम करता है….
auto_increment_offset=Nth master server
auto_increment_increment=M
कहाँ –
N = nth number of master server (on master-1 keep it 1 and on master-2 keep it 2 and so on..)
M = Total number of Master Server (2 in our case but better to keep this value high so that we can add new master server easily)
log-slave-updates => Slave server does not log to its own binary log any updates that are received from a Master server. This option tells the slave to log the updates performed by its SQL thread to its own binary log.
** यकीन है कि MySQL चल रहा है और सभी master सर्वर और slave सर्वर पर…
कसे सेटप करना है multi master MySQL replication? -
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>
* तो हम सब विन्यस्त बहु मास्टर MySQL प्रतिकृति को सीखा. आनंद लीजिए!!
सादर,
Arun Bagul
परिचय –
* “” Rpmbuild उपकरण के लिए दोनों का निर्माण किया जाता है …
1) द्विचर पैकेज ~ के लिए सॉफ्टवेयर स्थापित करें और स्क्रिप्ट का समर्थन करते थे. यह फाइल है कि आवेदन पत्र शामिल हैं, के साथ किसी भी अतिरिक्त स्थापित करें और उसे मिटा आवश्यक जानकारी के साथ.
2) स्रोत पैकेज ~ स्रोत कोड, पैच और विशिष्टता फ़ाइल के मूल संकुचित टार फ़ाइल है.
* RPM और RPM संकुल प्रबंधक क्या है?
RPM संकुल प्रबंधक (RPM) एक शक्तिशाली कमांड लाइन पैकेज प्रबंधन प्रणाली स्थापित करने में सक्षम, uninstalling, सत्यापित करने, querying है, और सॉफ्टवेयर संकुल अद्यतन.
RPM संकुल फाइल और मेटा का एक संग्रह शामिल हैं, डेटा को स्थापित करने और संग्रह फ़ाइलें मिटा करते थे. Meta-डेटा सहायक लिपियों, फ़ाइल गुण, और पैकेज के बारे में वर्णनात्मक जानकारी भी शामिल है.
* RPM संकुल आप को तीन बातें निर्दिष्ट करने की आवश्यकता का निर्माण करने के लिए ~
आवेदन पत्र के स्रोत) 1 – किसी भी मामले में, आप संकुल निर्माण की प्रक्रिया में इस्तेमाल स्रोतों को संशोधित नहीं होना चाहिए.
2) पैच – RPM को आप के लिए स्वचालित रूप से उन से पैच लागू करने की क्षमता देता है. पैच एक लक्ष्य प्रणाली को विशेष मुद्दा पते. इस makefiles बदलने के लिए उचित निर्देशिकाओं, या पार से हल करने में आवेदन मंच संघर्ष स्थापित शामिल हो सकते हैं. पैच उचित संकलन के लिए आवश्यक वातावरण पैदा करते हैं.
) 3 विशिष्टता फाइल – विनिर्देशन फ़ाइल RPM संकुल के निर्माण की प्रक्रिया के दिल में है. यह RPM के लिए आवश्यक के लिए पैकेज का निर्माण, साथ ही साथ यह कह RPM को कैसे बनाने के लिए निर्देशों की जानकारी शामिल है. विनिर्देशन फ़ाइल भी तय कर वास्तव में क्या फ़ाइलें पैकेज का हिस्सा हैं, और वे कहाँ स्थापित किया जाना चाहिए.
** विशिष्टता फाइल ~ में 8 के रूप में नीचे दिखाया गया वर्गों को विभाजित है
क) प्रस्तावना ~ जानकारी प्रदर्शित होगा जब उपयोगकर्ता पैकेज के बारे में जानकारी का अनुरोध शामिल हैं. यह है पैकेज समारोह का विवरण शामिल है, सॉफ़्टवेयर के संस्करण की संख्या आदि होगा
ख) ~ तैयारी जहां एक पैकेज के निर्माण की वास्तविक काम शुरू होता है. के रूप में नाम का अर्थ है, इस भाग है, जहां आवश्यक तैयारी सॉफ्टवेयर के वास्तविक निर्माण से पहले किया जाता है. सामान्य में, यदि कुछ भी जरूरत है सूत्रों के कुछ किया जाना सॉफ्टवेयर का निर्माण करने से पहले, यह तैयारी अनुभाग में होने की जरूरत है. इस खंड की सामग्री को एक साधारण खोल स्क्रिप्ट है. हालांकि, RPM को दो मैक्रोज प्रदान करता है जीवन को आसान बना. एक स्थूल एक संकुचित टार फ़ाइल खोलना और स्रोत निर्देशिका में सीडी कर सकते हैं. अन्य स्थूल आसानी से unpacked सूत्रों के पैच लागू होता है.
ग) बनाएँ ~ यह खंड एक खोल स्क्रिप्ट के होते हैं. यह जो भी आज्ञा पालन किया जाता है वास्तव में बनाने के लिए एक तरह के सूत्रों कमान संकलन, या और अगर इस प्रक्रिया को जटिल बनाने की आवश्यकता है यह आवश्यकता है. कोई इस अनुभाग में उपलब्ध मैक्रोज हैं.
घ) स्थापित ~ यह खंड भी एक खोल स्क्रिप्ट, अनुभाग स्थापित करने वाले के लिए वास्तव में सॉफ्टवेयर स्थापित करने की आवश्यकता आज्ञा पालन किया जाता है.
ङ) स्थापित करें और स्थापना रद्द करें लिपियों ~ यह स्क्रिप्ट के होते हैं कि भाग जाएगा, प्रयोक्ता की व्यवस्था है, जब पैकेज वास्तव में स्थापित या हटा दिया जाता है पर. RPM एक स्क्रिप्ट पूर्व निष्पादित / पोस्ट स्थापना / पैकेज के हटाने कर सकते हैं.
च) सत्यापित करें स्क्रिप्ट ~ स्क्रिप्ट है कि उपयोगकर्ता के सिस्टम पर मार डाला है. यह मार डाला है जब RPM है पैकेज उचित स्थापना की पुष्टि.
छ) स्वच्छ धारा ~ स्क्रिप्ट है कि चीजों के निर्माण के बाद साफ कर सकते हैं. यह कहानी शायद ही कभी इस्तेमाल किया है, क्योंकि RPM को आम तौर पर एक अच्छा काम करता है सबसे स्वच्छ वातावरण बनाने में.
ज) फाइल की सूची ~ फ़ाइलों की एक सूची है कि पैकेज शामिल होंगे शामिल है. इसके अतिरिक्त, मैक्रोज के कई गुण जब स्थापित फ़ाइल नियंत्रण किया जा सकता है, के रूप में अच्छी तरह के रूप में निरूपित करने के लिए जो फाइल दस्तावेज हैं, और जो कॉन्फ़िगरेशन जानकारी होती है. फाइल की सूची बहुत महत्वपूर्ण है.
माहौल बनाने के लिए *** है RPM आवश्यकता ~
A] RPM निर्देशिका का एक सेट की आवश्यकता के लिए प्रदर्शन का निर्माण. जबकि ‘निर्देशिका स्थानों और नाम बदला जा सकता है. डिफ़ॉल्ट लेआउट नीचे दिखाया गया है –
root@arunsb:~# ls -l /usr/src/redhat/
drwxr-xr-x 2 root root 4096 Aug 25 2007 SOURCES => मूल स्रोत, पैच होता है, और आइकन फ़ाइलें अगस्त
drwxr-xr-x 2 root root 4096 Aug 25 2007 SPECS => अगस्त x विनिर्देशन फ़ाइलें हैं
drwxr-xr-x 2 root root 4096 Aug 25 2007 BUILD => निर्देशिका में सूत्रों unpacked रहे हैं, और सॉफ्टवेयर अगस्त x बनाया गया है
drwxr-xr-x 8 root root 4096 May 28 2008 RPMS => द्विपदीय संकुल को समाहित x बनाने की प्रक्रिया के द्वारा बनाई गई फ़ाइलें
drwxr-xr-x 2 root root 4096 Aug 25 2007 SRPMS => अगस्त x स्रोत पैकेज में शामिल हैं प्रक्रिया के निर्माण के द्वारा बनाई गई फ़ाइलें
root@arunsb:~#
B] कुछ वैश्विक RPM द्वारा इस्तेमाल चर निर्यात करने की आवश्यकता –
root@arunsb:~# export RPM_BUILD_DIR=/usr/src/redhat/BUILD/
root@arunsb:~# export RPM_SOURCE_DIR=/usr/src/redhat/SOURCES/
चरण 1] विशिष्टता बनाएँ (कल्पना) फाइल ~
root@arunsb:~# head -n 50 /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul
#RPM_BUILD_DIR /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR /usr/src/redhat/SOURCES/
%define MY_PREFIX /usr/local/openlsm/
## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL
%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.
## Preparation Section-
%prep
rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}
## Build Section-
%build
cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make
## Install Section-
%install
cd ./openlsm-0.99-r45/
make install
## Files Section-
%files
/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#
* आप फाइल की सूची कैसे बनाऊँ?
फ़ाइल सूची बनाने के मैन्युअल प्रक्रिया है. क्या मैंने किया है मैं अपने हाथ से स्थापित उपसर्ग निर्देशिका से फाइल की सूची लिया मिल के रूप में नीचे दिखाया गया कमान …
root@arunsb:~# find /usr/local/openlsm/ -type f -or -type d
चरण 2] बनाएँ शुरू ~
root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l openlsm.spec
-rw-r–r– 1 root root 12938 Dec 2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#
root@arunsb:/usr/src/redhat/SPECS# rpmbuild -ba openlsm.spec
…
….
… ..
Unpackaged फ़ाइल (s के लिए जाँच हो रही है): usr / lib / rpm / जांच% फ़ाइलें buildroot ()
ने लिखा: usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm /
ने लिखा: usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm /
arunsb @ जड़: / usr / src redhat / / चश्मा # $ गूंज?
0
Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
Wrote: /usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root@arunsb:/usr/src/redhat/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 Dec 2 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 Dec 2 17:50 /usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root@arunsb:/usr/src/redhat/SPECS#
* स्रोत और द्विचर पैकेज बनाया!
** चलो देखते हैं क्या हुआ “/usr/src/redhat/ निर्देशिका”
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 <= यहाँ विनिर्देशन फ़ाइल अर्थात् से निर्देश के निर्माण के रूप में हिस्सा निकाला “openlsm.spec”
root@arunsb:/usr/src/redhat# ls SOURCES/
openlsm-0.99-r45.tar.gz <= ‘openlsm-0.99-r45.tar.gz’ स्रोत मेरे द्वारा नकल फाइल
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 <= द्विचर rpm पैकेज बनाया!
root@arunsb:/usr/src/redhat# ls SRPMS/
openlsm-0.99-r45.src.rpm <= श्रोत RPM संकुल बनाया!
root@arunsb:/usr/src/redhat#
चरण 3] अब संकुल अधिष्ठापित है और यह परीक्षण ~
root@arunsb:/usr/src/redhat# cp RPMS/i386/openlsm-0.99-r45.i386.rpm /home/arunsb/
root@arunsb:/usr/src/redhat# cd /home/arunsb/
root@arunsb:~# ls
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 include lib sbin scripts share var
root@arunsb:~#
** Openlsm सर्वर शुरू ~
root@arunsb:~# /usr/local/openlsm/contrib/openlsm-redhat start
* Starting 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
Name : openlsm Relocations: (not relocatable)
Version : 0.99 Vendor: IndianGNU.org & openlsm
Release : r45 Build Date: Wed 02 Dec 2009 05:50:54 PM IST
Install Date: Wed 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
Size : 14877918 License: GPL
Signature : (none)
Packager : IndianGNU.org (http://www.indiangnu.org)
URL : http://openlsm.sourceforge.net/
Summary : openlsm Admin Server
Description :
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.
root@arunsb:~#
** नोट ~ यह लेख जानकारी कैसे माइक्रो परिभाषित करने के लिए, कैसे डॉक्स नकल पर नहीं शामिल करता है, आदमी पृष्ठों डिफ़ॉल्ट स्थान को, कैसे permision और स्वामित्व आदि मैं RPM पर अगले लेख में इस विषय को कवर किया जाएगा सेट के लिए.
** कृपया अंग्रेजी लेख का उल्लेख ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/
सादर,
Arun Bagul
प्रिय अखिल,
आज, हम तीसरी वर्षगांठ मना रहे हैं!. हम सफलतापूर्वक ओपन सोर्स और मुक्त सॉफ्टवेयर सामाजिक आंदोलन में योगदान के तीन साल पूरे कर लिए हैं. मैं बहुत यकीन है कि हमारे अस्तित्व और योगदान को मान्यता और बढ़ावा कई ओपन सोर्स और स्वतंत्र सॉफ़्टवेयर योगदानकर्ता (गुरु) द्वारा रही है. यह आपका समर्थन, योगदान और मेहनत के बिना केवल असंभव था.
हम ब्लॉगिंग के साथ शुरू किया, हमारे ज्ञान, विचारों और भी समस्याओं का साझा! भी. यह हमारी मदद के लिए नई प्रौद्योगिकियों, समस्या को सुलझाने के कौशल सीखने और कई चीजें है.
openlsm परियोजना ~
openslm-0.99 विकास मंच 10 जून 2009 को जारी की गई. हम उपयोगकर्ताओं से मिला सकारात्मक प्रतिक्रिया, समुदाय के सदस्यों और अन्य मुक्त स्रोत समुदायों. कृपया अधिक जानकारी के लिए लेख का उल्लेख http://www.indiangnu.org/2009/openlsm-099-released/
चीयर्स,
IndianGNU.org
परिचय ~
कृपया निम्नलिखित लेख को / कॉन्फ़िगर Jabberd2 स्थापित देखें …
http://www.indiangnu.org/2009/how-to-configure-jabber-jabberd2-with-mysqlpam-as-auth-database/
आवश्यकता ~
* संकुल के बाद से म्यू संकलन-सम्मेलन की आवश्यकता है …
लैपटॉप @ जड़: ~ # उपयुक्त-मिल libglib2.0-0 libglib2.0 स्थापित-dev
लैपटॉप @ जड़: ~ # उपयुक्त-मिल libidn11 libidn11 स्थापित-dev
लैपटॉप @ जड़: ~ # उपयुक्त-मिल lib64expat1 lib64expat1 प्रवासी स्थापित-libexpat1 dev-liblua5.1 dev-प्रवासी-liblua5.1 dev-expat0
चरण 1] कैसे संकलन ‘म्यू-सम्मेलन “–
* डाउनलोड करें ‘म्यू-सम्मेलन “यूआरएल – https: gna.org / / निम्नलिखित / परियोजनाओं / म्यू सम्मेलन से /
लैपटॉप @ जड़: / var / src # wget-http://download.gna.org/mu-conference/mu-conference_0.8.tar.gz ग
लैपटॉप @ जड़: var / / src राल # म्यू xvfz-conference_0.8.tar.gz
लैपटॉप @ जड़: / var / src # सीडी म्यू-conference_0.8 /
लैपटॉप @ जड़: / var/src/mu-conference_0.8 #
* म्यू संकलन-सम्मेलन
लैपटॉप @ जड़: / var/src/mu-conference_0.8 बना #
सीडी बनाने src /;
बनाना [1]: दर्ज निर्देशिका `/ var/src/mu-conference_0.8/src ‘
सीडी jabberd; करना
बनाना [2]: दर्ज निर्देशिका ‘/’ var/src/mu-conference_0.8/src/jabberd
…
… ..
लैपटॉप @ जड़: / var/src/mu-conference_0.8 # $ गूंज?
0
लैपटॉप @ जड़: / var/src/mu-conference_0.8 #
चरण 2] कॉन्फ़िगर म्यू-सम्मेलन –
* अब ‘म्यू-सम्मेलन की नकल “Jabberd2 अधिष्ठापन निर्देशिका में द्विआधारी –
लैपटॉप @ जड़: ~ # cp / var/src/mu-conference_0.8/src/mu-conference usr/local/jabberd-2.2.9/bin / /
लैपटॉप @ जड़: ~ # chown गपशप: गपशप / usr/local/jabberd-2.2.9/bin/mu-conference
लैपटॉप @ जड़: ~ # रास-l / usr/local/jabberd-2.2.9/bin/mu-conference
-rwxr-XR-x 1 गपशप 191,904 2009/10/12 18:59 गपशप / usr/local/jabberd-2.2.9/bin/mu-conference
लैपटॉप @ जड़: ~ #
लैपटॉप @ जड़: ~ usr/local/jabberd-2.2.9/bin/mu-conference # /-मदद
गपशप घटक क्रम – 0.2.4
(ग) 2003-2004 पॉल कर्टिस
/ usr/local/jabberd-2.2.9/bin/mu-conference: अवैध विकल्प – ‘-’
उपयोग: म्यू सम्मेलन [बी] [] [-h] s [स्तरीय घ]-file ग
बी पृष्ठभूमि में डेमॉन रखो
-stderr पर दिखाएँ एस डिबग संदेश
-h प्रिंट इस मदद
-d स्तर सेट डिबग आउटपुट का स्तर
-c फ़ाइल config फाइल सेट, अनिवार्य तर्क
लैपटॉप @ जड़: ~ #
* के लिए स्पूल निर्देशिका बनाएँ ‘म्यू-सम्मेलन “. म्यू सम्मेलन घटक जिसमें सम्मेलन का कमरा जानकारी स्टोर करने के लिए एक स्पूल निर्देशिका की आवश्यकता है.
लैपटॉप @ जड़: mkdir ~ # usr/local/jabberd-2.2.9/var/spool /
लैपटॉप @ जड़: ~ # chown गपशप: गपशप / usr/local/jabberd-2.2.9/var/spool
नोट ~ “गपशप: गपशप” यूजर / Jabberd2 सर्वर के समूह का नाम.
* Jabberd2 अधिष्ठापन निर्देशिका के config फाइल “म्यू-सम्मेलन” कॉपी और सेटिंग संपादित करें –
लैपटॉप @ जड़: ~ # cp / var/src/mu-conference_0.8/muc-default.xml / usr/local/jabberd-2.2.9/etc/mu-conference.xml
लैपटॉप @ जड़: ~ # chown गपशप: गपशप / usr/local/jabberd-2.2.9/etc/mu-conference.xml
लैपटॉप @ जड़: ~ #
लैपटॉप @ जड़: ~ vi # usr/local/jabberd-2.2.9/etc/mu-conference.xml /
<name> conf.laptop.ubuntu.me नाम </>
<host> conf.laptop.ubuntu.me मेजबान </>
<ip> लोकलहोस्ट आईपी </>
<port> 5,347 बंदरगाह </>
<secret> गुप्त रहस्य </>
<spool> / usr/local/jabberd-2.2.9/var/spool स्पूल </>
<logdir> / <usr/local/jabberd-2.2.9/var/log logdir />
<pidfile> / <usr/local/jabberd-2.2.9/var/run/mu-conference.pid pidfile />
<loglevel> 255 </ loglevel>
<sadmin>
<user> admin@laptop.ubuntu.me उपयोगकर्ता </>
<sadmin />
…
… ..
लैपटॉप @ जड़: ~ #
* अब Jabberd2 सर्वर पुनः आरंभ करें और फिर शुरू ‘म्यू-सम्मेलन “…
लैपटॉप @ जड़: ~ # एसयू मैं गपशप-बिन / s / मार-c “/ usr/local/jabberd-2.2.9/bin/mu-conference-बी ग / usr/local/jabberd-2.2.9 / etc / म्यू-conference.xml ”
लैपटॉप @ जड़: ~ #
* कृपया लेख, init स्टार्टअप स्क्रिप्ट अर्थात् ‘इसके बाद के संस्करण की जांच / etc/init.d/jabberd2 म्यू शुरू सम्मेलन होगा.
लैपटॉप @ जड़: ~ # पूंछ एफ / usr/local/jabberd-2.2.9/var/log/mu-conference.log
सोम अक्टूबर 12 19:19:40 2009 main.c: मुख्य 168 (): अस्पष्ट घटक क्रम – 0.2.4 शुरू.
सोम अक्टूबर म्यू 12 19:19:40 2009-सम्मेलन: conference.c [: 1076 सम्मेलन ()] म्यू सम्मेलन लोड हो रहा है – सेवा आईडी: conf.laptop.ubuntu.me
…
सोम अक्टूबर म्यू 12 19:19:40 2009-सम्मेलन: conference.c [: 1157 सम्मेलन ()] sadmin admin@laptop.ubuntu.me जोड़ना
सोम अक्टूबर म्यू 12 19:19:40 2009-सम्मेलन: xdb.c [: 319 xdb_rooms_get ()] के xdb से कमरे मिल कहा
सोम अक्टूबर म्यू 12 19:19:40 2009-सम्मेलन: xdb.c [: 418 xdb_rooms_get ()] .. लंघन कोई परिणाम नहीं
सोम 12 19:19:40 2009 main.c अक्टूबर: 219 मुख्य (शुरू): मुख्य पाश.
सोम 12 19:19:40 2009 jcr_base_connect.c अक्टूबर 34: (jcr_socket_connect): कनेक्शन के लिए localhost करने का प्रयास: 5,347
सोम 12 19:19:40 2009 jcr_base_connect.c अक्टूबर: 87 jcr_send_start_stream (): खोलने XML स्ट्रीम: 173 बाइट्स भेजा
सोम अक्टूबर 12 19:19:40 2009 jcr_main_stream_error.c: 50 jcr_main_new_stream (): सर्वर जुड़ा धारा.
सोम अक्टूबर 12 19:19:40 2009 jcr_deliver.c: 51 jcr_queue_deliver (): पैकेट वितरण शुरू धागा.
किया!
म्यू चरण 3] टेस्ट ‘सम्मेलन’ –
* में ” ‘सेवा’ डिस्कवरी और कमरे की सूची की जांच पर साई” IM ग्राहक, ‘गोटो’ जनरल और फिर मेनू पर क्लिक करें …
* में “Pidgin” IM ग्राहक, ‘गोटो’ कक्ष ‘की सूची पर’ उपकरण और फिर क्लिक करें अनुभाग.
एक बार जब आप ‘म्यू’ सम्मेलन सर्वर का पता चला. ‘पर क्लिक करें कृपया +’ चैट ‘से pidgin के’ दोस्त मेनू जोड़ें. ‘पर क्लिक करें साई के मामले में शामिल हों’ Groupchat ‘जनरल मेनू से जोड़ें’ के सम्मेलन / कक्ष “और फिर शामिल होने के ‘सम्मेलन’ कक्ष.
आनंद लेना,
अरुण Bagul
1] मॉडेम क्या है?
मॉडेम (मॉडुलक-demodulator) एक युक्ति है कि एक एनालॉग वाहक संकेत के लिए डिजिटल जानकारी modulates सांकेतिक शब्दों में बदलना है, और भी ऐसी एक वाहक संकेत demodulates को प्रेषित जानकारी व्याख्या करना. वहाँ केबल मोडेम, ADSL मोडेम, ऑप्टिकल मोडेम और USB सेलुलर मोडेम की तरह उपलब्ध मॉडेम के विभिन्न प्रकार हैं.
2] USB सेलुलर मोडेम?
USB (यूनिवर्सल सीरियल बस) सेलुलर मोडेम एक यूएसबी पोर्ट के बजाय एक PCcard या PCMCIA कार्ड (पर्सनल कंप्यूटर मेमोरी कार्ड इंटरनेशनल एसोसिएशन) का उपयोग करें स्लॉट. एक सेलुलर रूटर और एक सेलुलर मॉडेम के बीच अंतर यह है कि एक मोबाइल रूटर आम तौर पर कई लोगों को यह से कनेक्ट करने की अनुमति देता है, जबकि एक मॉडेम कनेक्शन के लिए किया जाता है. एक सेलुलर रूटर है या हो सकता है एक बाह्य datacard नहीं
नोट-मैं SXC का उपयोग कर रहा हूँ 1080 सीडीएमए 1x USB मॉडेम मॉडेम (महामारी घाटी)
3] इसे का उपयोग कैसे करें?
कृपया लेख अधिक जानकारी के लिए http://www.indiangnu.org/2008/tata-indicom-datacard-huawei-cdma-on-linuxubuntu/ देखें. कदम से अधिकांश वही कर रहे हैं …
Ubuntu Linux का उपयोग करें “wvdialconf” कमांड पर ** उत्पन्न करने के विन्यास फाइल और उपयोगकर्ता नाम और कुछ अन्य विकल्प के रूप में जोड़ दिया नीचे …
root@arun:/home/arunsb#wvdialconf
** मेरा wvdial विन्यास फाइल …
root@arun:/home/arunsb# cat /etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
+FCLASS = 0
ISDN = 0
Phone =#777
Username = internet
Password = internet
# IMP setting
stupid mode = 1
root@arun:/home/arunsb#
** कैसे शुरू / संबंध स्थापित करने के लिए?
root@arun:/home/arunsb# /etc/init.d/tataindicom
उपयोग: / etc / init.d / / tataindicom (शुरू | बंद |) स्थिति
root@arun:/home/arunsb# /etc/init.d/tataindicom start
टाटा इंडिकॉम datacard सेवा शुरू ..
लॉग फाइल है / var / log / tataindicom.log
…
हो गया.
root@arun:/home/arunsb#
** एक बार संबंध स्थापित है, तो आप ppp0 इंटरफ़ेस और मार्ग के रूप में प्रमाणित कर सकते नीचे दिखाया गया ….
arunsb@arun:~$ ifconfig
….
… …
ppp0 लिंक encap: प्वाइंट के लिए-Point प्रोटोकॉल
मंत्रिमंडल addr: 219.XX.XX.XX PtP: 172.XX.XX.14 मास्क: 255.255.255.255
POINTOPOINT चलती NOARP बहुस्त्र्पीय MTU उत्तर प्रदेश: 1400 मीट्रिक: 1
RX पैकेट: 31,259 त्रुटि: 124 गिरा 0 overruns: 0 फ्रेम: 0
TX पैकेट: 32,249 त्रुटियाँ:: 0 गिरा 0 overruns: 0 वाहक: 0
collisions: 0 txqueuelen: 3
RX बाइट्स 23928690: (22.8 MB) TX बाइट्स 4,880,834: (4.6 MB)
arunsb@arun:~$
root@arun:/home/arunsb# route -n
… ..
** के लिए “/ etc / init.d / tataindicom फ़ाइल” देखना चाहते हैं?
root@arun:/home/arunsb# cat /etc/init.d/tataindicom
#!/bin/bash
####
## daemon:: /usr/sbin/pppd 9600 modem crtscts defaultroute usehostname -detach user internet noipdefault call wvdial usepeerdns idle 0 logfd 6
####
case “$1″ in
start)
echo “Starting the TATA Indicom datacard service..”
check=$(ps auxwww | grep “$(which wvdial)” | grep -v grep | awk ‘{print $2}’)
if [ -z "$check" ];then
/usr/bin/wvdial > /var/log/tataindicom.log 2>&1 &
echo “log file is /var/log/tataindicom.log”
echo “…”
echo “Done.”
else
echo “TATA Indicom datacard service already running [pid = $check]”
fi
;;
stop)
echo “killing pppd daemon and dailer…”
kill -9 $(ps auxwww | grep “$(which wvdial)” | grep -v grep | awk ‘{print $2}’)
kill -9 $(ps auxwww | grep “$(which pppd)” | grep -v grep | awk ‘{print $2}’)
echo “…”
echo “Done.”
;;
status)
echo “TATA Indicom datacard -”
pid_of_dailer=$( ps auxwww | grep “$(which wvdial)” | grep -v grep | awk ‘{print $2}’)
pid_of_pppd=$(ps auxwww | grep “$(which pppd)” | grep -v grep | awk ‘{print $2}’)
pppd_details=”$(ps auxwww | grep “$(which pppd)” | grep -v grep | awk -F’pppd’ ‘{print $2}’)”
echo -e “Dailer $(which wvdial) : $pid_of_dailer”
echo -e “pppd daemon $(which pppd) :: $pid_of_pppd $(which pppd) $pppd_details”
;;
*)
echo “Usage: /etc/init.d/tataindicom {start|stop|status}”
exit 1
esac
exit 0
#DONE
root@arun:/home/arunsb#
** दोस्त का आनंद लें!!
धन्यवाद,
अरुण Bagul