اطلاعیه

بستن
No announcement yet.

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

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

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

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

    ۱- pacman , aur , abs

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

    نصب با استفاده از pacman :
    برای این کار از سوییچ S- استفاده کنید. به این فرم :

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

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

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

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

    کد PHP:
     pacman -Ss searchterm 
    میتونید از * یا ؟ هم استفاده کنید. این دستور فقط اسم بسته ها را نشان خواهد داد و چیزی نصب نمی کند. برای نصب کردن بسته های پیدا شده از دستوری شبیه این استفاده کنید :

    کد PHP:
     (pacman -$(pacman -Ssq searchterm 
    فقط در نظر بگیرید که عبارت جستجو را بطور مناسب انتخاب کنید تا بسته های اضافی نصب نشوند.

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

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

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

    کد PHP:
     pacman -U filename 
    فقط در نظر بگیرید که باید اسم فایل را به جای filename بنویسید نه اسم برنامه یا بسته را. معمولا فایل ها پسوند tar.gz یا tar.xz دارند.

    دیدن بسته های نصب شده :
    برای این که بفهمید چه بسته هایی روی سیستم نصب هست از این دستور استفاده کنید.

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

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

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

    کد PHP:
    usr/bin/wget –passive-ftp --%%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 -/ -%%u/



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

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

    تنظیمات aria2 را نیز به همین شکل رها کنید. اگر میخواهید بیشتر بدانید به این صفحه رجوع کنید. در صورتی که مایل بودید می توانید به این تنظیمات، سوییچ های -s و -x را هم اضافه کنید تا فایل ها را به بخش های مختلفی تقسیم و دانلود کند. مثلا 6 s- و 6 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
    این برنامه مربوط به دبیان و اوبونتو و اکثر توزیع های برپایه ی این دو است (مثل مینت). طریقه ی کار با آن هم خیلی ساده است.

    نصب بسته :
    برای دانلود و نصب یک بسته از مخازن از دستور زیر استفاده کنید :

    کد PHP:
     apt-get install packagename 
    اگر می خواهید چند بسته را هم زمان نصب کنید اسم آن ها را با فاصله بنویسید.

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

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

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

    کد PHP:
     apt-get update 
    این دستور لیست تمام بسته های موجود را به روز میکند.

    به روز رسانی بسته ها :
    برای این که تمام بسته های نصب شده را به آخرین ورژن موجود در مخازن آپدیت کنید از این دستور استفاده کنید :

    کد PHP:
     apt-get upgrade 
    این دستورات ساده، برای کار کردن با این نرم افزار بودند. حال به بیان چند نکته می پردازیم.

    نکته :
    در دستوراتی که اسم بسته ها مورد نیاز هستند (نصب یا حذف) میتوانید از wildcards یعنی علامت هایی مثل * یا ؟ استفاده کنید. فرض کنید می خواهید تمام بسته هایی که با xfce شروع می شوند را نصب کنید. برای این کار از این دستور استفاده کنید :

    کد PHP:
      apt-get install xfce
    پارامتر d را زمانی به کار ببرید که می خواهید بسته ها را فقط دانلود کنید ولی نصب نکنید. مثلا این دستور :

    کد PHP:
     apt-get -d install example 
    بسته های مورد نیاز برای example را فقط دانلود می کند ولی چیزی نصب نمی شود.

    نکته ی دیگر در مورد محل نگه داری بسته های دانلود شده است. بسته های دانلود شده در محل /var/cache/apt/archives نگه داری می شوند. این محل بعد از مدتی شلوغ و حجیم خواهد شد. اگر مطمئن هستید که سیستم مشکلی ندارد و همچنین به بسته های دانلود شده نیاز ندارید از این دستور استفاده کنید تا محل cache پاکسازی شود :

    کد PHP:
     apt-get clean 
    این دستور تمام پکیج های موجود در محل cache را پاک میکند. همچنین دستور زیر هم کار مشابهی انجام خواهد داد :

    کد PHP:
     apt-get autoclean 
    فرق این دو دستور این است که دومی فقط بسته هایی را پاک می کند که دیگر در مخارن وجود ندارند (و احتمالا هم مورد نیاز نیستند).

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

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

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

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

    کد PHP:
     cp apt-fat /usr/bin 
    کد PHP:
     chmod +/usr/bin/apt-fast 
    توجه داشته باشید که این دستورات به مجوز root نیاز دارند.
    دستوری مفید که یکی از دوستان به آن اشاره کردند و برای حذف بسته های orphan ( بسته هایی که زمان زیادی پشتبانی از آن ها صورت نگرفته و احتمالا پر از باگ شده اند) میتواند به کار رود اینگونه است :

    کد PHP:
     (pacman -Rd $(pacman Qqtd 

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

    نصب با استفاده از zypper :

    کد PHP:
     zypper install packagenames 
    اگر خواستید می توانید به جای install فقط از in استفاده کنید.

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

    کد PHP:
     zypper remove packagenames 
    فکر نمی کنم نیاز به توضیح اضافه باشد. همچنین می توانید به جای remove از rm هم استفاده کنید.

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

    کد PHP:
     zypper refresh 
    گشتن به دنبال بسته ای خاص :

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

    کد PHP:
     zypper search packagename 
    دوم این که می توانید هر جا که اسم بسته ای را باید بنویسید از علائمی مثل ؟ یا * استفاده کنید.

    نصب سورس یک بسته :

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

    کد PHP:
     zypper source-install -D packagename 
    کد PHP:
     zypper source-install -d packagename 
    آپدیت بسته ها :

    کد PHP:
     zypper update 
    آپدیت سیستم :

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

    ۴-yum :
    این برنامه مدیریت بسته در توزیع فدورا است. کار کردن با این برنامه هم به سادگی برنامه های قبلی است.

    نصب بسته :

    کد PHP:
     yum install packagenames 
    حذف بسته :

    کد PHP:
     yum remove packagenames 
    آپدیت بسته ها :

    کد PHP:
     yum update 
    همچنین :

    کد PHP:
     yum upgrade 
    حذف بسته از cache :

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

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

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

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

    کد PHP:
     zypper search packagename 
    یا زمانی که می خواهید اسم بسته ای را بنویسید از علامت های ؟ یا * استفاده کنید.

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

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

    کد PHP:
     yum groupinstall groupname 
    آپدیت گروه :

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

    کد PHP:
     yum groupupdate groupname 
    حذف یک گروه :

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

    کد PHP:
     yum groupremove groupname 
    لیست کردن نام تمامی گروه ها :

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

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

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

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

    کد PHP:
     yum groupinstall “GNOME Desktop Environment” 
    نکته ی دیگر در مورد سرعت دانلود است. می توانید کاری کنید که yum بسته ها را با استفاده از axel دانلود کند. برای این کار دو فایل axelget.rar و linux.txt را دانلود کنید. فایل ها را درون پوشه ای قرار دهید. دستورات زیر را با مجوز root ( یا sudo یا su ) اجرا کنید :

    کد PHP:
     /cp axelget.conf /etc/yum/pluginconf.
    کد PHP:
     /cp axelget.py /usr/lib/yum-plugins 
    برنامه ی axel را نصب کنید :

    کد PHP:
     yum install axel 
    از این به بعد دانلودهای yum با axel انجام می شوند. به همین راحتی!

    اگه سوالی داشتید حتما ابتدا از فرمان man استفاده کنید.توضیحات کاملی در صفحات man وجود دارد .
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-13-2020, 03:44 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X