小编Ric*_*ich的帖子

在 Yum 中列出依赖于另一个已安装包的包

我正在尝试在 RHEL5 上安装一个 3rd-party RPM 包,它依赖于 sqlite 3.4 版。根据 Yum 我已经安装了 3.3.6。

有没有办法列出依赖于 sqlite 3.3.6 的已安装包?

yum rhel package-management

68
推荐指数
4
解决办法
8万
查看次数

Logrotate:“日志不需要旋转”为什么?

我有以下新的 logrotate 配置:

/var/log/nexus/nexus.log {
    rotate 7
    missingok
    compress
    delaycompress
    copytruncate
    daily
}
Run Code Online (Sandbox Code Playgroud)

当我运行时logrotate -d nexus,我得到以下信息:

reading config file nexus
reading config info for /var/log/nexus/nexus.log

Handling 1 logs

rotating pattern: /var/log/nexus/nexus.log  after 1 days (7 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/nexus/nexus.log
  log does not need rotating
Run Code Online (Sandbox Code Playgroud)

我的 /var/log/nexus/ 文件夹包含以下内容:

nexus.log
oldlogs.tar.gz
Run Code Online (Sandbox Code Playgroud)

为什么 LogRotate 不旋转 nexus.log 文件?我期待的是 nexus.log 文件会被截断,并且会创建一个新文件,比如 nexus.log-201106241000。

logrotate

63
推荐指数
3
解决办法
7万
查看次数

无法删除文件,即使以 root 身份运行

我正在将一台机器从 RHEL 4 迁移到 5。我们没有进行实际升级,而是创建了一个新的 VM(两台机器都在云中),我正在两者之间复制数据。

我遇到了以下文件,我需要将其从新机器中删除,但无法删除,即使以 root 身份运行:

-rw-------  1 2003 2003  219 jan 11 14:22 .bash_history
Run Code Online (Sandbox Code Playgroud)

该文件位于 /home/USER/ 中,其中 USER 是构建机器的人的帐户。他在旧机器上没有帐户,所以我试图删除他的主文件夹,以便新机器与旧机器相符,但出现以下错误:

rm: ne peut enlever `.bash_history': Opération non permise
Run Code Online (Sandbox Code Playgroud)

(法文翻译:不能删除XXX,不允许操作)

我曾尝试使用以下命令,但这没有任何区别:

chattr -i .bash_history
Run Code Online (Sandbox Code Playgroud)

是创建 ID 为 2003 的用户的唯一选择,还是有其他解决方法?


编辑

我试过使用rm -f,我得到了同样的错误。我chmod 777首先使用相同类型的错误。

我已经能够访问chown包含我要删除的文件的文件夹,所以它是:

drwx------ 2 root root 1024 jan 24 15:58 USER
Run Code Online (Sandbox Code Playgroud)

编辑2

lsattr按照 Angus 的建议运行命令给出了以下输出:

-----a------- USER/.bash_history
------------- USER/..
------------- USER/.
Run Code Online (Sandbox Code Playgroud)

该文件被标记为仅附加 - 在使用更改此标志时,chattr -a .bash_history我能够删除该文件。

root rhel permissions rm

62
推荐指数
2
解决办法
17万
查看次数

强制 sudo 提示输入密码

如果我执行以下操作:

sudo su -
//enter password
exit
exit
//login again straight away
sudo su -
Run Code Online (Sandbox Code Playgroud)

sudo 的第二次调用不需要密码,因为即使我再次注销,我仍然在某个时间限制内,这意味着不需要再次提示我输入密码。

因为我正在尝试一些新的 privs 以确保它们工作,所以在我等待超时发生时这真的减慢了我的速度。

有没有我可以运行的命令来重置超时?

顺便说一句,我不想​​更改超时或影响其他用户!

password sudo

29
推荐指数
2
解决办法
3万
查看次数

在发生时记录传出连接

有没有办法记录进程创建的所有传出连接?我知道,netstat但这似乎更像是一个时间点的快照,而不是在一段时间内运行和记录信息的东西。

我只需要 IP 或主机名、端口和建立连接的过程。

tcp netstat

26
推荐指数
3
解决办法
4万
查看次数

sudo su - 和 sudo su 有什么区别 -

当我在我们的 RHEL 机器上工作时,我习惯sudo su -切换到 root。有一天,一个错字意味着我输入了sudo su --- 在我看来,一切都与使用单个连字符相同,只是我在发出命令之前位于同一个文件夹中(我发现自己在 中使用一个连字符/root)。

还有其他区别吗?在我知道我想在同一目录中工作的情况下使用它是否安全?

su sudo

24
推荐指数
1
解决办法
8834
查看次数

find命令中ctime 1和ctime +1的区别

如果我运行以下命令:

find . -name "*.jar" -type f -ctime +1
Run Code Online (Sandbox Code Playgroud)

我没有得到任何结果,而如果我运行:

find . -name "*.jar" -type f -ctime 1
Run Code Online (Sandbox Code Playgroud)

我得到结果。

find

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

查看正在运行的进程的 STDOUT 重定向

如果我使用此命令启动应用程序:

/path/to/my/command >> /var/log/command.log
Run Code Online (Sandbox Code Playgroud)

并且命令没有返回,有没有办法从另一个提示中查看 STDOUT 重定向设置为什么?

我正在寻找类似的东西

cat /proc/PID/redirects
Run Code Online (Sandbox Code Playgroud)

或者

ps -??? | grep PID
Run Code Online (Sandbox Code Playgroud)

但任何方法都可以。

shell io-redirection open-files

19
推荐指数
3
解决办法
4万
查看次数

将一个组中的所有用户添加到另一个组?

我在一个名为的组中有一些用户,aa我需要授予他们写入当前tomcat:tomcatdeploy.

执行此操作的直接方法是将所有用户tomcatdeploy一一添加到组中。

是否可以通过某种方式将组添加到组中,说组aa的成员也自动成为成员?tomcatdeployaatomcatdeploy

还是试图将 UNIX 权限方案推得太远?

users group

8
推荐指数
2
解决办法
2万
查看次数

mv 中途失败 - 源目录是否完整

mv a-folder /home/me在一台机器上跑了一半,目标设备装满了。

a-folder 由各种子目录中的文件夹和文件组成。

mv在移动成功完成之前是否保持源文件夹不变?

源文件夹和目标文件夹位于不同的文件系统上。

我问的原因是我在错误的机器上运行了这个命令,所以如果源文件夹完好无损,那么我的生活就轻松多了:)

rename

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