标签: unix

180 天后转 fsck 或不转 fsck

默认情况下,在 180 天或一定数量的挂载后,大多数 Linux 文件系统会强制执行文件系统检查 (fsck)。当然,这可以关闭,例如,在 ext2 或 ext3 上使用 tune2fs -c 0 -i 0。

在小型文件系统上,这种检查只是一种不便。但是,对于较大的文件系统,此检查可能需要数小时才能完成。当您的用户依赖此文件系统来提高工作效率时,假设它通过 NFS 为他们的主目录提供服务,您会禁用计划的文件系统检查吗?

我问这个问题是因为现在是凌晨 2 点 15 分,我正在等待很长时间的 fsck 完成(ext3)!

linux unix filesystems

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

Git - 带有 git pull 的 post-receive 钩子“找不到有效的 git 目录”

这很奇怪,但是在设置 git 存储库并使用以下命令创建 post-receive 挂钩时:

echo "--initializing hook--"
cd ~/websites/testing
echo "--prepare update--"
git pull
echo "--update completed--"
Run Code Online (Sandbox Code Playgroud)

钩子确实运行了,但它永远无法正确运行 git pull :

6bfa32c..71c3d2a  master -> master
--initializing hook--
--prepare update--
fatal: Not a git repository: '.'
Failed to find a valid git directory.
--update completed--
Run Code Online (Sandbox Code Playgroud)

所以我现在问自己,如何让钩子用 post-receive 更新克隆?

在这种情况下,运行进程的用户是相同的,它的所有内容都在用户文件夹中,所以我真的不明白......因为如果我手动进入

cd ~/websites/testing
git pull
Run Code Online (Sandbox Code Playgroud)

它工作没有任何问题......

对此的任何帮助将不胜感激

非常感谢

unix git hook

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

使 libmagic/file 检测 .docx 文件

正如在别处看到的,docx、xlsx 和 pttx 是 ZIP。将它们上传到我的 Web 应用程序时,file(通过libmagicpython-magic)将它们检测为 ZIP。

我将文件的内容作为 blob 存储在数据库中,但自然我不想让用户相信这是什么类型的文件。所以我想file在下载过程中信任并自动生成一个文件名。

我知道可以修改,/etc/magic但格式 ( magic(5)) 对我来说太复杂了。我在 Debian bugs 上找到了一个关于这个问题的错误报告,但由于它是 2008 年的,它似乎不会很快得到修复。

我想我唯一的其他选择是确实信任用户(但仍将内容存储为 blob)并仅根据文件名检查文件扩展名。这样我就可以禁止某些扩展并允许其他扩展。当用户重新下载他的文件时,他可以以任何方式上传它。但是,如果文件与他人共享,则此解决方案是不安全的,因为您可以简单地重命名文件以允许上传。

有任何想法吗?

最后,我找到了 docx 等的幻数列表,但我无法将它们转换为magic(5)格式。

linux unix debian mime

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

是否有实用程序可以从 env 文件中读取环境变量,然后运行命令(比工头更轻量级)?

foreman 可以读取 .env 文件并从内容中设置环境变量,然后运行程序

例如 foreman run -e vars.env myprogram

...但它做了很多其他的事情(并且主要关注使用它的 Procfile 格式开始的事情)。

有没有更简单的(Linux/Unix)工具,它只专注于读取 .env 文件并在新环境中执行命令?

示例环境文件(来自http://ddollar.github.io/foreman/#ENVIRONMENT):

FOO=bar
BAZ=qux
Run Code Online (Sandbox Code Playgroud)

linux unix environment-variables

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

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

什么时候应该使用“nohup”,什么时候应该使用“&”?

我永远不知道什么时候是使用 nohup 和命令末尾的 & 的最佳时间。

linux unix

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

监控接口上的网络流量

有没有办法监控特定网络接口上的流量(例如,获得利用率的实时视图),比如 eth0?

这里的问题是盒子上的工具集是固定的,并且几乎是一个库存的 RHEL 部署,所以不能使用附加工具。

在这里寻找一些基本的并且通常存在的东西,比如 iostat。

networking linux unix monitoring ip

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

为什么组上的chmod(1)会影响ACL掩码?

我试图理解这种 Unix 行为(我碰巧在 Ubuntu 11.10 上测试):

$ touch foo
$ setfacl -m u:nobody:rwx foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx
group::rw-
mask::rwx
other::r--

$ chmod g-rw foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx         #effective:--x
group::rw-          #effective:---
mask::--x
other::r--
Run Code Online (Sandbox Code Playgroud)

请注意,chmod(1) 命令已更新了 ACL 掩码。为什么会发生这种情况?

SunOS的联机帮助有以下说:

如果使用 chmod(1) 命令更改具有 ACL 条目的文件的文件组所有者权限,则文件组所有者权限和 ACL 掩码都将更改为新权限。请注意,新的 ACL 掩码权限可能会更改对文件具有 ACL 条目的其他用户和组的有效权限。

我问是因为如果 chmod(1) 没有这种行为对我来说会很方便。我希望通过了解它为什么会这样做,我可以更好地设计我设置文件系统权限的方式。

unix filesystems access-control-list

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

Linux - 使用“su -”但保留当前目录

当我su -进入 root 时,我的当前目录被设置为 root 的家。无论如何要保留我所在的当前目录,就像sudo -s. 或者是使用 sudo 的答案?

linux unix su sudo

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

dmesg 时间与系统时间时间不正确

我希望有人可以帮助我解决这个奇怪的问题。

我想我知道它为什么会发生,但我不知道如何解决它。也许是因为 BIOS 时间设置不正确或类似的原因。但我不想更改大约 400 多台服务器的 BIOS 时间。(或更换BIOS电池)

root@spool:~# echo TEST > /dev/kmsg
root@spool:~# dmesg -T | tail -1
[Mon Feb 17 04:57:03 2014] TEST
root@spool:~# date
Mon Feb 17 11:45:17 CET 2014
Run Code Online (Sandbox Code Playgroud)

服务器正在运行 ntp 以进行时间同步。

这里有人知道如何在操作系统中解决这个问题吗?

Linux spool 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

为什么在回显到/dev/kmsg时,我的消息的日期/时间dmesg与系统日期/时间不同步?

linux unix debian time dmesg

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