انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: عدم آپدیت یا آپگرید از طریق دستورات در کنسول(حل شد)  (دفعات بازدید: 1442 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین shahramlok

  • Sr. Member
  • *
  • ارسال: 299
  • جنسیت : پسر
درود من با دستورات آپدیت یا آپگرید تو کنسول برای من ارور میده لطفا راهنماییم کنید
« آخرین ویرایش: 10 فروردین 1401، 09:32 ب‌ظ توسط shahramlok »
لینوکس مورد استفاده مینیت

آفلاین BiG

  • High Hero Member
  • *
  • ارسال: 1609
  • Windows 7 - Windows xp - Windows 11
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #1 : 09 فروردین 1401، 10:19 ب‌ظ »
درود من با دستورات آپدیت یا آپگرید تو کنسول برای من ارور میده لطفا راهنماییم کنید
خب حداقل خروجی دستورات رو می گذاشتید.
خداحافظ لینوکس!

آفلاین Issac

  • Hero Member
  • *
  • ارسال: 890
  • جنسیت : پسر
    • Mastodon
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #2 : 10 فروردین 1401، 02:01 ق‌ظ »
درود، فقط با شبیه‌ساز پایانه «کنسول» این مشکل رو دارید؟
در دیگر شبیه‌سازهای پایانه مثل «پایانه گنوم» مشکلی ندارید؟
شاید با بستن و بازکردن دوباره برنامه، مشکلش حل بشه.
همچنین راه‌حل دیگه اینه که در زمانی دیگر دوباره امتحان کنید(مثلا ده دقیقه دیگه)
اگه راه‌حل بهتری میخواید؛ پس اطلاعات بیشتری باید در اختیار ما قرار بدید.

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

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #3 : 10 فروردین 1401، 02:22 ق‌ظ »
درود من با دستورات آپدیت یا آپگرید تو کنسول برای من ارور میده لطفا راهنماییم کنید
«عدم آپدیت یا آپگرید» چه مدل جمله‌س؟ خروجی دستورات کجان؟ ارورش چیه؟ توی این ۱۰ سالی که عضو این انجمن بودی چیکار می‌کردی؟! این چه پست سمی بود؟ 😵‍💫
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین shahramlok

  • Sr. Member
  • *
  • ارسال: 299
  • جنسیت : پسر
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #4 : 10 فروردین 1401، 12:54 ب‌ظ »
خروجی دستور
s
  • hahram@shahram-System-Product-Name:~$ sudo apt update
    Reading package lists... Done
    E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1924 (packagekitd)
    N: Be aware that removing the lock file is not a solution and may break your system.
    E: Unable to lock directory /var/lib/apt/lists/
لینوکس مورد استفاده مینیت

آفلاین ɴɪᴍᴀ

  • High Hero Member
  • *
  • ارسال: 1270
  • جنسیت : پسر
  • یه برنامه نویس 13 ساله :)
    • smartnima Website
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #5 : 10 فروردین 1401، 01:02 ب‌ظ »
این دستور رو تست کنید: kill -9 1924

آفلاین shahramlok

  • Sr. Member
  • *
  • ارسال: 299
  • جنسیت : پسر
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #6 : 10 فروردین 1401، 01:58 ب‌ظ »
این دستور رو تست کنید: kill -9 1924
shahram@shahram-System-Product-Name:~$ sudo apt update
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:2 http://ir.archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://ir.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://ir.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
8 packages can be upgraded. Run 'apt list --upgradable' to see them.
دوستان ۱ توکل بکنین مشکل من حل میشه ممنون
« آخرین ویرایش: 10 فروردین 1401، 02:10 ب‌ظ توسط shahramlok »
لینوکس مورد استفاده مینیت

آفلاین ɴɪᴍᴀ

  • High Hero Member
  • *
  • ارسال: 1270
  • جنسیت : پسر
  • یه برنامه نویس 13 ساله :)
    • smartnima Website
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #7 : 10 فروردین 1401، 02:24 ب‌ظ »
: )

لطفا یه ( حل شد ) به عنوان اضافه کنید.

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : عدم آپدیت یا آپگرید از طریق دستورات در کنسول
« پاسخ #8 : 10 فروردین 1401، 03:05 ب‌ظ »
نقل‌قول
دوستان ۱ توکل بکنین مشکل من حل میشه ممنون
حل شد دیگه بزرگوار ، ی پروسه مشغول کرده بود لاک اپت رو که ازاد شد ! حالا با sudo apt upgrade بسته هارو ارتقا بده !
آرچ و گنوم!

آفلاین shahramlok

  • Sr. Member
  • *
  • ارسال: 299
  • جنسیت : پسر
ممنون از همه دوستان
لینوکس مورد استفاده مینیت

آفلاین BiG

  • High Hero Member
  • *
  • ارسال: 1609
  • Windows 7 - Windows xp - Windows 11
لطفاً خروجی هارو با تگ کد نمایش بدید.
خداحافظ لینوکس!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
این دستور رو تست کنید: kill -9 1924
چرا آخه؟ این چه توصیهٔ بدیه؟ چرا حالا ‪-9‬؟ ۹۰٪ احتمال داره با زدن این دستور، دبگه توزیع بالا نیاد!
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
منم میخواستم این دستور رو پیشنهاد بدم بعد از دیدن خروجی ، اما گفتم شاید خطرناک باشه ، ولی وقتی نیما گفت ، کار کرد !
حالا چرا چنین مشکلی بوجود اومده بود و چجوری باید برطرف میشد ؟
« آخرین ویرایش: 12 فروردین 1401، 01:09 ق‌ظ توسط ㅤSUDOㅤ »
آرچ و گنوم!

آفلاین BiG

  • High Hero Member
  • *
  • ارسال: 1609
  • Windows 7 - Windows xp - Windows 11
این دستور رو تست کنید: kill -9 1924
چرا آخه؟ این چه توصیهٔ بدیه؟ چرا حالا ‪-9‬؟ ۹۰٪ احتمال داره با زدن این دستور، دبگه توزیع بالا نیاد!
چرا؟؟ مگه چی کار می کنه؟

جدا ازین موضوعات بنظرم کاش یک قابلیت توی انجمن بود که توی هر تاپیک ایجاد کننده تاپیک بتونه جواب درست رو علامت بزنه و این جواب های درست توی پروفایل کاربر پاسخ دهنده ذخیره بشه و به نسبت زمانی که توی انجمن فعالیت داشته و پست هایی که گذاشته و جواب های درستش، یک درصدی زیر اسمش بیاد که کاربر بدونه طرف مقابل تخصصی داره یا نه.
البته قصد توهین به شخص خاصی رو ندارم، ولی بالاخره ممکن بود به قیمت بالا نیومدن سیستم عامل تموم بشه.
« آخرین ویرایش: 12 فروردین 1401، 01:59 ق‌ظ توسط BiG »
خداحافظ لینوکس!

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
این دستور رو تست کنید: kill -9 1924
چرا آخه؟ این چه توصیهٔ بدیه؟ چرا حالا ‪-9‬؟ ۹۰٪ احتمال داره با زدن این دستور، دبگه توزیع بالا نیاد!
البته فکر کنم ۹۰٪ زیادی باشه. احتمالش کمتره.

چرا؟؟ مگه چی کار می کنه؟
هر برنامه که توی سیستم اجرا میشه، یه pid از طرف کرنل می‌گیره. pid 1 اولین پردازشی هست که کرنل اجرا کرده. توی اکثر سیستم‌ها، systemd این پردازش هست. البته معمولا اولین فایلی که کرنل از محیط کاربر (userspace) اجرا می‌کنه، فایل init توی روتِ initramfs هست که بعد از بالا اومدن سیستم، init system جایگزینش میشه.
خود کرنل هم چندین پردازش داره، تا حالا ندیدم pid اونها بیشتر از 1000 باشه. توی خروجی ps و بقیه دستورات میشه راحت تشخیصشون داد چون اسمشون بین [] نمایش داده میشه، اسم‌های عجیبی هم دارند، مثلا [kworker/1:0].
اینها رو نمیشه به همین راحتی متوقف کرد چون وظایف مهمی انجام میدند، مثل زمان بندی پردازش‌ها یا اجرای پردازش به صورت موازی و چیز‌های پایه مربوط به سخت‌افزار.
بارگذاری ماژول‌های مختلف می‌تونه باعث اضافه شدن به این پردازش‌ها بشه.

اگه یه برنامه متوقف بشه و بعد دوباره اجرا بشه، ممکنه یه pid دیگه بگیره. مثلا ممکنه فایرفاکس باز و pid اون 47894 باشه و بعد از بستن و باز کردن مجدد، pid اون بشه 37504. در واقعیت کم پیش میاد یه برنامه دوبار اجرا بشه و هر دوباره یه pid بگیره.

دستور kill برای متوقف کردن پردازش‌ها استفاده میشه. با دادن pid پردازش مورد نظر به دستور kill میشه اون رو متوقف کرد، اگه دسترسی لازم رو داشته باشید. اگه دسترسی متوقف کردن پردازش رو نداشته باشید، خطا می‌گیرید.

سیگنال‌های مختلفی هست که میشه به پردازش‌ها داد. با kill -l می‌تونید اونها رو ببینید. این سیگنال‌ها موقع کامپایل کرنل تنظیم میشن. هر کدوم از سیگنال‌ها یه شماره هم داره.

سیگنال SIGTERM باعث میشه پردازش کار‌های مربوط به بسته شدن رو انجام بده و در نهایت بسته بشه. البته پردازش می‌تونه این سیگنال رو نادیده بگیره و به کار خودش ادامه بده. شماره این سیگنال ۱۵ هست.

سیگنال SIGKILL باعث میشه همون موقع پردازش متوقف بشه. اجباری هم هست. معمولا نباید همون اول کار از این سیگنال استفاده کرد. اگه یه پردازش باید قبل از بسته شدن کار خاصی انجام بده، این سیگنال این اجازه رو بهش نمیده. وقتی که این سیگنال به یه پردازش فرستاده میشه، اون پردازش همون موقع متوقف میشه.
شماره این سیگنال ۹ هست.

البته برای pid 1 قضیه یکمی متفاوته. و sudo kill -9 1 معمولا باعث متوقف شدن init system نمیشه.

اگه سیگنال رو برای kill مشخص نکنید، به طور پیش‌فرض از SIGTERM استفاده می‌کنه. سیگنال رو میشه از طریق شماره اون و همینطور اسمش برای دستور kill مشخص کرد. برای اینکار باید شماره یا اسم سیگنال رو به عنوان یه آپشن کوتاه به دستور kill داد. مثلا اینجوری:
kill -15 1924
kill -SIGTERM 1924
دوتا دستور بالا معادل هم هستند. kill 1924 هم معادل دستورات بالا هست. اگه سیگنالی مشخص نشه، kill به طور پیش‌فرض سیگنال SIGTERM می‌فرسته.
دستورات بالا باعث میشه که پردازش 1924 متوقف بشه. البته پردازش می‌تونه اون رو نادیده بگیره و به کار خودش ادامه بده.

این دستورات معادل هم هستند و باعث میشه پردازش، همون موقع که سیگنال رو دریافت می‌کنه متوقف بشه:
kill -9 1924
kill -SIGKILL 1924

اینها نباید همون اول برای متوقف کردن پردازش‌ها استفاده بشن چون ممکنه پردازش وسط کار مهمی باشه و با اینکار یه مشکلی پیش بیاد.

در مورد مشکل این موضوع، packagekit داشته لیست مخازن رو بروزرسانی می‌کرده.
packagekit یه رابط برای مدیربسته‌های مختلف هست. اینجوری برنامه‌های مختلف و همینطور فروشگاه‌های برنامه (مثل gnome software center یا discover) می‌تونند برنامه‌ها رو از مخارن نصب کنند بدون اینکه لازم باشه پشتیبانی از یه مدیربسته خاص، مستقیم به برنامه اضافه بشه.
توی این مورد، در اصل packagit داشته چیزی شبیه apt update رو انجام میداده.
 
وقتی که یه چیزی داره با APT یا dpkg کار می‌کنه، یه فایل lock (یا ممکنه چنتا) قفل میشه تا اگه یه پردازش دیگه‌ای از APT یا dpkg خواست همون کار‌ها رو انجام بده، متوجه بشه.
محل ذخیره این فایل‌های lock بستگی به این داره که از کدوم قابلیت APT یا dpkg داره استفاده میشه. گرفتن اطلاعات در مورد بسته‌ها و اینجور کار‌ها باعث قفل شدن فایل‌های lock نمیشه.
کار‌هایی مثل بروزرسانی لیست مخازن، نصب و ارتقا یا حذف بسته‌ها باعث قفل شدن فایل‌های lock توسط APT یا dpkg میشه. مثلا موقعی که داره لیست مخازن بروزرسانی میشه، این فایل lock قفل میشه.
/var/lib/apt/list/lock
به این دلیل فایل‌های lock قفل میشن تا همزمان دوتا عملیات که ممکنه با هم تداخل داشته باشند، انجام نشه.
تا وقتی یه فایل lock قفله، یه پردازش دیگه از APT یا dpkg کاری که اون فایل lock بهش مربوط هست رو انجام نمیده.
مثلا اگه یه ترمینال باز کنید، sudo apt update رو بزنید و بعد توی یه ترمینال دیگه دوباره این دستور رو امتحان کنید، توی دومی خطا می‌گیرید. تا زمانی که اولی به اتمام نرسه (و فایل lock باز نشه) یه پردازش دیگه از APT لیست مخازن رو بروزرسانی نمی‌کنه.

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

اگه هر پردازشی به هر دلیلی متوقف بشه، (کلا بسته بشه) فایل‌هایی هم که باز کرده بسته میشن. در نتیجه اگه یه پردازش یکی از اون فایل‌های lock رو قفل کرده باشه ولی بعد متوقف بشه یا به پایان برسه اون فایل lock هم باز میشه.

اون دستور (kill -9 1924) پردازش 1924 رو همون موقع متوقف کرده. توی اون زمان، این پردازش مربوط به packagekit بوده. با اینکار فایل lock باز شده و پردازش‌های دیگه APT، می‌تونستند لیست مخازن رو بروزرسانی کنند.

بهتر بوده از kill 1924 استفاده میشده تا سیگنال SIGTERM فرستاده بشه. اینجوری اگه packagekit لازم میدیده که متوقف نشه، این اتفاق نمی‌افتاده.
ممکنه packagekit در حال نصب، حذف یا بروزرسانی بسته‌ها باشه. در این حالت نباید اون رو متوقف کرد چون باعث میشه اون عملیات وسط کار، متوقف بشه. در این حالت بسته‌ها درست نصب، حذف یا بروزرسانی نشدن و باعث میشه مدیربسته توی حالت خرابی قرار بگیره. معمولا در این حالت apt install -f یا dpkg --configure -a می‌تونه مشکل رو حل کنه.
ولی وضعیتی رو در نظر بگیرید که یکی از بسته‌های مهم مثل خود dpkg یا apt یا coreutils خراب شده باشند. در این حالت بعیده dpkg به همین راحتی وضعیت رو درست کنه.
ممکنه وضعیت بدتر هم باشه، اگه libc خراب بشه. در این حالت تقریبا همه برنامه‌ها با مشکل مواجه میشن. از خود bash تا دستورات ساده‌ای مثل rm یا mv. حتی init system هم ممکنه با مشکل مواجه بشه و کلا initramfs نتونه init system اصلی رو راه‌اندازی کنه. در این حالت یه پوسته اضطراری باز میشه ولی بعیده کاربر بتونه از طریق اون کار خاصی انجام بده.

نقل‌قول
جدا ازین موضوعات بنظرم کاش یک قابلیت توی انجمن بود که توی هر تاپیک ایجاد کننده تاپیک بتونه جواب درست رو علامت بزنه و این جواب های درست توی پروفایل کاربر پاسخ دهنده ذخیره بشه و به نسبت زمانی که توی انجمن فعالیت داشته و پست هایی که گذاشته و جواب های درستش، یک درصدی زیر اسمش بیاد که کاربر بدونه طرف مقابل تخصصی داره یا نه.
البته قصد توهین به شخص خاصی رو ندارم، ولی بالاخره ممکن بود به قیمت بالا نیومدن سیستم عامل تموم بشه.
انجمن شبیه stackoverflow یا askubuntu نیست. اینجا ممکنه یه رشته ارسال، کاربر رو به جواب برسونه. ممکنه چندین نفر کمک کنند تا مشکل حل بشه. توی askubuntu و stackoverflow معمولا اینجوری نیست.
« آخرین ویرایش: 26 تیر 1401، 06:15 ب‌ظ توسط Dragon- »
میدونید که زکات علم نشر آن است