ডিপকনফ ব্যবহারের জন্য, dpkg-reconfigure কল করার আগে, আপনাকেও মুছে ফেলতে হবে /etc/localtime
এবং /etc/timezone
। এছাড়াও সম্ভাব্য অতিরিক্ত স্থান (আপনার প্রশ্নের মতো!) থেকে সাবধান থাকুন যা সৌম্য নয়।
সুতরাং "ডিবনফ উপায়" যে কাজ করে (ডেবিয়ান স্ট্রেচে) তা হ'ল:
echo "tzdata tzdata/Areas select Europe" | debconf-set-selections
echo "tzdata tzdata/Zones/Europe select Madrid" | debconf-set-selections
rm -f /etc/localtime /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
কারণটি হ'ল tzdata কনফিগার স্ক্রিপ্টটি স্মার্ট হওয়ার চেষ্টা করে এবং যদি এটি আগে কখনও কনফিগার করা হয় বা ব্যবহারকারী সময়সীমার সাথে ম্যানুয়ালি মিশ্রিত করে থাকে তবে অন্যরকম আচরণ করবে।
অতিরিক্ত
অনুরূপ সমস্যাটি নিজেই ডিবাগ করার জন্য, আপনি প্রথমে এটি করবেন:
export DEBCONF_DEBUG=developer
যা নিম্নলিখিত তথ্য সরবরাহ করবে:
# dpkg-reconfigure -f noninteractive tzdata
debconf (developer): starting /var/lib/dpkg/info/tzdata.config reconfigure 2018e-0+deb9u1
debconf (developer): <-- VERSION 2.0
debconf (developer): --> 0 2.0
debconf (developer): <-- CAPB backup
debconf (developer): --> 0 multiselect escape
debconf (developer): <-- SET tzdata/Areas Etc
debconf (developer): --> 0 value set
debconf (developer): <-- SET tzdata/Zones/Etc UTC
debconf (developer): --> 0 value set
debconf (developer): <-- INPUT high tzdata/Areas
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (developer): --> 0 ok
debconf (developer): <-- GET tzdata/Areas
debconf (developer): --> 0 Etc
debconf (developer): <-- INPUT high tzdata/Zones/Etc
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (developer): --> 0 ok
debconf (developer): starting /var/lib/dpkg/info/tzdata.postinst configure 2018e-0+deb9u1
debconf (developer): <-- VERSION 2.0
debconf (developer): --> 0 2.0
debconf (developer): <-- GET tzdata/Areas
debconf (developer): --> 0 Etc
debconf (developer): <-- GET tzdata/Zones/Etc
debconf (developer): --> 0 UTC
debconf (developer): <-- STOP
যা আপনি দেখাতে হবে এটি জোর সেটের তাদের জন্য ব্যবহারকারীকে জিজ্ঞাসা (সুতরাং মান আপনার সাথে সেট overwrite করার আগে আমাদের মান debconf-set-selections
)।
তারপরে আপনি শেবাং /var/lib/dpkg/info/tzdata.config
থেকে এটিকে পরিবর্তন #!/bin/sh
করতে #!/bin/sh -x
এবং প্রোগ্রামের প্রবাহকে অনুসরণ করবেন, যেখানে আপনি দেখতে পাবেন এটি এটি করে:
+ [ -L /etc/localtime ]
+ readlink /etc/localtime
+ TIMEZONE=/usr/share/zoneinfo/Etc/UTC
আপনি খুঁজছেন /var/lib/dpkg/info/tzdata.config
এটি পাবেন:
# If /etc/localtime is a link, update /etc/timezone
if [ -L /etc/localtime ] ; then
TIMEZONE="$(readlink /etc/localtime)"
যা ব্যাখ্যা করেছে যে @ ফিকশন উত্তরটি কেন কাজ করে। আরও স্ক্রিপ্টটি আরও সন্ধান করলে আপনি দেখতে পাবেন যে আপনি যদি '/ ইত্যাদি / লোকালটাইম' অপসারণ করেন তবে @andrekeller উত্তরটি আরও নতুন ডেবিয়ান সংস্করণগুলিতে কাজ করে।
আশা করি এই ডিবাগিং সহায়তা আপনাকে সাহায্য করবে যখন দেবিয়ানের পরবর্তী সংস্করণটি স্ক্রিপ্টটিকে আরও চৌকস করে তুলবে এবং বিদ্যমান উত্তরগুলিও অবৈধ হয়ে উঠবে। ডিবাগিং ডাবকনফ সম্পর্কিত আরও তথ্য ডিবেকনফ-ডেভেল (7) এ পাওয়া যাবে