Ntp භාවිතා කර ඔරලෝසු යාවත්කාලීන කිරීමට බල කරන්නේ කෙසේද?


391

මම උබුන්ටු ධාවනය කරන්නේ ARM මත පදනම් වූ කාවැද්දූ පද්ධතියක් මත වන අතර එය බැටරි පිටුබලය සහිත RTC නොමැති වේ. අවදිවීමේ කාලය 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 වන යාවත්කාලීනයට ප්‍රතිචාර වශයෙන් පැමිණි යෝජනා කිහිපයක් අනුගමනය කිරීමට මම උත්සාහ කළෙමි, නමුත් ඇත්ත වශයෙන්ම අවශ්‍ය පරිදි කිසිවක් සිදු නොකරන බව පෙනේ. මෙන්න මම උත්සාහ කළ දේ:

  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තිබේද?


3
[මෙතැනින්] [1]: ntpdate -s ntp.ubuntu.com [1]: askubuntu.com/a/81301/130162
18446744073709551615

5
ntpdate හි '-b' ධජය සැලකිල්ලට ගන්න. Ntpdate හි මෑන් පිටුවෙන්: "ඇඩ්ටයිම් () පද්ධති ඇමතුම භාවිතා කර මරා දැමූ (පෙරනිමි) නොව, නිරවුල් කිරීමේ () පද්ධති ඇමතුම භාවිතයෙන් පියවර තැබීමට කාලය බල කරන්න. ආරම්භක ගොනුවකින් ආරම්භක වේලාවේදී ඇමතූ විට මෙම විකල්පය භාවිතා කළ යුතුය." පහත දැක්වෙන බොහෝ පිළිතුරු වලට එය ඇතුළත් නොවන අතර, එය වැඩ කිරීමට දේවල් ලබා ගැනීමේ ගැටලුවේ කොටසක් විය හැකිය. '-B' ධජයේ සඳහන් කර ඇති පරිදි, එම්එස් 128 ට වඩා වැඩි ඕෆ්සෙට් පෙරනිමි 'ස්ලයිව්' යාන්ත්‍රණය භාවිතයෙන් සමමුහුර්ත වීමට පැය ගණනක් ගත විය හැකි බව සඳහන් කරන්න
මැට් එස්.

sudo/Etc/rc.locale ලිපිගොනු වල භාවිතා කිරීමේ අවශ්‍යතාවයක් නොමැත .. ඒවා සියල්ලම root ලෙස ක්‍රියාත්මක වේ.
සෝරන් ඒ

timedatectl, නමුත් askubuntu.com/questions/832646/…
nobar

Answers:


334

බොහෝ විට 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 )&

ස්තූතියි. ඔබට පැහැදිලි මාර්ග අවශ්‍ය වන්නේ මන්දැයි කරුණාකර පැහැදිලි කළ හැකිද?
ysap

1
මම ඇත්තටම දන්නේ නැහැ. :-) වරක් මට servicerc.local සහ cron වෙතින් ධාවනය කිරීමට උත්සාහ කළද එය වෙනුවට /etc/init.d/xxx භාවිතා කර එය නිවැරදි කිරීමට මට හැකි විය. ඇත්ත වශයෙන්ම මම හිතන්නේ ඔබට සම්පූර්ණ මාවත ලබා දිය යුතු නැත ntpdate, නිවැරදි ගොනුව සොයාගත හැකි බවට වග බලා ගැනීම සඳහා ස්ක්‍රිප්ට් වල සම්පූර්ණ මාර්ග භාවිතා කිරීමට මම කැමතියි.
එරික් කාර්වාල්හෝ

2
හරි, පෙනෙන විදිහට මෙය ගැටලුවයි. දැන් ජාල සම්බන්ධතාවය ස්ථාපිත වූ වහාම ඔරලෝසුව යාවත්කාලීන වේ. ස්තූතියි.
ysap

3
us.pool.ntp.orgඑය වඩාත් ප්‍රතිචාරාත්මක බව මම සොයා ගතිමි .
ysap

7
-uවිකල්පය සමඟ , ඔබට ntp සේවාව නැවැත්වීමට අවශ්‍ය නැත:sudo ntpdate -u time.nist.gov
එඩ්වඩ් ඇන්ඩර්සන්

509

Ntpdate වෙනුවට (එය අතහැර දමා ඇත ), භාවිතා කරන්න ntpd:

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

මෙම -gqනොතකා පියවා (කාලය නිවැරදි කිරීමට NTP daemon කියයි g) වහාම (ඉවත් වන්න q) කාල කිරීෙමන් පසු.


3
ස්තූතියි. මෙම විධානයෙන් පසුව 1970 පෙන්වයි (w / sudo). ntpdමෑන්පේජ් කියවීම , මෙය යාවත්කාලීනයකට බල කරන්නේ කෙසේදැයි මට විශ්වාස නැත?
ysap

12
"-Q" විකල්පය එන්ටීපී ඩීමන්ට ආරම්භ කිරීමට, වේලාව සකසා වහාම පිටවන ලෙස පවසයි. "-G" විකල්පය තත්පර 1000 ට වඩා විශාල කාල වෙනස්කම් සඳහා නිවැරදි කිරීමට ඉඩ දෙයි. දිගු කාලීනව, ඔබ හුදෙක් එන්ටීපී ඩීමන් සෑම විටම ක්‍රියාත්මක වන පරිදි වින්‍යාසගත කළ යුතුය.
tgharold

37
මෙම පිළිතුර ඉහළට යා යුතුය, මන්ද එය නිවැරදි ය: ntpdate අතහැර දමා එය ස්ථාපනය කිරීම නරක අදහසකි, මන්ද එය ntp සමඟ ගැටෙන බැවිනි. ඔරලෝසුව ක්‍රියා විරහිත නම්, ඔබ මෙම අත්පොත පියවර කළ යුතුය. එසේ නොවුවහොත් ntp ඔබේ ඔරලෝසුව වෙනස් නොකරන්නේ මන්දැයි ඔබට නොකියයි.
ලියම්

32
මට නම්, sudo ntpd -gqපිටවන්නේ නැත! මට 14.10 වන අතර ඉදිරියට යාමට මට CTRL + C කළ යුතුය ... නැතහොත් කොපමණ කාලයක් ගතවේද?
යානික් රොචොන්

5
FYI, මගේ පද්ධතියේ (CentOS 6.6), මට අවස්ථා දෙක වෙනස් කිරීමට අවශ්‍ය sudo service ntp...විය sudo service ntpd....
රිනෝගෝ

63

වේලාව වහාම සැකසීමට sntp භාවිතා කරන්න. උදාහරණයක් වශයෙන්:

sudo sntp -s 24.56.178.140

-S පසු සංඛ්‍යා ඕනෑම එන්ටීපී කාල සේවාදායකයක් විය හැකිය, එය අඩි NIST වේ. කොලින්ස්, කොලරාඩෝ.


1
ඒක වැඩ කළා! +1
කැප්වි

7
"Sudo ntpd -gq" නොමැති විට මෙය ක්‍රියාත්මක විය.
මැට් වයිට්

මම දන්නේ නැහැ මම කොපමණ වාරයක් මෙම පිළිතුර සොයමින් ආවාද කියා. සෑම අවස්ථාවකදීම ක්රියා කරයි.
Chaos

1
පැකේජය sntp සොයාගත නොහැකිද?
පන්සල

1
apt-get install sntp / yum install sntp (ඔව් එය CentOS, RedHat, fedore වලද ක්‍රියාත්මක වේ)
ndemou

41

අනෙක් අය පෙන්වා දී ඇති පරිදි හොඳම විසඳුම වන්නේ පෙරනිමියෙන් තත්පර 1000 ක් වන භීතික එළිපත්ත නොසලකා හැරීමට ntpd ට උපදෙස් දීමයි. ඔබට භීතික එළිපත්ත ක්‍රම දෙකකින් වින්‍යාසගත කළ හැකිය:

  • සංස්කරණය /etc/default/ntpකර -g විකල්පය පවතින බවට සහතික වන්න.
  • සංස්කරණය /etc/ntp.conf හා ස්ථානය tinker panic 0මුදුනේ

මෙතෙක් මෙය අත්‍යවශ්‍යයෙන්ම අනෙක් අය නිර්දේශ කර ඇති නමුත් ඔබ ගත යුතු තවත් එක් පියවරක් තිබේ. ව්‍යාජ- hwclock වැඩසටහන ස්ථාපනය කරන්න:

# 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.

ව්‍යාජ-හ්ව්ලොක් ස්ථාපනය කර ඇති විට ඔබේ යන්ත්‍රය නැවත 1970 යැයි සිතමින් ආරම්භ නොවේ. ඔබේ යන්ත්‍රය ආරම්භ වූ විට එහි ඔරලෝසුව අවසන් නැවත පණගැන්වීමේ / වසා දැමීමේදී ලියන ලද කාලරාමුව ව්‍යාජ-හ්ව්ලොක් වෙත සකසනු ඇත. මෙයින් අදහස් වන්නේ ඔබ ආරම්භ කරන විට ජාල ගැටළු ඇති විට ඔබට තරමක් නිවැරදි ඔරලෝසුවක් තිබිය හැකි බවයි.


1
-gමට කිසිම දෙයක් කරන්න බවක් (විධාන රේඛාවේ දී, මම නෑ /etc/default/ntp), නමුත් එක් tinker panic 0කිරීමට ntp.confවැඩ
ඩේව් Cousineau

Ah සාහුජින් ඔබට ප්‍රමිතියෙන් තොර ntp පැකේජයක් හැරෙන්නට ඔබට කුමක් කියන්නදැයි මම නොදනිමි. / etc / default / ntp යනු උබුන්ටු වෙතින් පැකේජයේ කොටසකි: packages.ubuntu.com/xenial/amd64/ntp/filelist සහ -g මට මතක ඇති තාක් කල් විකල්පයකි.
dfc

කණගාටුයි, මම හිතන්නේ මම ඇත්ත වශයෙන්ම උබුන්ටු මත නොසිටින අතර අදහස් දැක්වීමට පෙර තව ටිකක් සිතා බැලිය යුතුය. tinker panic 0නිසැකවම වැඩ කර ඇති බව පෙනේ.
ඩේව් කසිනෝ

21

timedatectlවේලාව සැකසීමට (systemd සේවා ඒකකය) භාවිතා කරන්න . ntpඅතහැර දමා ඇත.

sudo systemctl restart systemd-timesyncd.service

ල logs ු-සටහන් කියවා කාලය යාවත්කාලීන කර ඇත්දැයි ඔබට පරීක්ෂා කළ හැකිය journalctl -xe | tail

යොමුව


1
මෙය උබුන්ටු 19.04 හි ක්‍රියාත්මක විය. ස්තූතියි!
krubo

1
ntpඋබුන්ටු 18.04 සහ ඉන් ඔබ්බෙහි ස්ථාපනය කර නොමැති අතර එය ස්ථාපනය නොකළ යුතුය
වික්ටර් ලැමොයින්

2
අනෙක් පිළිතුරු ඉතා අතහැර දමා ඇති අතර බොහෝ දුරට ක්‍රියා නොකරයි. මෙම පිළිතුර නවතම පිළිගත් පිළිතුර විය යුතුය. වෙනත් පිළිතුරක් අවශ්‍ය වන්නේ ඉතිරිව ඇත්තේ systemd-less මෙහෙයුම් පද්ධතියක් ඇති පරිශීලකයින් පමණි.
අකිටෝ

හොඳම පිළිතුර! අනෙක් ඒවා
යල්පැන ඇත

13

ntpdate යනු නෙට් ඩේමියන්ට වඩා වෙනස් වැඩසටහනකි. NTPD එම සොකට් එක මත ධාවනය වන නිසා NTPDate ආරම්භයේදී වැරදී ඇත.

විධාන රේඛාවේ සිට ධාවනය කරන්න

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

ඔබට සියල්ලම එකට ntpd අස්ථාපනය කළ හැකිය (apt-get remove ntp) සහ සෑම පැයකටම වරක් ntpdate භාවිතා කිරීමට ක්‍රෝන් ස්ක්‍රිප්ට් එකක් එක් කරන්න.

යාවත්කාලීන කරන්න

ntp සේවාවට මෙම පද්ධතිය තුළ ඔබට අර්ථවත් වටිනාකමක් නොතිබෙනු ඇත, එබැවින් පළමුව එය ඉවත් කරන්න.

# sudo apt-get remove ntp

දැන් විධානය එක් කරන්න:

ntpdate -sb time.nist.gov

වෙත /etc/rclocal

නැවත ආරම්භ කරන්න. එම අවස්ථාවේදී හොඳ විය යුතුය.


පිළිතුර යාවත්කාලීන කරන ලදි.
ස්ටීවන්

1
Ntpdate ක්‍රමානුකූලව ඉවත් කිරීමක් හෝ යමක් නොවේද? එසේම, මම මෙය නිවැරදිව වටහා ගන්නේ නම්, සේවාව දේශීය ඔරලෝසුව සේවාදායකයේ ඔරලෝසුව සමඟ සමමුහුර්තව පවත්වා ගෙන යයි - එබැවින් ප්ලාවිතය බැඳී ඇත. ඔබ එක් වරක් ntp ඉවත් කර ntpdate ධාවනය කරන්නේ නම්, යන්ත්‍රය දීර් extended කාලයක් ක්‍රියාත්මක වන විට ඔරලෝසු ප්ලාවනය වීමෙන් එය බලපාන්නේ නැද්ද?
ysap

ස්ටීවන්, කරුණාකර ප්‍රශ්නයට # 2 යාවත්කාලීන කිරීම බලන්න.
ysap

3
ඔව්, ntpdate ක්‍රමානුකූලව ඉවත් කෙරෙමින් පවතී. "Ntpd -q" භාවිතා කිරීම වඩාත් සුදුසුය (ප්‍රභේද දෙකම මුලින්ම ntpd නැවැත්විය යුතුය).
tgharold

10
rdate -s tick.greyware.com

ඔබට කිරීමට අවශ්‍ය වන්නේ ඔරලෝසුව එක් වරක් සකසා ගැනීම පමණි


ස්තූතියි. මෙම විධානය පරික්ෂා කිරීමට මට දැනට පද්ධතියක් නොමැත, නමුත් ඔබ ප්‍රශ්නයේ සාකච්ඡාව සහ පිළිගත් පිළිතුර අනුගමනය කරන්නේ නම්, ඔරලෝසු යාවත්කාලීන කිරීමේ විධානය ක්‍රියාත්මක කරන අවස්ථාවේ දී ගැටළුව ඇත්ත වශයෙන්ම ජාල ලබා ගත නොහැකි බව ඔබට පෙනෙනු ඇත.
ysap

මෙය මගේ රාස්ප්බෙරි පයි හි කාල සමමුහුර්ත කිරීමේ ගැටලුවක් නිරාකරණය කර ඇත. ඔබට ස්තුතියි.
ඔලිවර් ස්ප්‍රින්

7

ඩේබියන් / මින්ට් / උබුන්ටු (හෝ වෙනත් ඩේබියන් ව්‍යුත්පන්න) පද්ධතියක මෙය කිරීමට නිවැරදි ක්‍රමය වන්නේ රේඛාව තිබීමයි

NTPD_OPTS="-g"

ගොනුවේ

/etc/default/ntp

Netpd /etc/init.d/ntp ස්ක්‍රිප්ට් එකෙන් ආරම්භ කළ විට එය "-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 ට වඩා වැඩි විට පද්ධතියේ වේලාව නිවැරදි කිරීමට ntpd ට ඉඩ දීම, උදා: දෘඩාංග RTC නොමැති නිසා ආරම්භක වේලාවේ 1970 ජනවාරි 1 වන විට පද්ධති වේලාව.


මට එය දැනටමත් තිබේ, නමුත් එය තවමත් රාත්‍රී 11 ට විය යුතු විට NY හි 3AM පවසයි.
chovy

මා සතුව දැනටමත් එම රේඛාව හරියටම /etc/default/ntpතිබුනද කාලය සමමුහුර්ත වී නොමැත.
ඩේවිඩ් ෆෙරෙන්සි රොගොසන්

5

tlsdateTLS සමඟ දුරස්ථ සේවාදායකයන් සමඟ ආරක්ෂිතව සම්බන්ධ වීමෙන් සහ දුරස්ථ වේලාව ආරක්ෂිත අත් හුවමාරුවෙන් උපුටා ගැනීමෙන් දේශීය ඔරලෝසුව සකසයි. මෙන් නොව ntpdate, tlsdateTCP භාවිතා කරයි, උදාහරණයක් වශයෙන් දුරස්ථ HTTPS සම්බන්ධ හෝ TLS පහසුකම සක්රීය සහ උත්සාහක ඔබ අනිෂ්ට කාල තොරතුරු පෝෂණය කිරීම සඳහා බව සතුරන්ට එරෙහිව යම් ආරක්ෂාවක් සපයයි.

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

5

සමහර වර්තමාන උබුන්ටු පදනම් කරගත් පද්ධති දැන් පෙරනිමියෙන් එන්ටීපී සේවාව භාවිතා නොකරන බව සලකන්න. මගේ ලිනක්ස් මින්ට් 19 (උබුන්ටු 18.04) යන්ත්‍රයේ කාලය තබා ඇත systemd-timesyncd.

එබැවින් සමමුහුර්තකරණය නැති වූ පසු යාවත්කාලීන වේලාවක් ලබා ගැනීම සඳහා, මම දුවමි

sudo systemctl restart systemd-timesyncd

15.04 සිට උබුන්ටු පෙරනිමියෙන් systemd භාවිතා කරයි. එබැවින් කාලය වැනි විවේචනාත්මක පද්ධති කළමනාකරණය කරනු ලබන්නේ systemd හරහා ය. ඔබේ පද්ධතිය භාවිතා කරන්නේ කුමන සේවාවක්ද යන්න සොයා ගැනීමට

systemctl list-unit-files | grep -E 'ntp|timesyncd'

16.04 දින ටෙක්ජේඑස් සඳහා සේවාව විය ntp. මට උබුන්ටු 18.04 (මින්ට් 19) හි සේවය වේ systemd-timesyncd. සිත්ගන්නා කරුණ නම්, මා සතුව ඇති 16.04 සේවාදායකයකට මම පිවිසී ඇති අතර එයද භාවිතා කරයි systemd-timesyncd.


ස්තූතියි. ප්‍රශ්නය පළ කර බොහෝ කාලයක් ගත වී ඇති අතර, පරීක්ෂා කිරීම සඳහා පද්ධතියක් මා සතුව නොමැත, නමුත් ඔබේ පිළිතුර echTechJS ට වඩා වෙනස් වන්නේ කෙසේද යන්න විස්තරාත්මකව විස්තර කළ හැකිය, විශේෂයෙන් ඔබ යෝජනා කළ විධානය තරමක් වෙනස් ය.
ysap

හා ස්තූතියි. එය ඔබට පමණක් නොව අනාගතයේ දී යාවත්කාලීන තොරතුරු නොමැතිව (මා වැනි) මෙහි සිටින ඕනෑම කෙනෙකුට ලැබෙන ප්‍රතිචාරයකි. මගේ පිළිතුරට මා ළඟා වන්නේ කෙසේද යන්න පිළිබඳව වඩාත් නිශ්චිත වීමට මම මගේ පිළිතුර යාවත්කාලීන කළෙමි.
ආරොන් චේම්බර්ලින්

4

-bකාලය පියවර ගැනීමට විකල්පය භාවිතා කිරීමට උත්සාහ කරන්න .


2
විධාන රේඛාවෙන් උත්සාහ කරන විට, මට පහත ප්‍රතිචාරය ලැබේ : 1 Jan 00:04:11 ntpdate[2226]: the NTP socket is in use, exiting . කෙසේ වෙතත්, මම මීට පෙර මෙය උත්සාහ කළ rc.localනමුත් එය උදව් නොකළ බව මම සිතමි .
ysap

3
ඔබ ධාවනය කිරීමට පෙර පළමුව ntp සේවාව නැවැත්විය යුතුයntpdate -b <ipaddress>
Wim Deblauwe

2

හොඳින්,

මම මගේ රාස්ප්බෙරි පයි මත රාස්බියන් (ඩෙබියන් වීසි) ධාවනය කරමි. කුඩා ස්ක්‍රිප්ට් එකක් ලිවීම සහ මගේ අන්තර්ජාල අතුරුමුහුණත ක්‍රියාත්මක වූ පසු එය ක්‍රියාත්මක කිරීම පහසු බව මට පෙනී ගියේය, එවිට ජාලය ලබා ගත හැකි මොහොතේම ඔරලෝසුව යාවත්කාලීන වන බව මට විශ්වාසයි.

ntpdateධාවනය කිරීමෙන් ඔබට පැකේජය තිබේදැයි පළමුව පරීක්ෂා කරන්න

sudo apt-get update
sudo apt-get install ntpdate

ඔබ පහත සඳහන් දෑ ඔබගේ එකතු කළ යුතුය /etc/network/interfaces(නියත වශයෙන්ම eth0මෙහි උදාහරණයක් පමණි):

auto eth0
    iface eth0 inet dhcp
    post-up /usr/local/sbin/update-time.sh

පහත දැක්වෙන ස්ක්‍රිප්ට් එක තුළ /usr/local/sbin/update-time.shසාදන්න (එය ක්‍රියාත්මක කිරීමට අමතක නොකරන්න chmod):

#!/bin/bash
# This script checks if the ntp process is running, stops it, updates the system time, starts it again

ps cax | grep -c ntpd > /dev/null
onoff=$?
if [ "$onoff" -gt 0 ]; then
    echo "stopping ntpd..."
    service ntp stop
    echo "ntpd stopped"
else
    echo "ntpd not running, ready to update the date"
fi


isinstalled=$(dpkg-query -l | grep -c ntpdate)
if [ "$isinstalled" -gt 0 ]; then
    ntpdate -t 3 -s ntp4.stratum2.ru
    echo "date and time update executed"
else
    echo "ntpdate package not installed, can't update using ntp"
fi

echo "restarting ntpd..."
service ntp start 
echo "ntpd running"
echo "printing current date and time:"
date

exit

1

නියැදි ඕෆ්සෙට් 128 ms ට නොඅඩු කාල පරතරය 900 ms නොඉක්මවන තුරු, එන්ටීපී ඇල්ගොරිතම 128 එම්එස් ඉක්මවන නියැදි ඕෆ්සෙට් ඉවතලයි. ඉන් පසු පළමු නියැදිය, ඕෆ්සෙට් කුමක් වුවත්, ඔරලෝසුව නියමිත වේලාවට යොමු කරයි. ප්‍රායෝගිකව මෙය සාවද්‍ය අනතුරු ඇඟවීමේ වේගය අඩු කරයි, එහිදී ඔරලෝසුව වැරදීමකින් පියවරෙන් පියවර අඩු වී යයි.

සාමාන්‍යයෙන්, ඕෆ්සෙට් සනීපාරක්ෂක සීමාව ඉක්මවා ගියහොත් ntpd පිටවෙයි, එය පෙරනිමියෙන් 1000 s වේ. -G විකල්පය සමඟ මෙය අක්‍රිය කළ හැකිය:

-g සාමාන්‍යයෙන්, ඕෆ්සෙට් සනීපාරක්ෂක සීමාව ඉක්මවා ගියහොත් ntpd පිටවෙයි, එය පෙරනිමියෙන් 1000 s වේ. සනීපාරක්ෂක සීමාව බිංදුවට සකසා ඇත්නම්, කිසිදු සනීපාරක්ෂක පරීක්ෂණයක් සිදු නොකරන අතර ඕනෑම ඕෆ්සෙට් එකක් පිළිගත හැකිය. මෙම විකල්පය සීමාව ඉක්මවා යන අතර සීමාවකින් තොරව ඕනෑම අගයකට කාලය සැකසීමට ඉඩ දෙයි; කෙසේ වෙතත්, මෙය සිදුවිය හැක්කේ එක් වරක් පමණි. ඊට පසු, සීමාව ඉක්මවා ගියහොත් ntpd පිටව යනු ඇත. මෙම විකල්පය -q විකල්පය සමඟ භාවිතා කළ හැකිය.

දෙකම http://doc.ntp.org/4.1.0/ntpd.htm වෙතින්

-ජොනතන් නටලේ


1

ඔබේ පද්ධතිය සමමුහුර්ත වීමට පෙර ගතවන ඕනෑම වේලාවක් බලා සිටීමට ඔබට කාලය ලබා දිය හැකි නම්, ඔබට ntp-waitවිධානය භාවිතා කළ හැකිය :

ntp-wait || exit -1 
# i believe this would exit the script if it fails, but not sure of ntp-wait return codes, learn this first.

echo Time is synced, go ahead with backup
tar
rsync etc.

1

ඔබ systemd හි සිටී නම් ඔබට මෙම විධානය භාවිතා කළ හැකිය:

sudo systemctl restart ntp
# or
sudo systemctl restart ntp.service

තත්පර 10-15 අතර කාලය යාවත්කාලීන වේ.
උබුන්ටු සහකරු හෝ සහකාරිය මත පරීක්ෂා කර ඇත 16.04


0

ntpdහා ntpdateඑය සීමා වරාය (UDP 123) භාවිතා කරමින් සුපුරුදු විසින් පවත්වාගෙන. ඔබ ෆයර්වෝලයක් පිටුපස සිටී නම්, ntpdකිසි විටෙකත් ක්‍රියා නොකරනු ඇත, නමුත් විකල්පය ntpdateසමඟ වැඩ කළ -uහැකිය. උදාහරණයක් ලෙස: ntpdate -u 0.ubuntu.pool.ntp.org හෝ ntpdate -u time.nist.govදෙකම හොඳින් ක්‍රියාත්මක විය යුතුය.


0

දේශීය කාල සේවාදායකය ( ntpd හෝ timesyncd ) නැවැත්වීමට නිර්දේශ කිරීමට අමතරව , පසුව ntpdate -bs serverහෝ ntpd -gq, පසුව නැවත ආරම්භ කිරීමෙන් බොහෝ දෙනා යෝජනා කළ පරිදි කාලය සමමුහුර්තව තබා ගැනීමට කාල සේවාදායකය (මෙම පියවර @reboot cron රැකියා පිටපතක විය හැකිය ; විස්තර man 5 crontabසඳහා බලන්න) , අපේක්ෂිත වේලාව / දිනය වාර්තා කිරීම සඳහා කාල විධානයන් සඳහා කාල කලාපය වෙනස් කිරීමට අවශ්‍ය විය හැකිය.

උබුන්ටු සහ ඒ හා සමාන භාවිතය සඳහා: dpkg-reconfigure tzdataසහ නිවැරදි පෙදෙස තෝරන්න. එය නැවත ආරම්භ කිරීම අතර එහි වටිනාකම තබා ගනී.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.