pooia
pooia
خواندن ۱ دقیقه·۳ سال پیش

حذف فایل ld-linux و مشکلاتش

چند روز پیش سعی داشتم که adobe flash player را در Ubuntu 20.4 نصب کنم. برای همین باید نصب اشتباه قبلی را حذف می‌کردم. وارد دایرکتوری lib64/ که شدم یک فایل بود و یک دایرکتوری به نام flash-plugin.

من هم آن فایل را به نام ld-linux-...-2.so. را جز‌ءی از flash player در نظر گرفتم و آن هم حذف کردم. غافل از اینکه آن فایل مسئول کابخانه‌های پویا (dynamic libraries) سیستم بود. (اگر نمی‌دانید چیست جستجو کنید. ما در لینوکس فایل‌های اجرایی را یا به صورت static یا به صورت dynamic داریم)

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

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

برای همین اقدام به نصب Ubuntu روی یک partition دیگری کردم و اطلاعات آن سیستم دیگر را با mount کردن روی Ubuntu جدید آوردم.

چند روز بعد این فکر به ذهنم رسید که چرا نتوانم با Ubuntu سالم فایل خراب را تعمیر کنم؟ پس سیستم خراب را mount کردم و فایل ld-linux آن را در این گذاشتم (یا شاید این را در آن گذاشتم) و بعد... کار کرد.

من در طی آن مشکل چند چیز را فهمیدم:

  1. فایل ld-linux فایل اشتراکی کتابخانه‌های dynamic هست
  2. حالت TTY نیاز به استفاده از کتابخانه‌های dynamic دارد.
  3. برنامه‌ی busybox به صورت static کار می‌کند.
dynamic libraryلینوکسlinux
درحال برنامه نویسی
شاید از این پست‌ها خوشتان بیاید