آشنایی با ابزارهای مدیریت بسته از طریق خط فرمان

Sarp

مدیر بازنشسته
میخواهیم در این مطلب به یک سری اصول مقدماتی کار با برنامه‌های مدیریت بسته (Package Manager) در توزیع‌های معروف بپردازیم.
معمولا اکثر این پکیج منیجرها دارای رابط گرافیکی مناسب هستند. با این حال آشنا بودن با نحوه استفاده از آنها از طریق خط فرمان کمک بزرگی به شما خواهد کرد. در اغلب موارد اقدام از طریق خط فرمان سریع‌تر و بی نقص تر خواهد بود. چرا که شما با داشتن خروجی مربوط به هر دستور به راحتی می‌توانبد به عیب یابی و رفع مشکل بپردازید.

۱- pacman , aur , abs
همان‌طور که می‌دانید این سیستم مدیریت بسته در توزیع آرچ لینوکس، به‌کار رفته است و در توزیع های دیگری مثل frugalware یا DeLi Linux (که در حال حاضر با نام ConnochaetOS عرضه می‌شود) هم به‌کار گرفته شده است. این برنامه هر کاری که مورد نیاز شما باشد را به سادگی انجام می‌دهد. اینجا می‌خواهیم اصول کلی کار با این برنامه را آموزش دهیم. در آخر نیز نکاتی که به نظر شخص خودم مفید هستند را بیان میکنم. امیدواریم این مطلب برایتان مفید باشد.

نصب با استفاده از pacman
برای این کار از سوییچ S- استفاده کنید. به این فرم:
کد:
[LEFT]pacman -S [I]packagenames[/I]
[/LEFT]
حال برنامه به جستجو می‌پردازد و از سایت (mirror ها انتخابی) تمام پکیج‌های مورد نیاز را دانلود و نصب می‌کند. می‌توانید نام چند پکیج را با فاصله بنویسید تا همگی دانلود و نصب شوند.​

می‌توانید چند سوییچ دیگر را نیز با این سوییچ به کار ببرید. از y برای آپدیت کردن همه‌ی مخازن استفاده کنید. از u برای آپدیت کردن پکیج‌ها استفاده کنید. وقتی از سوییچ w استفاده می‌کنید به این معنی است که شما می‌خواهید فقط پکیج‌ها دانلود شوند ولی چیزی نصب نشود. مثلا برای اینکه سیستم را بصورت کامل آپدیت کنید از​

کد:
[LEFT]pacman -Syu
[/LEFT]
استفاده کنید. اگر w را نیز اضافه کنید چیزی نصب نخواهد شد، بلکه فقط بسته‌های مورد نیاز دانلود می‌شوند.​

اگه اسم پکیج را دقیقا نمی‌دانید و می‌خواهید دنبال آن بگردید از s استفاده کنید:​

کد:
[LEFT]pacman -Ss [I]searchterm[/I]
[/LEFT]
میتونید از * یا ؟ هم استفاده کنید. این دستور فقط اسم بسته‌ها را نشان خواهد داد و چیزی نصب نمی‌کند. برای نصب کردن بسته‌های پیدا شده از دستوری شبیه این استفاده کنید:​

کد:
[LEFT](pacman -S $(pacman -Ssq [I]searchterm[/I]
[/LEFT]
فقط در نظر بگیرید که عبارت جستجو را بطور مناسب انتخاب کنید تا بسته‌های اضافی نصب نشوند.​

نکته‌ی دیگری نیز هست آن هم این‌که بسته‌هایی که دانلود می‌شوند به طور پیش‌فرض در مسیر /var/cache/pacman/pkg قرار می‌گیرند. بعد از مدتی این مسیر حجیم و حاوی تعداد زیادی بسته می‌شود. این مورد، هم خوب است و هم بد. خوب از این نظر که اگر با بسته‌ای مشکل داشتید و سیستم شما را به هم ریخت به سادگی می‌توانید نسخه‌ی پیشین آن را که درست کار می‌کرد از این مسیر نصب کنید تا مشکل برطرف شود. بد هم از این نظر که این بسته‌ها به مرور زمان فضای زیادی اشغال میکنند. اگر سیستم شما مشکلی ندارد می‌توانید بسته‌های قدیمی را پاک کنید. از این دستور استفاده کنید:​

کد:
[LEFT]pacman -Sc
[/LEFT]

حذف با استفاده از pacman :


برای حذف یه پکیج میتوانید از سوییچ R استفاده کنید. به این شکل:​

کد:
[LEFT]pacman -R [I]packagename[/I]
[/LEFT]

نصب بسته از روی دیسک:


اگه بسته‌ای را خودتان دانلود کردید یا از aur گرفتید و یا با abs (توضیحات این دو مورد در ادامه آمده است) آن را کامپایل کردید و می‌خواهید اقدام به نصب آن کنید، این دستور این کار را برای شما انجام خواهد داد:​

کد:
[LEFT]pacman -U [I]filename[/I]
[/LEFT]
فقط در نظر بگیرید که باید اسم فایل را به جای filename بنویسید نه اسم برنامه یا بسته را. معمولا فایل‌ها پسوند tar.gz یا tar.xz دارند.​

دیدن بسته‌های نصب شده:

برای این‌که بفهمید چه بسته‌هایی روی سیستم نصب هست از این دستور استفاده کنید​

کد:
[LEFT]pacman -Q
[/LEFT]
خب این دستور خروجی زیادی تولید می‌کند که قطعا گشتن درون آن به صورت دستی سخت خواهد بود. ولی اگر مطلب آشنایی با برخی ابزار‌های خط فرمان را خوانده باشید یا خودتان با دستورات ترمینال آشنایی داشته باشید می‌دانید که چگونه درون این همه خط دنبال یک مطلب خاص بگردید.


نکته:

اگر دقت کرده باشید سرعت دانلود خود pacman خیلی زیاد نیست. میتوانید پکیج‌ها را به صورت دستی خودتان دانلود کرده و آن‌ها را در مسیر cache که پیش‌تر گفته شد قرار دهید. آن‌گاه دستور نصب را اجرا کنید که در این حالت چون بسته در cache موجود است بدون نیاز به دانلود مجدد، عملیات نصب انجام خواهد شد.احتمالا این روش سرعت دانلود بیشتری خواهد داشت، چون شما با برنامه‌ی دلخواهتان بسته‌ها را دانلود می‌کنید. البته می‌توانید کاری کنید که خود pacman با استفاده از برنامه‌ی دیگری بسته‌ها را دانلود کند. برای این کار باید فایل /etc/pacman.conf را ویرایش کنید. در این فایل خطی به صورت

کد:
[LEFT]….=XferCommand#
[/LEFT]
وجود دارد. می‌دانید که علامت # به معنای غیر فعال بودن این خط است. این خط را می‌توانید ویرایش کنید. طوری که با برنامه‌ی دلخواهتان بسته ها را دانلود کند. فقط دقت کنید که “برنامه ی دلخواه” به صورت خط فرمانی باشد نه گرافیکی. سه مثال زیر برای دانلود منیجر های معروف wget – aria2 – axel کاربرد دارند:​

کد:
[LEFT]usr/bin/wget –passive-ftp -c -O  %o %u/
[/LEFT]

  [LEFT]usr/bin/aria2c –allow-overwrite=true -c  –file-allocation=none –log-level=error \ -m2  –max-connection-per-server=2 –max-file-not-found=5 –min-split-size=5M  –no-conf \ –remote-time=true –summary-interval=60 -t5 -d / -o %o %u/
[/LEFT]

  [LEFT]usr/bin/axel -n 5 -a -o %o %u/[/LEFT]
این خطوط باید بعد از = نوشته شوند.​

تنظیمات wget که نیازی به توضیح ندارد. axel هم ساده است فقط فایل را به ۵ بخش برای دانلود تقسیم می‌کند. اگر خواستید عدد ۵ را تغییر دهید آزاد هستید.​

تنظیمات aria2 را نیز به همین شکل رها کنید. اگر میخواهید بیشتر بدانید به این صفحه رجوع کنید. در صورتی که مایل بودید می‌توانید به این تنظیمات، سوییچ‌های -s و -x را هم اضافه کنید تا فایل‌ها را به بخش های مختلفی تقسیم و دانلود کند. مثلا ۶ s- و ۶ x- را اضافه کنید که هر فایل را به ۶ بخش تقسیم و دانلود کند.


aur و abs :

این‌ها سیستم مدیریت بسته نیستند ولی خوب است که کمی درباره‌شان صحبت کنیم. می‌دانید که بعضی برنامه‌ها را باید کامپایل کرد. چون بسته‌ی آماده‌ای برای آن برنامه‌ها وجود ندارد. این سیستم برای این به وجود آمده که کار کامپایل را ساده‌تر کند. به جرات می‌توان گفت که مخزن aur یکی از کامل‌ترین و بزرگ‌ترین مخازنی هست که تا به حال دیده‌اید و حدودا هر چیزی درون آن پیدا میشود.​

اصلی‌ترین بخش این سیستم ‌PKGBUILD ها و makepkg هستند. PKGBUILD ها همان فایل‌هایی هستند که از aur می‌گیرید. این فایل حاوی یک‌سری دستور برای دانلود سورس و کامپایل آن به صورت اتوماتیک است. makepkg هم دستوری است که PKGBUILD را اجرا میکند. روش کلی کار این است که اول فایل PKGBUILD بسته را از aur دریافت می‌کنید. بعد فایل PKGBUILD را درون پوشه‌ای قرار می‌دهید. بعد از طریق ترمینال وارد پوشه شده و دستور makepkg را در آن پوشه اجرا میکنید. به همین سادگی!​

فقط به پکیج‌هایی که باید قبل از نصب پکیج مورد نظرتان نصب شوند دقت کنید. معمولا در صفحه‌ای که PKGBUILD را دریافت می‌کنید این پکیج‌ها (وابستگی ها یا dependencies) نوشته شده است. این‌ها را باید قبل از نصب پکیج مورد نظر نصب کنید. همچنین دقت کنید که دستور makepkg به مجوز root نیاز ندارد.


این اصول کار بود. راه ساده‌تر برای این کار استفاده از yaourt است. با استفاده از این برنامه می‌توانید هم در مخازن اصلی و هم در aur به دنبال بسته‌ی مورد نظر بگردید و آن را نصب کنید. این برنامه تمام کار ها را خودکار انجام می‌دهد. شما فقط باید اسم بسته را به آن بدهید. خود برنامه از اینجا قابل دانلود و نصب است (از طریق aur دانلود و به شرح بالا نصب شود). درباره‌ی این برنامه توضیحی نمی‌دهیم ولی راهنمای آن در اینجا قابل مشاهده است.​

در آخر پیشنهاد می‌کنم هر مشکلی داشتید اول با man pacman در میان بگذارید!
 

Sarp

مدیر بازنشسته
2

2

۲-apt-get , dkpg , synaptics
این برنامه مربوط به دبیان و اوبونتو و اکثر توزیع‌های برپایه‌ی این‌ دو است (مثل مینت). طریقه‌ی کار با آن هم خیلی ساده است.

نصب بسته:
برای دانلود و نصب یک بسته از مخازن از دستور زیر استفاده کنید:
کد:
[LEFT]apt-get install [I]packagename[/I]
[/LEFT]
اگر می‌خواهید چند بسته را هم‌زمان نصب کنید اسم آن‌ها را با فاصله بنویسید.

حذف بسته:

برای حذف کردن یک بسته از دستور زیر استفاده کنید:​

کد:
[LEFT]apt-get remove [I]packagename[/I]
[/LEFT]
مثل قبلی برای حذف چند بسته اسم آن‌ها را با فاصله بنویسید.

به‌روز رسانی مخازن:

برای این کار از دستور زیر استفاده کنید:​

کد:
[LEFT]apt-get update
[/LEFT]
این دستور لیست تمام بسته‌های موجود را به‌روز میکند.

به‌روز رسانی بسته‌ها:

برای این که تمام بسته‌های نصب شده را به آخرین ورژن موجود در مخازن آپدیت کنید از این دستور استفاده کنید:
کد:
[LEFT]apt-get upgrade
[/LEFT]
این دستورات ساده، برای کار کردن با این نرم افزار بودند. حال به بیان چند نکته می‌پردازیم.

نکته:

در دستوراتی که اسم بسته‌ها مورد نیاز هستند (نصب یا حذف) میتوانید از wildcards یعنی علامت‌هایی مثل *‌ یا ؟ استفاده کنید.فرض کنید می‌خواهید تمام بسته‌هایی که با xfce شروع می‌شوند را نصب کنید. برای این کار از این دستور استفاده کنید:
کد:
[LEFT]*apt-get install xfce
[/LEFT]
پارامتر d را زمانی به کار ببرید که می‌خواهید بسته‌ها را فقط دانلود کنید ولی نصب نکنید. مثلا این دستور:​

کد:
[LEFT]apt-get -d install [I]example[/I]
[/LEFT]
بسته‌های مورد نیاز برای example را فقط دانلود می‌کند ولی چیزی نصب نمی‌شود.​

نکته‌ی دیگر در مورد محل نگه‌داری بسته‌های دانلود شده است. بسته های دانلود شده در محل /var/cache/apt/archives نگه‌داری می‌شوند. این محل بعد از مدتی شلوغ و حجیم خواهد شد. اگر مطمئن هستید که سیستم مشکلی ندارد و همچنین به بسته های دانلود شده نیاز ندارید از این دستور استفاده کنید تا محل cache پاکسازی شود :
کد:
[LEFT]apt-get clean
[/LEFT]
این دستور تمام پکیج‌های موجود در محل cache را پاک میکند. همچنین دستور زیر هم کار مشابهی انجام خواهد داد :
کد:
[LEFT]apt-get autoclean
[/LEFT]
فرق این دو دستور این است که دومی فقط بسته‌هایی را پاک می‌کند که دیگر در مخارن وجود ندارند (و احتمالا هم مورد نیاز نیستند).​

نکته‌ی دیگر در مورد نصب آفلاین بسته‌هاست. اگر بسته‌ای را دانلود کرده باشید و بخواهید آن را نصب کنید از دستور استفاده کنید:​

کد:
[LEFT]dpkg -i [I]packagename[/I]
[/LEFT]
توجه داشته باشید که این دستور چیزی را دانلود نخواهد کرد و فقط همان فایلی را که مشخص کرده‌اید نصب میکند. فایل‌هایی که مربوط به بسته‌های دبیان باشد با پسوند deb شناخته می‌شوند. دقت کنید که اسم فایل را به جای pckagename بنویسید، نه اسم پکیج را. برنامه‌ی dpkg برنامه‌ی پیش‌فرض نصب بسته‌ها در توزیع دبیان گنو/لینوکس است. apt-get هم برای نصب کردن از این برنامه استفاده می‌کند ولی دانلود کردن بسته‌ها و پیدا کردن وابستگی‌ها کار خود apt-get هست.​

برای افزایش سرعت apt-get می‌توان از اسکریپتی به اسم apt-fast استفاده کرد. این اسکریپت برای دانلود از برنامه‌ی axel بهره می‌برد که سرعت دانلود شما را احتمالا بالا خواهد برد. تمام فرمان‌هایی که با apt-get اجرا می‌شوند با این اسکریپت نیز کار می‌کنند. این اسکریپت را از اینجا دریافت کنید.

بعد از این‌که اسکریت را گرفتید باید در جایی کپی شود که بتوان همیشه و همه جا آن را اجرا کرد. می‌توانید از دستورات زیر استفاده کنید:​

کد:
[LEFT]cp apt-fat /usr/bin
[/LEFT]

 [LEFT]chmod +x /usr/bin/apt-fast[/LEFT]
توجه داشته باشید که این دستورات به مجوز root نیاز دارند.​

دستوری مفید که یکی از دوستان به آن اشاره کردند و برای حذف بسته های orphan ( بسته هایی که زمان زیادی پشتبانی از آن ها صورت نگرفته و احتمالا پر از باگ شده اند) میتواند به کار رود اینگونه است:​

کد:
[LEFT](pacman -Rd $(pacman Qqtd
[/LEFT]
 

Sarp

مدیر بازنشسته
3

3

۳-zypper
همان‌طور که می‌دانید این برنامه یعنی zypper برنامه‌ی مدیریت بسته در توزیع opensuse است. در این قسمت دیگر زیاد توضیح لازم نیست و به ذکر دستورات بسنده می‌کنیم چون با مفاهیم آن‌ها آشنا شده‌اید.

نصب با استفاده از zypper
کد:
[LEFT]zypper install [I]packagenames[/I]
[/LEFT]
اگر خواستید می‌توانید به جای install فقط از in استفاده کنید.

حذف با استفاده از zypper
کد:
[LEFT]zypper remove [I]packagenames[/I]
[/LEFT]
فکر نمی‌کنم نیاز به توضیح اضافه باشد. همچنین می‌توانید به جای remove از rm هم استفاده کنید.

به‌روز رسانی مخازن
کد:
[LEFT]zypper refresh
[/LEFT]

گشتن به دنبال بسته‌ای خاص:

اگر به دنبال بسته‌ای خاص هستید ولی دقیقا نام آن را نمی‌دانید می‌توانید از دو روش استفاده کنید. اول این‌که از سوییچ search استفاده کنید:​
کد:
[LEFT]zypper search [I]packagename[/I]
[/LEFT]
دوم این‌که می‌توانید هر جا که اسم بسته‌ای را باید بنویسید از علائمی مثل ؟ یا * استفاده کنید.

نصب سورس یک بسته:
کد:
[LEFT]zypper source-install [I]packagename[/I]
[/LEFT]
این دستور سورس بسته را دانلود می‌کند. البته باید پیش از آن مخازن مربوط به سورس را فعال کرده باشید (از yast می‌توانید برای این کار استفاده کنید). این دستور علاوه بر سورس بسته، تمام بسته‌هایی که جزء وابستگی‌ها هم هستند را دانلود و نصب می‌کند. برای این‌که این کار خودکار انجام نشود از سوییچ D استفاده کنید. اگر هم می‌خواهید فقط وابستگی‌ها را نصب کنید از سوییچ d استفاده کنید. شکل کلی دو دستور اینگونه است:​
کد:
[LEFT]zypper source-install -D [I]packagename[/I]
[/LEFT]
 [LEFT]zypper source-install -d [I]packagename[/I][/LEFT]

آپدیت بسته‌ها:

کد:
[LEFT]zypper update
[/LEFT]

آپدیت سیستم:

کد:
[LEFT]zypper dist-upgrade
[/LEFT]
این دستور کل سیستم را آپدیت می‌کند.​
در آخر می‌خواهم این نکته را یاد آور شوم، همان‌طور که می‌دانید openSUSE اصطلاحا rpm-based است. درنتیجه zypper هم برای انجام فرامین از برنامه‌ی rpm استفاده می‌کند (مثل apt-get که از dpkg استفاده می‌کند).
 

Sarp

مدیر بازنشسته
4

4

۴-yum

این برنامه مدیریت بسته در توزیع فدورا است. کار کردن با این برنامه هم به سادگی برنامه‌های قبلی است.


نصب بسته:

کد:
[LEFT]yum install [I]packagenames[/I]
[/LEFT]

حذف بسته:


کد:
[LEFT]yum remove [I]packagenames[/I]
[/LEFT]

آپدیت بسته‌ها:


کد:
[LEFT]yum update
[/LEFT]
همچنین:​

کد:
[LEFT]yum upgrade
[/LEFT]

حذف بسته از cache:


کد:
[LEFT]yum clean all
[/LEFT]
همان‌طور که می‌دانید بسته‌های دانلود شده در جایی به اسم cache قرار می‌گیرند. برای yum این مسیر /var/cache/yum است. این دستور بسته‌های اضافی که دیگر نیاز به آنها نیست را از این مسیر پاک میکند. در صورتی از این دستور استفاده کنید که مطمئن باشید دیگر به این بسته‌ها نیاز ندارید یعنی اینکه سیستم درست کار می‌کند و مشکلی ندارد.​


گشتن به دنبال بسته:


مثل zypper دو روش پیش رو دارید.​

یا از فرمان search استفاده کنید:​

کد:
[LEFT]zypper search [I]packagename[/I]
[/LEFT]
یا زمانی که می‌خواهید اسم بسته‌ای را بنویسید از علامت های ؟ یا * استفاده کنید.​


نصب گروهی بسته‌ها:


مخازن فدورا بعضی بسته‌ها را به‌عنوان یک گروه عرضه می‌کند که این گروه‌ها برای نصب آسان برنامه‌های پرکاربرد استفاده می‌شوند. مثلا دسکتاپ‌های gnome – kde – xfce یا مثلا lamp در یک گروه بسته قرار گرفته‌اند که با نصب گروه مربوطه‌، تمام بسته‌های مورد نیاز برای آن برنامه یا کاربرد خاص به طور کامل نصب می‌شوند. برای نصب یک گروه از فرمان زیر استفاده کنید:​

کد:
[LEFT]yum groupinstall [I]groupname[/I]
[/LEFT]

آپدیت گروه:


برای اینکه بسته‌های یک گروه را آپدیت کنید از دستور زیر استفاده کنید:​

کد:
[LEFT]yum groupupdate [I]groupname[/I]
[/LEFT]

حذف یک گروه:


برای حذف یک گروه که قبلا نصب کرده اید از فرمانی به شکل زیر استفاده کنید:​

کد:
[LEFT]yum groupremove [I]groupname[/I]
[/LEFT]

لیست کردن نام تمامی گروه ها:


کد:
[LEFT]yum grouplist
[/LEFT]
برای گشتن درون خروجی این دستور نیز خودتان میدانید چه کنید! (اگر هم نمیدانید ابتدای مطلب را بخوانید)​


دیدن اطلاعات در مورد گروه:


کد:
[LEFT]yum groupinfo [I]groupname[/I]
[/LEFT]
این دستور نیز اطلاعاتی در مورد گروه مورد نظر (مانند بسته های موجود در آن) به شما خواهد داد.​


نکته:


دستوراتی که مربوط به گروه هستند به اسم گروه نیاز دارند. حتما اسم گروه‌ها را داخل گیومه ( همان ” ” ) قرار دهید. مثلا برای نصب گنوم از دستور زیر استفاده کنید:​

کد:
[LEFT] yum groupinstall “GNOME Desktop Environment”
[/LEFT]
نکته‌ی دیگر در مورد سرعت دانلود است. می‌توانید کاری کنید که yum بسته‌ها را با استفاده از axel دانلود کند. برای این کار دو فایل این و این را دانلود کنید. فایل‌ها را درون پوشه‌ای قرار دهید. دستورات زیر را با مجوز root ( یا sudo یا su ) اجرا کنید:​

کد:
[LEFT]/cp axelget.conf /etc/yum/pluginconf.d
[/LEFT]

 [LEFT]/cp axelget.py /usr/lib/yum-plugins
[/LEFT]
برنامه‌ی axel را نصب کنید:

کد:
[LEFT]yum install axel
[/LEFT]
از این به بعد دانلودهای yum با axel انجام می‌شوند. به همین راحتی!​

اگه سوالی داشتید حتما ابتدا از فرمان man استفاده کنید.توضیحات کاملی در صفحات man وجود دارد .


Linux Review
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
C مدیریت کاربران در windows سیستم عامل 5
B مدیریت حافظه در لینوکس سیستم عامل 0

Similar threads

بالا