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:
- Ayedero
- O ti wa ni akọsilẹ daradara
- O ko nilo lati kọ ede miiran ti o ba ti jẹ eniyan ti o ni ere idaraya tẹlẹ.
- Rọrun lati fi sori ẹrọ ati lilo. O ti yara ni awọn iṣẹ rẹ.
- 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ẹ.
- Python 2.5 + pẹlu awọn akọle idagbasoke
- 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:
- ṣiṣe - eyiti o nṣakoso aṣẹ ikarahun lori ẹrọ latọna jijin.
- ti agbegbe - eyiti o nṣiṣẹ aṣẹ lori ẹrọ agbegbe.
- sudo - eyiti o nṣakoso aṣẹ ikarahun lori ẹrọ latọna jijin, pẹlu awọn anfaani root.
- Gba - eyiti o ṣe igbasilẹ awọn faili ọkan tabi diẹ sii lati ẹrọ latọna jijin.
- 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…
- O le ṣiṣe fab -help lati wo alaye iranlọwọ ati atokọ gigun ti awọn aṣayan laini aṣẹ ti o wa.
- 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.
- Lati ṣọkasi orukọ olumulo kan lati lo nigbati o ba n ṣopọ si awọn ogun jijin, lo –user = aṣayan OLUMULO.
- Lati lo ọrọ igbaniwọle fun ifitonileti ati/tabi sudo, lo aṣayan-Password = PASSWORD.
- Lati tẹ alaye nipa alaye nipa orukọ aṣẹ NAME, lo –display = Aṣayan orukọ.
- Lati wo awọn ọna kika lo –aṣayan akojọ, awọn yiyan: kukuru, deede, itẹ-ẹiyẹ, lo –list-format = Aṣayan FORMAT.
- Lati tẹ atokọ ti awọn ofin ti o le ṣee ṣe ati ijade, ṣafikun aṣayan –list.
- O le ṣafihan ipo ti faili atunto lati lo nipa lilo –config = aṣayan PATH.
- Lati ṣe afihan iṣiṣẹ aṣiṣe awọ kan, lo –lori-awọn aṣiṣe.
- 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ọ