在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
本文介绍了CentOS / RHEL 7.x系统的启动过程。尽管它可能与以前的版本保持相似,但是在RHEL 7中,引入了systemd。除了启动过程之外,我还将在此过程中提供故障排除提示和技巧。
您需要先了解启动过程,然后才能主动对启动问题进行故障排除。查看以下步骤,直到您熟悉该过程。
/sbin/init以pid 1 执行。/sysroot)。/sysroot)切换到系统rootfs(/),并且systemd作为系统版本重新执行。有关引导过程的更多信息,请参阅系统的官方OS文档。
目标基本上是依赖检查。它们具有“之前”和“之后”配置,以确切地要求达到该目标所需的服务。例如: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此过程与我们以前的版本中使用的过程有些不同,但是它是一个简单的任务,并且只需很少的步骤即可完成。如果需要恢复任何凭据,则可以使用此方法来访问VM。您仍然可以从活动CD引导,挂载根文件系统并编辑密码,但是该方法已过时,需要更多的精力。
rd.break(不加引号),这将在将控件从initramfs移交给实际系统之前中断启动过程。此时,将呈现一个根shell,其中根文件系统以只读模式安装在上/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配置后,您应该可以重新启动而不会出现任何问题。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息