-
October 25th, 2014, 06:29
#1
راه اندازی مجدد کرنل بدون نیاز به ریبوت
سلام
خوب یک سری شرکتها اومدن این روش که کار سختی نیست به صورت لاینس دار ارائه دادن که واقعا پول یا مفت دادن هست
خوب براحتی در این اموزش این روش رو انجام میدیدم
خوب ابتدا توسط دستور زیر kexec-tools رو نصب میکینم
کد PHP:
[root@cent:~]# yum install kexec-tools -y
بروزرسانی سیستم
کد PHP:
[root@cent:~]# yum update -y
اگر در پکیجهای اپدیتی فایل kernel نیز اپدیت شد حتما یک ریبوت بدید
مشاهده ورژن کرنل
کد PHP:
[root@cent:~]# uname -r
2.6.18-194.11.3.el5
مشاهده فایل grub
کد PHP:
[root@cent:~]# cat /etc/grub.conf
title CentOS (2.6.18-194.11.4.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.11.4.el5 ro root=LABEL=/
initrd /initrd-2.6.18-194.11.4.el5.img
title CentOS (2.6.18-194.11.3.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.11.3.el5 ro root=LABEL=/
initrd /initrd-2.6.18-194.11.3.el5.img
مشاهده ادرس اجرایی
کد PHP:
[root@cent:~]# cat /proc/cmdline
ro root=LABEL=/
خب نصبت به اطلاعات بالا کرنل جدید رو لود میکنیم
کد PHP:
[root@cent:~]# kexec -l /boot/vmlinuz-2.6.18-194.11.4.el5 --initrd=/boot/initrd-2.6.18-194.11.4.el5.img --command-line="$( cat /proc/cmdline )"
ساخت و اجرای کرنل جدید در ریبوت بعدی اعما میشود
[/php]
دستور زیر جهت انجام این فرایند است.
کد PHP:
[root@cent:~]# kexec -e
برای اجرا شدن فرایند به صورت خودکار میتونید دستور زیر را اجرا کنید
کد PHP:
nano /bin/fastreboot
کد زیر را وارد کنید
کد PHP:
#!/bin/sh
KERNEL=`uname -r`
CMD=`cat /proc/cmdline`
kexec -l /boot/vmlinuz-$KERNEL --initrd=/boot/initrd-$KERNEL.img --command-line="$CMD"
kexec -e
کد PHP:
chmod +x /bin/fastreboot
از این پس کافیست کد زیر را وارد کنید
موفق باشید
ویرایش توسط hamed.ramzi : October 25th, 2014 در ساعت 07:22
-
-
October 25th, 2014 06:29
# ADS