سلام. حدود یکی دو هفته هست که نمیتونم لیست پکیج های اوبونتو 22.04 رو آپدیت کنم(با دستور sudo apt update) چون نمیتونه به سایت های مایکروسافت و داکر متصل بشه.
همچنین بازهم مدتی هست که نمیتونم push و pull به گیت هاب داشته باشم.(بعد از چند دقیقه فقط یک خطا مینویسه)
خطایی که برای بروز رسانی پکیچ ها میده این هست:
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/InRelease Could not wait for server fd - select (11: Resource temporarily unavailable) [IP: 208.110.86.68 443]
W: Failed to fetch https://packages.microsoft.com/repos/code/dists/stable/InRelease Could not wait for server fd - select (11: Resource temporarily unavailable) [IP: 104.214.230.139 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
آیا شخص دیگه ای هم هست که این مشکل رو داشته باشه؟ کسی ایدهای برای حلش داره؟
دو راه حل غیر اصولی که برای نصب و بروز رسانی نرم افزار از طریق راهنماهایی که در پست های زیر شد رو اینجا مینویسم.راه حل اول: نخست یک پروکسی socks5 از طریق این لینک
https://www.digitalocean.com/community/tutorials/how-to-set-up-dante-proxy-on-ubuntu-20-04 بسازید و بعد نرم افزار privoxy رو نصب کنید و فایل تنظیمات اون که احتمالا در مسیر زیر هست رو باز کنید و این دو خط زیر رو به اون اضاف کنید:
/etc/privoxy/config
forward-socks4 / [username:password]@socks_proxy[:port] .
forward-socks5 / [username:password]@socks_proxy[:port] .
برای اطلاع از این که این ها چه مقادیری باید بگیرند میتوانید به این لینک(
https://www.privoxy.org/user-manual/config.html#SOCKS) مراجعه کنید.
اما باز هم اینجا به طور خلاصه میگم; نام کاربری و پسورد دلخواه هستند و اگر دوست دارید که با نام کاربری خاصی به Socks5 proxy متصل بشید میتونید اون نام کاربری رو وارد کنید. socks_proxy آدرس IP مربوط به پراکسی است و اگر پراکسی روی کامپیوتر خودتون هست, احتمالا بتونید مقدار localhost رو به این اختصاص بدید. Port هم پورتی هست که مربوط به Socks5 هست و اگر آموزش مربوط به راه اندازی Socks5 proxy رو دنبال کرده باشید, مقدار اون 1080 خواهد بود. بعد از انجام این کارها برای بروز رسانی لیست پکیج ها از دستور زیر استفاده کنید:
sudo apt update -o Acquire::http::proxy="http://127.0.0.1:8118"
با انجام این دستورات باز احتمالا برای اتصال به مخازنی که از پروتکل https استفاده میکنه به مشکل بر میخورید. من برای حل این مشکل, مخازنی که دستور apt نمیتونست به اون ها متصل بشه و از پروتکل https استفاده میکردند رو به پروتکل http تغییر دادم بدین صورت که مخازنی که در ادرس های زیر بودند رو گشتم و هر کدوم از اون ها از https استفاده میکردند و مشکل ساز بودند رو بوسیله ویرایشگر متنی به http تغییر میدادم.(توجه کنید که آدرس ها برای ubuntu هست)
/etc/apt/sources.list
/etc/apt/sources.list.d/
حال اگر دوباره دستوری که گفته شد رو اجرا کنید, احتمالا به مشکل برنخورید.
sudo apt update -o Acquire::http::proxy="http://127.0.0.1:8118"
راه حل دوم: راه حل ساده تر و باز هم مثل راه حل اول, غیر اصولی این هست که برید به همین آدرس هایی که در بالا نوشتم و پروتکل آدرس هر مخزنی که از https استفاده میکرد رو به http تغییر بدید.
و فقط دستور اپدیت رو اجرا کنید:
sudo apt update