تبدیل بسته deb به rpm در لینوکس
gameover.blog.ir
بسیار پیش آمده است که بخواهید بستههای مختلف لینوکس را به هم تبدیل کنید. بسته دبیانی با پسوند deb داشتهاید و اکنون میخواهید در توزیعی که از بستههای ردهت با پسوند rmp پشتیبانی میکند استفاده کنید و یا بالعکس.
امروز قصد دارم برنامهای معرفی کنم که این تبدیلات را به راحتی برای شما ممکن میسازد با پشتبانی از تبدیل بستههای deb، rpm، lsb، tgz و دیگر بستههای توزیعهای لینوکس به هم و یک سری امکانات دیگر.
قبل از هر چیز بهتر است بدانید که برنامههای یونیکس همگی از کدهای ماشین یکسانی بهره میبرند و از این جهت قابل اجرا در هر توزیعی هستند اما هر توزیع از سیستم بستهبندی متفاوتی استفاده میکند و همچنین منابع متفاوتی دارد؛ از این جهت بستهها در هر توزیعی قابل نصب نیستند و باید آنها را به فرم بستههای آن توزیع تبدیل کرد و یا حتی اگر از منابع خاصی استفاده میکنند که در یک توزیع وجود ندارد برای اجرای آن با مشکل بر خواهید خورد.
برنامه alien برای تبدیل بسته های لینوکس
ابتدا توسط دستور زیر در ترمینال این بسته را نصب کنید. این بسته در منابع توزیع شما موجود است.
- نصب برای دبیان، ابونتو، مینت و …
sudo apt-get install alien
- نصب برای فدورا، سنت-او-اس و …
yum install alien
اکنون دستور زیر را وارد کرده تا راهنمای استفاده از این برنامه را مشاهده کنید.
alien -h
Usage: alien [options] file [...]
file [...] Package file or files to convert.
-d, --to-deb Generate a Debian deb package (default).
Enables these options:
--patch= Specify patch file to use instead of automatically
looking for patch in /var/lib/alien.
--nopatch Do not use patches.
--anypatch Use even old version os patches.
-s, --single Like --generate, but do not create .orig
directory.
--fixperms Munge/fix permissions and owners.
--test Test generated packages with lintian.
-r, --to-rpm Generate a Red Hat rpm package.
--to-slp Generate a Stampede slp package.
-l, --to-lsb Generate a LSB package.
-t, --to-tgz Generate a Slackware tgz package.
Enables these options:
--description= Specify package description.
--version= Specify package version.
-p, --to-pkg Generate a Solaris pkg package.
-i, --install Install generated package.
-g, --generate Generate build tree, but do not build package.
-c, --scripts Include scripts in package.
-v, --verbose Display each command alien runs.
--veryverbose Be verbose, and also display output of run commands.
-k, --keep-version Do not change version of generated package.
--bump=number Increment package version by this number.
-h, --help Display this help message.
-V, --version Display alien's version number.
در اینجا من ترجمهای از این راهنما را قرار دادهام.
طریقه استفاده: alien [گزینهها] file […]
file […] توضیح داده که فایل یعنی فایل بسته یا فایلهای مورد نظر برای تبدیل کردن
-d, –to-deb سوییچهای مورد نظر برای تبدیل کردن به بستههای دبیان (به صورت پیشفرض از همین استفاده میشود)
گزینههای قابل استفاده:
–patch= فایل پچ مخصوصی که میخواهید از آن کنار تبدیل استفاده کنید
نگاهی به پچها در این مسیر بیندازید /var/lib/alien.
–nopatch از هیچ پچی استفاده نکردن
–anypatch زمانی از این سوییچ استفاده کنید که پچهای سیستمعامل قدیمی است
-s, –single مانند سوییچ جنریت است اما .او-ار-آی-جی نمیسازد
directory.
–fixperms درست کردن اجازهها و مالک
–test آزمایش ساخت بستهها
-r, –to-rpm تبدیل به آر-پی-ام. بستههای ردهت
–to-slp تبدیل به بستههای استمپید به پسوند اس-ال-پی
-l, –to-lsb تبدیل به بستههای ال-اس-بی
-t, –to-tgz تبدیل به بستههای اسلک ور به پسوند تی-جی-زد
گزینههای قابل استفاده:
–description= مشخص کردن توضیحات بسته
–version= مشخص کردن نسخه بسته
-p, –to-pkg تبدیل به بستههای سولاریز با پسوند پی-کی-جی
-i, –install نصب بسته تولید شده
-g, –generate ساخت درخت تولید. اما بسته را تولید نمیکند
-c, –scripts اسکریپهای پکیج را هم برای تبدیل شامل کن
-v, –verbose نمایش هر دستوری که برنامه تبدیلگر الین انجام میدهد
–veryverbose طولانی دستور بالا است و خروجی دستورات را نیز نمایش میدهد
-k, –keep-version نسخه بسته را تغییر نده
–bump=number نسخه بسته را به شماره مذکور تغییر بده
-h, –help نمایش راهنمای برنامه
-V, –version نمایش نسخه برنامه
مثلا میخواهید یک بسته آر پی ام را به دبیان تبدیل کنید:
sudo alien -r debian-package.debredhat_package_manager-package.rpm generated
یا تبدیل یک بسته دبیان به آر-پی-ام
alien redhat_package_manager-package.rpmdebian-package.deb generated
با توجه به بسته مورد نظر باید از سوییچهای مناسب استفاده کنید.
منبع:
linuxihaa.ir