Повстання машин: застосування ШІ в реальному світі
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
У цій статті описується процес завантаження систем CentOS/RHEL 7.x. Хоча він може залишатися схожим на попередні випуски, з RHEL 7 впроваджується systemd. На додаток до процесу завантаження, я надам поради та підказки щодо усунення несправностей.
Вам потрібно зрозуміти процес завантаження, перш ніж ви зможете активно вирішувати проблему під час завантаження. Перегляньте наведені нижче кроки, поки не ознайомитеся з процесом.
/sbin/initяк pid 1./sysroot)./sysroot) на rootfs ( /), а systemd повторно виконується як версія системи.Для отримання додаткової інформації про процес завантаження зверніться до офіційної документації ОС для вашої системи.
Цілі - це в основному перевірки залежностей. Вони мають конфігурацію «до» і «після», які саме послуги потрібні для досягнення цієї мети. Наприклад: arp.ethernet.service, firewalld.service, і так далі потрібно запустити і працювати, перш ніж network.targetможна буде досягти. Якщо він не досягнутий, такі служби, як httpd, nfs, і ldapне можуть бути запущені. У RHEL/CentOS 7 можна встановити 4 цілі.
Щоб переглянути поточну ціль завантаження за замовчуванням, скористайтеся наступним:
systemctl get-default
Майте на увазі, що ви можете змінити це під час виконання, ізолюючи ціль. Це запустить/зупинить усі служби, пов’язані з новою метою, тому будьте обережні (див. systemctl isolate new.target).
Бувають випадки, коли вам потрібно буде завантажитися в режимі одного користувача, щоб вирішити проблему з операційною системою. Для цього прикладу я покажу вам, як використовувати rescue.target«однокористувацький режим» на RHEL/CentOS 7.
systemd.unit=rescue.targetЦей процес трохи відрізняється від того, що ми використовували в попередніх випусках, але це просте завдання і вимагає дуже кількох кроків для цього. Якщо вам потрібно відновити будь-які облікові дані, ви можете використовувати цей метод для отримання доступу до віртуальної машини. Ви все ще можете завантажуватися з живого компакт-диска, монтувати кореневу файлову систему та редагувати пароль, але цей метод застарілий і вимагає більше зусиль.
rd.break( без лапок ), який порушить процес завантаження безпосередньо перед тим, як елемент керування буде передано з initramfs до фактичної системи.На цьому етапі представлена коренева оболонка з кореневою файловою системою, змонтованою в режимі лише для читання на /sysroot. Нам потрібно буде перемонтувати його з привілеями на запис.
Перемонтуйте /sysroot.
# mount -oremount,rw /sysroot
Перейти до в'язниці chroot.
# chroot /sysroot
Змініть пароль для користувача, у якого є застарілі облікові дані.
# passwd <username>
Якщо ви використовуєте SElinux, вам слід розглянути можливість перемаркування всіх файлів перед продовженням процесу завантаження. Цю частину можна пропустити, якщо ви не використовуєте SElinux.
# touch /.autorelabel
Двічі вийдіть, і система завантажиться з точки, коли ми її перервали.
Може бути корисним переглядати журнали попередніх невдалих спроб завантаження. Якщо журнали були зроблені постійними (як правило, зберігаються в пам’яті та вивільняються під час завантаження), це можна зробити за допомогою journalctlінструмента. Виконайте ці дії, якщо вам потрібно налаштувати постійний журнал завантаження.
Як root створіть файл журналу для збереження цієї інформації.
# mkdir -p 2775 /var/log/journal && chown :systemd-journal /var/log/journal
# systemctl restart systemd-journald
Щоб перевірити журнали попереднього завантаження, використовуйте -bпараметр з journalctl. Без будь-яких аргументів -bфільтруватиме вихід лише до повідомлень, що стосуються останнього завантаження. Від’ємне число для цього аргументу буде відфільтровано під час попередніх завантажень. Наприклад:
# journalctl -b-1 -p err
Це покаже вам журнали помилок під час завантаження, які виникли до останнього. Вам слід змінити числове значення, щоб відображати завантаження, яке потрібно переглянути.
Однією з найпоширеніших помилок під час завантаження є неправильно налаштований /etc/fstabфайл. Ви НЕ МОЖЕТЕ використовувати rescue.targetдля виправлення /etc/fstabпомилки. Більшість із цих проблем вимагатиме від нас використання, emergency.targetоскільки «порятунок» вимагає більш функціональної системи.
Нижче наведено приклади проблем, які вимагають emergency.target:
/etc/fstab./etc/fstab./etc/fstab.Важливо : Після редагування /etc/fstabфайлу в екстреному режимі ви повинні виконати наступне для заходів безпеки:
# systemctl daemon-reload
Ось покроковий приклад. Ми збираємося завантажитися в аварійний режим, щоб видалити помилковий запис у /etc/fstab.
systemd.unit=emergency.target/щоб ми могли внести зміни до fstabфайлу:# mount -oremount,rw /mountкоманду, щоб побачити, який запис викликає помилку:# mount -afstabфайлу порушний запис .mount -aще раз, щоб переконатися, що помилку вирішено.systemctl daemon-reloadяк я згадував раніше, для перезавантаження всіх файлів модулів і відтворення всього дерева залежностей.Після того, як ви вийдете з аварійної оболонки, система завершить завантаження з аварійної цілі, після чого ви зможете продовжити як зазвичай з цього моменту. Цей приклад був просто використаний, щоб показати вам процес використання аварійної цілі для внесення постійних змін до файлів у системі.
Цей /boot/grub2/grub.cfgфайл є основним файлом конфігурації. НЕ редагуйте цей файл вручну. Замість цього використовуйте grub2-mkconfigдля створення нової конфігурації grub2, використовуючи набір різних файлів конфігурації та список встановлених ядер. grub2-mkconfigКоманда буде дивитися на /etc/default/grubваріанти , такі як тайм - аут меню по замовчуванням і ядра командного рядка для використання, а потім використовувати набір скриптів в /etc/grub.d/для створення результуючого файлу конфігурації.
Ось текстова діаграма цього зв’язку.
/boot/grub2/grub.cfg
|
|__________________
| |
/etc/default/grub /etc/grub.d/*
Важливо: щоб відредагувати основний файл grub.cfg, вам потрібно буде внести потрібні зміни /etc/default/grubу файли та у файли, /etc/grub.d/а потім створити новий, grub.cfgвиконавши:
# grub2-mkconfig > /boot/grub2/grub.cfg
Важливо зрозуміти синтаксис /boot/grub2/grub.cfgфайлу перед усуненням несправностей.
linux16і initrd16рядки вказують на ядро, яке потрібно завантажити з диска (разом з командним рядком ядра), і initramfs, які потрібно завантажити. Під час інтерактивного редагування під час завантаження для пошуку цих рядків використовується вкладка.harddrive.partitionде hd0перший жорсткий диск в системі і hd1є другим. Розділи вказуються як msdos1для першого розділу MBR або gpt1для першого розділу GPT.Приклад з /boot/grub2/grub.cfg:
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-a2531d12-46f8-4a0f-8a5c-b48d6ef71275' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 123455ae-46f8-4a0f-8a5c-b48d6ef71275
else
search --no-floppy --fs-uuid --set=root 123455ae-46f8-4a0f-8a5c-b48d6ef71275
fi
Якщо вам потрібно повторно встановити завантажувач на пристрої, скористайтеся такою командою.
# grub2-install <device>
Для випадків, коли система не завантажиться після переходу до меню grub2.
/).# grub2-mkconfig/boot/grub2/grub.cfgфайл. Не змінюйте цей файл. Перебудуйте конфігурацію за допомогою такої команди:# grub2-mkconfig > /boot/grub2/grub.cfgПісля того, як ви перебудували конфігурацію grub, ви зможете перезавантажитися без будь-яких проблем.
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше