প্রশ্ন কিভাবে ntp ব্যবহার করে একটি ঘড়ি আপডেট করতে বাধ্য?


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

আমি নিম্নলিখিত লাইন যোগ /etc/rc.local ফাইল:

sudo ntpdate -s time.nist.gov

যাইহোক, স্টার্টআপের পরে, সময়টি হালনাগাদ না হওয়া পর্যন্ত এটি কয়েক মিনিট সময় নেয়, যার মধ্যে আমি কার্যকরভাবে কাজ করতে পারব না tar এবং make

আমি যে কোনও সময়ে একটি ঘড়ি আপডেট করতে বাধ্য করতে পারি?


আপডেট 1: নিম্নোক্ত (ধন্যবাদ এরিক এবং স্টিফ্যানকে ধন্যবাদ) কমান্ড লাইন থেকে সূক্ষ্ম কাজ করে, কিন্তু যখন রাখা হয় তখন ঘড়ি আপডেট করতে ব্যর্থ হয় /etc/rc.local:

$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan  1 00:00:58 UTC 1970
 * Stopping NTP server ntpd     [ OK ] 
 * Starting NTP server          [ OK ] 
Thu Feb 14 18:52:21 UTC 2013

আমি কি ভুল করছি?


আপডেট 2: আমি প্রথম আপডেটের প্রতিক্রিয়ায় এসে আসা কয়েকটি পরামর্শ অনুসরণ করার চেষ্টা করেছি, তবে আসলেই প্রয়োজনীয় হিসাবে কাজটি করা হয় না। এখানে আমি চেষ্টা করেছি:

  1. সার্ভার প্রতিস্থাপন করুন us.pool.ntp.org
  2. প্রোগ্রাম স্পষ্ট পথ ব্যবহার করুন
  3. অপসারণ ntp সম্পূর্ণরূপে সেবা এবং শুধু ছেড়ে sudo ntpdate ... মধ্যে rc.local
  4. অপসারণ sudo উপরের কমান্ড থেকে rc.local

উপরে ব্যবহার করে, মেশিনটি এখনও 1970 সাল থেকে শুরু হয়। তবে, কমান্ড লাইন থেকে একবার লগ ইন করলে (মাধ্যমে ssh), ঘড়ি যত তাড়াতাড়ি আমি ঘড়ি আপডেট করা হয় ntpdate

আমি শেষ জিনিস যে থেকে মুছে ফেলার ছিল rc.local এবং একটি কল স্থাপন করুন ntpdate আমার মধ্যে .bashrc ফাইল। এটি প্রত্যাশিত ঘড়িটি আপডেট করে এবং কমান্ড প্রম্পট উপলভ্য হওয়ার পরে আমি সত্য বর্তমান সময়টি পেতে পারি।

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

সুতরাং, স্থাপন করা কেন একটি কারণ আছে ntpdate কমান্ড rc.local তাই করছেন যখন, প্রয়োজনীয় টাস্ক সঞ্চালন না .bashrc ঠিকভাবে কাজ করে?


325
2018-02-13 21:58


উত্স


থেকে [এখানে] [1]: ntpdate -s ntp.ubuntu.com     [1]: askubuntu.com/a/81301/130162 - 18446744073709551615
ntpdate উপর '-b' পতাকা লক্ষ্য করুন। Ntpdate এর ম্যান পৃষ্ঠা থেকে: "স্থায়ী সময় (ডিফল্ট) অ্যাডটাইম () সিস্টেম কল ব্যবহার করে সেটটাইমফাইড () সিস্টেম কল ব্যবহার করে ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে ধাপে শুরু করুন।" নীচের উত্তরগুলির মধ্যে বেশিরভাগই এটি অন্তর্ভুক্ত করে না এবং এটি হয়তো জিনিসগুলি কাজ পেতে সমস্যাটির অংশ হতে পারে। বিবেচনা করুন যে '-বি' পতাকাটি উল্লেখ করেছে যে 128 মিনিটেরও বেশি অফসেট ডিফল্ট 'শিলা' পদ্ধতি ব্যবহার করে সিঙ্ক করতে ঘন্টা লাগতে পারে। - Matt S.
ব্যবহার করার কোন প্রয়োজন নেই sudo /etc/rc.locale ফাইলগুলিতে .. তারা ইতিমধ্যে রুট হিসাবে চালানো হয়। - Soren A


উত্তর:


সম্ভবত ntp সেবা চলছে, যে কেন ntpdate সকেটটি খুলতে পারে না (পোর্ট 123 ইউডিপি) এবং এনটিপি সার্ভারের সাথে সংযোগ স্থাপন করুন।

কমান্ড লাইন থেকে চেষ্টা করুন:

sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start

যদি আপনি এই রাখতে চান /etc/rc.local নিম্নলিখিত ব্যবহার:

( /etc/init.d/ntp stop
until ping -nq -c3 8.8.8.8; do
   echo "Waiting for network..."
done
ntpdate -s time.nist.gov
/etc/init.d/ntp start )&

285
2018-02-13 23:13



ধন্যবাদ। আপনি স্পষ্ট পথ প্রয়োজন কেন ব্যাখ্যা করুন? - ysap
আমি সত্যিই জানি না। :-) আমি একবার চালানোর চেষ্টা করেছি service rc.local এবং cron থেকে কিন্তু আমি পরিবর্তে /etc/init.d/xxx ব্যবহার করে এটি ঠিক করতে পরিচালিত। আসলে আমি মনে করি আপনি পুরো পথ দিতে হবে না ntpdate, আমি স্ক্রিপ্টে সম্পূর্ণ পাথ ব্যবহার করতে চাই ঠিক নিশ্চিত ফাইল ফাইলে পাওয়া যাবে। - Eric Carvalho
ঠিক আছে, এই দৃশ্যত সমস্যা ছিল। নেটওয়ার্ক সংযোগ প্রতিষ্ঠিত হওয়ার সাথে সাথে ঘড়িটি আপডেট করা হচ্ছে। ধন্যবাদ। - ysap
আমি যে খুঁজে পাওয়া যায় নি us.pool.ntp.org আরো প্রতিক্রিয়াশীল। - ysap
সঙ্গে -u বিকল্প, আপনি এনটিপি সেবা বন্ধ করতে হবে না: sudo ntpdate -u time.nist.gov - Edward Anderson


পরিবর্তে ntpdate (যা অবচিত), ব্যবহার করুন

sudo service ntp stop
sudo ntpd -gq
sudo service ntp start

দ্য -gq অফসেট নির্বিশেষে সময় সংশোধন করার জন্য ntp ডিমনকে নির্দেশ করে (g) এবং অবিলম্বে প্রস্থান করুন (q) সময় সেট করার পরে।


429
2018-02-14 12:32



ধন্যবাদ। এখনও এই কমান্ড (w / sudo) পরে 1970 দেখাচ্ছে। পড়া ntpd manpage, আমি নিশ্চিত কিভাবে এই একটি আপডেট শক্তি? - ysap
"-Q" বিকল্পটি NTP ডেমনকে শুরু করতে, সময় সেট করতে এবং অবিলম্বে প্রস্থান করতে বলে। "-G" বিকল্পটি 1000 সেকেন্ডের বেশি সময় পার্থক্যের জন্য এটি সংশোধন করতে দেয়। দীর্ঘ মেয়াদের জন্য, আপনি কেবল NTP ডেমনকে সর্বদা চলমান করতে কনফিগার করতে হবে। - tgharold
এই উত্তরটি উপরের দিকে যাওয়া উচিত কারণ এটি সঠিক: ntpdate অব্যবহৃত এবং এটি ইনস্টল করা একটি খারাপ ধারণা, কারণ এটি এনটিপি-এর সাথে বিরোধ করে। ঘড়িটি বন্ধ হয়ে গেলে, আপনাকে এই ম্যানুয়াল পদক্ষেপটি করতে হবে কারণ অন্যথায় ntp আপনার ঘড়ি পরিবর্তন করবে না এবং কেন তা আপনাকে জানাবে না। - Liam
আমার জন্য, sudo ntpd -gq প্রস্থান না! আমি 14.10 নই এবং আমাকে CTRL + C থাকতে হবে ... বা কতক্ষণ লাগবে? - Yanick Rochon
FYI, আমার সিস্টেমে (CentOS 6.6), আমি দুটি উদাহরণ পরিবর্তন প্রয়োজন sudo service ntp... থেকে sudo service ntpd...। - rinogo


অবিলম্বে সময় সেট করতে sntp ব্যবহার করুন। উদাহরণ স্বরূপ:

sudo sntp -s 24.56.178.140

পরে নম্বরগুলি কোন এনটিপি টাইম সার্ভার হতে পারে, যেটি ফন্টে NIST। কলিন্স, কলোরাডো।


50
2017-11-08 01:00



যে কাজ! +1 টি - CappY
এই কাজ যখন "sudo ntpd-gq" না। - Matt White
আমি জানি না কত বার আমি এই উত্তরের জন্য অনুসন্ধান করেছি। প্রত্যেক সময় কাজ করে। - Chaos
প্যাকেজ sntp সনাক্ত করতে অক্ষম? - temple
apt-get install sntp / yum install sntp ইনস্টল করুন (হ্যাঁ এটি সেন্টস, রেডহ্যাট, ফেডোরেও কাজ করে) - ndemou


অন্যরা যেভাবে সেরা দিক নির্দেশ করেছে তা হল প্যানিক থ্রেশহোল্ডটিকে উপেক্ষা করতে ntpd- এ নির্দেশ দেওয়া, যা ডিফল্টভাবে 1000 সেকেন্ডের। আপনি প্যানিক থ্রেশহোল্ডটি দুটি উপায়ে কনফিগার করতে পারেন:

  • সম্পাদন করা /etc/default/ntp এবং -g বিকল্প উপস্থিত রয়েছে তা নিশ্চিত করুন।
  • /etc/ntp.conf এবং স্থান সম্পাদনা করুন tinker panic 0 উপরে

যতদূর পর্যন্ত এটি অন্যদের কাছে সুপারিশ করা হয়েছে তা অবশ্যম্ভাবী তবে আমার মনে হয় আরো একটি পদক্ষেপ নেওয়া উচিত। জাল-এইচডব্লক প্রোগ্রাম ইনস্টল করুন:

# apt-get install fake-hwclock


fake-hwclock: Save/restore system clock on machines without working RTC hardware

 Some machines don't have a working realtime clock (RTC) unit, or no
 driver for the hardware that does exist. fake-hwclock is a simple set
 of scripts to save the kernel's current clock periodically (including
 at shutdown) and restore it at boot so that the system clock keeps at
 least close to realtime. This will stop some of the problems that may
 be caused by a system believing it has travelled in time back to
 1970, such as needing to perform filesystem checks at every boot.

 On top of this, use of NTP is still recommended to deal with the fake
 clock "drifting" while the hardware is halted or rebooting.

জাল-hwclock ইনস্টল সঙ্গে আপনার মেশিনটি আবার সব 1970 আবার চিন্তা শুরু হবে না। যখন আপনার মেশিনটি বুট হয় তখন এটি তার ঘড়িটিকে টাইমস্ট্যাম্প টাইমস্ট্যাম্পে শেষ করে পুনরায় শেষ / পুনরায় চালু করার সময় লিখেছে। এর মানে হল আপনি বুট করার সময় নেটওয়ার্কের সমস্যাগুলির ক্ষেত্রে কিছুটা সঠিক ঘড়ি থাকতে পারে।


37
2018-04-03 22:11



-g আমার জন্য কিছুই করার ছিল না (কমান্ড লাইন, আমি না /etc/default/ntp), কিন্তু যোগ করা tinker panic 0 থেকে ntp.conf কাজ করছে - Dave Cousineau
@ সাআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআউন কি জানিস না যে আপনি একটি নন স্ট্যান্ডার্ড স্ট্যান্ডার্ড এনটিপি প্যাকেজ আছে। / etc / default / ntp উবুন্টু থেকে প্যাকেজের অংশ: packages.ubuntu.com/xenial/amd64/ntp/filelist এবং -g যতক্ষণ আমি মনে করতে পারেন জন্য একটি বিকল্প হয়েছে। - dfc
দুঃখিত, আমি অনুমান করছি যে আমি আসলে উবুন্টুতে নেই এবং মন্তব্য করার আগে একটু বেশি চিন্তা করতে হবে। tinker panic 0 স্পষ্টভাবে যদিও কাজ আছে বলে মনে হয়। - Dave Cousineau


ntpdate নেট ডেমন থেকে পৃথক একটি প্রোগ্রাম। NTPDate সম্ভবত বুট থেকে ত্রুটিপূর্ণ কারণ ntpd যে সকেটে চলছে।

কমান্ড লাইন থেকে, রান

# sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start

আপনি ntpd একসঙ্গে আনইনস্টল করতে পারেন (apt-get ntp সরান) এবং প্রতি ঘন্টা বা ntpdate ব্যবহার করতে একটি ক্রন স্ক্রিপ্ট যোগ করুন।

হালনাগাদ

এনটিপি সেবা সম্ভবত এই সিস্টেমে আপনার জন্য অর্থপূর্ণ মান থাকবে না, তাই প্রথমে এটি মুছে ফেলুন।

# sudo apt-get remove ntp

এখন কমান্ড যোগ করুন:

ntpdate -sb time.nist.gov

থেকে /etc/rclocal 

পুনরায় বুট করুন। যে সময়ে ভাল হতে হবে।


12
2018-02-13 23:07



উত্তর আপডেট। - Stephan
Ntpdate আউট বা phased হচ্ছে না? এছাড়াও, যদি আমি এই সঠিকভাবে বুঝতে পারি, পরিষেবাটি ঘড়ির সার্ভারের স্থানীয় ঘড়ির সিঙ্কটি চালায় এবং বজায় রাখে - তাই ড্রিফ্টটি আবদ্ধ। আপনি ntp সরিয়ে এবং একবার ntpdate চালানোর সময়, মেশিনটি বর্ধিত সময়ের জন্য যখন ঘন ঘন প্রবাহের দ্বারা এটি প্রভাবিত হবে না? - ysap
স্টিফান, দয়া করে প্রশ্নের উত্তর # 2 দেখুন। - ysap
হ্যাঁ, ntpdate ফেজ আউট হচ্ছে। "Ntpd -q" ব্যবহারটি পছন্দসই (উভয় রূপে এনটিপিডি প্রথম বন্ধ হওয়া প্রয়োজন)। - tgharold


rdate -s tick.greyware.com

যদি আপনি যা করতে চান তা একবার ঘড়ি সেট করুন


8
2018-02-26 22:57



ধন্যবাদ। আমার কাছে এই কমান্ডটি পরীক্ষা করার জন্য বর্তমানে সিস্টেমে নেই, তবে আপনি যদি প্রশ্ন এবং গৃহীত উত্তরটির আলোচনার অনুসরণ করেন তবে আপনি দেখবেন যে সমস্যাটি ঘড়ি আপডেট কমান্ডটি চালানোর সময় আসলে নেটওয়ার্ক অনুপলব্ধ ছিল। - ysap
এই আমার রাস্পবেরি Pi উপর একটি সময় সিঙ্ক সমস্যা সংশোধন করা হয়েছে। ধন্যবাদ. - Oliver Spryn


একটি ডেবিয়ান / মিন্ট / উবুন্টু (অথবা অন্য ডেবিয়ান ডেরিভেটিভ) সিস্টেমে এটি করার সঠিক উপায় হচ্ছে লাইন

NTPD_OPTS="-g"

ফাইল

/etc/default/ntp

এটি নিশ্চিত করে যে যখন /etc/init.d/ntp স্ক্রিপ্ট থেকে ntpd আরম্ভ করা হয়, তখন এটি "-g" বিকল্পের সাথে চলবে, যেমন

 start-stop-daemon --start --quiet --oknodo --pidfile /var/run/ntpd.pid --startas /usr/sbin/ntpd -- -p /var/run/ntpd.pid -g -u 124:128

এনটিপিডিটি সিস্টেমের সময়টিকে 1000 এর বেশি আউট করার সময় অনুমোদন করার অনুমতি দেয়, উদাহরণস্বরূপ সিস্টেমের সময়টি 1 লা জানুয়ারি 1 লা জানুয়ারী শুরু হওয়ার পরে কারণ হার্ডওয়্যার হার্ডওয়্যার আরটিসি নেই।


7
2018-04-03 11:20



আমি ইতিমধ্যে যে আছে, কিন্তু এটি এখনও নিউ ইয়র্ক 3AM, যখন এটি 11pm হতে হবে। - chovy
আমি ইতিমধ্যে যে লাইন ঠিক ছিল /etc/default/ntp, কিন্তু সময় সিঙ্ক্রোনাইজ করা হয় নি। - Dawid Ferenczy


ব্যবহার করে দেখুন -b সময় ধাপে বিকল্প।


4
2018-02-13 22:18



কমান্ড লাইন থেকে চেষ্টা করার সময়, আমি নিম্নলিখিত প্রতিক্রিয়া পেতে: 1 Jan 00:04:11 ntpdate[2226]: the NTP socket is in use, exiting । যাইহোক, আমি মনে করি আমি আগে এই চেষ্টা rc.local কিন্তু এটা সাহায্য করে নি। - ysap
আপনি চালানোর আগে এনটিপি সেবা বন্ধ করতে হবে ntpdate -b <ipaddress> - Wim Deblauwe


tlsdate দূরবর্তী সার্ভারগুলিতে নিরাপদভাবে টিএলএসের সাথে সংযোগ স্থাপন করে এবং নিরাপদ হ্যান্ডশেক থেকে দূরবর্তী সময়টি বের করে স্থানীয় ঘড়ি সেট করে। অসদৃশ ntpdate, tlsdate উদাহরণস্বরূপ, একটি দূরবর্তী HTTPS বা TLS এর সাথে সংযোগ করার জন্য টিসিপি ব্যবহার করে  সক্রিয় পরিষেবা, এবং চেষ্টা করে প্রতিপক্ষের বিরুদ্ধে কিছু সুরক্ষা প্রদান করে  আপনি দূষিত সময় তথ্য ফিড।

$ tlsdate -V -n -H encrypted.google.com

4
2018-02-23 11:52