Възходът на машините: Реални приложения на AI
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Тази статия описва процеса на зареждане за системи 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не могат да бъдат стартирани. Има 4 цели, които могат да бъдат зададени в RHEL/CentOS 7.
За да видите текущата цел за зареждане по подразбиране, използвайте следното:
systemctl get-default
Имайте предвид, че можете да промените това по време на изпълнение, като изолирате целта. Това ще стартира/спира всички услуги, свързани с новата цел, така че бъдете внимателни (вижте systemctl isolate new.target).
Има моменти, когато ще трябва да стартирате в режим на един потребител, за да отстраните проблем с операционната система. За този пример ще ви покажа как да използвате rescue.target„режим на един потребител“ на RHEL/CentOS 7.
systemd.unit=rescue.targetТози процес е малко по-различен от този, който сме използвали в предишни издания, но е проста задача и изисква много малко стъпки за това. Ако трябва да възстановите идентификационни данни, можете да използвате този метод за получаване на достъп до виртуална машина. Все още можете да стартирате от CD на живо, да монтирате главната файлова система и да редактирате паролата, но този метод е остарял и изисква повече усилия.
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, които да бъдат заредени. По време на интерактивно редактиране при стартиране, за намиране на тези редове се използва tab.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.
/отново root ( ).# grub2-mkconfig/boot/grub2/grub.cfgфайла. Не променяйте този файл. Изградете отново конфигурацията със следната команда:# grub2-mkconfig > /boot/grub2/grub.cfgСлед като възстановите конфигурацията на grub, трябва да можете да рестартирате, без да имате проблеми.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече