Aṣọ - Ṣiṣẹ Awọn iṣẹ Isakoso Linux Rẹ ati Awọn imuṣiṣẹ Ohun elo Lori SSH


Nigbati o ba wa ni ṣiṣakoso awọn ẹrọ latọna jijin ati imuṣiṣẹ awọn ohun elo, awọn irinṣẹ laini aṣẹ pupọ lo wa nibẹ ni aye botilẹjẹpe ọpọlọpọ ni iṣoro ti o wọpọ ti aini awọn iwe alaye.

Ninu itọsọna yii, a yoo bo awọn igbesẹ lati ṣafihan ati bẹrẹ lori bii a ṣe le lo aṣọ lati ni ilọsiwaju lori iṣakoso awọn ẹgbẹ ti awọn olupin.

Aṣọ jẹ ile-ikawe Python ati ọpa laini aṣẹ ti o lagbara fun ṣiṣe awọn iṣẹ iṣakoso eto bii ṣiṣe awọn aṣẹ SSH lori awọn ẹrọ lọpọlọpọ ati imuṣiṣẹ ohun elo.

Ka Tun: Lo Ikarahun Ikarahun lati Ṣiṣẹ Awọn iṣẹ Itọju Eto Linux

Nini imọ ṣiṣẹ ti Python le jẹ iranlọwọ nigba lilo Aṣọ, ṣugbọn o le dajudaju ko wulo.

Awọn idi ti o fi yẹ ki o yan aṣọ lori awọn omiiran miiran:

  1. Ayedero
  2. O ti wa ni akọsilẹ daradara
  3. O ko nilo lati kọ ede miiran ti o ba ti jẹ eniyan ti o ni ere idaraya tẹlẹ.
  4. Rọrun lati fi sori ẹrọ ati lilo.
  5. O ti yara ni awọn iṣẹ rẹ.
  6. O ṣe atilẹyin ipaniyan latọna jijin iru.

Bii o ṣe le Fi Irinṣẹ adaṣiṣẹ Fabric ṣe ni Linux

Iwa pataki kan nipa asọ ni pe awọn ẹrọ latọna jijin eyiti o nilo lati ṣakoso nikan nilo lati ni boṣewa olupin OpenSSH ti fi sii. O nilo awọn ibeere kan ti a fi sii lori olupin lati eyi ti o n ṣakoso awọn olupin latọna ṣaaju ki o to bẹrẹ.

  1. Python 2.5 + pẹlu awọn akọle idagbasoke
  2. Python-setuptools ati pip (aṣayan, ṣugbọn o fẹran) gcc

A ti fi irọrun ṣe asọ ni lilo pip (niyanju pupọ), ṣugbọn o le tun fẹ lati yan oluṣakoso package aiyipada rẹ gbon-gba lati fi sori ẹrọ package aṣọ, eyiti a npe ni fabric tabi python-fabric.

Fun awọn pinpin kaakiri RHEL/CentOS, o gbọdọ fi ibi ipamọ EPEL sori ẹrọ ati muu ṣiṣẹ lori eto lati fi package ti aṣọ sii.

# yum install fabric   [On RedHat based systems]  
# dnf install fabric   [On Fedora 22+ versions]

Fun Debian ati pe o jẹ awọn itọsẹ bii Ubuntu ati awọn olumulo Mint le ṣe irọrun-gba lati fi sori ẹrọ package aṣọ bi a ti han:

# apt-get install fabric

Ti o ba fẹ lati fi sori ẹrọ ẹya idagbasoke ti aṣọ, o le lo pip lati gba ẹka oluwa to ṣẹṣẹ julọ.

# yum install python-pip       [On RedHat based systems] 
# dnf install python-pip       [On Fedora 22+ versions]
# apt-get install python-pip   [On Debian based systems]

Lọgan ti a ti fi pip silẹ ni aṣeyọri, o le lo pip lati gba ẹmu tuntun ti aṣọ bi o ti han:

# pip install fabric

Bii o ṣe le Lo Aṣọ lati Ṣiṣẹ Awọn iṣẹ Isakoso Linux

Nitorinaa jẹ ki a bẹrẹ lori bii o ṣe le lo Fabric. Lakoko ilana fifi sori ẹrọ, iwe afọwọkọ Python kan ti a pe ni fab ni a fi kun si itọsọna kan ni ọna rẹ. Iwe afọwọkọ fab ṣe gbogbo iṣẹ nigba lilo asọ.

Ni apejọ, o nilo lati bẹrẹ nipa ṣiṣẹda faili Python kan ti a pe ni fabfile.py nipa lilo olootu ayanfẹ rẹ. Ranti pe o le fun faili yii ni orukọ oriṣiriṣi bi o ṣe fẹ ṣugbọn iwọ yoo nilo lati ṣalaye ọna faili naa gẹgẹbi atẹle:

# fabric --fabfile /path/to/the/file.py

Aṣọ asọ nlo fabfile.py lati ṣe awọn iṣẹ ṣiṣe. Fọọmu naa yẹ ki o wa ninu itọsọna kanna nibiti o nṣiṣẹ Ẹrọ Ọṣọ.

Apẹẹrẹ 1: Jẹ ki a ṣẹda Hello World akọkọ.

# vi fabfile.py

Ṣafikun awọn ila koodu wọnyi ninu faili naa.

def hello():
       print('Hello world, Tecmint community')

Fipamọ faili naa ki o ṣiṣe aṣẹ ni isalẹ.

# fab hello

Jẹ ki a wo apẹẹrẹ ti fabfile.py bayi lati ṣe pipaṣẹ akoko lori ẹrọ agbegbe.

Apẹẹrẹ 2: Ṣii faili fabfile.py tuntun bi atẹle:

# vi fabfile.py

Ati lẹẹ mọ awọn ila ti koodu wọnyi ninu faili naa.

#!  /usr/bin/env python
from fabric.api import local
def uptime():
  local('uptime')

Lẹhinna fi faili naa pamọ ki o ṣiṣe aṣẹ wọnyi:

# fab uptime

API-iṣẹ Fabric nlo iwe-itumọ iṣeto ni eyiti o jẹ deede ti Python ti ọna asopọ alamọpọ ti a mọ ni env , eyiti o tọju awọn iye ti o ṣakoso ohun ti Fabric ṣe.

Awọn env.hosts jẹ atokọ ti awọn olupin lori eyiti o fẹ ṣiṣe awọn iṣẹ-ṣiṣe Fabric. Ti nẹtiwọọki rẹ ba jẹ 192.168.0.0 ti o fẹ lati ṣakoso ogun 192.168.0.2 ati 192.168.0.6 pẹlu fabfile rẹ, o le tunto awọn env.hosts bi atẹle:

#!/usr/bin/env python
from  fabric.api import env
env.hosts = [ '192.168.0.2', '192.168.0.6' ]

Laini ti o wa loke ti koodu nikan ṣalaye awọn ọmọ-ogun lori eyiti iwọ yoo ṣe awọn iṣẹ Fabric ṣugbọn ṣe ohunkohun diẹ sii. Nitorinaa o le ṣalaye diẹ ninu awọn iṣẹ-ṣiṣe, Fabric pese ipese awọn iṣẹ eyiti o le lo lati ba awọn ẹrọ jijin rẹ sọrọ.

Botilẹjẹpe ọpọlọpọ awọn iṣẹ lo wa, lilo ti o wọpọ julọ ni:

  1. ṣiṣe - eyiti o nṣakoso aṣẹ ikarahun lori ẹrọ latọna jijin.
  2. ti agbegbe - eyiti o nṣiṣẹ aṣẹ lori ẹrọ agbegbe.
  3. sudo - eyiti o nṣakoso aṣẹ ikarahun lori ẹrọ latọna jijin, pẹlu awọn anfaani root.
  4. Gba - eyiti o ṣe igbasilẹ awọn faili ọkan tabi diẹ sii lati ẹrọ latọna jijin.
  5. Fi - eyi ti o gbe awọn faili ọkan tabi diẹ sii si ẹrọ latọna jijin.

Apẹẹrẹ 3: Lati sọ ifiranṣẹ kan lori awọn ẹrọ lọpọlọpọ ṣẹda fabfile.py gẹgẹbi eyi ti o wa ni isalẹ.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def echo():
      run("echo -n 'Hello, you are tuned to Tecmint ' ")

Lati ṣe awọn iṣẹ-ṣiṣe, ṣiṣe aṣẹ atẹle:

# fab echo

Apẹẹrẹ 4: O le mu ilọsiwaju dara si fabfile.py eyiti o ṣẹda ni iṣaaju lati ṣe pipaṣẹ akoko lori ẹrọ agbegbe, nitorinaa o n ṣiṣẹ aṣẹ akoko ati tun ṣayẹwo lilo disiki nipa lilo aṣẹ df lori ọpọ awọn ero bii atẹle:

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def uptime():
      run('uptime')
def disk_space():
     run('df -h')

Fipamọ faili naa ki o ṣiṣe aṣẹ wọnyi:

# fab uptime
# fab disk_space

Apẹẹrẹ 4: Jẹ ki a wo apẹẹrẹ lati ran LAMP (Linux, Apache, MySQL/MariaDB ati PHP) olupin lori olupin Linux latọna jijin.

A yoo kọ iṣẹ kan ti yoo gba LAMP laaye lati fi sori ẹrọ latọna jijin nipa lilo awọn anfani root.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  run ("yum install -y httpd mariadb-server php php-mysql")
#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  sudo("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql")

Fipamọ faili naa ki o ṣiṣe aṣẹ wọnyi:

# fab deploy_lamp

Akiyesi: Nitori iṣẹjade nla, ko ṣee ṣe fun wa lati ṣẹda iboju iboju (gifu ti ere idaraya) fun apẹẹrẹ yii.

Bayi o le ni adaṣe awọn iṣẹ iṣakoso olupin Linux nipa lilo Fabric ati awọn ẹya rẹ ati awọn apẹẹrẹ ti a fun loke…

  1. O le ṣiṣe fab -help lati wo alaye iranlọwọ ati atokọ gigun ti awọn aṣayan laini aṣẹ ti o wa.
  2. Aṣayan pataki ni –fabfile = PATH ti o ṣe iranlọwọ fun ọ lati ṣọkasi faili modulu Python oriṣiriṣi lati gbe wọle miiran lẹhinna fabfile.py.
  3. Lati ṣọkasi orukọ olumulo kan lati lo nigbati o ba n ṣopọ si awọn ogun jijin, lo –user = aṣayan OLUMULO.
  4. Lati lo ọrọ igbaniwọle fun ifitonileti ati/tabi sudo, lo aṣayan-Password = PASSWORD.
  5. Lati tẹ alaye nipa alaye nipa orukọ aṣẹ NAME, lo –display = Aṣayan orukọ.
  6. Lati wo awọn ọna kika lo –aṣayan akojọ, awọn yiyan: kukuru, deede, itẹ-ẹiyẹ, lo –list-format = Aṣayan FORMAT.
  7. Lati tẹ atokọ ti awọn ofin ti o le ṣee ṣe ati ijade, ṣafikun aṣayan –list.
  8. O le ṣafihan ipo ti faili atunto lati lo nipa lilo –config = aṣayan PATH.
  9. Lati ṣe afihan iṣiṣẹ aṣiṣe awọ kan, lo –lori-awọn aṣiṣe.
  10. Lati wo nọmba ẹya eto ati ijade, lo aṣayan –version.

Akopọ

Aṣọ jẹ ohun elo ti o lagbara ati ni akọsilẹ daradara ati pese lilo irọrun fun awọn tuntun. O le ka iwe kikun lati ni oye diẹ si rẹ. Ti o ba ni alaye eyikeyi lati ṣafikun tabi jẹ ki eyikeyi awọn aṣiṣe ti o ba pade lakoko fifi sori ẹrọ ati lilo rẹ, o le fi asọye silẹ ati pe awa yoo wa awọn ọna lati ṣatunṣe wọn.

Itọkasi: Awọn iwe asọ