نحوه رفع خطای 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 مواجه هستید به انتهای مقاله رفته و با استفاده از روش های ویژه این دو خطا مشکل را بر طرف نمایید .