تا اینجا که با دستور YUM در آموزش های قبلی کار کردیم، حتماً کم و بیش با طریقۀ نصب نرم افزار یا همان بستۀ نرم افزاری آشنا شدید. اما در این قسمت که قسمت ۸۴ است می خواهیم به طور کامل با نصب، حذف و یافتن بستۀ نرم افزاری از مخازنی که به سیستم اضافه کردیم، با استفاده از دستور yum بپردازیم. ناگفته پیداست که این آموزش را باید حتماً به طور کامل درک کنید. چون قبل از اینکه ما خواسته باشیم از هر بستۀ نرم افزاری یا سرویس روی سرور لینوکس CentOS خود استفاده کنیم، اول باید آن را نصب کنیم.
نصب بستۀ نرم افزاری با YUM
بسته های نرم افزاری در RedHat و CentOS به صورت RPM هستند. کار کردن با این بسته ها را به واسطۀ دستور YUM انجام می دهیم. YUM برای ما متعلقات نرم افزاری را هم به صورت خودکار پیدا و نصب می کند. پس کار ما را خیلی راحت می کند. اما همانطور که حتماً می دانید ما برای نصب یک نرم افزار روی سرور لینوکس خود باید از دستور yum به همراه گزینۀ install استفاده کنیم.
yum install package-name
در دستور بالا شما باید به جای package-name نام هر بستۀ نرم افزاری که قصد نصب شدنش را دارید وارد کنید. هر بسته یک نام کاملاً مشخص دارد که باید از آن نام برای نصب و حذف کردنش استفاده کنید. حالا اینکه این نام را از کجا به طور دقیق باید پیدا کیند، در ادامه به آن اشاره خواهم کرد.
با زدن دستور بالا در مرحله ای از شما تاییدیه گرفته خواهد شد که آیا مطمئنید که می خواهید این بسته ها را به همراه متعلقاتشان که برای اجرا شدن ضروری هستند نصب کنید؟ شما باید y را از صفحه کلید بزنید تا ادامۀ مراحل انجام گیرد. اگر همین جا از انجام نصب پشیمان شدید، کافی است n را بزنید.
جالب اینجاست که شما به طور همزمان قادرید چندین بستۀ نرم افزاری را نصب کنید. پس بعد از نوشتن دستور yum install کافی است یکی یکی نام بسته های نرم افزاری را به همراه یک فاصله بنویسید و Enter را بزنید.
yum install wget yum-utils
در دستور بالا ما دو بستۀ نرم افزاری wget که برای دانلود از اینترنت استفاده می شود و yum-utils که ابزارک های جانبی نرم افزار yum است، را نصب می کنیم. در نصب همزمان تعداد بسته های نرم افزاری محدودیتی وجود ندارد و همچنین ترتیب آنها هم در نصب تاثیری نخواهد داشت.
نکته: دقت داشته باشید که در استفاده از دستور YUM باید حتماً سرور شما تنظیمات شبکه اش به درستی انجام شده باشد. همچنین به اینترنت هم متصل شده باشد. به این دلیل که بسته های نرم افزاری از روی مخازن نرم افزاری لینوکسی دریافت و سپس روی سیستم شما نصب می شوند.
حذف بستۀ نرم افزاری با YUM
در طول مدیریت سرور، امکان دارد به این نتیجه برسید که به یک نرم افزار روی سرور نیازی ندارید. پس باید آن را حذف کنید. برای حذف کردن یک نرم افزار هم می توانید از دستور yum به همراه گزینۀ remove بهره ببرید.
yum remove package_name
بعد از زدن دستور بالا باید با y ادامۀ عملیات را تایید کنید. ولی اگر خواسته باشید تایید کردن را همان اول کار انجام دهید، باید از مشخصۀ y- در دستور yum به ترتیب زیر استفاده کنید. از همین ترفند هم می توانید برای نصب بسته های نرم افزاری بدون تایید ثانویه استفاده کنید.
yum -y remove package_name
برای حذف کردن چندین بستۀ نرم افزاری به طور همزمان هم می توانید از همان ساختاری که در نصب نرم افزارها با yum وجود داشت بهره ببرید.
yum remove package_name1 package_name2 package_name3
یافتن بستۀ نرم افزاری با YUM
حالا می رسیم به یافتن نام کامل یک بستۀ نرم افزاری که قصد داریم آن را نصب کنیم یا حالا اطلاعات بیشتری از آن دریافت کنیم. اگر نام دقیق یک بستۀ نرم افزاری را نمی دانید و قصد نصب کردن آن را دارید، باید از گزینۀ search استفاده کنید.
yum search keyword
به جای keyword هم باید کلمۀ کلیدی که مرتبط با آن بستۀ نرم افزاری است را جایگزین کنید. جستجوی کلمۀ کلیدی حتی در توضیحات بسته های نرم افزاری هم انجام می شود. پس جستجو به طور کامل در تمامی مخازن پیش فرض همچنین در مخازن نرم افزاری که شما بعدها اضافه کردید انجام خواهد شد.
# yum search get Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.softaculous.com * extras: mirror.daniel-jost.net * updates: mirror.wiuwiu.de =============================== N/S matched: get ================================ anaconda-widgets.x86_64 : A set of custom GTK+ widgets for use with anaconda anaconda-widgets-devel.x86_64 : Development files for anaconda-widgets bpg-algeti-fonts.noarch : Algeti Family of BPG Georgian Fonts bwidget.noarch : Extended widget set for Tk gettext-common-devel.noarch : Common development files for gettext gettext-devel.i686 : Development files for gettext gettext-devel.x86_64 : Development files for gettext gettext-libs.i686 : Libraries for gettext gettext-libs.x86_64 : Libraries for gettext gnome-getting-started-docs.noarch : Help a new user get started in GNOME gnome-getting-started-docs-cs.noarch : Czech translations for : gnome-getting-started-docs videos gnome-getting-started-docs-de.noarch : German translations for : gnome-getting-started-docs videos gnome-getting-started-docs-es.noarch : Spanish translations for : gnome-getting-started-docs videos gnome-getting-started-docs-fr.noarch : French translations for : gnome-getting-started-docs videos gnome-getting-started-docs-gl.noarch : Galician translations for : gnome-getting-started-docs videos gnome-getting-started-docs-hu.noarch : Hungarian translations for : gnome-getting-started-docs videos gnome-getting-started-docs-it.noarch : Italian translations for : gnome-getting-started-docs videos gnome-getting-started-docs-pl.noarch : Polish translations for : gnome-getting-started-docs videos gnome-getting-started-docs-pt_BR.noarch : Brazilian Portuguese translations for : gnome-getting-started-docs videos gnome-getting-started-docs-ru.noarch : Russian translations for : gnome-getting-started-docs videos gnu-getopt.noarch : Java getopt implementation gnu-getopt-javadoc.noarch : Javadoc for gnu-getopt isdn4k-utils-vboxgetty.x86_64 : ISDN voice box (getty) libhugetlbfs-devel.i686 : Header files for libhugetlbfs libhugetlbfs-devel.x86_64 : Header files for libhugetlbfs libstoragemgmt-targetd-plugin.noarch : Files for targetd array support for : libstoragemgmt mgetty.x86_64 : A getty replacement for use with data and fax modems mgetty-voice.x86_64 : A program for using your modem and mgetty as an answering : machine nepomuk-widgets.i686 : Nepomuk Widgets nepomuk-widgets.x86_64 : Nepomuk Widgets nepomuk-widgets-devel.i686 : Developer files for nepomuk-widgets nepomuk-widgets-devel.x86_64 : Developer files for nepomuk-widgets ocaml-gettext-devel.x86_64 : Development files for ocaml-gettext perl-Locale-Maketext-Gettext.noarch : Joins the gettext and Maketext frameworks perl-gettext.x86_64 : Interface to gettext family of functions selinux-policy-targeted.noarch : SELinux targeted base policy targetcli.noarch : An administration shell for storage targets texlive-lua-alt-getopt.noarch : Process application arguments the same way as : getopt_long texlive-lua-alt-getopt-doc.noarch : Documentation for lua-alt-getopt PyOpenGL-Tk.noarch : PyOpenGL OpenGL Tk widget cheese-libs.i686 : Webcam display and capture widgets cheese-libs.x86_64 : Webcam display and capture widgets clutter-gtk.i686 : A basic GTK clutter widget clutter-gtk.x86_64 : A basic GTK clutter widget compat-libcap1.i686 : Library for getting and setting POSIX.1e capabilities compat-libcap1.x86_64 : Library for getting and setting POSIX.1e capabilities curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and : others) emacs-gettext.noarch : Support for editing po files within GNU Emacs emacs-gettext-el.noarch : Elisp source files for editing po files within GNU : Emacs
در نتیجۀ دستوری که در بالا شاهد هستید، ما نام تمامی بسته های نرم افزاری را می بینیم که در آن عبارت get موجود است. حالا که نام نرم افزار مد نظر خود را به طور دقیق پیدا کردیم، کافی است آن را با گزینۀ install دستور yum نصب کنیم. یا حتی از آن هم بهتر؛ اول با گزینۀ info از دستور yum اطلاعات بیشتری از آن کسب نماییم.
yum info wget
# yum info wget.x86_64 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.softaculous.com * extras: mirror.daniel-jost.net * updates: mirror.wiuwiu.de Installed Packages Name : wget Arch : x86_64 Version : 1.14 Release : 13.el7 Size : 2.0 M Repo : installed From repo : base Summary : A utility for retrieving files using the HTTP or FTP protocols URL : http://www.gnu.org/software/wget/ License : GPLv3+ Description : GNU Wget is a file retrieval utility which can use either the HTTP : or FTP protocols. Wget features include the ability to work in the : background while you are logged out, recursive retrieval of : directories, file name wildcard matching, remote file timestamp : storage and comparison, use of Rest with FTP servers and Range with : HTTP servers to retrieve files over slow or unstable connections, : support for Proxy servers, and configurability.
اگر هم خواسته باشید فهرستی از متعلقات نرم افزاری مربوط به همین بسته را به دست آورید، باید از گزینۀ deplist دستور yum استفاده نمایید.
yum deplist package_name
پس شما تا اینجا به طور کامل با دستور yum برای نصب، حذف و یافتن بسته های نرم افزاری لینوکس آشنا شدید. البته باید دقت داشته باشید که در برخی از مواقع که شما بسته ای را می خواهید نصب کنید و سیستم به شما خطا می دهد، به این دلیل است که شما مخزن نرم افزاری یا همان Repository ای که حاویِ آن بستۀ نرم افزاری است را به سیستم اضافه نکردید. در مقاله های گذشته راجع به Repository صحبت شد. در دو آموزش بعدی هم راجع به آنها بیشتر بحث می کنیم که شما را از هر نظر مجهز کنیم.
امیدوارم که این مقالۀ آموزشی هم به درد شما خورده باشد و توانسته باشم اندکی به شما کمک کنم. با آموزش های بعدی از کانفیگ سرور لینوکس همراه با وبنولوگ و بنده باشید.
مثل همیشه مطالب هاتون عالی و کاربردی هستند، خسته نباشید
دمتون گرم 🙂