小编me_*_*and的帖子

如何在允许试验系统时间更改的同时避免“手动运行 fsck”消息?

我正在使用一个系统,我们希望允许用户根据需要随意调整日期和时间,并且可以随意重新启动。这很好,除了一件事:如果向后跳的时间很长,重新启动时会出现以下错误:

Checking filesystems
IMAGE2: Superblock last mount time (Tue Mar  1 17:32:48 2011,
        now = Thu Feb 24 17:34:29 2011) is in the future.

IMAGE2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Run Code Online (Sandbox Code Playgroud)

...然后引导挂起等待用户控制台输入,即使获得控制台访问权限,也需要 root 密码才能继续。

这显然不太理想。有没有办法跳过检查或强制检查在重新启动时自动发生?

谷歌只提供了需要手动运行 fsck 的帮助,如果/当它被击中时,这不是我所追求的。设置时间后手动运行 fsck 不起作用,因为此时文件系统仍处于挂载状态,并且完全禁用 fsck 不太理想。

我正在使用红帽 6。

更新:我目前使用的解决方案是破解 fstab 以禁用重新启动时的 fsck 检查。我曾尝试使用 …

boot rhel date fsck

18
推荐指数
1
解决办法
1万
查看次数

ssh 终止后,ssh 命令在其他系统上意外继续

我正在运行以下命令,并监视另一个系统上的输出文件:

ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done'
Run Code Online (Sandbox Code Playgroud)

如果我使用^C或仅通过终止我登录的终端来终止ssh 命令,我希望远程命令也终止。但是,这不会发生:/tmp/count无论如何都会获取所有数字 1-5,并ps -ejH显示 shell 及其sleep子项继续运行。

这是预期的行为吗,是否在任何地方都有记录?我可以禁用它吗?通过阅读,我希望必须使用 nohup 显式启用这种行为,而不是让它成为默认值。

我查看了 ssh 和 sshd 的手册页,但没有发现任何明显的内容,Google 向我指出了打开此行为的说明,而不是关闭它的说明。

我正在运行 Red Hat Enterprise Linux 6.2,两个系统上都有 root 登录名和 bash shell。

ssh rhel openssh sshd

11
推荐指数
1
解决办法
3673
查看次数

给定一个 SSH 私钥,我该如何恢复我的公钥?

我不知何故丢失了我的id_rsa.pub文件。我还有我的id_rsa档案。如何从私钥恢复公钥?

(这个问题是在ssh-copy-id报告“错误:未找到身份”而ssh-keygen报告“/root/.ssh/id_rsa已经存在”之后出现的。ls ~/.ssh指出问题是有id_rsa但没有id_rsa.pub。我找到了解决方案,但它被埋在了底部Ubuntu 支持论坛上的一篇长篇文章。)

ssh key-authentication

11
推荐指数
1
解决办法
3240
查看次数

ksh 过时的原因 -eq

最新版本的 ksh 已过时使用块-eq[[ ]](( ))而更喜欢使用。为什么是这样?我找不到任何关于(( ))over[[ ]]任何地方优势的文档,而且我发现这种语法更加明显。

例如:

#!/bin/ksh
var=1
if [[ $var -eq 1 ]]
then
  echo ALPHA
fi
Run Code Online (Sandbox Code Playgroud)

[adam@hendrix test]$ ksh -n test.sh
test.sh: warning: line 3: -eq within [[...]] obsolete, use ((...))
Run Code Online (Sandbox Code Playgroud)

scripting ksh shell-script

8
推荐指数
1
解决办法
3586
查看次数

<< 的正确文本名称

我刚刚遇到了<<命令,像这样使用:

cat > outfile.txt <<EOF
Multi-line content
that will be written to outfile.txt
EOF
Run Code Online (Sandbox Code Playgroud)

现在,我不知道它叫什么,但我很想知道它的名字,主要是这样我可以去搜索并了解更多关于它的语法。可悲的是,谷歌搜索“<<”是行不通的。

shell pipe

6
推荐指数
2
解决办法
733
查看次数

/etc/shadow 上次更改密码的日期 - UTC 或本地时间?

man 5 shadow 给出每行中第三个字段的以下描述:

上次更改密码的日期,表示为自 1970 年 1 月 1 日以来的天数。

0 有一个特殊的含义,就是用户下次登录系统时需要修改密码。

空字段表示禁用密码时效功能。

这是指 UTC 时间还是当地时区?特别是,如果我想使用类似的东西来计算可比较的数字$(( $(date +%s) / 86400 )),我是否需要传递date-u选项?

password date time timezone

5
推荐指数
1
解决办法
4776
查看次数

使用 GNU Screen 时的行尾

在 Red Hat Enterprise Linux 6.4 系统上使用 GNU Screen 4.00.03 时,我看到一些有点奇怪的行为。

如果我在没有 Screen 的情况下连接,查看日志我可以看到每行都以 CRLF ( 0x0D 0x0A)终止,完全符合预期。

如果我连接并运行 Screen,则具有两个或更多字符的行会按预期以 CRLF 终止。没有打印字符的行(例如,运行一个bare echo)仅以LF ( 0x0A)终止,最奇怪的是,具有单个打印字符的行(例如echo x)以BSLF ( 0x08 0x0A)终止。

我在 PuTTY 上看到了这一点,上面的日志来自 PuTTY 日志。我也在使用 Pexpect 的自动化 Python 框架中看到了这一点,所以我不会为此责怪 PuTTY。

这是怎么回事?我该如何阻止?

ssh gnu-screen

5
推荐指数
1
解决办法
2886
查看次数

磁盘配额超标; 截断不会降低配额

已解决:有关详细信息,请参阅问题末尾的“但是”。

我已经设法将我的登录登录到 Unix 机器上。我没有一个简单的方法联系管理员,所以我想自己解决这个问题。我没有 root 访问权限(那太容易了)。

根据标题,我设法通过垃圾邮件标准输出的应用程序创建了一个大文件,我现在无法删除它。rm -f不起作用,也不行cat /dev/null >| $file,也不行truncate -s 0 $file。对于我尝试过的一切,错误类似于以下内容。

tr08[~]$ cat /dev/null >| wordlist.txt
-bash: wordlist.txt: Disk quota exceeded
Run Code Online (Sandbox Code Playgroud)

从输出quota是无益的:

tr08[~]$ quota -v
Disk quotas for user meand (uid 8650):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
tau:/uspac/mc10/m10mr
                       0       0       0               0       0       0
Run Code Online (Sandbox Code Playgroud)

我不知道下一步该怎么做。谷歌只给了我truncatecat \dev\null,所以任何建议或建议将不胜感激。

评论中要求的输出:

tr08[~]$ uname -a
Linux tr08.ecs 2.6.30.10-106a.fc11.x86_64 #1 SMP Tue Sep 21 11:11:58 BST …
Run Code Online (Sandbox Code Playgroud)

disk-usage quota

4
推荐指数
1
解决办法
3390
查看次数

后台任务完成通知语法

昨晚,在晚上放弃我的电脑之前,我开始了一堆编译器工作,以便他们在早上准备好,使用make -f alpha.mak &>alpha.out &. 当我回来并按回车时,我看到了以下输出:

[1]   Done                    make -f alpha.mak &>alpha.out
[2]-  Done                    make -f beta.mak &>beta.out
[3]+  Done                    make -f gamma.mak &>gamma.out
Run Code Online (Sandbox Code Playgroud)

我的问题:该输出中的+-符号是什么意思?

我在 RedHat 6 上使用 bash。

shell bash job-control

3
推荐指数
1
解决办法
508
查看次数