AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 9554
Accepted
x3ja
x3ja
Asked: 2009-05-19 09:43:55 +0800 CST2009-05-19 09:43:55 +0800 CST 2009-05-19 09:43:55 +0800 CST

如何从自定义 Linux 内核切换到分发内核

  • 772

在业余时间,我帮助管理一个托管的 Debian Linux 服务器,该服务器服务于各种网站并为少数人托管电子邮件。它没有看到大量的流量,但我们当然希望正确地做事。然而,当我们第一次得到这台服务器时,有人为我们推出了一个自定义内核,它允许我们做各种我们想做的事情(比如 LVM、RAID 等)。那是几年前的事了,当然修复了各种安全错误等,我们宁愿只使用保持最新的库存内核进行操作。

问题是我们没有在推出自定义内核时启用的功能列表,并且几次尝试使用新内核导致内核无法启动。所以问题是——我们如何在使用现有的 Debian 内核的同时仍然能够拥有我们所依赖的所有功能?我需要首先收集哪些信息,然后采取哪些步骤来实现它?

linux debian lvm kernel
  • 4 4 个回答
  • 2264 Views

4 个回答

  • Voted
  1. Best Answer
    Tim
    2009-05-19T10:04:12+08:002009-05-19T10:04:12+08:00

    首先,您需要评估您需要内核做什么。这意味着建立一个列表:

    • 系统中的每一块硬件
    • 与硬件相关的功能,例如 LVM 和 RAID
    • 网络功能,如路由、VPN、无线支持等。
    • 文件系统,尤其是你的根文件系统
    • 其他特殊的内核级需求

    接下来,您应该尝试弄清楚当前内核如何处理它们,然后尝试将其转换为更新的内核。为此,您可以查看:

    • lspci和的输出dmesg- 这将帮助您编目硬件以及当前内核在启动时的作用
    • 加载了哪些模块 - 看看lsmod
    • 内核配置(如果可用) - 有时存在/proc/config.gz于/boot

    一旦您了解了您的硬件以及当前内核是如何处理它的,您就可以从 Debian 源代码中推出一个新内核。专注于获得首先启动的内核。一旦您可以使用新内核进入 shell,您就可以对其余功能采取增量方法。重新编译,根据需要添加特性或驱动程序(可能作为模块来加速这个过程),然后测试每个新内核。

    关于 RAID 的最后一句话。如果是软件 RAID,您应该小心当前的 RAID 设置 - 较新的内核和系统将使用mdadm来管理此类事情,而较旧的系统倾向于使用raidtab方法。您的方法将改变您在内核中处理 RAID 的方式,尤其是自动检测位。查看优秀的Software RAID Howto了解更多信息。

    • 5
  2. Zoredache
    2009-05-19T10:01:49+08:002009-05-19T10:01:49+08:00

    如果构建您的自定义内核的人以debian 方式进行,他们可能在目录 /boot 中有一个名为 config-2.?.? 的文件​​。这将告诉您在构建内核时使用了哪些选项。

    既然你不确定,我想我会先拿一个 Debian livecd开始,看看 livecd 上的股票内核是否允许你引导访问你的所有硬件和磁盘。如果您可以从 livecd 获得一切工作,那么您只需要安装该内核。

    你提到你尝试了一个股票内核,它不会启动。究竟是什么错误,也许如果您发布消息我们可以提供更多帮助。

    • 1
  3. James
    2009-09-23T23:16:10+08:002009-09-23T23:16:10+08:00

    您当前的内核有 /proc/config.gz 或 /boot/config-XXX 吗?

    如果你这样做,只需区分你的配置和 Debian 配置。

    值得一提的是,Debian 配置几乎可以启用所有功能 - 肯定是 RAID、LVM 等。只要确保在安装 Debian 内核时构建 initrd,因为大多数东西在其内核中都是模块化的。

    很长一段时间以来,我没有遇到任何必须为 Debian 服务器构建自定义内核的情况,除非我出于某种原因想要添加内核补丁。

    • 1
  4. mmarx
    2009-10-06T03:30:44+08:002009-10-06T03:30:44+08:00

    设置您的 grub 以将您的自定义内核作为后备系统引导,以确保即使新内核无法引导,服务器也能重新启动。

    使用它,您可以安全地apt-get install使用linux-image您的硬件架构,这很可能是linux-image-686或者linux-image-amd64尝试重新启动到该内核。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve