আমরা কীভাবে স্বয়ংক্রিয়ভাবে ইন্টারনেট ব্যবহার করে লিনাক্সে সিস্টেমের ডিফল্ট টাইমজোন সেট করতে পারি? আমি এটি দেখতে পাচ্ছি, এনটিপি সার্ভারগুলি কেবলমাত্র সময় আপডেট করতে পারে তবে সময় অঞ্চল নয়। টাইমজোন পরিবর্তন করতে পারে এমন কোনও সার্ভার রয়েছে কি?
আমরা কীভাবে স্বয়ংক্রিয়ভাবে ইন্টারনেট ব্যবহার করে লিনাক্সে সিস্টেমের ডিফল্ট টাইমজোন সেট করতে পারি? আমি এটি দেখতে পাচ্ছি, এনটিপি সার্ভারগুলি কেবলমাত্র সময় আপডেট করতে পারে তবে সময় অঞ্চল নয়। টাইমজোন পরিবর্তন করতে পারে এমন কোনও সার্ভার রয়েছে কি?
উত্তর:
আমি কিছুক্ষণ আগে একটি প্রোগ্রাম লিখেছিলাম যা এটি করে: tzupdate ।
আপনি এটি চালিয়ে আপনার টাইমজোনকে (আসলে এটি সেট না করে) কী সেট করতে পারবেন তা দেখতে পারেন tzupdate -p
:
$ tzupdate -p
Europe/Malta
tzupdate
রুট হিসাবে চালিয়ে আপনি এটি বাস্তবের জন্য সেট করতে পারেন ।
$ sudo tzupdate
Europe/Malta
$ date
Thu 12 Sep 05:52:22 CEST 2013
এটি এর দ্বারা কাজ করে:
/etc/localtime
সেই টাইমজোনটির জন্য জোনিনফোর ফাইলটিতে নির্দেশ করতে সিএমিলিং আপডেট করাএটি একটি পুরানো থ্রেড, তবে কুবুন্টু 1710 এর জন্য এখনও প্রাসঙ্গিক যা সময় অঞ্চলটি স্বয়ংক্রিয়ভাবে পরিবর্তন করে না। আমি ক্রুড ডাউন এর সমাধান টিজুপডেটের জন্য ব্যবহার করছি, তবে সিস্টেমটি যখন কোনও নেটওয়ার্কে (ওয়াইফাই বা অন্যান্য) সাথে সংযোগ স্থাপনের চেষ্টা করে তখন এটি ট্রিগার হয়ে যায় তা নিশ্চিত করে। এটি ধরে নেওয়া হয় যে আপনি নেটওয়ার্ক ম্যানেজার ব্যবহার করছেন।
প্রথমে একটি টার্মিনাল খুলুন।
Tzupdate ইনস্টল করুন
sudo apt install python-pip
pip install -U tzupdate
তারপরে নিশ্চিত হয়ে নিন যে এটি সমস্ত ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য
sudo cp -R ~/.local/lib/python2.7/site-packages/. /usr/lib/python2.7/.
sudo cp /home/marta_riba/.local/bin/tzupdate /usr/local/bin/tzupdate
পরীক্ষা করুন যে এটি কাজ করে
sudo tzupdate
আমাদের তখন তা নিশ্চিত করা দরকার যে এটি সমস্ত ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য
sudo su -
tzupdate
যা আপনাকে রুট হিসাবে ফেলে দেয় এবং তারপরে কমান্ডটি আপনার সময় অঞ্চল পরিবর্তন করে তা পরীক্ষা করে। তারপরে নিশ্চিত হন যে আপনি সাধারণ ব্যবহারকারী হিসাবে ফিরে আসতে প্রস্থান করবেন
exit
নিশ্চিত করুন যে tzupdate কোনও পাসওয়ার্ড ছাড়াই sudo দিয়ে চালানো যেতে পারে। এটি পরবর্তী ধাপের জন্য প্রয়োজন যখন আমরা এটি নেটওয়ার ম্যানেজার থেকে ট্রিগার করি যা ব্যাকগ্রাউন্ডে এটি চালায় the sudoers ফাইল সম্পাদনা করতে একটি টার্মিনালে এটি টাইপ করুন
sudo visudo
ফাইলের শেষে এই লাইনটি যুক্ত করুন
ALL ALL=(root) NOPASSWD: /usr/local/bin/tzupdate
CTRL-X টিপুন এবং তারপরে Y টিপুন এবং তারপরে পরিবর্তনগুলি সংরক্ষণ করতে ENTER করুন
তারপরে আমরা নিশ্চিত করি যে নেটওয়ার্ক সংযোগ পরিবর্তনটি নেটওয়ার্ক সংযোগ পরিবর্তন ট্রিগার করার পরে সর্বদা এটি কল করে (যেমন কোনও ওয়াইফাইতে সংযোগ করার সময়)। এর জন্য আমরা ডিসপ্যাচার.ডি ফোল্ডারে tzupdate নামে একটি ফাইল তৈরি করি যা কেবল sudo tzupdate বলে। ফাইলটি চালানোর জন্য এক্সিকিউটেবল অনুমতি প্রয়োজন
echo 'sudo tzupdate'| sudo tee /etc/NetworkManager/dispatcher.d/99-tzupdate
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-tzupdate
নোট করুন যে নেটওয়ার্কম্যানেজার সুড (যেমন sudo tzupdate) এক্সিকিউট করতে কল করবে যা সাধারণত একটি পাসওয়ার্ডের জন্য অনুরোধ জানাবে।
এটি করার আরও ভাল উপায় হতে পারে যেমন নেটওয়ার্ক ম্যানেজারটি কেবল তখনই কল করতে পারে যখন এটি সংযোগ নিয়ে আসে এবং নীচে নাও (উপরেরটি যেমন করবে) - আমি স্ক্রিপ্টটি / ইত্যাদি / নেটওয়ার্ক / যদি-তে রাখার চেষ্টা করেছি .d তবে এটি আমার পক্ষে কাজ করে নি
কুবুন্টুতে এটি পরীক্ষা করতে - আপনার স্থানীয় সময় অঞ্চলকে অন্য কোনওটিতে পরিবর্তন করুন (আপনার টাস্কবারের ডেট প্লাজময়েডে যান এবং ডান ক্লিক করুন এবং 'তারিখ / সময় সামঞ্জস্য করুন' এবং তারপরে ট্যাব থেকে 'টাইমজোন' নির্বাচন করুন)
আপনার ওয়াইফাইটি বন্ধ করুন এবং ফিরে করুন - আপনি দেখতে পাবেন এটি একবার ওয়াইফাইয়ের সাথে সংযোগ স্থাপন করার পরে এটি প্রায় 30 সেকেন্ড অপেক্ষা করবে বলে মনে হচ্ছে এবং তারপরে সফলভাবে আপনার সময় অঞ্চল পরিবর্তন করা উচিত।
নোট করুন যে এটি ওয়াইফাই দিয়ে পরীক্ষা করা হয়নি যেখানে একজনকে ওয়েবপৃষ্ঠায় একটি পাসওয়ার্ড প্রবেশ করতে হবে। আশা করা যায় যে এটি কোনও নেটওয়ার্ক সংযোগের একেবারে শেষের দিকে চলে এমন একটি ব্যবহারকারীর শংসাপত্রগুলি প্রবেশের জন্য পর্যাপ্ত সময় সরবরাহ করা উচিত - অন্যথায় এটির জন্য আরও টুইঙ্কের প্রয়োজন হতে পারে (কোনও সংযোগ রয়েছে কিনা তা পরীক্ষা করে দেখুন, আপনি ইন্টারনেটের সাথে সংযোগ করতে সক্ষম হয়েছেন কিনা তা পরীক্ষা করুন, অপেক্ষা করুন এক্স সেকেন্ডের জন্য যদি ইন্টারনেটের সাথে সংযোগ রাখতে না সক্ষম হন এবং তারপরে Y বার চেষ্টা করুন
আপনি "টাইমজোন আপডেট" বলতে কী বোঝাতে চান তা পরিষ্কার নয়।
ইউনিক্স এবং লিনাক্স 1 জানুয়ারি, 1970, 00:00 ইউটিসি থেকে সেকেন্ডের সংখ্যা হিসাবে সময় রাখে। ইউনিক্স সিস্টেম ঘড়ি তাই সময় অঞ্চল স্বতন্ত্র। লিনাক্স কার্নেলে টাইমজোনগুলির অস্তিত্ব নেই; এটি কেবল তখনই যখন কোনও ইউজারস্পেস অ্যাপ্লিকেশন সময় প্রদর্শন করে যে ১৯ 1970০ সাল থেকে সেকেন্ডের সংখ্যাটি টাইমজোন ব্যবহার করে ব্যাখ্যা করা হয়। সাধারণত, এই ব্যাখ্যাটি সি লাইব্রেরির ফাংশনগুলির মাধ্যমে করা হয়। সময় অঞ্চলটি TZ
পরিবেশ পরিবর্তনশীল দ্বারা নির্বাচিত হয় । টাইমজোন সংজ্ঞা (যা ইউটিসি থেকে অফসেটের একটি টাইমজোন নাম নিয়ে গঠিত, দিবালোক সংরক্ষণের সময় কার্যকর হওয়ার সময় তারিখগুলি এবং ডিএসটি-র সময় অফসেটগুলি) জিএনইউ লিবিসি-র অংশ, এবং সাধারণত "tzdata" প্যাকেজ হিসাবে লিনাক্স বিতরণে অন্তর্ভুক্ত থাকে। সুতরাং, সময় অঞ্চল সংজ্ঞা আপডেট করা চলমান বিষয় apt-get upgrade
,yum update
, অথবা কিছু অনুরূপ অপারেশন।
নোট করুন যে কয়েকটি সফ্টওয়্যার যেমন জাভা এর নিজস্ব টাইমজোন সংজ্ঞা ফাইল রয়েছে যা আলাদাভাবে আপডেট করতে হবে be
এনটিপি 1 জানুয়ারী, 1900, ইউটিসি থেকে সেকেন্ডের সংখ্যা ট্র্যাক করে । সুতরাং, ইউনিক্স কার্নেলের মতো এনটিপিরও সময় অঞ্চলগুলির ধারণা নেই।