كيف يمكنك ضبط ساعة الأجهزة برمجياً على نظام Linux؟
سؤال
يوفر Linux استدعاء stime(2) لضبط وقت النظام.ومع ذلك، على الرغم من أن هذا سيؤدي إلى تحديث وقت النظام، إلا أنه لا يقوم بتعيين ساعة جهاز BIOS لتتوافق مع وقت النظام الجديد.
تقوم أنظمة Linux عادةً بمزامنة ساعة الأجهزة مع وقت النظام عند إيقاف التشغيل وعلى فترات زمنية دورية.ومع ذلك، إذا تم تدوير طاقة الجهاز قبل إحدى هذه المزامنات التلقائية، فسيكون الوقت غير صحيح عند إعادة تشغيل الجهاز.
كيف تتأكد من تحديث ساعة الأجهزة عند ضبط وقت النظام؟
المحلول
تحقق من الرجل الصفحات RTC للحصول على التفاصيل، ولكن إذا قمت بتسجيل الدخول كما في الجذر، شيء من هذا القبيل:
struct rtc_time {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday; /* unused */
int tm_yday; /* unused */
int tm_isdst;/* unused */
};
struct rtc_time rt;
/* set your values here */
fd = open("/dev/rtc", O_RDONLY);
ioctl(fd, RTC_SET_TIME, &rt);
close(fd);
نصائح أخرى
وبعد استدعاء stime ()، القيام بذلك:
system("/sbin/hwclock --systohc");
وانظر hwclock (8) صفحة الرجل لمزيد من المعلومات.
وأود أن تبدأ من خلال قراءة شفرة المصدر من hwclock.
وأود أيضا أن أشير إلى الأجهزة على مدار الساعة دقيقة فقط إلى نقطة (لقد رأيت الأنظمة التي ستفقد / كسب بضع ثوان في اليوم).
هل يعتبر إنشاء الخفي وقت الشبكة لمزامنة ساعة الكمبيوتر مقابل خادم الوقت؟
وباعتراف الجميع هذه المزامنة لا يحدث حتى بعد أن يبدأ البرنامج الخفي وذلك تمشيا ساعة الجهاز الخاص بك في تزامن يساعد أيضا بين السلطة حتى وجهة نظر الخفي وقت يتزامن مقابل خادم الوقت.
إذا كان محرر النصوص مختلفًا عن kubuntu (kate هو المحرر الافتراضي في المحرر)، فاستخدم محررك الخاص مع sudo
الأمر في المحطة.
- تشغيل المحطة
- انسخ هذا الأمر والصقه
sudo kate /etc/default/rcS
يضعط يدخل - أدخل كلمة مرور المستخدم (كلمة مرور تسجيل الدخول الخاصة بك) اضغط يدخل
- سيتم فتح محرر النصوص على سطح المكتب
- تغيير الخط
UTC=yes
لUTC=no
- وانقر فوق حفظ (أعلى شريط علامات تبويب محرر النصوص)
- اعادة التشغيل