ഏലിയൻ ഉപയോഗിച്ച് RPM-ൽ നിന്ന് DEB-ലേക്ക് DEB-ൽ നിന്ന് RPM-ലേക്ക് എങ്ങനെ പരിവർത്തനം ചെയ്യാം


നിങ്ങൾക്ക് ഇതിനകം അറിയാമെന്ന് എനിക്ക് ഉറപ്പുണ്ട്, ലിനക്സിൽ സോഫ്uറ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്യാൻ ധാരാളം മാർഗങ്ങളുണ്ട്: നിങ്ങളുടെ വിതരണം (ആപ്റ്റിറ്റ്യൂഡ്, യം, അല്ലെങ്കിൽ സൈപ്പർ, കുറച്ച് ഉദാഹരണങ്ങൾക്ക്) നൽകിയിരിക്കുന്ന പാക്കേജ് മാനേജുമെന്റ് സിസ്റ്റം ഉപയോഗിച്ച്, ഉറവിടത്തിൽ നിന്ന് കംപൈൽ ചെയ്യുന്നു (കുറച്ച് എങ്കിലും ഈ ദിവസങ്ങളിൽ അപൂർവ്വമായി, ലിനക്സിന്റെ ആദ്യകാലങ്ങളിൽ ലഭ്യമായ ഒരേയൊരു രീതിയായിരുന്നു ഇത്), അല്ലെങ്കിൽ യഥാക്രമം .deb, .rpm സ്റ്റാൻഡേലോൺ, പ്രീ കംപൈൽഡ് പാക്കേജുകൾ എന്നിവയ്ക്കൊപ്പം dpkg അല്ലെങ്കിൽ rpm പോലുള്ള താഴ്ന്ന നിലയിലുള്ള ടൂൾ ഉപയോഗിക്കുന്നു.

.rpm മുതൽ .deb വരെ (തിരിച്ചും) ഏറ്റവും സാധാരണമായ ഉപയോഗമുള്ള വിവിധ ലിനക്സ് പാക്കേജ് ഫോർമാറ്റുകൾക്കിടയിൽ പരിവർത്തനം ചെയ്യുന്ന ഒരു ടൂളായ ഏലിയൻ ഈ ലേഖനത്തിൽ ഞങ്ങൾ നിങ്ങളെ പരിചയപ്പെടുത്തും.

ഈ ഉപകരണം, അതിന്റെ രചയിതാവ് ഇനി അത് പരിപാലിക്കുന്നില്ലെങ്കിൽ പോലും, അന്യഗ്രഹജീവി എപ്പോഴും പരീക്ഷണാത്മക നിലയിലായിരിക്കുമെന്ന് അവന്റെ വെബ്uസൈറ്റിൽ പ്രസ്താവിക്കുമ്പോൾ പോലും, നിങ്ങൾക്ക് ഒരു പ്രത്യേക തരം പാക്കേജ് ആവശ്യമുണ്ടെങ്കിൽ, മറ്റൊരു പാക്കേജ് ഫോർമാറ്റിൽ മാത്രമേ ആ പ്രോഗ്രാം കണ്ടെത്താൻ കഴിയൂ.

ഉദാഹരണത്തിന്, ഒരു ഇങ്ക്uജെറ്റ് പ്രിന്ററിനായി ഞാൻ ഒരു .deb ഡ്രൈവറിനായി തിരയുമ്പോൾ അന്യഗ്രഹജീവി എന്റെ ദിവസം സംരക്ഷിച്ചു, ഒന്നും കണ്ടെത്താനായില്ല - നിർമ്മാതാവ് ഒരു .rpm പാക്കേജ് മാത്രമാണ് നൽകിയത്. ഞാൻ അന്യഗ്രഹം ഇൻസ്റ്റാൾ ചെയ്തു, പാക്കേജ് പരിവർത്തനം ചെയ്തു, അധികം താമസിയാതെ എനിക്ക് എന്റെ പ്രിന്റർ പ്രശ്നങ്ങളില്ലാതെ ഉപയോഗിക്കാൻ കഴിഞ്ഞു.

പ്രധാനപ്പെട്ട സിസ്റ്റം ഫയലുകളും ലൈബ്രറികളും വിതരണങ്ങളിലുടനീളം വ്യത്യസ്തമായി സജ്ജീകരിച്ചിരിക്കുന്നതിനാൽ അവ മാറ്റിസ്ഥാപിക്കാൻ ഈ യൂട്ടിലിറ്റി ഉപയോഗിക്കരുത് എന്ന് ഞങ്ങൾ വ്യക്തമാക്കണം. ഈ ലേഖനത്തിന്റെ തുടക്കത്തിൽ നിർദ്ദേശിച്ചിരിക്കുന്ന ഇൻസ്റ്റാളേഷൻ രീതികൾ ആവശ്യമായ പ്രോഗ്രാമിന് ചോദ്യത്തിന് പുറത്താണെങ്കിൽ മാത്രം അവസാനത്തെ ആശ്രയമായി ഏലിയൻ ഉപയോഗിക്കുക.

അവസാനമായി പക്ഷേ, ഈ ലേഖനത്തിൽ നമ്മൾ CentOS ഉം Debian ഉം ഉപയോഗിക്കുമെങ്കിലും, ആദ്യ രണ്ട് വിതരണങ്ങൾക്കും അതത് കുടുംബങ്ങൾക്കും പുറമെ Slackware-ലും Solaris-ലും ഏലിയൻ പ്രവർത്തിക്കുമെന്ന് അറിയപ്പെടുന്നു.

ഘട്ടം 1: അന്യഗ്രഹവും ആശ്രിതത്വവും ഇൻസ്റ്റാൾ ചെയ്യുന്നു

CentOS/RHEL 7-ൽ അന്യഗ്രഹം ഇൻസ്റ്റാൾ ചെയ്യാൻ, നിങ്ങൾ EPEL, Nux Dextop (അതെ, ഇത് Dextop ആണ് - Desktop അല്ല) റിപ്പോസിറ്ററികൾ, ആ ക്രമത്തിൽ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്:

# yum install epel-release
# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

ഈ ശേഖരം പ്രവർത്തനക്ഷമമാക്കുന്ന പാക്കേജിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് നിലവിൽ 0.5 ആണ് (2015 ഓഗസ്റ്റ് 10-ന് പ്രസിദ്ധീകരിച്ചത്). കൂടുതൽ മുന്നോട്ട് പോകുന്നതിന് മുമ്പ് ഒരു പുതിയ പതിപ്പ് ഉണ്ടോ എന്ന് കാണാൻ നിങ്ങൾ http://li.nux.ro/download/nux/dextop/el7/x86_64/ പരിശോധിക്കണം:

# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

എന്നിട്ട് ചെയ്യുക,

# yum update && yum install alien

ഫെഡോറയിൽ, നിങ്ങൾ അവസാന കമാൻഡ് പ്രവർത്തിപ്പിച്ചാൽ മതി.

ഡെബിയനിലും ഡെറിവേറ്റീവുകളിലും, ലളിതമായി ചെയ്യുക:

# aptitude install alien

ഘട്ടം 2: .deb-ൽ നിന്ന് .rpm പാക്കേജിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു

ഈ പരിശോധനയ്ക്കായി ഞങ്ങൾ dateutils തിരഞ്ഞെടുത്തു, ഇത് വലിയ അളവിലുള്ള സാമ്പത്തിക ഡാറ്റ കൈകാര്യം ചെയ്യാൻ തീയതിയും സമയവും നൽകുന്ന ഒരു കൂട്ടം യൂട്ടിലിറ്റികൾ നൽകുന്നു. ഞങ്ങൾ .deb പാക്കേജ് ഞങ്ങളുടെ CentOS 7 ബോക്സിലേക്ക് ഡൗൺലോഡ് ചെയ്യും, അത് .rpm ആയി പരിവർത്തനം ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യും:

# cat /etc/centos-release
# wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
# alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

പ്രധാനപ്പെട്ടത്: (ഡിഫോൾട്ടായി, ഏലിയൻ ടാർഗെറ്റ് പാക്കേജിന്റെ പതിപ്പ് മൈനർ നമ്പർ വർദ്ധിപ്പിക്കുന്നത് എങ്ങനെയെന്ന് ദയവായി ശ്രദ്ധിക്കുക. നിങ്ങൾക്ക് ഈ സ്വഭാവം അസാധുവാക്കണമെങ്കിൽ, -keep-version ഫ്ലാഗ് ചേർക്കുക).

ഞങ്ങൾ പാക്കേജ് ഉടനടി ഇൻസ്റ്റാൾ ചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിൽ, ഞങ്ങൾ ഒരു ചെറിയ പ്രശ്നത്തിലേക്ക് നയിക്കും:

# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

ഈ പ്രശ്നം പരിഹരിക്കാൻ, ഞങ്ങൾ എപെൽ-ടെസ്റ്റിംഗ് റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കുകയും പുനർനിർമ്മിക്കേണ്ട പാക്കേജിന്റെ ക്രമീകരണങ്ങൾ എഡിറ്റുചെയ്യുന്നതിന് rpmrebuild യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യും:

# yum --enablerepo=epel-testing install rpmrebuild

എന്നിട്ട് ഓടുക,

# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

ഇത് നിങ്ങളുടെ ഡിഫോൾട്ട് ടെക്സ്റ്റ് എഡിറ്റർ തുറക്കും. %files വിഭാഗത്തിലേക്ക് പോയി പിശക് സന്ദേശത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഡയറക്uടറികളെ പരാമർശിക്കുന്ന വരികൾ ഇല്ലാതാക്കുക, തുടർന്ന് ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക:

നിങ്ങൾ ഫയലിൽ നിന്ന് പുറത്തുകടക്കുമ്പോൾ, പുനർനിർമ്മാണം തുടരാൻ നിങ്ങളോട് ആവശ്യപ്പെടും. നിങ്ങൾ Y തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, നിർദ്ദിഷ്ട ഡയറക്uടറിയിലേക്ക് ഫയൽ പുനർനിർമ്മിക്കും (നിലവിലെ പ്രവർത്തിക്കുന്ന ഡയറക്ടറിയിൽ നിന്ന് വ്യത്യസ്തമാണ്):

# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

ഇപ്പോൾ നിങ്ങൾക്ക് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാനും സാധാരണ പോലെ സ്ഥിരീകരിക്കാനും തുടരാം:

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
# rpm -qa | grep dateutils

അവസാനമായി, നിങ്ങൾക്ക് dateutils-ൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന വ്യക്തിഗത ടൂളുകൾ പട്ടികപ്പെടുത്താനും അതത് മാൻ പേജുകൾ പരിശോധിക്കാനും കഴിയും:

# ls -l /usr/bin | grep dateutils

ഘട്ടം 3: .rpm-ൽ നിന്ന് .deb പാക്കേജിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു

ഈ വിഭാഗത്തിൽ .rpm-ൽ നിന്ന് .deb-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നതെങ്ങനെയെന്ന് ഞങ്ങൾ വിശദീകരിക്കും. ഒരു 32-ബിറ്റ് ഡെബിയൻ വീസി ബോക്സിൽ, CentOS 6 OS റിപ്പോസിറ്ററിയിൽ നിന്ന് zsh ഷെല്ലിനുള്ള .rpm പാക്കേജ് ഡൗൺലോഡ് ചെയ്യാം. ഡെബിയനിലും ഡെറിവേറ്റീവുകളിലും ഈ ഷെൽ ഡിഫോൾട്ടായി ലഭ്യമല്ല എന്നത് ശ്രദ്ധിക്കുക.

# cat /etc/shells
# lsb_release -a | tail -n 4
# wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
# alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

നഷ്uടമായ ഒപ്പിനെക്കുറിച്ചുള്ള സന്ദേശങ്ങൾ നിങ്ങൾക്ക് സുരക്ഷിതമായി അവഗണിക്കാം:

കുറച്ച് നിമിഷങ്ങൾക്ക് ശേഷം, .deb ഫയൽ ജനറേറ്റ് ചെയ്യുകയും ഇൻസ്റ്റാൾ ചെയ്യാൻ തയ്യാറാകുകയും വേണം:

# dpkg -i zsh_4.3.11-5_i386.deb

ഇൻസ്റ്റാളേഷന് ശേഷം, സാധുവായ ഷെല്ലുകളുടെ പട്ടികയിലേക്ക് zsh ചേർത്തിട്ടുണ്ടോയെന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാൻ കഴിയും:

# cat /etc/shells

സംഗ്രഹം

ഈ ലേഖനത്തിൽ, .rpm-ൽ നിന്ന് .deb-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നതെങ്ങനെയെന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഈ ലേഖനം ബുക്ക്uമാർക്ക് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കും, കാരണം നമുക്കെല്ലാവർക്കും ഒരു സമയത്ത് അല്ലെങ്കിൽ മറ്റൊരു സമയത്ത് അന്യഗ്രഹജീവിയെ ആവശ്യമായി വരും.

ചുവടെയുള്ള ഫോം ഉപയോഗിച്ച് ഈ ലേഖനത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ ചിന്തകൾ പങ്കിടാൻ മടിക്കേണ്ടതില്ല.