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

کمک و پشتیبانی => انجمن عمومی => نویسنده: عرفان خیراللهی در 09 خرداد 1401، 05:20 ب‌ظ

عنوان: هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: عرفان خیراللهی در 09 خرداد 1401، 05:20 ب‌ظ
سلام
در توزیع Debian Unstable با میزکار KDE هنگام نصب هر بسته‌ای با apt این هشدار را دریافت می‌کنم:

                                                                       
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_TIME = "az_IR.UTF-8",
        LC_MONETARY = "en_US.UTF-8",
        LC_ADDRESS = "en_US.UTF-8",
        LC_TELEPHONE = "en_US.UTF-8",
        LC_NAME = "en_US.UTF-8",
        LC_MEASUREMENT = "en_150.UTF-8",
        LC_IDENTIFICATION = "en_US.UTF-8",
        LC_NUMERIC = "en_US.UTF-8",
        LC_PAPER = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory


آیا چیزی در نرم‌افزارهای من اشکال دارد؟
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان
ارسال شده توسط: ɴɪᴍᴀ در 09 خرداد 1401، 05:37 ب‌ظ
اول sudo locale-gen "en_US.UTF-8"بعد sudo dpkg-reconfigure localesرو بزنید.
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان
ارسال شده توسط: Dragon- در 09 خرداد 1401، 05:50 ب‌ظ
اولی لازم نیست. همون دومی کافیه. هرچند با توجه به اینکه همیشه این اخطار رو می‌گیرید فکر کنم اصلا بسته locales نصب نیست. اگه dpkg-reconfigure گفت که چنین بسته‌ای نصب نیست، اول نصبش کنید و بعد دوباره dpkg-reconfigure رو اجرا کنید.
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان
ارسال شده توسط: عرفان خیراللهی در 09 خرداد 1401، 07:02 ب‌ظ
سپاسگزارم.
بستهٔ locales نصب است. به‌نظر دستور locales-gen هم به‌درستی کار می‌کند. خروجی آن چنین است:
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

هنگام dpkg-reconfigure هر گزینه‌ای را که انتخاب می‌کنم، چنین پیامی دریافت می‌کنم:
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory

Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_TIME = "az_IR.UTF-8",
        LC_MONETARY = "en_US.UTF-8",
        LC_ADDRESS = "en_US.UTF-8",
        LC_TELEPHONE = "en_US.UTF-8",
        LC_NAME = "en_US.UTF-8",
        LC_MEASUREMENT = "en_150.UTF-8",
        LC_IDENTIFICATION = "en_US.UTF-8",
        LC_NUMERIC = "en_US.UTF-8",
        LC_PAPER = "en_US.UTF-8",
        LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_TIME = "az_IR.UTF-8",
        LC_MONETARY = "en_US.UTF-8",
        LC_ADDRESS = "en_US.UTF-8",
        LC_TELEPHONE = "en_US.UTF-8",
        LC_NAME = "en_US.UTF-8",
        LC_MEASUREMENT = "en_150.UTF-8",
        LC_IDENTIFICATION = "en_US.UTF-8",
        LC_NUMERIC = "en_US.UTF-8",
        LC_PAPER = "en_US.UTF-8",
        LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

باز هم هنگام نصب بسته‌ها این هشدار دیده می‌شود.
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان
ارسال شده توسط: عرفان خیراللهی در 09 خرداد 1401، 07:11 ب‌ظ
مشکل برطرف شد!

به‌نظر مشکل از تنظیم شل بود. با زدن این دستورها مشکل برطرف شد:
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

البته با اجرای دوبارهٔ ترمینال، تنظیم‌ها از بین می‌رفت و لازم بود در فایل تنظیمات شل اضافه شود. برای من که از شل fish استفاده می‌کنم، یک فایل در مسیر زیر ایجاد کردم و این دستورها را در آن گذاشتم.
~/.config/fish/conf.d
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: Dragon- در 09 خرداد 1401، 08:20 ب‌ظ
مشکل حل نشده. اگه با یه کاربر دیگه امتحان کنید همینجوری هست.
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: عرفان خیراللهی در 10 خرداد 1401، 01:08 ق‌ظ
همین‌طوره. ولی من حتی نفهمیدم مشکل از چیه!
همه‌چیز که به‌درستی کار می‌کنه! پس چرا این می‌گه لوکال انگلیسی رو نمی‌تونه پیدا کنه؟

شاید این مشکل از این‌جا به وجود آمده که من اول debian testing نصب کرده بودم و بعد تبدیلش کردم به unstable. شاید بسته‌ای تداخل داشته هنگام نصب.
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: Dragon- در 10 خرداد 1401، 02:10 ق‌ظ
به نظر میاد بسته locales مشکل داره.
اول خروجی این دستورات رو قرار بدید.
cat /etc/locale.gen
cat /etc/default/local
locale
عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: عرفان خیراللهی در 10 خرداد 1401، 05:17 ب‌ظ

~ $ cat /etc/locale.gen | grep '^[^#]'
en_US.UTF-8 UTF-8

~ $ cat /etc/default/local
cat: /etc/default/local: No such file or directory

~ [1]$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
~ $

عنوان: پاسخ : هشدار locale هنگام نصب بسته در دبیان (حل شد)
ارسال شده توسط: Dragon- در 11 خرداد 1401، 03:40 ب‌ظ
قبل از اینکه ادامه بدید، بهتره یه پشتیبان بگیرید تا اگه مشکلی پیش اومد، بتونید به حالت قبل برگردید.
اول دوتا فایل locale.gen توی /etc/ و locale توی /etc/default/ رو پاک کنید.
sudo rm /etc/local.gen /etc/default/locale
الان بسته locales رو دوباره نصب کنید.
sudo apt install --reinstall locales
در آخر بسته locales رو با dpkg-reconfigure دوباره پیکربندی کنید.
sudo dpkg-reconfigure locales
در نهایت با یه کاربر دیگه امتحان کنید که درست شده یا نه.