টার্মিনাল থেকে সময় অঞ্চল নির্ধারণ করা


210

আমি টার্মিনাল থেকে সিস্টেম ঘড়ির সময় অঞ্চল পরিবর্তন করতে চাই।

এটি দিয়ে করা যেতে পারে

tzselect

"যা টার্মিনালে একটি গি খোলে"

অথবা

sudo cp /usr/share/zoneinfo/Europe/London /etc/localtime

"যা জিএমটি সেট করবে"

তবে কি কেবল অফসেটের সাথে টাইম জোন সেট করার কোনও উপায় আছে? -১ বা +5 ইত্যাদি?

টাইম অফসেট বা রিপোর্ট লগগুলি সামঞ্জস্য করার জন্য আমি একটি অ্যাপ্লিকেশন লিখছি বলে আমার এটি করা দরকার এবং আমার কাছে কেবল তথ্যটি আইপি IP আইপিটির অবস্থান সন্ধান করতে আমি একটি ওয়েব অ্যাপ ব্যবহার করতে পারি, তবে তারপরে আমার অফসেটটি সেট করা দরকার যা সহজ হবে যদি আমি কেবল লোকেশনটির অফসেট পেতে পারি তবে আমার যদি অঞ্চল এবং শহর সন্ধান করতে হয় তবে এটি সত্যিকারের ব্যথা হতে পারে ।

যদি কেউ + + - ঘন্টা দিয়ে কীভাবে সিস্টেমের ঘড়িটি সেট করবেন তার উত্তরটি জানেন তবে দুর্দান্ত।


আমাদের গৃহীত উত্তর নিতে সাহায্য করুন। আমি মনে করি @ মিচ এর উত্তরটি সেরা জিজ্ঞাসাবাবু
নাম জি ভিইউ

1
@ নামজিভিউ না, মিচ এর সেরা সমাধান নয়, এটি একটি "টার্মিনালের জিইউআই" উত্তর। এমনকি ওপিও বলেছে যে "ইউজার ইনপুট ছাড়াই কোনও প্রোগ্রাম থেকে টাইমজোন পরিবর্তন করতে আমার প্রয়োজন এমন একটি কমান্ডের দরকার যা আমি গিউ সলিউশন নয় টার্মিনালে ফিড করতে পারি" এবং এটিই একই উদ্দেশ্যটি "টার্মিনাল সমাধানের সন্ধানের সময় চাইবে," "একটি স্ক্রিপ্ট-বান্ধব। কলিন অ্যান্ডারসন যদি আপনি কোনও শহর জানেন, বা রায়ান সরল GMT + -n এর জন্য জানেন তবে ভাল
Xen2050

উবুন্টু 18.04 এ, tzselect একটি গুই খুলবে না। এটিতে একটি টার্মিনাল ভিত্তিক মেনু নির্বাচন রয়েছে।
টিম রিচার্ডসন

উত্তর:


321

টার্মিনাল থেকে সময় অঞ্চল পরিবর্তন করতে, টার্মিনাল খোলার জন্য আপনার কীবোর্ডের Ctrl+ Alt+ টিপুন T। এটি খুললে নীচের কমান্ডটি চালাও:

sudo dpkg-reconfigure tzdata

একবার খুললে, সময় অঞ্চল পরিবর্তন করতে কেবল পর্দা অনুসরণ করুন।


14
ব্যবহারকারীর ইনপুট ছাড়াই কোনও প্রোগ্রাম থেকে টাইমজোন পরিবর্তন করতে আমার যেমন কমান্ড দরকার আমি টার্মিনালে
ফেলাতে পারি

1
ধন্যবাদ!!! এটি সাহায্য করে, বাইটায় আমি ইতিমধ্যে php.net/manual/en/imezones.php এর মত ম্যানুয়ালি ইত্যাদি / টাইমজোন =) পরিবর্তন করেছি !!! একেবারে অভিন্ন!
ভ্লাদিমির সিএইচ

Tzdata পুনরায় কনফিগার করার ফলে হার্ডওয়্যার ক্লকটি খুব সামঞ্জস্য করা হবে যাতে সময় অঞ্চল স্যুইচ হওয়ার পরে প্রদর্শিত সময় একই থাকে। আপনি হয়ত চাইবেন যদি আপনার সময়টি সঠিক হয় তবে সময় অঞ্চলটি ভুল ছিল। তবে আপনি ভ্রমণের সময় অবশ্যই আপনার হার্ডওয়ার ক্লকটি স্পর্শ করতে চান না। টাইমডেটেক্টল অ্যাপ্রোচ কেবল সময় অঞ্চল পরিবর্তন করে বলে মনে হচ্ছে।
SnapE

@ আমার জন্য স্নাকই সেই অনুযায়ী সময় পরিবর্তনগুলি প্রদর্শন করেছে
রিয়াড

আমি কোনও সমস্যা ছাড়াই কমেড লাইন থেকে পুট্টি থেকে এটি পরিবর্তন করেছি আপনি কেন আমার বন্ধু বলেছিলেন? @ এডটিসি
সাবের তাবতাবই ইয়াজদী

170

timedatectl14.04 এ সময় নির্ধারণ করতে আপনি নতুনটিও ব্যবহার করতে পারেন ।

sudo timedatectl set-timezone America/New_York

আপনি এটি ওবুন্টুতে ইনস্টল করবেন কীভাবে?
জিরো

1
এটি 14.04 এ ডিফল্টভাবে ইনস্টল করা হয়েছে।
কলিন অ্যান্ডারসন

6
সমস্ত উপলব্ধ বিকল্প দেখতে, আপনি চালাতে পারেন ls -R --group-directories-first /usr/share/zoneinfo(এখানে কোনও ফাইল সংশোধন বা মুছে ফেলার জন্য সতর্ক থাকুন))posix এবং rightউপসর্গ সম্পর্কে আরও তথ্য এখানে
ADTC

এইটা কাজ করে! ...
ড্যান নিসেনবাউম

3
sudo timedatectl set-timezone Etc/UTCইউটিসির জন্য ব্যবহার করুন ।
জোল্টন

19

আপনি GMT ± x ফাইলগুলি এতে ব্যবহার করতে পারেন /usr/share/zoneinfo/Etc

sudo ln -fs /usr/share/zoneinfo/Etc/GMT$offset /etc/localtime

ধন্যবাদ জবাব দেওয়ার জন্য ধন্যবাদ একটি ত্রুটি পেয়েছি ln: প্রতীকী লিঙ্ক তৈরি করতে ব্যর্থ local / ইত্যাদি / স্থানীয় সময় ': ফাইলটি উপস্থিত রয়েছে যে আমি এই বিষয়ে নিশ্চিত নই যে আপনি এই জন্য ভাল টিউটোরিয়াল সম্পর্কে জানেন বা এমন কিছু মূল শব্দ যা আমি গুগল করতে পারি ধন্যবাদ আমি সঠিকভাবে কমান্ড ব্যবহার করছেন? আমি সুডো এলএন / ইউএসআর / শেয়ার / জোনিনফো / ইত্যাদি / জিএমটি T + 1 / ইত্যাদি / লোকাল টাইম +1gmt এ ঘড়ি সেট করতে ব্যবহার করছি
ইউজার 2155009

9
মিনিটেক ফোর্স ফ্ল্যাগটি আমি অনুমান করি তাই ভুলে গিয়েছিল -> sudo ln -sf ....
টেলিফোনে

1
এটি কিন্ডার কাজ করবে, তবে টিজে নামটি আপডেট করবে না /etc/timezone
পুলি

1
/ ইত্যাদি / টাইমজোন আপডেট করার জন্য, চালানsudo dpkg-reconfigure --frontend noninteractive tzdata
পিয়ের

17

আমি বুঝতে পারি যে এই থ্রেডটি কিছুটা তারিখযুক্ত, তবে আমি আরও ভাল সমাধানের সন্ধান করছিলাম কারণ কোনও ব্যবহারকারী আমাদের ওয়েবসাইট থেকে ডাউনলোড করে এটি মোতায়েন করার পরে আমাকে স্বয়ংক্রিয়ভাবে একটি ভিএম-তে সময় অঞ্চল নির্ধারণ করা দরকার। আমি এখানে যা শেষ করেছি তা এখানে:

echo "Setting TimeZone..."
export tz=`wget -qO - http://geoip.ubuntu.com/lookup | sed -n -e 's/.*<TimeZone>\(.*\)<\/TimeZone>.*/\1/p'` &&  timedatectl set-timezone $tz
export tz=`timedatectl status| grep Timezone | awk '{print $2}'`
echo "TimeZone set to $tz"

এটি নতুন নেটওয়ার্কে চালু হওয়ার পরে সার্ভার থেকে জিওআইপি.উবন্টু.কমকে জিজ্ঞাসা করবে (আমার স্ক্রিপ্টটি প্রথম সংযোগের জন্য আমার স্ক্রিপ্টটি পরীক্ষা করে) এবং তারপরে প্রতিক্রিয়ার ভিত্তিতে সার্ভারের টাইমজোনটি সেট করবে।

"Wget -q0 -" উইজেটকে কেবল ফলাফলগুলি স্টডআউটে আউটপুট করতে বলে যা তারপরে $ tz ভেরিয়েবলে পাইপ করা হয়।

আশা করি এটি কাউকে সাহায্য করবে!


1
গ্রেট! উবুন্টু 16.04 এ পরিবর্তে "গ্রেপ অঞ্চল" এবং "মুদ্রণ $ 3" ​​হওয়া উচিত।
user334639

টাইমজোন পাওয়ার জন্য আমি একটি আলাদা ক্লাইপ প্রস্তাব করছি। আমার দৃষ্টিতে কিছুটা পরিষ্কার: curl -s ' geoip.ubuntu.com/lookup ' | এক্সমিলিন্ট - এক্সপ্যাট '/ প্রতিক্রিয়া / টাইমজোন / পাঠ্য ()' -
ডার্কো মাইলিটিক

11

টিএল; ডিআর /etc/localtime একটি প্রতীকী লিঙ্ক যা কোনও ফাইলকে নির্দেশ করে /usr/share/zoneinfo/Continent/City। যেখানে এটি নির্দেশ করে সেখানে পরিবর্তন করে আপনি আপনার সময় অঞ্চল পরিবর্তন করতে পারেন।

সময় অঞ্চল পরিবর্তন /etc/localtimeকরতে, আপনার পছন্দসই শহরে প্রতীকী লিঙ্কটি সরিয়ে ফেলুন । উদাহরণস্বরূপ, ls -l /etc/localtimeপ্রতিবেদন করে যে এই ফাইলটি নির্দেশ করে /usr/share/zoneinfo/America/Denver। এটি নিউ ইয়র্কে পরিবর্তন করতে, আমি করি

  1. sudo rm /etc/localtime
  2. sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
  3. আমার ঘড়ির আপডেট হওয়ার জন্য এক মিনিট অপেক্ষা করুন

স্ক্রিনশট বেলো থেকে পদক্ষেপ এবং নিশ্চিতকরণ দেখায় timedatectl

এখানে চিত্র বর্ণনা লিখুন


পর্দার আড়ালে কী ঘটছে তা বুঝতে পেরে ভাল লাগছে, তবে আপনি কি মনে করেন না যে এটির জন্য মনোনীত সরঞ্জামগুলি ডিপি কেজি-পুনর্গঠন tzdata ইত্যাদির জন্য পরামর্শ দেওয়া ভাল হবে?
প্যাট্রিক কর্নেলিসেন

@ পেট্রিককর্নলিসেন প্রথমত, tzdataইতিমধ্যে এর উত্তর রয়েছে , সুতরাং একই জিনিসটি দেওয়া অর্থহীন। দ্বিতীয়ত, tzdataপ্রায় একই কাজ করে। তারা কী পছন্দ করে তা সিদ্ধান্ত নেওয়ার পক্ষে এটি নির্ভরশীল, সুতরাং এটি ভাল বা খারাপ নয় - কেবলমাত্র একজন ব্যক্তির পছন্দ pre
সের্গেই কলডিয়াজন্য

1
ঠিক আছে, বিতরণ সরঞ্জামগুলির "বিরুদ্ধে" কাজ করা প্রায়শই সমস্যার দিকে পরিচালিত করে, তাই আমি যদি সম্ভব হয় তবে আপনার পদ্ধতির বিষয়টি এড়িয়ে চলতে পারি তবে যথেষ্ট পরিমাণে আপনার সমাধানটি কার্যকর হবে (বর্তমানে)
প্যাট্রিক কর্নেলিসেন

আমি বুঝতে পারছি এই সমাধানটি বিভিন্ন বিতরণ জুড়ে কাজ করে। তবে এখনও / ইউএসআর / শেয়ার / জোনইনফো ডিরেক্টরিতে থাকা সময় অঞ্চল ডাটাবেসের প্রয়োজন needs Tzdata প্যাকেজ ইনস্টল না করে টাইমজোন ডাটাবেস পাওয়ার কোনও উপায় আছে কি?
andho

@ এবং যেহেতু /var/lib/dpkg/info/tzdata.listপ্রস্তাবিত যে সমস্ত আইটেম /usr/share/zoneinfoসেই প্যাকেজটি নিয়ে আসে, আমি ধরে নিই যে সমস্ত আইটেম রাখার জন্য আপনাকে প্যাকেজটি ইনস্টল করতে হবে, তবে সত্যই আমি নিশ্চিত নই, অন্যটি কীভাবে এটি কাজ করে তা সম্পর্কে বেশ কিছুটা জানেন না plus ডিস্ট্রিবিউশন। এটি ইউনিক্স এবং লিনাক্সের প্রশ্ন হিসাবে জিজ্ঞাসা করুন এবং যদি আপনি প্রশ্নের প্রসঙ্গটি সরবরাহ করতে চান তবে এই পোস্টটি উল্লেখ করতে দ্বিধা বোধ করবেন।
সের্গেই কলডিয়াজনি

10

সময় অঞ্চল আপডেট করার সহজ উপায়টি হ'ল ব্যবহার করা sudo dpkg-reconfigure tzdata। তবে এটি এত সহজে স্ক্রিপ্ট করা যায় না।

আপনি যদি কোনও স্ক্রিপ্টের মাধ্যমে স্পষ্টভাবে টাইমজোন সেট করতে চান (যেমন কোনও ভিএম সেটআপ করার জন্য), এখানে একটি রেসিপি দেওয়া হয়েছে:

আপনি যে টাইমজোনটি চান তার জন্য একটি ভেরিয়েবল সেট করুন, যেমন একটি

tz=Europe/London
tz=America/Anchorage
tz=Etc/GMT+6

বৈধ মানগুলি হ'ল ডিরেক্টরি এবং ফাইলের নীচে /usr/share/zoneinfo

তারপর সহজভাবে

sudo cp -vf /usr/share/zoneinfo/$tz /etc/localtime
echo $tz | sudo tee /etc/timezone

মনে রাখবেন যে উভয় /etc/localtimeএবং /etc/timezoneঅবশ্যই সামঞ্জস্যপূর্ণ হতে হবে।

সম্ভবত এখন আপনার সমস্ত পরিষেবা আপডেট হওয়ার জন্য পুনরায় বুট করুন (যেমন ক্রোন)।


-1: কখনও cp/ ইত্যাদি / স্থানীয় সময় সেট করতে ব্যবহার করবেন না । জন্য / etc / স্থানীয়সময় একটি হল সিমবলিক লিঙ্ক সঠিক ফাইলে। আপনি যদি cpএটি পরিবর্তন করতে ব্যবহার করেন তবে আপনি বর্তমানে যেটি tzdata ফাইলের দিকে ইশারা করছেন তা আসলেই আঁকিয়ে ফেলবেন, সুতরাং হঠাৎ করে (উদাহরণস্বরূপ) ইউটিসি tzdata ফাইলটিতে ইউটিসি-র পরিবর্তে ইউরোপ / লন্ডনের টাইমজোন ডেটা রয়েছে যা খারাপ (এবং বিরক্তিকর) সমস্যা সমাধানের জন্য, যেমন আমি ব্যক্তিগত অভিজ্ঞতা থেকে বলতে পারি)
ফুগড

5

আমি যে পদ্ধতিটি ব্যবহার করি তা এখানে দেওয়া হচ্ছে, যা ইউএস-কেন্দ্রিক কারণ আমাকে ইউএস-অ-সময় অঞ্চলগুলি সম্পর্কে চিন্তা করার দরকার নেই।

যদি আমার বর্তমান সময় অঞ্চলটি নির্ধারণ করতে হয় তবে আমি হয়:

cat /etc/timezone  

অথবা

sudo hwclock --show  

আমি তখন করি:

timedatectl set-timezone <_designation_>

<_designation_>নিম্নলিখিতগুলির মধ্যে একটি কোথায় :

মার্কিন / পূর্ব
ইউএস / সেন্ট্রাল
ইউএস / পর্বত
মার্কিন / প্রশান্ত মহাসাগরীয়
মার্কিন / আলাস্কা
মার্কিন / আলেউস্টিয়ান
মার্কিন / অ্যারিজোনা
মার্কিন / পূর্ব-ইন্ডিয়ানা
মার্কিন / হাওয়াই
মার্কিন / ইন্ডিয়ানা-স্টার্ক
মার্কিন / মিশিগান
মার্কিন / প্রশান্ত মহাসাগরীয়
মার্কিন / সামোয়া

উদাহরণ:

timedatectl set-timezone US/Eastern  

অন্যান্য টাইমজোন উপাধিগুলি এখানে পাওয়া যাবে: https://en.wikedia.org/wiki/List_of_tz_database_Time_zones


tzselectটাইমজোন স্ট্রিংটি পাওয়ার একটি দুর্দান্ত উপায়
মার্টিন থোমা

0

আপনি প্রতিটি টাইম জোনের অফসেটের সাথে সঙ্গতি রাখতে চাইলে সময় অঞ্চল ফাইলটি নির্বাচন না করা আপনি এটি করতে পারবেন না।

কিছু উত্তর / ইউএসআর / শেয়ার / জোনিনফো / ইত্যাদি ফাইলগুলি ব্যবহার করার পরামর্শ দিয়েছিল তবে এগুলির সাথে সমস্যাটি হ'ল এগুলি ডিএসটি অজ্ঞোস্টিক।

সুতরাং যতক্ষণ না আপনি প্রতিটি অফসেটের সাথে ম্যাচ করার জন্য কিছু টাইম জোন কনফিগারেশন চয়ন করেন বা আপনি ডিএসটি সম্পর্কে চিন্তা করেন না, সাধারণভাবে এটি করার কোনও উপায় নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.