12-Package Managment

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

BehzadAbyar

LPI
Li
C1
nuxAdmi
nist
rat
or
PackageManagment

t
.me/
Behzad_
Abyar
i
‫ﺑﻪ ﻧﺎم ﺧﺪا‬
‫‪Package Management‬‬
‫اﯾﻦ ﻣﺒﺤﺚ در ﺧﺼﻮص ﻣﺪﯾﺮﯾﺖ و ﻧﺤﻮه اﺳﺘﻔﺎده ‪ Package‬ﻫﺎ در ﻟﯿﻨﻮﮐﺲ اﺳﺖ‪ .‬در وﯾﻨﺪوز ﻏﺎﻟﺒﺎً ‪ Package‬ﻫﺎ ﺑﺎ ﻓﺮﻣﺖ ‪ ISO‬وﺟﻮد دارد و از آن‬
‫ﺑﺮاي ﻣﻮارد ﻣﺨﺘﻠﻒ اﺳﺘﻔﺎده ﻣﯽﺷﻮد در ﻟﯿﻨﻮﮐﺲ ﻫﻢ ﻣﻮارد ﻣﺸﺎﺑﻪ وﺟﻮد دارد ﮐﻪ ﺑﻪ ﺑﺮرﺳﯽ آﻧﻬﺎ ﻣﯽﭘﺮدازﯾﻢ‪.‬‬

‫روشﻫﺎي ﻓﺸﺮدهﺳﺎزي ‪Compression & Decompression Methods‬‬

‫ﺑﻪ ﺳﻪ روش در ﻟﯿﻨﻮﮐﺲ ﻣﺎ ﻣﯽﺗﻮاﻧﯿﻢ ﻓﺸﺮدهﺳﺎزي را اﻧﺠﺎم دﻫﯿﻢ‪ .‬روش اول اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ‪ gzip‬اﺳﺖ ﮐﻪ ﻓﺎﯾﻞﻫﺎﯾﯽ ﺑﺎ ﭘﺴﻮﻧﺪ ‪ gz‬ﺗﻮﻟﯿﺪ ﻣﯽﮐﻨﺪ‪.‬‬
‫دﺳﺘﻮر ﻣﻮرد ﻧﻈﺮ ﺑﺮاي ﻓﺸﺮدهﺳﺎزي ‪ gzip‬و ﺑﺮاي ﺧﺎرج ﮐﺮدن از ﺣﺎﻟﺖ ﻓﺸﺮدهﺳﺎزي ‪ gunzip‬اﺳﺖ‪ .‬اﻟﺒﺘﻪ اﺳﺘﻔﺎده از ‪ gzip‬ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -d‬ﻫﻢ ﻋﻤﻠﯿﺎت‬
‫ﺧﺎرج ﮐﺮدن از ﺣﺎﻟﺖ ﻓﺸﺮدهﺳﺎزي را اﻧﺠﺎم ﻣﯽدﻫﺪ‪ .‬ﻓﺎﯾﻞﻫﺎي ﻓﺸﺮده ﺷﺪه در اﯾﻦ روش را ﺑﺎ ﻓﺮﻣﺎن ‪ zcat‬ﻣﯽﺗﻮاﻧﯿﻢ ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪.‬‬

‫روش دوم اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ‪ bz2‬ﺑﺮاي ﻓﺸﺮدهﺳﺎزي اﺳﺖ ﮐﻪ ﻓﺎﯾﻞﻫﺎﯾﯽ ﺑﺎ ﻫﻤﯿﻦ ﭘﺴﻮﻧﺪ ﺗﻮﻟﯿﺪ ﻣﯽﮐﻨﺪ‪ .‬و ﺑﺮاي ﻓﺸﺮدهﺳﺎزي از دﺳﺘﻮر ‪ bzip2‬و ﺑﺮاي‬
‫ﺧﺎرج ﮐﺮدن از ﺣﺎﻟﺖ ﻓﺸﺮدهﺳﺎزي ﺑﺎ دﺳﺘﻮر ‪ bunzip2‬اﯾﻦ ﮐﺎر را اﻧﺠﺎم ﻣﯽدﻫﺪ‪ .‬اﻟﺒﺘﻪ اﺳﺘﻔﺎده از ‪ bzip2‬ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -d‬ﻫﻢ ﻋﻤﻠﯿﺎت ﺧﺎرج ﮐﺮدن از‬
‫ﺣﺎﻟﺖ ﻓﺸﺮدهﺳﺎزي را اﻧﺠﺎم ﻣﯽدﻫﺪ‪ .‬ﻓﺎﯾﻞﻫﺎي ﻓﺸﺮده ﺷﺪه ﺑﺎ اﯾﻦ روش را ﺑﺎ ﻓﺮﻣﺎن ‪ bzcat‬ﻣﯽﺗﻮاﻧﯿﻢ ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪.‬‬

‫روش ﺳﻮم اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ‪ xz‬اﺳﺖ ﮐﻪ ﭘﺴﻮﻧﺪ ﻓﺎﯾﻞﻫﺎ در اﯾﻦ روش ‪ xz‬ﺑﻮده و ﺑﺎ ﻓﺮﻣﺎن ‪ xz‬ﻓﺸﺮدهﺳﺎزي ﻣﯽﮐﻨﺪ و ﺑﺎ ‪ unxz‬از ﻓﺸﺮدهﺳﺎزي ﺧﺎرج‬
‫ﻣﯽﮐﻨﺪ‪ .‬ﻫﻤﺎﻧﻨﺪ دو روش ﻗﺒﻠﯽ ﺳﻮﺋﯿﭻ ‪ -d‬ﻫﻢ ﺑﺮاي اﯾﻦ روش ﺟﻮاب ﻣﯽدﻫﺪ‪ .‬ﻓﺎﯾﻞﻫﺎي اﯾﻦ روش ﻫﻢ ﺑﺎ ﻓﺮﻣﺎن ‪ xzcat‬ﻣﺸﺎﻫﺪه ﻣﯽﺷﻮد‪.‬‬

‫اﻟﮕﻮرﯾﺘﻢ ﻓﺸﺮدهﺳﺎزي‬ ‫‪Compress with‬‬ ‫‪Decompress with‬‬ ‫ﭘﺴﻮﻧﺪ ﻓﺎﯾﻞ ﻓﺸﺮده‬ ‫ﻣﺸﺎﻫﺪه ﻓﺎﯾﻞ ﻓﺸﺮده‬
‫‪gzip‬‬ ‫‪gzip‬‬ ‫)‪gunzip(gzip -d‬‬ ‫‪.gz‬‬ ‫‪zcat‬‬
‫‪bz2‬‬ ‫‪bzip2‬‬ ‫)‪bunzip2(bzip2 -d‬‬ ‫‪.bz2‬‬ ‫‪bzcat‬‬
‫‪xz‬‬ ‫‪xz‬‬ ‫)‪unxz(xz -d‬‬ ‫‪.xz‬‬ ‫‪xzcat‬‬
‫ﺑﺮاي ﻣﺸﺎﻫﺪه روشﻫﺎي زﯾﺮ ﺳﻪ ﻋﺪد ﻓﺎﯾﻞ در ‪ Home Directory‬ﮐﺎرﺑﺮ ‪ root‬از ﻣﺴﯿﺮ ‪ /var/log/bootstrap.log‬ﺑﺎ ﻧﺎمﻫﺎي ‪m1,m2,m3‬‬
‫ﮐﭙﯽ ﮐﺮده ﻋﻤﻠﯿﺎت را روي آﻧﻬﺎ ﺗﺴﺖ ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫‪ m1‬را ﺑﺎروش اول‪ m2 ،‬را ﺑﺎروش دوم و ‪ m3‬را ﺑﺎروش ﺳﻮم ‪ Compress‬ﻣﯽﮐﻨﯿﻢ‪ .‬دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺑﻪ ﻣﺎﻧﻨﺪ وﯾﻨﺪوز ﻓﺎﯾﻞ ‪ Compress‬ﺷﺪه ﺟﺪﯾﺪي‬
‫اﯾﺠﺎد ﻧﻤﯽﺷﻮد و ﻫﻤﺎن ﻓﺎﯾﻞ ﻣﺴﺘﻘﯿﻤﺎً ﻓﺸﺮده ﻣﯽﺷﻮد‪.‬‬

‫‪Page 1 of 13‬‬
‫ﺣﺎل ﻣﺤﺘﻮﯾﺎت ﻫﺮ ﮐﺪام از ﻓﺎﯾﻞﻫﺎ را ﺑﺎ دﺳﺘﻮر ﻣﺘﻨﺎﻇﺮ آن در ﺣﺎﻟﺖ ﻓﺸﺮده ﻣﺸﺎﻫﺪه ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫در ﻧﻬﺎﯾﺖ ﻫﺮ ﮐﺪام از ﻓﺎﯾﻞﻫﺎ را ﺑﺎ اﻟﮕﻮرﯾﺘﻢ ﻣﺘﻨﺎﻇﺮ ﺑﺎ آن ‪ Decompress‬ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫* ﻧﮑﺘﻪ ﻣﻬﻢ در ﻣﻮرد اﻟﮕﻮرﯾﺘﻢﻫﺎ اﯾﻦ اﺳﺖ ﮐﻪ اﻟﮕﻮرﯾﺘﻢ ‪ gzip‬در ﻣﺤﯿﻂﻫﺎي ‪ Cross Platform‬ﯾﺎ ﭼﻨﺪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻠﯽ ﮐﺎرﺑﺮد دارد ﺑﺎ اﯾﻨﮑﻪ از ﺗﻮاﻧﺎﯾﯽ‬
‫ﮐﻤﺘﺮي ﻧﺴﺒﺖ ﺑﻪ دو روش دﯾﮕﺮ در ﻓﺸﺮدهﺳﺎزي ﺑﺮﺧﻮردار اﺳﺖ‪ .‬اﻟﮕﻮرﯾﺘﻢ ‪ bz2‬اوﻟﯿﻦ ﺑﺎر در ‪ Unix‬ﻣﻄﺮح ﺷﺪ و اﻣﺮوزه ﺑﻪ ‪ Linux‬ﻫﻢ وارد ﺷﺪه اﺳﺖ‪.‬‬
‫و در ﻧﻬﺎﯾﺖ اﻟﮕﻮرﯾﺘﻢ ‪ xz‬ﮐﻪ ﻣﺨﺘﺺ ﻟﯿﻨﻮﮐﺲ اﺳﺖ و از ﺗﻮاﻧﺎﯾﯽ ﺑﺎﻻﺗﺮي ﻧﺴﺒﺖ ﺑﻪ دو روش دﯾﮕﺮ در ﻓﺸﺮدهﺳﺎزي ﺑﺮﺧﻮردار اﺳﺖ‪.‬‬

‫ﺣﺎل ﮐﻪ روشﻫﺎي ﻓﺸﺮدهﺳﺎزي را ﻓﺮا ﮔﺮﻓﺘﯿﻢ و روي ﻓﺎﯾﻞ ﺗﺴﺖ ﮐﺮدﯾﻢ ﻣﯽﺑﺎﯾﺴﺖ روش ﺳﺎﺧﺖ ‪) Archive‬ﺑﺎﯾﮕﺎﻧﯽ ﯾﺎ ﯾﮑﯽ ﮐﺮدن ﭼﻨﺪ ﻓﺎﯾﻞ( را ﻫﻢ‬
‫ﺑﺪاﻧﯿﻢ ﺗﺎ ﺑﺘﻮاﻧﯿﻢ ﻫﻤﺰﻣﺎن ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ در ﯾﮏ ‪ Archive‬ﻗﺮار دادﯾﻢ را ﯾﮑﺒﺎره ﻓﺸﺮده ﮐﺮده و از آﻧﻬﺎ اﺳﺘﻔﺎده ﮐﻨﯿﻢ‪ .‬ﻣﺜﻼً ﺑﺮاي ارﺳﺎل ﮐﺮدن و ﯾﺎ ﺑﺮاي‬
‫ذﺧﯿﺮه ﮐﺮدن ﺑﺎ ﻓﻀﺎي ﮐﻤﺘﺮ ﻣﯽﺗﻮاﻧﯿﻢ اﯾﻦ ﮐﺎر را اﻧﺠﺎم دﻫﯿﻢ‪.‬‬

‫روشﻫﺎي ﺑﺴﺘﻪﺑﻨﺪي ﻓﺎﯾﻞﻫﺎ ‪File Archiving‬‬

‫در ﻟﯿﻨﻮﮐﺲ ﺑﻪ دو روش ﻣﯽﺗﻮاﻧﯿﻢ ﻓﺎﯾﻞﻫﺎ را ﺑﺴﺘﻪﺑﻨﺪي ﮐﻨﯿﻢ‪ .‬روش اول اﯾﺠﺎد ‪ tar‬ﻓﺎﯾﻞ اﺳﺖ‪ .‬ﮐﻪ ﻓﺎﯾﻠﯽ ﺑﺎ ﭘﺴﻮﻧﺪ ‪ tar‬ﺑﻪ ﻣﺎ ﻣﯽدﻫﺪ‪ .‬روش دوم اﯾﺠﺎد‬
‫‪ cpio‬اﺳﺖ ﮐﻪ ﻓﺎﯾﻠﯽ ﺑﺎ ﭘﺴﻮﻧﺪ ‪ cpio‬ﺑﻪ ﻣﺎ ﻣﯽدﻫﺪ‪ .‬اﻟﺒﺘﻪ اﺳﺘﻔﺎده از ‪ tar file‬اﻣﺮوزه ﻣﺮﺳﻮم اﺳﺖ و ﺑﻪ ‪ tar file‬اي ﮐﻪ ‪ Compress‬ﺷﺪه ﺑﺎﺷﺪ‬
‫‪ tarball‬ﮔﻔﺘﻪ ﻣﯽﺷﻮد‪ .‬ﻣﻔﻬﻮم ﺗﺒﺪﯾﻞ ﻓﺎﯾﻞﻫﺎ ﺑﻪ ‪ Archive‬و ﺳﭙﺲ ﭘﯿﺎده ﺳﺎزي ‪ Compression Method‬ﺑﺮ روي آﻧﻬﺎ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫‪Page 2 of 13‬‬
‫ﺑﺎ ﻓﺮﻣﺎن ‪ tar‬ﻣﯽﺗﻮاﻧﯿﻢ ‪ Archive‬ﻫﺎﯾﯽ ﺑﺎ ﻓﺮﻣﺖ ‪ tar‬اﯾﺠﺎد ﮐﻨﯿﻢ‪ .‬اﻟﺒﺘﻪ ﺑﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن ﺑﺎ ﯾﮏ ﻓﺮﻣﺎن ﻫﻢ ﻣﯽﺗﻮاﻧﯿﻢ ﻋﻤﻞ درﺳﺖ ﮐﺮدن ‪ tarball‬را‬
‫ﻧﯿﺰ اﻧﺠﺎم دﻫﯿﻢ‪ ،‬ﮐﺎﻓﯿﺴﺖ روش ‪ Compress‬ﮐﺮدن را اﻧﺘﺨﺎب ﮐﺮده و ﺑﺎ ﺳﻮﺋﯿﭻ ﻣﺮﺑﻮﻃﻪ در ﻓﺮﻣﺎن ‪ tarfile ،tar‬را ﻫﻤﺰﻣﺎن ﺑﻪ ‪ tarball‬ﺗﺒﺪﯾﻞ ﮐﻨﯿﻢ‪.‬‬

‫‪GNU Method‬‬ ‫‪Unix Method‬‬ ‫ﺗﻮﺿﯿﺤﺎت‬


‫‪--create‬‬ ‫‪-c‬‬ ‫ﺳﺎﺧﺖ ‪Archive‬‬
‫‪--file‬‬ ‫‪-f‬‬ ‫اﻧﺘﺨﺎب ﻧﺎم‬
‫‪--verbose‬‬ ‫‪-v‬‬ ‫‪Verbose Report‬‬
‫‪--list‬‬ ‫‪-t‬‬ ‫ﻧﻤﺎﯾﺶ ﻣﺤﺘﻮﯾﺎت‬
‫‪--extract‬‬ ‫‪-x‬‬ ‫از ‪ archive‬ﺧﺎرج ﮐﺮدن‬
‫)‪--gzip,--ungzip(--gunzip‬‬ ‫‪-z‬‬ ‫ﻓﺸﺮدهﺳﺎزي ﺑﺎ ‪gzip‬‬
‫‪--bzip2‬‬ ‫‪-j‬‬ ‫ﻓﺸﺮدهﺳﺎزي ﺑﺎ ‪bzip2‬‬
‫‪--xz‬‬ ‫‪-J‬‬ ‫ﻓﺸﺮدهﺳﺎزي ﺑﺎ ‪xz‬‬

‫‪Page 3 of 13‬‬
‫در ﺑﺎﻻ ﯾﮏ ‪ tarfile‬از ﺳﻪ ﻓﺎﯾﻞ ‪ m1,m2,m3‬اﯾﺠﺎد ﮐﺮدﯾﻢ‪ ،‬ﺳﭙﺲ ﺳﻪ ﻓﺎﯾﻞ اﺻﻠﯽ را ﺣﺬف ﮐﺮده و ﻧﺸﺎن دادﯾﻢ ﮐﻪ ﺑﺎ ‪ Extract‬ﮐﺮدن ‪ tarfile‬ﺳﻪ‬
‫ﻓﺎﯾﻞ ﻣﺎ درون آرﺷﯿﻮ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪ .‬ﻣﺤﺘﻮﯾﺎت ‪ tarfile‬را ﻧﯿﺰ ﻣﯽﺗﻮاﻧﯿﻢ ﺑﻪ ﺻﻮرت زﯾﺮ ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪:‬‬

‫*ﺑﺮاي ﻓﺮﻣﺎن ‪ tar‬ﻗﺮارﮔﯿﺮي ﻣﺤﻞ ﺳﻮﺋﯿﭻﻫﺎ اﻫﻤﯿﺖ دارد ﺑﺮاي ﻣﺜﺎل اﮔﺮ در ﺑﺎﻻ ﺳﻮﺋﯿﭻ ﺑﻪ ﺻﻮرت ‪ -ft‬ﺑﺎﺷﺪ ﺧﺮوﺟﯽ درﯾﺎﻓﺖ ﻧﺨﻮاﻫﯿﻢ ﮐﺮد ﭼﻮن ﺑﺮاي‬
‫ﻟﯿﻨﻮﮐﺲ اﯾﻦ ﻣﻔﻬﻮم را دارد ﮐﻪ ﻓﺎﯾﻠﯽ ﺑﺎ ﻧﺎم ‪ t‬را ﺟﺴﺘﺠﻮ ﮐﻨﺪ‪.‬‬

‫ﺣﺎل ‪ tarfile‬اﯾﺠﺎد ﺷﺪه را ﺑﻪ ‪ tarball‬ﺗﺒﺪﯾﻞ ﻣﯽﮐﻨﯿﻢ‪ Method .‬ﻓﺸﺮدهﺳﺎزي ﻣﺎ در اﯾﻦ ﻗﺴﻤﺖ اﻟﮕﻮرﯾﺘﻢ ‪ gzip‬اﺳﺖ‪.‬‬

‫ﺣﺎل از ﻓﺸﺮده ﺑﻪ آرﺷﯿﻮ و از آرﺷﯿﻮ ﺑﻪ ﻓﺎﯾﻞ ﺗﺒﺪﯾﻞ ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫‪Page 4 of 13‬‬
‫ﺣﺎل ﻣﯽﺧﻮاﻫﯿﻢ ﺑﻪ ﺻﻮرت ﯾﮑﺠﺎ ‪ tarball‬ﺑﺴﺎزﯾﻢ و ﺳﭙﺲ ﺑﻪ ﺻﻮرت ﯾﮑﺠﺎ ‪ tarball‬را ﺑﻪ ﺳﻪ ﻓﺎﯾﻞ اﺻﻠﯽ ﺑﺎزﮔﺮداﻧﯿﻢ‪ .‬اﯾﻦ ﺑﺎر از اﻟﮕﻮرﯾﺘﻢ ‪ bzip2‬ﺑﺮاي‬
‫ﻓﺸﺮدهﺳﺎزي ﯾﮑﺠﺎ اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫اﺳﺘﻔﺎده از ﺳﻮﺋﯿﭻ ‪ v‬ﺑﺎﻋﺚ ﺷﺪ ﺗﺎ ﻟﯿﺴﺖ ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ درون آرﺷﯿﻮ ﻓﺸﺮده ﻣﯽﺷﻮﻧﺪ را ﻧﻤﺎﯾﺶ دﻫﺪ و اﺳﺘﻔﺎده از ﺳﻪ ﺳﻮﺋﯿﭻ ‪ cjf‬ﻫﻤﺰﻣﺎن ‪ tarball‬ﺑﺎ‬
‫اﻟﮕﻮرﯾﺘﻢ ‪ bzip2‬ﺑﺮاي ﻣﺎ اﯾﺠﺎد ﮐﺮد ﮐﻪ از ﻧﻈﺮ ﺳﺎﯾﺰ ﻣﻘﺪار ﻗﺎﺑﻞ ﺗﻮﺟﻬﯽ ﻓﺸﺮده ﺷﺪه اﺳﺖ‪.‬‬

‫ﺣﺎل ﻋﮑﺲ اﯾﻦ ﻋﻤﻞ را ﺑﺎ ﯾﮏ ﻓﺮﻣﺎن اﻧﺠﺎم ﻣﯽدﻫﯿﻢ‪ .‬ﺑﻪ ﺧﺮوﺟﯽ ‪ Long List‬ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ از آرﺷﯿﻮ ﺑﻪ دﻟﯿﻞ اﺳﺘﻔﺎده از ﺳﻮﺋﯿﭻ ‪ vv‬اﺳﺘﺨﺮاج ﻣﯽﺷﻮد‬
‫دﻗﺖ ﮐﻨﯿﺪ‪.‬‬

‫* ﺑﺮاي ﺳﺎﺧﺖ ‪ tarball‬ﺑﺎ اﻟﮕﻮرﯾﺘﻢ ‪ xz‬ﮐﺎﻓﯿﺴﺖ ﺗﺎ از ﺳﻮﺋﯿﭻ ‪ J‬اﺳﺘﻔﺎده ﮐﻨﯿﻢ‪.‬‬

‫ﺑﺎ ﻓﺮﻣﺎن ‪ cpio‬ﻣﯽﺗﻮاﻧﯿﻢ ‪ Archive‬ﻫﺎي ﺑﺎ ﻓﺮﻣﺖ ‪ cpio‬اﯾﺠﺎد ﮐﻨﯿﻢ‪ .‬اﯾﻦ ﻓﺮﻣﺎن از ‪ STDin‬ورودي ﺧﻮد را درﯾﺎﻓﺖ ﻣﯽﮐﻨﺪ‪ .‬ﺑﺮاي ﺳﺎﺧﺖ آرﺷﯿﻮ ﺑﺎ‬
‫اﯾﻦ دﺳﺘﻮر از ﺳﻮﺋﯿﭻ ‪ -o‬اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫‪Page 5 of 13‬‬
‫ﺑﺮاي ﻓﺸﺮدهﺳﺎزي ﻫﻢ ﻣﯽﺗﻮاﻧﯿﻢ از ﻫﺮ ﮐﺪام از اﻟﮕﻮرﯾﻨﻢﻫﺎﯾﯽ ﮐﻪ ﻓﺮا ﮔﺮﻓﺘﯿﻢ اﺳﺘﻔﺎده ﮐﻨﯿﻢ‪.‬‬

‫ﻋﮑﺲ ﻋﻤﻞ ﻓﺸﺮدهﺳﺎزي و ﺧﺎرج ﮐﺮدن ﻓﺎﯾﻞﻫﺎ از آرﺷﯿﻮ ﺑﻪ ﺻﻮرت دو ﻣﺮﺣﻠﻪاي و ﺗﮏ ﻣﺮﺣﻠﻪاي ﻧﯿﺰ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫در دو ﻣﺮﺣﻠﻪ ﺑﺎ اﺳﺘﻔﺎده از ‪ unxz‬و ﺳﭙﺲ اﺳﺘﻔﺎده از ‪ cpio‬ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -iv‬ﺑﺮاي ‪ Extract‬و ﻧﺸﺎن دادن ﻧﺘﺎﯾﺞ‪:‬‬

‫در ﯾﮏ ﻣﺮﺣﻠﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﮐﯿﺐ دو دﺳﺘﻮر ﺑﺎﻻ ﺑﻪ وﺳﯿﻠﻪ ‪ Pipe‬ﮐﺮدن ﺑﻪ ﯾﮑﺪﯾﮕﺮ‪ ،‬اﻟﺒﺘﻪ دﻗﺖ داﺷﺘﻪ ﺑﺎﺷﯿﺪ در اﯾﻨﺠﺎ اﮔﺮ روش ﻓﺸﺮدهﺳﺎزي ‪gzip‬‬
‫اﺳﺖ ﺑﺮاي ﺧﺎرج ﮐﺮدن از ‪ ،gunzip -c‬اﮔﺮ ‪ bzip2‬اﺳﺖ ﺑﺮاي ﺧﺎرج ﮐﺮدن از ‪ bunzip2 -c‬و اﮔﺮ ‪ xz‬اﺳﺖ از ‪ unxz -c‬اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪.‬‬

‫‪Page 6 of 13‬‬
‫)‪Package Management(RedHat Base‬‬
‫‪ Package‬ﻫﺎ در ﺳﯿﺴﺘﻢﻫﺎي ‪ RedHat Base‬ﭘﺴﻮﻧﺪ ‪ .rpm‬دارﻧﺪ و ﻋﻤﺪﺗﺎً از ﭼﻨﺪ ﻗﺴﻤﺖ ﺑﻪ ﺷﮑﻞ زﯾﺮ ﺗﺸﮑﯿﻞ ﺷﺪهاﻧﺪ‪:‬‬

‫‪A-B.C.D-E.F.rpm‬‬
‫)‪A(Package Name)-B(Package Version).C(Major Revision).D(Minor Revision)-E(Build Number).F(Architecture‬‬

‫‪ Version,Major,Minor‬ﺳﻪ ﻋﺪد ﻫﺴﺘﻨﺪ ﮐﻪ در اﺻﻞ ‪ Developer‬ﺑﺮﻧﺎﻣﻪ آن را ﺑﻪ ﻧﺴﺒﺖ ﺗﻐﯿﯿﺮات ﺗﻌﯿﯿﻦ ﻣﯽﮐﻨﺪ‪ Minor .‬ﺗﻐﯿﯿﺮات ﺟﺰﺋﯽ اﺳﺖ‪،‬‬
‫‪ Major‬ﺗﻐﯿﯿﺮات ﺧﺎص و ﮐﻠﯽ اﺳﺖ و ‪ Version‬ﺗﻐﯿﯿﺮات اﺻﻠﯽ اﺳﺖ‪ .‬اﮔﺮ ﺑﺮﻧﺎﻣﻪاي ﮐﻪ ﺗﻮﺳﻂ ﯾﮏ ‪ Developer‬اﯾﺠﺎد ﺷﺪه ﺗﻮﺳﻂ ﯾﮏ ﺗﯿﻢ ﺑﺮﻧﺎﻣﻪ‬
‫ﻧﻮﯾﺴﯽ ﮐﻪ ﺑﻪ ﯾﮏ ‪ Company‬واﺑﺴﺘﻪ اﺳﺖ ﺷﺎﻣﻞ ﺗﻐﯿﯿﺮات و ﯾﺎ ﺣﺘﯽ ﭘﺸﺘﯿﺒﺎﻧﯽ ﺷﻮد ﺑﻪ آن ﯾﮏ ‪ Build Number‬ﺗﻌﻠﻖ ﻣﯽﮔﯿﺮد‪ .‬و در ﻧﻬﺎﯾﺖ‬
‫‪ Architecture‬ﺑﻪ ‪ 32‬ﯾﺎ ‪ 64‬ﺑﯿﺘﯽ‪ x86 ،‬ﯾﺎ ‪ x64‬و ‪ i386‬ﯾﺎ ‪ i686‬ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﺳﺎزﮔﺎر ﺑﺎ اﯾﻦ ‪ Package‬اﺳﺖ اﺷﺎره دارد‪.‬‬
‫دو ﻓﺮﻣﺎن ﻣﻮرد اﺳﺘﻔﺎده در ﺧﺎﻧﻮاده ‪ RedHat‬ﺑﺮاي ﻧﺼﺐ و ﺣﺬف ‪ Package‬ﻫﺎ ﻓﺮﻣﺎن ‪ rpm‬و ﻓﺮﻣﺎن ‪ yum‬اﺳﺖ‪.‬‬
‫‪ rpm‬زﻣﺎﻧﯽ ﻣﻮرد اﺳﺘﻔﺎده اﺳﺖ ﮐﻪ در ﻣﺴﯿﺮ ﻓﺎﯾﻞ ‪ Package‬ﺑﺎﺷﯿﻢ و ﻧﮑﺘﻪ دﯾﮕﺮ اﯾﻨﮑﻪ ‪ Dependency‬را ﻣﺘﻮﺟﻪ ﻧﻤﯽﺷﻮد ﯾﻌﻨﯽ اﮔﺮ ‪Package‬‬
‫ﻣﻮرد ﻧﻈﺮ ﻗﺒﻞ از ﻧﺼﺐ ﭘﯿﺶﻧﯿﺎز داﺷﺘﻪ ﺑﺎﺷﺪ ‪ rpm‬اﻗﺪام ﺑﻪ ﻧﺼﺐ ‪ Package‬ﻫﺎي ﭘﯿﺶ ﻧﯿﺎز ﻧﺨﻮاﻫﺪ ﮐﺮد و ﺑﺎ ﭘﯿﻐﺎم ﺧﻄﺎ ﻟﯿﺴﺖ ‪ Package‬ﻫﺎﯾﯽ ﮐﻪ‬
‫ﻣﯽﺑﺎﯾﺴﺖ ﻗﺒﻞ ‪ Package‬ﻣﻮرد ﻧﻈﺮﻣﺎن اﻗﺪام ﺑﻪ ﻧﺼﺒﺸﺎن ﮐﻨﯿﻢ را ﻣﯽآورد‪ .‬و ﻣﺎ ﻣﯽﺑﺎﯾﺴﺖ ﺑﺎ ﻗﺮار دادن ﻟﯿﺴﺖ ‪ Package‬ﻫﺎ ﺑﻪ ﺻﻮرت ﭘﺸﺖ ﺳﺮ ﻫﻢ‬
‫و ﺑﺎ ﻓﺎﺻﻠﻪ اﻟﺒﺘﻪ ﺑﺎ ﯾﮏ ﻓﺮﻣﺎن اﻗﺪام ﺑﻪ ﻧﺼﺐ ﮐﻨﯿﻢ‪ Package .‬ﻫﺎي ﺑﺎ ﭘﺴﻮﻧﺪ ‪ rpm‬را ﻣﯽﺗﻮاﻧﯿﻢ داﻧﻠﻮد ﮐﺮده و ذﺧﯿﺮه ﮐﻨﯿﻢ ﺗﺎ درﻣﻮاردي ﮐﻪ ﻻزم ﺑﻮد‬
‫ﺑﻪ ﺻﻮرت آﻓﻼﯾﻦ از آﻧﻬﺎ اﺳﺘﻔﺎده ﮐﻨﯿﻢ‪ .‬اﻟﺒﺘﻪ ﺑﺎﯾﺪ دﻗﺖ داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﮐﻪ ﭼﻮن ﺑﺎ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ‪ Opensource‬ﺳﺮ و ﮐﺎر دارﯾﻢ ﺳﻼﻣﺖ و ﻗﺎﺑﻞ اﻋﺘﻤﺎد‬
‫ﺑﻮدن ﻣﺤﺘﻮﯾﺎت ‪ Package‬ﻫﻢ اﻫﻤﯿﺖ زﯾﺎدي از ﻧﻈﺮ ﻣﺒﺎﺣﺚ اﻣﻨﯿﺘﯽ دارد و ﯾﮏ ‪ Package‬در ﻋﯿﻦ ﻇﺎﻫﺮ ﺳﺎﻟﻢ ﻣﯽﺗﻮاﻧﺪ ﺣﺎوي ﺑﺪاﻓﺰار ﺑﺎﺷﺪ ﻟﺬا‬
‫اﺳﺘﻔﺎده از ﺳﺎﯾﺖﻫﺎي ﻣﻮرد اﻃﻤﯿﻨﺎن ﻧﯿﺰ ﺑﺴﯿﺎر اﻫﻤﯿﺖ دارد‪ .‬ﺳﺎﯾﺖﻫﺎﯾﯽ ﻧﻈﯿﺮ‪:‬‬
‫‪rpm.pbone.net‬‬
‫‪rpmforge.com‬‬
‫‪sourceforge.net‬‬
‫‪pkgs.com‬‬
‫‪rpmfresh.com‬‬
‫اﻟﺒﺘﻪ ﺑﺮاي ﻫﺮ دو ﺧﺎﻧﻮاده ‪ RedHat‬و ‪ Debian‬اﯾﻦ ﺳﺎﯾﺖﻫﺎ ﮐﺎرﺑﺮد دارد‪.‬‬
‫‪ yum‬ﺑﺮ ﺧﻼف ‪ rpm‬اﺣﺘﯿﺎﺟﯽ ﺑﻪ اﯾﻦ ﻧﺪارد ﮐﻪ در ﻣﺤﻞ ﻗﺮارﮔﯿﺮي ﻓﺎﯾﻞ ‪ Package‬ﺑﺎﺷﺪ ﭼﺮا ﮐﻪ ﻣﺴﺘﻘﯿﻤ ًﺎ ﺑﻪ ‪ Repository‬ﻣﺮﺑﻮط ﺑﻪ‬
‫‪ Distribution‬از ﻃﺮﯾﻖ اﯾﻨﺘﺮﻧﺖ ﻣﺘﺼﻞ ﺷﺪه و اﻗﺪام ﺑﻪ ﻧﺼﺐ ‪ Package‬ﻣﯽﮐﻨﺪ‪ Repository .‬در اﺻﻞ ﺑﺮاي ﻫﺮ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻟﯿﻨﻮﮐﺲ ﺗﻌﺮﯾﻒ‬
‫ﺷﺪه اﺳﺖ ﮐﻪ ﺑﻪ ﺳﺮور اﺻﻠﯽ آن در اﯾﻨﺘﺮﻧﺖ ﻣﺘﺼﻞ ﺷﺪه و ﺑﺮوزﺗﺮﯾﻦ ﺗﻐﯿﯿﺮات را درﯾﺎﻓﺖ ﻣﯽﮐﻨﺪ‪ .‬ﻫﻤﯿﻦ اﻣﺮ ﺑﺎﻋﺚ ﻣﯽﺷﻮد ﺗﺎ ﻓﺮﻣﺎن ‪ yum‬ﺧﺎﺻﯿﺖ‬
‫‪ Dependency‬را ﺑﺮاي ‪ Package‬ﻫﺎ ﻣﺘﻮﺟﻪ ﺷﺪه و ﺑﻪ ﺻﻮرت اﺗﻮﻣﺎﺗﯿﮏ اﻗﺪام ﺑﻪ ﻧﺼﺐ ‪ Package‬ﻫﺎي واﺑﺴﺘﻪ ﮐﻨﺪ‪.‬‬

‫‪Page 7 of 13‬‬
‫ﺑﺮاي ﺗﺴﺖ اﯾﻦ دو دﺳﺘﻮر ﺑﺎ ‪ CentOS 5.8‬اﺑﺘﺪا ‪ ISO‬اﯾﻦ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ را ﺑﻪ ﻣﺎﺷﯿﻦ ﻣﺠﺎزي ﺧﻮد ﻣﻌﺮﻓﯽ ﻣﯽﮐﻨﯿﻢ و ﺑﺎ رﻓﺘﻦ ﺑﻪ ﻣﺴﯿﺮ زﯾﺮ ﻣﯽﺑﯿﻨﯿﻢ‬
‫ﮐﻪ ﺷﺎﻣﻞ ‪ Package‬ﻫﺎﯾﯽ ﺑﺎ ﭘﺴﻮﻧﺪ ‪ rpm‬اﺳﺖ‪.‬‬

‫ﺑﺎ ﻓﺮﻣﺎن ‪ rpm‬ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -q‬ﻣﯽﺗﻮاﻧﯿﻢ ‪ query‬ﺑﮕﯿﺮﯾﻢ‪ .‬ﻣﯽﺧﻮاﻫﯿﻢ ﻟﯿﺴﺖ ‪ Package‬ﻫﺎي ﻧﺼﺐ ﺷﺪه ﺑﺮ روي ﺳﯿﺴﺘﻢ ﺧﻮد را ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪:‬‬

‫‪Page 8 of 13‬‬
‫ﯾﺎ اﯾﻨﮑﻪ ﺑﻪ ﺗﻨﻬﺎﯾﯽ اﺳﻢ ‪ Package‬را در اﻧﺘﻬﺎي ﻓﺮﻣﺎن آورده از ﻟﯿﻨﻮﮐﺲ ﺳﻮال ﻣﯽﮐﻨﯿﻢ ﮐﻪ آﯾﺎ ﻧﺼﺐ ﺷﺪه اﺳﺖ ﯾﺎ ﺧﯿﺮ؟‬

‫ﺑﺮاي ﻧﺼﺐ ‪ Package‬از ﻓﺮﻣﺎن ‪ rpm -i‬در ﻣﺤﻞ ‪ Package‬ﺑﺮاي ﻧﺼﺐ آن اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪:‬‬

‫ﺑﺮاي ﺣﺬف آن از ﻓﺮﻣﺎن ‪ rpm -e‬اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪:‬‬

‫اﮔﺮ ﺑﺨﻮاﻫﯿﻢ در ﺷﺮاﯾﻄﯽ ﺑﺪاﻧﯿﻢ ﮐﻪ ﻓﺮﻣﺎﻧﯽ ﮐﻪ اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ ﺗﻮﺳﻂ ﮐﺪام ‪ Package‬ﺑﻪ ﻟﯿﻨﻮﮐﺲ اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ از ﺳﻮﺋﯿﭻ ‪ -qf‬اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪.‬‬
‫اﺑﺘﺪا از ﻟﯿﻨﻮﮐﺲ ﺳﻮال ﻣﯽﮐﻨﯿﻢ ﮐﻪ اﯾﻦ ﻓﺮﻣﺎن از ﮐﺠﺎ اﺟﺮا ﻣﯽﺷﻮد‪ ،‬ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از ﻓﺮﻣﺎن ‪ rpm‬اﺳﻢ ‪ Package‬ﻣﻮرد ﻧﻈﺮ را ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -qf‬وارد‬
‫ﻣﯽﮐﻨﯿﻢ ﺗﺎ در ﺧﺮوﺟﯽ ﻧﺸﺎن داده ﺷﻮد ﮐﻪ ﺗﻮﺳﻂ ﮐﺪام ‪ Package‬دﺳﺘﻮر ﺑﻪ ﻟﯿﻨﻮﮐﺲ اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ‪.‬‬

‫‪Page 9 of 13‬‬
‫اﻟﺒﺘﻪ ﺑﺎ اﯾﻦ روش ﻣﯽﺗﻮاﻧﯿﻢ در ﺧﺼﻮص ﺳﺎﯾﺮ ﻓﺎﯾﻞﻫﺎ ﻧﯿﺰ ﺟﺴﺘﺠﻮ ﮐﻨﯿﻢ ﺗﺎ ﺑﺪاﻧﯿﻢ ﺗﻮﺳﻂ ﮐﺪام ‪ Package‬ﺑﻪ ﻟﯿﻨﻮﮐﺲ اﺿﺎﻓﻪ ﮔﺮدﯾﺪه اﺳﺖ‪ .‬ﻣﺜﻼً ﻓﺎﯾﻞ‬
‫‪ vmlinuz‬ﮐﻪ ‪ kernel‬اﺻﻠﯽ ﻟﯿﻨﻮﮐﺲ اﺳﺖ ﺗﻮﺳﻂ ‪ Package‬زﯾﺮ ﻧﺼﺐ ﺷﺪه اﺳﺖ‪:‬‬

‫در اداﻣﻪ ﺑﺎ ﺳﻮﺋﯿﭻ ‪ -ql‬ﻣﯽﺗﻮاﻧﯿﻢ ﻟﯿﺴﺖ ﺳﺎﯾﺮ ﻓﺮﻣﺎنﻫﺎﯾﯽ ﮐﻪ ﺑﻪ واﺳﻄﻪ ﻧﺼﺐ اﯾﻦ ‪ Package‬ﻫﺎ ﺑﻪ ﺳﯿﺴﺘﻢ ﻣﺎ اﺿﺎﻓﻪ ﮔﺮدﯾﺪه را ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪:‬‬

‫در ﺧﺼﻮص ﻓﺮﻣﺎن ‪ yum‬ﭘﯿﺶ از اﯾﻦ ﮔﻔﺘﯿﻢ ﮐﻪ ﺑﻪ ‪ Repository‬ﻣﺘﺼﻞ ﻣﯽﺷﻮد‪ ،‬ﮐﻪ آدرس اﯾﻦ ‪ Repository‬ﻫﺎ در ﻓﺎﯾﻞﻫﺎي زﯾﺮ اﺳﺖ‪:‬‬

‫وﻗﺘﯽ ﻓﺮﻣﺎن ‪ yum‬را اﺟﺮا ﻣﯽﮐﻨﯿﻢ ﻣﺸﺎﻫﺪه ﻣﯽﮐﻨﯿﻢ ﮐﻪ ﺑﻪ اﯾﻦ آدرسﻫﺎ رﻓﺘﻪ و از ﻃﺮﯾﻖ اﯾﻦ آدرسﻫﺎ اﻗﺪام ﺑﻪ ﻧﺼﺐ ‪ Package‬ﻣﯽﮐﻨﺪ‪.‬‬

‫‪Page 10 of 13‬‬
‫ﺑﺎ اﺟﺮاي ﻓﺮﻣﺎن ﺳﺎﯾﺰ ‪ Download‬را ﻧﺸﺎن داده و ﺑﺎ زدن ‪ ،y‬اﻗﺪام ﺑﻪ ﻧﺼﺐ ﻣﯽﮐﻨﺪ‪.‬‬

‫ﻋﮑﺲ اﯾﻦ ﻋﻤﻞ ﺑﺮاي ﺣﺬف ‪ Package‬ﻣﻮرد ﻧﻈﺮﻣﺎن ﻫﻢ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫‪Page 11 of 13‬‬
‫ﺑﺎ زدن ‪ y‬اﻗﺪام ﺑﻪ ﺣﺬف ‪ Package‬ﻣﯽﮐﻨﺪ‪.‬‬

‫ﻓﺮﻣﺎن ‪ yum update‬ﺑﺮاي زﻣﺎﻧﯽ اﺳﺘﻔﺎده ﻣﯽﺷﻮد ﮐﻪ ﻻزم اﺳﺖ ﻟﯿﺴﺘﯽ از ﺗﻤﺎﻣﯽ ‪ Package‬ﻫﺎي ﻣﻮﺟﻮد در ‪ Repository‬را در ﺳﯿﺴﺘﻢ ‪Cash‬‬
‫ﮐﻨﯿﻢ‪ .‬اﯾﻦ ﻣﻮرد زﻣﺎﻧﯽ ﻧﻤﻮد ﭘﯿﺪا ﻣﯽﮐﻨﺪ ﮐﻪ ﻟﯿﺴﺖ ‪ Package‬ﻫﺎ ﻣﺪت زﻣﺎﻧﯽ اﺳﺖ ﺑﺮوزرﺳﺎﻧﯽ ﻧﺸﺪه اﺳﺖ و ﺑﺎ زدن ﻓﺮﻣﺎن و اﺳﻢ ‪ Package‬ﻣﻮرد‬
‫ﻧﻈﺮ ﺳﯿﺴﺘﻢ ﭘﯿﻐﺎﻣﯽ ﻣﺒﺘﻨﯽ ﺑﺮ اﯾﻨﮑﻪ ‪ Package‬ﻣﻮرد ﻧﻈﺮ را ﭘﯿﺪا ﻧﻤﯽﮐﻨﺪ ﻧﻤﺎﯾﺶ ﻣﯽدﻫﺪ‪ .‬در اﯾﻦ ﺻﻮرت ﯾﮑﯽ از ﻣﻮاردي ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ اﺗﻔﺎق اﻓﺘﺎده‬
‫ﺑﺎﺷﺪ اﯾﻦ اﺳﺖ ﮐﻪ ﻟﯿﺴﺖ ‪ Package‬ﻫﺎ ﺑﺮوز ﻧﺒﺎﺷﺪ‪.‬‬
‫)‪Package Management(Debian Base‬‬
‫در ﺧﺼﻮص ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞﻫﺎي ‪ Debian Base‬ﻣﺤﻠﯽ ﮐﻪ آدرس ‪ Repository‬ﻫﺎ در آن ذﺧﯿﺮه ﺷﺪه در ﻣﺴﯿﺮ زﯾﺮ اﺳﺖ‪:‬‬

‫ﺑﺎ ﻣﺸﺎﻫﺪه ﻣﺤﺘﻮﯾﺎت ﻓﺎﯾﻞ ‪ Source.list‬ﻣﯽﺗﻮاﻧﯿﻢ آدرس ‪ Repository‬ﻫﺎ را ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ‪.‬‬

‫ﺑﺮاي ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞﻫﺎي ‪ Debian Base‬ﻣﺎﻧﻨﺪ ‪ RedHat Base‬دو دﺳﺘﻮر دارﯾﻢ ﮐﻪ ﯾﮑﯽ از آﻧﻬﺎ ﻣﻌﺎدل ﻓﺮﻣﺎن ‪ rpm‬ﺑﺎ ﻣﺸﺨﺼﺎت آن و دﯾﮕﺮي‬
‫ﻣﻌﺎدل ‪ yum‬ﺑﺎ ﻣﺸﺨﺼﺎت آن اﺳﺖ‪ .‬ﮐﻪ ﻫﺮ دو را در زﯾﺮ آوردهاﯾﻢ‪:‬‬
‫‪dpkg -i‬‬ ‫ﻧﺼﺐ ‪Package‬‬ ‫‪rpm -i‬‬
‫‪dpkg -r‬‬ ‫ﺣﺬف ‪Package‬‬ ‫‪rpm -e‬‬
‫‪dpkg -s‬‬ ‫ﺟﺴﺘﺠﻮي ‪ Package‬در ﺳﯿﺴﺘﻢ‬ ‫‪rpm -q‬‬
‫‪dpkg -S‬‬ ‫‪ Query‬ﺑﺮاي ﭘﯿﺪا ﮐﺮدن ‪ Package‬ﻣﺮﺗﺒﻂ ﺑﺎ دﺳﺘﻮر‬ ‫‪rpm -qf‬‬
‫‪dpkg -l‬‬ ‫ﻧﺸﺎن دادن ﺗﻤﺎﻣﯽ ‪ Package‬ﻫﺎي ﻧﺼﺐ ﺷﺪه در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫‪rpm -qa‬‬
‫‪dpkg -L‬‬ ‫ﺗﻤﺎﻣﯽ ﻓﺎﯾﻞﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ‪ Package‬ﻧﺼﺐ ﺷﺪه را ﻧﺸﺎن ﻣﯽدﻫﺪ‬ ‫‪rpm -ql‬‬

‫‪Page 12 of 13‬‬
‫‪Package‬ﻫﺎ در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞﻫﺎي ‪ Debian Base‬ﺑﺎ ﭘﺴﻮﻧﺪ ‪ .deb‬ﻫﺴﺘﻨﺪ و ﻣﺎﻧﻨﺪ ﻓﺮﻣﺎن ‪ rpm‬ﺑﺮاي اﺳﺘﻔﺎده از ‪ dpkg‬ﻧﯿﺰ ﻣﯽﺑﺎﯾﺴﺖ در ﻣﺴﯿﺮ‬
‫ﻧﺼﺐ ‪ Package‬ﺑﺎﺷﯿﻢ‪ .‬ﻫﻤﭽﻨﯿﻦ اﯾﻦ ﻓﺮﻣﺎن ﺧﺎﺻﯿﺖ ‪ Dependency‬را ﻣﺎﻧﻨﺪ ‪ rpm‬ﻣﺘﻮﺟﻪ ﻧﻤﯽﺷﻮد‪.‬‬
‫‪apt install‬‬ ‫‪ Package‬ﻣﻮرد ﻧﻈﺮ را ﻧﺼﺐ ﻣﯽﮐﻨﺪ‬ ‫‪yum install‬‬
‫‪apt remove‬‬ ‫‪ Package‬ﻣﻮرد ﻧﻈﺮ را ﺣﺬف ﻣﯽﮐﻨﺪ‬ ‫‪yum remove‬‬
‫‪apt update‬‬ ‫ﻟﯿﺴﺖ ‪ Repository‬را ﺑﻪ روزرﺳﺎﻧﯽ ﻣﯽﮐﻨﺪ‬ ‫‪yum update‬‬
‫‪apt cache‬‬ ‫‪ Package‬ﻣﻮرد ﻧﻈﺮ را ﺟﺴﺘﺠﻮ ﻣﯽﮐﻨﺪ‬ ‫‪yum search‬‬
‫ﻓﺮﻣﺎن ‪ apt‬ﯾﺎ ‪ apt-get‬ﺗﻤﺎﻣﯽ وﯾﮋﮔﯽﻫﺎي ﻓﺮﻣﺎن ‪ yum‬را دارد ﺗﻨﻬﺎ ﺗﻔﺎوت در ﺑﻌﻀﯽ از ﺳﻮﺋﯿﭻﻫﺎ اﺳﺖ‪.‬‬
‫* در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞﻫﺎي ‪ RedHat Base‬و ‪ Debian Base‬اﺳﺎﻣﯽ ﺑﯿﺸﺘﺮ ‪ Package‬ﻫﺎ ﯾﮑﺴﺎن اﺳﺖ وﻟﯽ در ﻣﻮاردي ﻫﻢ ﻧﺎمﻫﺎي ﻣﺘﻔﺎوﺗﯽ وﺟﻮد‬
‫دارد ﺑﺮاي ﻣﺜﺎل در ‪ Debian‬ﺑﺮاي راهاﻧﺪازي ‪ Webserver‬ﻣﯽﺑﺎﯾﺴﺖ ‪ apache2‬و در ‪ RedHat‬ﻣﯽﺑﺎﯾﺴﺖ ‪ httpd‬را ﻧﺼﺐ ﮐﻨﯿﻢ‪.‬‬
‫* ﻧﮑﺘﻪ آﺧﺮ در ﻣﻮرد اﯾﻦ ﻣﺒﺤﺚ ﺗﻔﺎوت ﻣﯿﺎن دو ﺳﻮﺋﯿﭻ ‪ remove‬و ‪ purge‬اﺳﺖ ﮐﻪ اﺳﺘﻔﺎده از ‪ remove‬ﺗﻨﻬﺎ ﻓﺎﯾﻞﻫﺎي ‪ Package‬را ﺣﺬف‬
‫ﻣﯽﮐﻨﺪ در ﺻﻮرﺗﯽ ﮐﻪ اﺳﺘﻔﺎده از ‪ purge‬اﯾﻦ ﻣﺰﯾﺖ را دارد ﮐﻪ ﻓﺎﯾﻞﻫﺎي ‪ Config‬اي ﮐﻪ ﺑﻪ واﺳﻄﻪ ‪ Package‬اﯾﺠﺎد ﺷﺪه را ﻧﯿﺰ ﺣﺬف ﻣﯽﮐﻨﺪ‪.‬‬

‫‪Page 13 of 13‬‬

You might also like