CentOS7开机界面出现多个内核选项

嘿,我正面临着你之前提到的情况,这真的让我很烦恼。
那里堆积了几个内核变体,看起来很混乱。
升级 CentOS 后不清理旧内核是一个非常老的问题。

您列出的所有步骤都是正确的。
让我带您浏览一下它们,看看是否有任何需要注意的细节。

首先,你说要检查当前的内核版本可以使用 uname -r 或 cat /proc/version。
您显示的 3 .1 0.0-2 2 9 .2 0.1 .el7 .x8 6 _6 4 是当前正在运行的。
没问题。

查看系统上所有内核 RPM 的最简单方法是使用命令 rpm -qa | grep 内核命令。
您列出的软件包(例如 kernel-3 .1 0.0-2 2 9 .1 4 .1 .el7 .x8 6 _6 4 和 kernel-3 .1 0.0-2 2 9 .el7 .x8 6 _6 4 )是要删除的候选软件包。

就是这样,删除旧内核。
这里有一个小技巧。
直接使用 yum Remove 或 dnf Remove 比 rpm -e 方便得多。
这将帮助您应对毒瘾。
例如,您可以在终端中输入: 击败 sudo yum 删除 kernel-3 .1 0.0-2 2 9 .1 4 .1 .el7 .x8 6 _6 4 kernel-3 .1 0.0-2 2 9 .el7 .x8 6 _6 4
或使用 DNF: 击败 sudo dnf remove kernel-3 .1 0.0-2 2 9 .1 4 .1 .el7 .x8 6 _6 4 kernel-3 .1 0.0-2 2 9 .el7 .x8 6 _6 4
键入并按 Enter 后,系统可能会提示您进行确认,表明删除这些软件包后紧急模式可能不可用。
确认一下就可以了这将自动帮助您摆脱不必要的包。

最后一步是重新启动系统。
您现在可以使用 sudo restart 或 Shutdown -r。
重新启动后,如果您查看启动菜单,应该只剩下一个内核选项。

您对 /boot/grub/menu.lst 文件的看法是正确的。
CentOS 目前主要使用 GRUB2 ,因此通常不需要手动更改此文件。
系统会自动为您生成启动项。
如果手动更改,很容易出错,可能无法启动。
因此,遵循官方文档的建议并使用包管理器来处理内核包会更安全。

我已经删除过一次了。
我记得去年我在武汉时为朋友做的。
我用的是yum卸载方式,当时一切都很顺利。
如果您选择正确的软件包进行卸载,通常不会有什么大问题问题。

你试试这个方法。
如果卸载重启后仍然过多,可以检查是否还有其他内核相关的包没有被删除。
或者您可以告诉我哪些已被删除,我会为您查看。

centos7设置开机启动es

说白了,在CentOS7 上启动ES只需两步:使用systemda创建服务文件,然后自动加载。
但中间也有很多陷阱,让他没有走错路。

拓展一下,考虑要点如下: 首先,最重要的是,ES安装后,有7 0%的可能是它自带的systemd文件在/usr/lib/systemd/system/下。
如果复制/etc/systemd/system/,则需要更改文件中的exec路径;还有一点,去年我们跑3 000步的集群时,发现在daemon-reload启动时卡住之前我们没有使用systemctl。
在语言中,这种效果被称为“SNOW CASE”。
因为前面的一点延迟会使后面的整个事情下降。
忍住也是很可怕的。
弹性研究开始后。
该文件作为远程启动,不要急于重新启动服务器。
首先使用 systemctl status elasticsearch.service 检查状态。
说实话,这很令人不安。
我一开始以为默认是正常的。

等一下,还有一件事。
如果发现日志中始终没有列出“file /var/lib/elasticsearch”之类的错误,则说明索引信息写入不正确。
很多人不重视这一点。
建议手动创建data目录并赋予6 00权限。

最后警告:修改elasticsearch.yml后不要忘记执行systemctl daemon-reload,否则集群名称和端口的更改将毫无用处。
是否值得这么麻烦取决于您的业务场景。

centos7 jar包开机启动 crontab 方式

一天深夜,我正在调试一个从宿舍取红包的小程序。
写完脚本后,我就在想如何让它在半夜自动运行。
纠结了半天,我发现crontab简直就是懒人的福音。
CentOS7 使用crontab启动jar包很简单。
我记得第一次做的时候,我写错了Java路径,系统告诉我找不到命令。
我花了半个小时才想起来出口不见了。

在准备环境方面,我一般直接使用yum install crond。
系统提示需要安装几个依赖包,例如libcgroup。
当您启动 crond 时,您将看到几个守护进程在后台运行。

配置crontab任务时,记得使用@reboot。
我有一个习惯,每次完成一个任务就加sleep 1 0,防止系统启动后就运行,导致其他命令报错。
例如: 定时任务 @reboot sleep 1 0 && cd /opt/myapp && java -jar app.jar > /tmp/myapp.log 2 >&1
在检查启动效果时,经常使用journalctl -u cron来读取日志。
有一次发现jar包没有启动。
原来是日志文件权限不够。
改成7 7 7 就好了。

我突然想到:如果jar包需要传递参数怎么办?例如,可以直接在命令行中添加-Dfile.encoding=UTF-8 但对于更复杂的情况,例如配置文件位于其他位置,您可能仍然需要使用 systemd。

实际上我更推荐 systemd 用于生产环境,但是 crontab 对于开发和测试来说确实很方便。
比如我上次测试定时任务,使用crontab需要几分钟,但在systemd中修改却花了一个小时。

等一下,还有一件事。
crontab 日志通常不在 /var/log/cron 中。
您需要查看 crond 日志。
我偶然发现了这个细节。

现在,系统启动速度越来越快。
红包恢复脚本半夜自动运行,有5 秒延迟……