<p>بسیار پیش آمده است که بخواهید بستههای مختلف لینوکس را به هم تبدیل کنید. بسته دبیانی با پسوند deb داشتهاید و اکنون میخواهید در توزیعی که از بستههای ردهت با پسوند rmp پشتیبانی میکند استفاده کنید و یا بالعکس.</p> <p>امروز قصد دارم برنامهای معرفی کنم که این تبدیلات را به راحتی برای شما ممکن میسازد با پشتبانی از تبدیل بستههای deb، rpm، lsb، tgz و دیگر بستههای توزیعهای لینوکس به هم و یک سری امکانات دیگر.</p> <p>قبل از هر چیز بهتر است بدانید که برنامههای یونیکس همگی از کدهای ماشین یکسانی بهره میبرند و از این جهت قابل اجرا در هر توزیعی هستند اما هر توزیع از سیستم بستهبندی متفاوتی استفاده میکند و همچنین منابع متفاوتی دارد؛ از این جهت بستهها در هر توزیعی قابل نصب نیستند و باید آنها را به فرم بستههای آن توزیع تبدیل کرد و یا حتی اگر از منابع خاصی استفاده میکنند که در یک توزیع وجود ندارد برای اجرای آن با مشکل بر خواهید خورد.</p> <h3 id="alien----">برنامه alien برای تبدیل بسته های لینوکس</h3> <p>ابتدا توسط دستور زیر در ترمینال این بسته را نصب کنید. این بسته در منابع توزیع شما موجود است.</p> <ul> <li>نصب برای دبیان، ابونتو، مینت و …</li> </ul> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install alien </code></pre> </div> <ul> <li>نصب برای فدورا، سنت-او-اس و …</li> </ul> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>yum install alien </code></pre> </div> <p>اکنون دستور زیر را وارد کرده تا راهنمای استفاده از این برنامه را مشاهده کنید.</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>alien -h Usage: alien <span class="o">[</span>options] file <span class="o">[</span>...] file <span class="o">[</span>...] Package file or files to convert. -d, --to-deb Generate a Debian deb package <span class="o">(</span>default<span class="o">)</span>. Enables these options: --patch<span class="o">=</span> Specify patch file to use instead of automatically looking <span class="k">for </span>patch <span class="k">in</span> /var/lib/alien. --nopatch Do not use patches. --anypatch Use even old version os patches. -s, --single Like --generate, but <span class="k">do </span>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<span class="o">=</span> Specify package description. --version<span class="o">=</span> Specify package version. -p, --to-pkg Generate a Solaris pkg package. -i, --install Install generated package. -g, --generate Generate build tree, but <span class="k">do </span>not build package. -c, --scripts Include scripts <span class="k">in </span>package. -v, --verbose Display each <span class="nb">command </span>alien runs. --veryverbose Be verbose, and also display output of run commands. -k, --keep-version Do not change version of generated package. --bump<span class="o">=</span>number Increment package version by this number. -h, --help Display this <span class="nb">help </span>message. -V, --version Display alien<span class="s1">'s version number. </span></code></pre> </div> <p>در اینجا من ترجمهای از این راهنما را قرار دادهام.</p> <blockquote> <p>طریقه استفاده: alien [گزینهها] file […]<br /> file […] توضیح داده که فایل یعنی فایل بسته یا فایلهای مورد نظر برای تبدیل کردن<br /> -d, –to-deb سوییچهای مورد نظر برای تبدیل کردن به بستههای دبیان (به صورت پیشفرض از همین استفاده میشود)<br /> گزینههای قابل استفاده:<br /> –patch= فایل پچ مخصوصی که میخواهید از آن کنار تبدیل استفاده کنید<br /> نگاهی به پچها در این مسیر بیندازید /var/lib/alien.<br /> –nopatch از هیچ پچی استفاده نکردن<br /> –anypatch زمانی از این سوییچ استفاده کنید که پچهای سیستمعامل قدیمی است<br /> -s, –single مانند سوییچ جنریت است اما .او-ار-آی-جی نمیسازد<br /> directory.<br /> –fixperms درست کردن اجازهها و مالک<br /> –test آزمایش ساخت بستهها<br /> -r, –to-rpm تبدیل به آر-پی-ام. بستههای ردهت<br /> –to-slp تبدیل به بستههای استمپید به پسوند اس-ال-پی<br /> -l, –to-lsb تبدیل به بستههای ال-اس-بی<br /> -t, –to-tgz تبدیل به بستههای اسلک ور به پسوند تی-جی-زد<br /> گزینههای قابل استفاده:<br /> –description= مشخص کردن توضیحات بسته<br /> –version= مشخص کردن نسخه بسته<br /> -p, –to-pkg تبدیل به بستههای سولاریز با پسوند پی-کی-جی<br /> -i, –install نصب بسته تولید شده<br /> -g, –generate ساخت درخت تولید. اما بسته را تولید نمیکند<br /> -c, –scripts اسکریپهای پکیج را هم برای تبدیل شامل کن<br /> -v, –verbose نمایش هر دستوری که برنامه تبدیلگر الین انجام میدهد<br /> –veryverbose طولانی دستور بالا است و خروجی دستورات را نیز نمایش میدهد<br /> -k, –keep-version نسخه بسته را تغییر نده<br /> –bump=number نسخه بسته را به شماره مذکور تغییر بده<br /> -h, –help نمایش راهنمای برنامه<br /> -V, –version نمایش نسخه برنامه</p> </blockquote> <p>مثلا میخواهید یک بسته آر پی ام را به دبیان تبدیل کنید:</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo alien -r debian-package.debredhat_package_manager-package.rpm generated </code></pre> </div> <p>یا تبدیل یک بسته دبیان به آر-پی-ام</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>alien redhat_package_manager-package.rpmdebian-package.deb generated </code></pre> </div> <p>با توجه به بسته مورد نظر باید از سوییچهای مناسب استفاده کنید.</p>
تبدیل بسته deb به rpm
20
دسامبر
برچسب ها : آموزشی