شاید تا به حال در هنگام کار با نسخههای ۶ تا ۸ سیستم عامل سنت او اِس (CentOS) یا رد هت لینوکس (Red Hat Linux) ، با مشکل پیدا نشدن ابزار تار (tar)مواجه شده باشید و بخواهید حتماً این ابزار را با نوار فرمان یام (Yum) نصب کنید. مطلب کنونی که در ادامه میآید، پاسخی برای شما خواهد بود. با ما همراه باشید.
GNU tar یک بسته نرمافزاری رایگان و متنباز است که برای آرشیو کردن فایلها مورد استفاده قرار میگیرد. امّا شاید این ابزار در سیستم شما نصب نشده باشد و در ادامه میخواهیم نحوه نصب آن را در توزیعهای لینوکس سنت او اِس یا رد هت به شما نشان دهیم:
روند کار نصب tar در لینوکس رد هت اینترپرایز به صورت زیر خواهد بود:
۱) برنامه ترمینال را باز کنید.
۲) برنامه tar را جستجو کنید و فرمان sudo yum search tar را اجرا نمایید.
۳) با اجرای فرمان sudo yum install tar، برنامه tar را روی سیستمعامل نصب کنید.
۴) سپس با اجرای فرمان sudo yum update tar، برنامه tar را در این توزیعهای سیستمعامل لینوکس بروزرسانی کنید.
در ادامه، جزئیات کامل تمام فرمانها و یک مثال در این زمینه را بررسی خواهیم کرد.
چگونه از Yum برای نصب ابزار tar استفاده کنیم؟
برنامه ترمینال را باز کنید و یا با استفاده از یک کلاینت ssh وارد شده و فرمان Yum زیر را تایپ کنید تا روند نصب ابزار tar بر روی CentOS/RHEL 6/7/8 آغاز شود.
sudo yum search tar
خروجی نمونه:
<pre>Last metadata expiration check: 0:31:31 ago on Mon Dec 16 16:39:38 2019. =========================== Name Exactly Matched: tar ============================ tar.i686 : A GNU file archiving program tar.x86_64 : A GNU file archiving program ========================== Summary & Name Matched: tar =========================== libtar.i686 : Tar file manipulation API libtar.x86_64 : Tar file manipulation API python3-pylibravatar.noarch : Python module for Libravatar target-restore.noarch : Systemd service for targetcli/rtslib selinux-policy-targeted.noarch : SELinux targeted base policy targetcli.noarch : An administration shell for storage targets .... ... ... aespipe.x86_64 : AES-based encryption tool for tar/cpio and loop-aes imagemore mingw32-pkg-config.x86_64 : A tool for determining compilation options for the win32 target mingw64-pkg-config.x86_64 : A tool for determining compilation options for the win64 target mingw32-filesystem.noarch : MinGW cross compiler base filesystem and environment for the win32 target mingw64-filesystem.noarch : MinGW cross compiler base filesystem and environment for the win64 target icedtea-web.noarch : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation</pre>
دریافت اطلاعات در مورد بسته tar
فرمان زیر را در yum تایپ کنید:
sudo yum list tar
خروجی نمونه:
Last metadata expiration check: 0:32:48 ago on Mon Dec 16 16:39:38 2019. Available Packages tar.i686 2:1.30-4.el8 BaseOS tar.x86_64 2:1.30-4.el8 BaseOS>
فرمان زیر را اجرا کنید:
yum info tar.x86_64
خروجی نمونه:
Last metadata expiration check: 0:33:46 ago on Mon Dec 16 16:39:38 2019. Available Packages Name : tar Epoch : 2 Version : 1.30 Release : 4.el8 Arch : x86_64 Size : 838 k Source : tar-1.30-4.el8.src.rpm Repo : BaseOS Summary : A GNU file archiving program URL : http://www.gnu.org/software/tar/ License : GPLv3+ Description : The GNU tar program saves many files together in one archive and can : restore individual files (or all of the files) from that archive. Tar : can also be used to add supplemental files to an archive and to update : or list files in the archive. Tar includes multivolume support, : automatic archive compression/decompression, the ability to perform : remote archives, and the ability to perform incremental and full : backups. : : If you want to use tar for remote backups, you also need to install : the rmt package on the remote box.
نصب ابزار tar بر روی سیستمعاملهای CentOS یا RHEL
سرانجام به مرحله نصب ابزار tar بر روی سیستمعامل CentOS یا RHEL میرسیم:
sudo yum update sudo yum install tar
حالا که نصب ابزار tar در این توزیعهای لینوکس به اتمام رسیده، بیایید نسخه این بسته را بررسی کنیم. برای این منظور باید عبارت tar –version را تایپ کنید.
خروجی نمونه:
tar (GNU tar) 1.30 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason.
چگونه پس از نصب ابزار tar، از فرمان آن در لینوکس استفاده کنیم:
حالا که نصب ابزار tar در توزیع ردهت لینوکس انجام شده، بهتر است چند نمونه از فرمانهای tar را بررسی کنیم. فرمت دستوری به صورت زیر است:
tar [options] file
استخراج فایلهای یک آرشیو tar.gz
فرض کنید که یک آرشیو wordpress.tar.gz داشته باشید و بخواهید فایلهای آن را استخراج کنید. برای این منظور، فرمان زیر را اجرا کنید:
tar -xvzf wordpress.tar.gz
نمونه خروجی:
wordpress/ wordpress/xmlrpc.php wordpress/wp-blog-header.php wordpress/readme.html wordpress/wp-signup.php wordpress/index.php wordpress/wp-cron.php wordpress/wp-config-sample.php wordpress/wp-login.php wordpress/wp-settings.php wordpress/license.txt wordpress/wp-content/ wordpress/wp-content/themes/ wordpress/wp-content/themes/twentynineteen/ wordpress/wp-content/themes/twentynineteen/footer.php wordpress/wp-content/themes/twentynineteen/template-parts/ wordpress/wp-content/themes/twentynineteen/template-parts/content/ .... ... .... wordpress/wp-admin/widgets.php wordpress/wp-admin/setup-config.php wordpress/wp-admin/install.php wordpress/wp-admin/admin-header.php wordpress/wp-admin/post-new.php wordpress/wp-admin/themes.php wordpress/wp-admin/options-reading.php wordpress/wp-trackback.php wordpress/wp-comments-post.php
در اینجا از منظور از x فایلهای استخراجی، v خروجیهای وربوس، z کاری است که بر روی فایلهای فشرده انجام میشود و منظور از f فایل استخراجی با نام wordpress.tar.gz است.
چگونه فایلها را در یک دایرکتوری خاص استخراج کنیم؟
برای استخراج تمام فایلها به یک دایرکتوری خاص مانند /tmp/ از گزینه –C در فرمان tar استفاده کنید؛ به عنوان مثال:
tar -xvzf wordpress.tar.gz -C /tmp/
استخراج تنها یک فایل از tarball
فرض کنید که تنها فایل README.txt را بخواهید؛ برای این منظور، فرمان زیر را اجرا کنید:
tar -xvzf wordpress.tar.gz README.txt
این در حالی است که شخص میتواند با استفاده از پسوندها، مثلاً چند فایل txt یا php را به صورت همزمان استخراج کند:
</pre> tar -xvzf wordpress.tar.gz *.php tar -xvzf wordpress.tar.gz *.txt
نمونه خروجی:
</pre> wordpress/license.txt wordpress/wp-content/themes/twentynineteen/readme.txt wordpress/wp-content/themes/twentysixteen/readme.txt wordpress/wp-content/themes/twentysixteen/genericons/COPYING.txt wordpress/wp-content/themes/twentysixteen/genericons/LICENSE.txt wordpress/wp-content/themes/twentytwenty/readme.txt wordpress/wp-content/themes/twentyseventeen/readme.txt wordpress/wp-content/plugins/akismet/LICENSE.txt wordpress/wp-content/plugins/akismet/readme.txt wordpress/wp-includes/images/crystal/license.txt wordpress/wp-includes/ID3/license.commercial.txt wordpress/wp-includes/ID3/license.txt wordpress/wp-includes/ID3/readme.txt wordpress/wp-includes/js/tinymce/license.txt wordpress/wp-includes/js/swfupload/license.txt wordpress/wp-includes/js/plupload/license.txt <pre>
نحوه فهرستکردن و جستجوی محتوای آرشیو tar
از گزینه –ztvf به صورت زیر استفاده کنید:
tar -ztvf wordpress.tar.gz
خروجی نمونه:
drwxr-xr-x nobody/nogroup&nbsp;&nbsp;&nbsp; 0 2019-12-12 21:33 wordpress/ -rw-r--r-- nobody/nogroup 3150 2019-07-01 08:01 wordpress/xmlrpc.php -rw-r--r-- nobody/nogroup&nbsp; 369 2017-11-30 23:11 wordpress/wp-blog-header.php -rw-r--r-- nobody/nogroup 7368 2019-09-02 21:44 wordpress/readme.html -rw-r--r-- nobody/nogroup 31112 2019-09-03 00:41 wordpress/wp-signup.php -rw-r--r-- nobody/nogroup&nbsp;&nbsp; 420 2017-11-30 23:11 wordpress/index.php -rw-r--r-- nobody/nogroup&nbsp; 3955 2019-10-10 22:52 wordpress/wp-cron.php -rw-r--r-- nobody/nogroup&nbsp; 2898 2019-01-08 04:30 wordpress/wp-config-sample.php -rw-r--r-- nobody/nogroup 47597 2019-12-09 13:30 wordpress/wp-login.php -rw-r--r-- nobody/nogroup 19120 2019-10-15 15:37 wordpress/wp-settings.php -rw-r--r-- nobody/nogroup 19935 2019-01-01 20:37 wordpress/license.txt drwxr-xr-x nobody/nogroup&nbsp;&nbsp;&nbsp;&nbsp; 0 2019-12-12 21:33 wordpress/wp-content/ drwxr-xr-x nobody/nogroup&nbsp;&nbsp;&nbsp;&nbsp; 0 2019-12-12 21:33 wordpress/wp-content/themes/
استفاده از فرمان grep برای جستجوی یک فایل:
tar -ztvf wordpress.tar.gz | grep INSTALL.txt
چگونه یک آرشیو tarball ایجاد کنیم؟
فرمت کار به صورت زیر خواهد بود:
tar -cvf backups.tar /var/www/html/
اضافهکردن فشردگی با استفاده از gzip
tar -zcvf backups.tar.gz /var/www/html/
برای اضافهکردن فشردگی bzip2 و ساخت یک tarball، فرمان زیر را اجرا نمایید:
tar -jcvf backups.tar.bz2 /var/www/html/
همچنین امکان استخراج چنین فایلهایی با فرمت زیر وجود خواهد داشت:
tar -jxvf backups.tar.bz2 ## gzip compression ## tar -jxvf backups.tar.bz2 ## bzip2 compression ##
جمعبندی
در این مطلب، با نحوه نصب ابزار tar در نسخههای ۶ تا ۸ سیستم عامل سنت او اِس (CentOS) یا رد هت لینوکس (Red Hat Linux) با استفاده از فرمان yum آشنا شدید. برای کسب اطلاعات بیشتر میتوانید به صفحات راهنمای GNU/tar مراجعه کنید.