در آموزش‌های قبل، نحوه فشرده‌سازی و باز کردن فایل‌های gz را بررسی کرده‌ایم. ( فشرده سازی فایل ها با استفاده از gzip  و  چگونه فایل های gz را باز کنم؟ ) حال میخواهیم یک مشکل متداول در باز کردن فایل‌های gz را مورد بررسی قرار دهیم.
مسئله: می‌خواهیم یک فایل به عنوان مثال MyFile.tar.gz را از حالت فشرده خارج کنیم؛ که فرمت این فایل شبیه به یک فایلی است که با فرمت gzip فشرده شده است. اما در حین استخراج، با خطای “gzip stdin not in gzip format” روبرو ‌‌می‌شویم که به صورت زیر است:

gunzip access-2.log.gz  
gzip -d access-2.log.gz
 

این خطا نشان ‌‌می‌دهد که فایل با فرمت gZip فشرده نشده است. پس این فایل به چه فرمتی است؟ برای فهمیدن، دستور"file" را روی آن اجرا ‌‌می‌نماییم:

file MyFile.tar.gz
MyFile.tar.gz: POSIX tar archive (GNU)

دلیل:

دلیل خطا کاملاً مشخص است. اگرچه این فایل، یک فایل با فرمت gzip نیست؛ بدین معنی که به هیچ وجه با فرمت gzip فشرده نشده است و بلکه در عوض با استفاده از دستور tar فشرده شده و سپس به دلایلی نام آن تغییر یافته است.
به عنوان مثال شاید سازنده فایل خواسته است یک دایرکتوری را با فرمت gzip فشرده کند، لیکن نتوانسته این کار را انجام دهد؛ چراکه برای این کار، دایرکتوری ابتدا باید با استفاده از tar بایگانی شود.
راه حل: از آنجا که این یک فایل با فرمت gzip نبوده است، یک دستور tar ساده می تواند آن را از حالت فشرده استخراج نماید:

tar xvf MyFile.tar.gz

بنابراین شما نیز اینگونه این مشکل را برطرف ‌‌نمایید: ابتدا دستور file  را روی فایل خود اجرا کرده و ببینید نوع فایل بایگانی چیست؟
اگر فایل شما نیز در قالب بایگانی POSIX tar است، ‌‌می‌توانید از همان دستوری که در مثال بالا استفاده کردیم، شما نیز استفاده نمایید.
اما اگر به فرمت دیگری از فرمت‌‌های بایگانی شده بود، باید دستور مناسب آن فرمت را برای استخراج آن اجرا کنید. شما باید کمی در اینترنت جستجو کنید تا بفهمید چگونه ‌‌می‌توانید آن نوع خاص فایل بایگانی را استخراج نمایید. اگر حتی کمی تجربه با دستورات لینوکس داشته باشید نباید کار سختی باشد.

 

منبع: How to solve: stdin: not in gzip format