لینوکس

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

1

چطور این خطا رو رفع کنم؟ gpg: no valid OpenPGP data found

آواتار
سولماز رنجبر

واسه نصب docker engin روی اوبونتو

واسه این کد 

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg


 به این خطا برخورد کردم 

gpg: no valid OpenPGP data found

دستورات رو تک به تک هم وارد کردم باز خطا میده.


راه دومی که واسه حل این خطا امتحان کردم دستور 

sudo apt-get install ca-certificates

بود که خودش خطای 

Type '"deb' is not known on line 1 in source list /etc/apt/sources.list.d/docker.list

و
The list of sources could not be read.

رو میده.


آواتار
انصراف
2 پاسخ ها
3
بهترین پاسخ

در عمل این چندتا دستوری که وارد کردید کارهای متفاوتی رو انجام می‌ده که من سعی می‌کند در بخش های جداگانه توضیح بدم. اما اینکه واقعا این خطا برای چی رخ می‌ده باید گزینه‌های زیادی رو چک کنید. درک عملی که انجام می‌شه می‌تونه به شما کمک کنه که خطا رو زودتر پیدا کنید.

کپی یا ایجاد کردن فایل در لینوکس

دستور install در لینوکس نه تنها یک فایل رو کپی یا ایجاد می کنه بلکه خصوصیت‌هایی مثل حق دسترسی به اون رو تنظیم می‌کنه. بنابراین اولین دستوری که شما وارد کردید داره یه پوشه ایجاد می‌کنه و حق دسترسی خواندن و نوشتن توی این پوشه رو داره تعیین میکنه. پس اول چک کنید که این دستورد داره دقیقا کارش رو انجام می‌ده.

برای چک کردن کافی هست که به مسیری که تعیین کردید برید و فهرست پوشه‌های موجود رو چک کنید.

دانلود کردن در خط فرمان لینوکس

با استفاده از دستور curl شما می‌تونید توی خط فرمان یک فایل رو دانلود کنید. البته این دستور کاربردهای زیادی داره مثل ارسال درخواست به یه سرور. به یاد داشته باشید این دستور بر اساس پروتکل http کار می‌کنه و منظور ما از سرور اینجا همون سرورهای http هست.

قسمت اول دستور شما در خط دوم داره از مسیری که تعیین کردید یک فایل دانلود می‌کنه. این فایل یک کلید عمومی هست که برای تعیین صحت امضا فایل‌ها است. در حقیقت این کلید داره امنیت شما رو تامین می‌کنه. فایل رو شما دانلود کنید و مطمئن باشید در این مسیر این فایل موجود هست. متن فایل دانلودی شما باید یه چیزی شبیه به تصویر زیر باشه.


پایپ لاین‌ها در لینوکس

گاهی اوقات شما نیاز دارید که خروجی یک برنامه کاربردی رو به عنوان ورودی در برنامه‌های دیگه استفاده کنید. برای این کار بین دوتا دستور علامت | رو به کار می‌برن. شما در خط دوم این کار رو کردید و در عمل دو دستور رو به هم وصل کردید. خروجی دستور اول دانلود شدن یک فایل هست که در بالا توضیح دادیم. پس شما فایل رو دانلود و به دستور بعد ارسال کردید.

مدیریت کلید‌های عمومی و گواهی‌ها

در لینوکس OpenGPG یکی از معروف‌ترین ابزارها برای مدیریت کلید عمومی است. محل نگهداری کلیدهای مورد تایید و حتی کلیدهای خصوصی رو در این سیستم حلقه کلیدها یا KeyRings می‌گن. قسمت دوم دستور شما داره تلاش می‌کنه که کلیدی رو که از اینترنت دانلود کرده به عنوان کلید مورد تایید و قابل اعتماد به یک حقله کلید اضافه کنه. 

خطاهای معمول در این بخش این هست که حلقه کلید شما خراب شده باشه! یا اینکه کلیدی رو که دانلود کردید مشکل داشته باشه. باید هر دو مورد رو چک کنید.

خیلی خیلی امنیتی: اضافه کردن کلید جدید به این حلقه کلید این مجوز رو صادر می‌کنه که تمام نرم افزارهای امضا شده با این کلید مورد تایید هست و می‌تواند روی سیستم شما نصب شود. پس مطمئن باش چه  کلیدی را داری اضافه می‌کنی.

مدیریت حق دسترسی فایل‌ها

دستور اخر شما داره تعیین می‌کنه که فایل (ادرسش مشخص شده) چه حق دسترسی داره. از این دستور برای مدیریت دسترسی به فایل‌ها و پوشه‌ها استفاده می‌شود.

آواتار
انصراف
2
آواتار
سولماز رنجبر
بهترین پاسخ

برای رفع خطای دومی : یعنی: Type '"deb"' is not known on line 1 in source list /etc/apt/sources.list.d/docker.list

از دستور :

sudoedit /etc/apt/sources.list.d/docker.list

استفاده کردم و دوتا " در سطر اول فایل بود حذف کردم.

توجه کنید که هر دوتا باید حذف شود و اگر فقط اولی که کنار deb هست را حذف کنید باز خطای جدیدی تحت عنوان Malformed entry میدهد.


در تحلیل خطای ایجاد شده چند دستوری که با هم ثبت کرده بودیم را یکی یکی وارد میکنیم تا ببینیم کجا خطا داده. 

که متوجه میشویم این دستور خطا داده:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg 

چگونه از curl استفاده کنیم؟ curl یک ابزار خط فرمان است که به شما امکان ارسال درخواست های مختلف رو به سمت سرور میده. curl مخفف Client for URLs است.

پس در واقع دستور فوق میخواسته یک لینک را باز کند. 

واسه بررسی درستی لینک خود لینک رو در بروزر باز کردم که متوجه شدم بله ما تحریم هستیم. و برای دسترسی به این لینک باید فیلتر شکن روشن باشه. 

فیلتر شکن هم روشن کردم اما باز این دستور در ترمینال همون جواب قبلی رو میده. 


The requested URL returned error: 403

این خطای لینک هست 

که نتیجه جستجو بصورت زیر است

There are a few possible causes for this problem: You typed an incorrect password. Make sure you are using the correct GitHub password for the account. The Git client on the A2 Hosting server requires a modified HTTPS URL to work correctly.

و باید در گیت ثبت نام کرده باشیم.





خطای اول یعنی no valid OpenPGP data found.  هنوز رفع نشده. 

ممنون میشم اگه اطلاعاتی دارید راهنمایی کنید.

آواتار
انصراف