-
June 24th, 2011, 18:13
#1
عضو انجمن
آشنایی با ابزارهای مدیریت بسته از طریق خط فرمان
معمولا اکثر این پکیج منیجرها دارای رابط گرافیکی مناسب هستند. با این حال آشنا بودن با نحوه استفاده از آنها از طریق خط فرمان کمک بزرگی به شما خواهد کرد. در اغلب موارد اقدام از طریق خط فرمان سریعتر و بی نقص تر خواهد بود. چرا که شما با داشتن خروجی مربوط به هر دستور به راحتی میتوانبد به عیب یابی و رفع مشکل بپردازید.
۱- pacman , aur , abs
همانطور که میدانید این سیستم مدیریت بسته در توزیع آرچ لینوکس، بهکار رفته است و در توزیع های دیگری مثل frugalware یا DeLi Linux (که در حال حاضر با نام ConnochaetOS عرضه میشود) هم بهکار گرفته شده است. این برنامه هر کاری که مورد نیاز شما باشد را به سادگی انجام میدهد. اینجا میخواهیم اصول کلی کار با این برنامه را آموزش دهیم. در آخر نیز نکاتی که به نظر شخص خودم مفید هستند را بیان میکنم. امیدواریم این مطلب برایتان مفید باشد.
نصب با استفاده از pacman
برای این کار از سوییچ S- استفاده کنید. به این فرم:
pacman -S packagenames
حال برنامه به جستجو میپردازد و از سایت (mirror ها انتخابی) تمام پکیجهای مورد نیاز را دانلود و نصب میکند. میتوانید نام چند پکیج را با فاصله بنویسید تا همگی دانلود و نصب شوند.
میتوانید چند سوییچ دیگر را نیز با این سوییچ به کار ببرید. از y برای آپدیت کردن همهی مخازن استفاده کنید. از u برای آپدیت کردن پکیجها استفاده کنید. وقتی از سوییچ w استفاده میکنید به این معنی است که شما میخواهید فقط پکیجها دانلود شوند ولی چیزی نصب نشود. مثلا برای اینکه سیستم را بصورت کامل آپدیت کنید از
pacman -Syu
استفاده کنید. اگر w را نیز اضافه کنید چیزی نصب نخواهد شد، بلکه فقط بستههای مورد نیاز دانلود میشوند.
اگه اسم پکیج را دقیقا نمیدانید و میخواهید دنبال آن بگردید از s استفاده کنید:
pacman -Ss searchterm
میتونید از * یا ؟ هم استفاده کنید. این دستور فقط اسم بستهها را نشان خواهد داد و چیزی نصب نمیکند. برای نصب کردن بستههای پیدا شده از دستوری شبیه این استفاده کنید:
(pacman -S $(pacman -Ssq searchterm
فقط در نظر بگیرید که عبارت جستجو را بطور مناسب انتخاب کنید تا بستههای اضافی نصب نشوند.
نکتهی دیگری نیز هست آن هم اینکه بستههایی که دانلود میشوند به طور پیشفرض در مسیر /var/cache/pacman/pkg قرار میگیرند. بعد از مدتی این مسیر حجیم و حاوی تعداد زیادی بسته میشود. این مورد، هم خوب است و هم بد. خوب از این نظر که اگر با بستهای مشکل داشتید و سیستم شما را به هم ریخت به سادگی میتوانید نسخهی پیشین آن را که درست کار میکرد از این مسیر نصب کنید تا مشکل برطرف شود. بد هم از این نظر که این بستهها به مرور زمان فضای زیادی اشغال میکنند. اگر سیستم شما مشکلی ندارد میتوانید بستههای قدیمی را پاک کنید. از این دستور استفاده کنید:
pacman -Sc
حذف با استفاده از pacman :
برای حذف یه پکیج میتوانید از سوییچ R استفاده کنید. به این شکل:
pacman -R packagename
نصب بسته از روی دیسک:
اگه بستهای را خودتان دانلود کردید یا از aur گرفتید و یا با abs (توضیحات این دو مورد در ادامه آمده است) آن را کامپایل کردید و میخواهید اقدام به نصب آن کنید، این دستور این کار را برای شما انجام خواهد داد:
pacman -U filename
فقط در نظر بگیرید که باید اسم فایل را به جای filename بنویسید نه اسم برنامه یا بسته را. معمولا فایلها پسوند tar.gz یا tar.xz دارند.
دیدن بستههای نصب شده:
برای اینکه بفهمید چه بستههایی روی سیستم نصب هست از این دستور استفاده کنید
pacman -Q
خب این دستور خروجی زیادی تولید میکند که قطعا گشتن درون آن به صورت دستی سخت خواهد بود. ولی اگر مطلب آشنایی با برخی ابزارهای خط فرمان را خوانده باشید یا خودتان با دستورات ترمینال آشنایی داشته باشید میدانید که چگونه درون این همه خط دنبال یک مطلب خاص بگردید.
نکته:
اگر دقت کرده باشید سرعت دانلود خود pacman خیلی زیاد نیست. میتوانید پکیجها را به صورت دستی خودتان دانلود کرده و آنها را در مسیر cache که پیشتر گفته شد قرار دهید. آنگاه دستور نصب را اجرا کنید که در این حالت چون بسته در cache موجود است بدون نیاز به دانلود مجدد، عملیات نصب انجام خواهد شد.احتمالا این روش سرعت دانلود بیشتری خواهد داشت، چون شما با برنامهی دلخواهتان بستهها را دانلود میکنید. البته میتوانید کاری کنید که خود pacman با استفاده از برنامهی دیگری بستهها را دانلود کند. برای این کار باید فایل /etc/pacman.conf را ویرایش کنید. در این فایل خطی به صورت
….=XferCommand#
وجود دارد. میدانید که علامت # به معنای غیر فعال بودن این خط است. این خط را میتوانید ویرایش کنید. طوری که با برنامهی دلخواهتان بسته ها را دانلود کند. فقط دقت کنید که “برنامه ی دلخواه” به صورت خط فرمانی باشد نه گرافیکی. سه مثال زیر برای دانلود منیجر های معروف wget – aria2 – axel کاربرد دارند:
usr/bin/wget –passive-ftp -c -O %o %u/
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/
usr/bin/axel -n 5 -a -o %o %u/
این خطوط باید بعد از = نوشته شوند.
تنظیمات 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 در میان بگذارید!
۲-apt-get , dkpg , synaptics
این برنامه مربوط به دبیان و اوبونتو و اکثر توزیعهای برپایهی این دو است (مثل مینت). طریقهی کار با آن هم خیلی ساده است.
نصب بسته:
برای دانلود و نصب یک بسته از مخازن از دستور زیر استفاده کنید:
apt-get install packagename
اگر میخواهید چند بسته را همزمان نصب کنید اسم آنها را با فاصله بنویسید.
حذف بسته:
برای حذف کردن یک بسته از دستور زیر استفاده کنید:
apt-get remove packagename
مثل قبلی برای حذف چند بسته اسم آنها را با فاصله بنویسید.
بهروز رسانی مخازن:
برای این کار از دستور زیر استفاده کنید:
apt-get update
این دستور لیست تمام بستههای موجود را بهروز میکند.
بهروز رسانی بستهها:
برای این که تمام بستههای نصب شده را به آخرین ورژن موجود در مخازن آپدیت کنید از این دستور استفاده کنید:
apt-get upgrade
این دستورات ساده، برای کار کردن با این نرم افزار بودند. حال به بیان چند نکته میپردازیم.
نکته:
در دستوراتی که اسم بستهها مورد نیاز هستند (نصب یا حذف) میتوانید از wildcards یعنی علامتهایی مثل * یا ؟ استفاده کنید.فرض کنید میخواهید تمام بستههایی که با xfce شروع میشوند را نصب کنید. برای این کار از این دستور استفاده کنید:
*apt-get install xfce
پارامتر d را زمانی به کار ببرید که میخواهید بستهها را فقط دانلود کنید ولی نصب نکنید. مثلا این دستور:
apt-get -d install example
بستههای مورد نیاز برای example را فقط دانلود میکند ولی چیزی نصب نمیشود.
نکتهی دیگر در مورد محل نگهداری بستههای دانلود شده است. بسته های دانلود شده در محل /var/cache/apt/archives نگهداری میشوند. این محل بعد از مدتی شلوغ و حجیم خواهد شد. اگر مطمئن هستید که سیستم مشکلی ندارد و همچنین به بسته های دانلود شده نیاز ندارید از این دستور استفاده کنید تا محل cache پاکسازی شود :
apt-get clean
این دستور تمام پکیجهای موجود در محل cache را پاک میکند. همچنین دستور زیر هم کار مشابهی انجام خواهد داد :
apt-get autoclean
فرق این دو دستور این است که دومی فقط بستههایی را پاک میکند که دیگر در مخارن وجود ندارند (و احتمالا هم مورد نیاز نیستند).
نکتهی دیگر در مورد نصب آفلاین بستههاست. اگر بستهای را دانلود کرده باشید و بخواهید آن را نصب کنید از دستور استفاده کنید:
dpkg -i packagename
توجه داشته باشید که این دستور چیزی را دانلود نخواهد کرد و فقط همان فایلی را که مشخص کردهاید نصب میکند. فایلهایی که مربوط به بستههای دبیان باشد با پسوند deb شناخته میشوند. دقت کنید که اسم فایل را به جای pckagename بنویسید، نه اسم پکیج را. برنامهی dpkg برنامهی پیشفرض نصب بستهها در توزیع دبیان گنو/لینوکس است. apt-get هم برای نصب کردن از این برنامه استفاده میکند ولی دانلود کردن بستهها و پیدا کردن وابستگیها کار خود apt-get هست.
برای افزایش سرعت apt-get میتوان از اسکریپتی به اسم apt-fast استفاده کرد. این اسکریپت برای دانلود از برنامهی axel بهره میبرد که سرعت دانلود شما را احتمالا بالا خواهد برد. تمام فرمانهایی که با apt-get اجرا میشوند با این اسکریپت نیز کار میکنند. این اسکریپت را از اینجا دریافت کنید.
بعد از اینکه اسکریت را گرفتید باید در جایی کپی شود که بتوان همیشه و همه جا آن را اجرا کرد. میتوانید از دستورات زیر استفاده کنید:
cp apt-fat /usr/bin
chmod +x /usr/bin/apt-fast
توجه داشته باشید که این دستورات به مجوز root نیاز دارند.
دستوری مفید که یکی از دوستان به آن اشاره کردند و برای حذف بسته های orphan ( بسته هایی که زمان زیادی پشتبانی از آن ها صورت نگرفته و احتمالا پر از باگ شده اند) میتواند به کار رود اینگونه است:
(pacman -Rd $(pacman Qqtd
۳-zypper
همانطور که میدانید این برنامه یعنی zypper برنامهی مدیریت بسته در توزیع opensuse است. در این قسمت دیگر زیاد توضیح لازم نیست و به ذکر دستورات بسنده میکنیم چون با مفاهیم آنها آشنا شدهاید.
نصب با استفاده از zypper
zypper install packagenames
اگر خواستید میتوانید به جای install فقط از in استفاده کنید.
حذف با استفاده از zypper
zypper remove packagenames
فکر نمیکنم نیاز به توضیح اضافه باشد. همچنین میتوانید به جای remove از rm هم استفاده کنید.
بهروز رسانی مخازن
zypper refresh
گشتن به دنبال بستهای خاص:
اگر به دنبال بستهای خاص هستید ولی دقیقا نام آن را نمیدانید میتوانید از دو روش استفاده کنید. اول اینکه از سوییچ search استفاده کنید:
zypper search packagename
دوم اینکه میتوانید هر جا که اسم بستهای را باید بنویسید از علائمی مثل ؟ یا * استفاده کنید.
نصب سورس یک بسته:
zypper source-install packagename
این دستور سورس بسته را دانلود میکند. البته باید پیش از آن مخازن مربوط به سورس را فعال کرده باشید (از yast میتوانید برای این کار استفاده کنید). این دستور علاوه بر سورس بسته، تمام بستههایی که جزء وابستگیها هم هستند را دانلود و نصب میکند. برای اینکه این کار خودکار انجام نشود از سوییچ D استفاده کنید. اگر هم میخواهید فقط وابستگیها را نصب کنید از سوییچ d استفاده کنید. شکل کلی دو دستور اینگونه است:
zypper source-install -D packagename
zypper source-install -d packagename
آپدیت بستهها:
zypper update
آپدیت سیستم:
zypper dist-upgrade
این دستور کل سیستم را آپدیت میکند.
در آخر میخواهم این نکته را یاد آور شوم، همانطور که میدانید openSUSE اصطلاحا rpm-based است. درنتیجه zypper هم برای انجام فرامین از برنامهی rpm استفاده میکند (مثل apt-get که از dpkg استفاده میکند).
۴-yum
این برنامه مدیریت بسته در توزیع فدورا است. کار کردن با این برنامه هم به سادگی برنامههای قبلی است.
نصب بسته:
yum install packagenames
حذف بسته:
yum remove packagenames
آپدیت بستهها:
yum update
همچنین:
yum upgrade
حذف بسته از cache:
yum clean all
همانطور که میدانید بستههای دانلود شده در جایی به اسم cache قرار میگیرند. برای yum این مسیر /var/cache/yum است. این دستور بستههای اضافی که دیگر نیاز به آنها نیست را از این مسیر پاک میکند. در صورتی از این دستور استفاده کنید که مطمئن باشید دیگر به این بستهها نیاز ندارید یعنی اینکه سیستم درست کار میکند و مشکلی ندارد.
گشتن به دنبال بسته:
مثل zypper دو روش پیش رو دارید.
یا از فرمان search استفاده کنید:
zypper search packagename
یا زمانی که میخواهید اسم بستهای را بنویسید از علامت های ؟ یا * استفاده کنید.
نصب گروهی بستهها:
مخازن فدورا بعضی بستهها را بهعنوان یک گروه عرضه میکند که این گروهها برای نصب آسان برنامههای پرکاربرد استفاده میشوند. مثلا دسکتاپهای gnome – kde – xfce یا مثلا lamp در یک گروه بسته قرار گرفتهاند که با نصب گروه مربوطه، تمام بستههای مورد نیاز برای آن برنامه یا کاربرد خاص به طور کامل نصب میشوند. برای نصب یک گروه از فرمان زیر استفاده کنید:
yum groupinstall groupname
آپدیت گروه:
برای اینکه بستههای یک گروه را آپدیت کنید از دستور زیر استفاده کنید:
yum groupupdate groupname
حذف یک گروه:
برای حذف یک گروه که قبلا نصب کرده اید از فرمانی به شکل زیر استفاده کنید:
yum groupremove groupname
لیست کردن نام تمامی گروه ها:
yum grouplist
برای گشتن درون خروجی این دستور نیز خودتان میدانید چه کنید! (اگر هم نمیدانید ابتدای مطلب را بخوانید)
دیدن اطلاعات در مورد گروه:
yum groupinfo groupname
این دستور نیز اطلاعاتی در مورد گروه مورد نظر (مانند بسته های موجود در آن) به شما خواهد داد.
نکته:
دستوراتی که مربوط به گروه هستند به اسم گروه نیاز دارند. حتما اسم گروهها را داخل گیومه ( همان ” ” ) قرار دهید. مثلا برای نصب گنوم از دستور زیر استفاده کنید:
yum groupinstall “GNOME Desktop Environment”
نکتهی دیگر در مورد سرعت دانلود است. میتوانید کاری کنید که yum بستهها را با استفاده از axel دانلود کند. برای این کار دو فایل این و این را دانلود کنید. فایلها را درون پوشهای قرار دهید. دستورات زیر را با مجوز root ( یا sudo یا su ) اجرا کنید:
/cp axelget.conf /etc/yum/pluginconf.d
/cp axelget.py /usr/lib/yum-plugins
برنامهی axel را نصب کنید:
yum install axel
از این به بعد دانلودهای yum با axel انجام میشوند. به همین راحتی!
اگه سوالی داشتید حتما ابتدا از فرمان man استفاده کنید.توضیحات کاملی در صفحات man وجود دارد
منبع : آشنایی با ابزارهای مدیریت بسته از طریق خط فرمان | Linux Review
-
تعداد تشکر ها از akbari به دلیل پست مفید
-
June 24th, 2011 18:13
# ADS