منبع اصلی نوشتار زیر در این لینک قرار دارد

نحوه رفع خطای FILENAME exists in Filesystem در Arch Linux

حتما با مدیر بسته قدرتمند آرچ لینوکس آشنایی دارید . Pacman یکی از قدرتمندترین مدیر بسته های موجود میباشد که طعم ویژه ای را به آرچ افزوده است .

یکی از مشکلاتی که در هنگام به روز رسانی بسته ای و یا به روز رسانی کامل سیستم ممکن است رخ دهد ٬ مواجه شدن با خطای FILENAME exists in Filesystem میباشد که به جای Filename نام فایلی ذکر شده است و بروز این مشکل بیشتر در هنگام اولین Update سیستم مشهود است .

در ادامه قصد داریم شما را با دلیل بروز این مشکل و نحوه برطرف ساختن آن آشنا کنیم . با ما همراه باشید .

نحوه برطرف سازی خطای FILENAME exists in Filesystem در مدیر بسته Pacman آرچ لینوکس .

چرا ؟ دلیل بروز این خطا چیست ؟

پس از نصب آرچ لینوکس تعداد زیادی Package ٬ بسته به نسخه آرچ لینوکس شما بر روی نصب خواهند شد و هر یک از این بسته ها تعداد زیادی فایل را به همراه خود ایجاد خواهند کرد .

اکنون در نظر بگیرید پس از نصب آرچ قصد آپدیت سیستم را داریم که پیشنهاد میشود ابتدا پکمن را به روز رسانی نمایید ( نوعی آپدیت انتخابی ) و به این بروزرسانی پاسخ مثبت میدهیم اما در هنگام نصب با خطای FILENAME exists in Filesystem مواجه میشویم .

دلیل بروز خطا این است که پکمن ( در مثال ما ) قصد ایجاد یک فایل را دارد که این فایل از قبل روی سیستم شما موجود است ٬ اما چطور ممکن است ؟ به احتمال قوی این فایل توسط بسته ای دیگر که پیش تر بر روی سیستم نصب شده ٬ ایجاد شده است و درواقع ما با یک باگ تداخلی بسیار ساده رو به رو شده ایم که 99٪ در نسخه جدید برنامه هایی که دچار تداخل هستند رفع شده است .

راه حل : در این قسمت به بیان روش هایی برای برطرف نمودن این مشکل خواهیم پرداخت .

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

filesystem: /etc/mtab exists in filesystem

و یا :

initscripts: /etc/profile.d/locale.sh exists in filesystem

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

روش نخست :

با استفاده از دستور زیر ابتدا بسته ی سازنده فایل ذکر شده در خطا را پیدا کنید :

pacman -Qo /path/to/file

خروجی باید مشابه زیر باشد :

owned by package-name version

سپس بسته ذکر شده در خروجی را به تنهایی به روز رسانی نمایید :

pacman -S package-name

حال مجددا برای آپدیت بسته ای که در فرایند آن با خطا مواجه شده بودید را اقدام نمایید .

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

روش دیگر :
با دستور زیر اطلاعاتی پیرامون بسته ای که تداخل ایجاد نموده است به دست آورید :

sudo pacman -Qi pkg-name

آیا این بسته مورد نیاز سیستم است ؟ آیا عملکرد بسته دیگری به وجود این بسته وابسته است ؟ در نهایت وجود این بسته ضروریست یا خیر ؟ اگر پاسخ شما منفی بود میتوانید بسته مورد نظر را حذف نموده تا مشکل حل شود در غیر این صورت روش بعدی را امتحان نمایید .

راه حل پایانی :
این روش مشکل را برطرف میسازد ولی قطعا در عملکرد بسته ای که سازنده فایل های ذکر شده در خطا میباشد اختلال ایجاد خواهد کرد : کافیست فایل یا فایل ها را Rename نمایید .

مورد ویژه ( خطای filesystem: /etc/mtab exists in filesystem ) :

در صورت بروز این خطا برای رفع مشکل در ترمینال وارد نمایید :

pacman -S filesystem --force

مورد ویژه ( initscripts: /etc/profile.d/locale.sh exists in filesystem )

در این مورد برای رفع مشکل کافیست فایل locale.sh را حذف نمایید .

rm /etc/profile.d/locale.sh

موفق و پیروز باشید .

نکته مهم : در صورتی که با خطای filesystem: /etc/mtab exists in filesystem و یا initscripts: /etc/profile.d/locale.sh exists in filesystem مواجه هستید به انتهای مقاله رفته و با استفاده از روش های ویژه این دو خطا مشکل را بر طرف نمایید .



برچسب ها : , , , , , ,

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد