问题标签 [inode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4162 浏览

c - 从路径中获取未打开文件的 inode 号

有没有办法获取尚未打开的文件的 inode 编号。我想从 ac 函数内部执行此操作

问候, 利皮卡

0 投票
1 回答
522 浏览

linux - 内核安全模块:struct inode 中的 i_security

我的问题可能又很简单,但我什么也没找到。我正在编写一个 Linux 安全模块。您可能知道内核中的结构 inode 包含一个字段 i_security 来保存 LSM 的安全相关信息。现在只是为了确保:假设没有用户(甚至不是root)将能够读取或写入这个值是否安全,即这个值真的只能从内核空间访问吗?

我的问题的原因是,很明显可以从用户空间访问一些 inode 数据(我猜是通过系统调用,但仍然使用 chmod 等,您可以更改 inode 中的一些值),现在我想知道这是否没有这并不是说,所有 inode 数据(也包括 i_security)都可以通过某种方式从用户空间访问。

干杯

0 投票
0 回答
6856 浏览

linux - 如何仅使用 /proc 找到套接字的所属 PID

我如何(或 netstat-p 或 ss -p)从 /proc/net/tcp 输出中找到拥有的 PID?

给定以下输出:

我需要通过 /proc/$PID 递归搜索 inode 吗?

我尝试在 /proc/ 上运行 find 以匹配上面的 inode,但没有任何运气。

有人能解释一下 inode 的字段是什么意思吗?

谢谢!

0 投票
1 回答
475 浏览

linux - 确定原始磁盘扇区是否正在使用

我正在尝试使用open(2)lssek[64](2)和编写可用空间归零器write(2)。我正在尝试确定正在使用的磁盘扇区。

我从 coreutils 看了一下dd(1),但该实用程序没有执行类似的检查。在 Windows 世界中,我可以使用 FSCTL_GET_VOLUME_BITMAP 调用 DeviceIoControl

给定一个原始扇区,是否有一个系统调用可以让我确定该扇区是否正在使用?

0 投票
1 回答
848 浏览

file - 如何从 Linux 内核空间访问系统中的所有管道

我想向 Linux 内核添加一个新的系统调用,它将显示有关系统中创建的所有管道的信息。

如何获取 pipefs 中每个管道的 inode(或任何其他允许我访问 pipe_inode_info 的相关结构)?

我一直在查看struct vfsmountstruct dentrystruct super_block,但我还没有找到正确的方法。有什么方法可以获取 pipefs 中每个文件的文件结构?

0 投票
2 回答
1785 浏览

c - 将磁盘块读取为位图

我正在尝试读取包含块位图和 inode 位图的块

我将一个块读取为无符号字符数组,然后将其转换为二进制,如下所示:

当我将 '0' 放入 char 并将其打印为

我得到 48 并且我的位数组包含 00110000 这有效,但是当我检查 inode 位图时它不起作用,例如位图是:

1 1 1 0 0 0 0
但我得到
0 0 0 0 1 1 1

我无法检查块位图是否发生同样的事情。

重复一遍,代码可以正常对话,例如它打印 00110000 即 48,对于 char '0' 也打印 48。这种交换发生在 inode 位图上。当我更改它时,它将适用于 inode 位图,但我现在如何才能适用于块位图。这将修复代码,但逻辑错误。

任何想法?

0 投票
1 回答
298 浏览

linux - 在 linux 上,使用 NFS,open() 命令是远程执行的吗?

假设网络上有一台服务器,并且本地机器正在尝试打开一个文件。是否通过类似于以下内容在本地系统上实现了 open("A/B/C/D/E/filename"):

  1. 本地系统首先从服务器检索 A 的目录内容,出于安全原因,这可能会失败。

  2. 本地系统在目录中扫描 B 的 inode。

  3. 递归地重复 1 和 2,直到到达文件名的 inode。

  4. 本地系统最终调用服务器打开文件名的inode。

或者是 open() 完全在远程主机上处理。

我正在尝试确定 opendir(dir)、readdir() 是否用于某个文件名模式、closer(),最后执行 open(filename) 是否会与 open(filename) 花费相同的时间。

0 投票
2 回答
2541 浏览

linux - 在创建管道、fifo 或套接字时创建 inode

我有关于 Linux 的一般性问题。如果我创建一个fifo,会创建inode吗?管道?插座?

0 投票
3 回答
220 浏览

c - 重用 inode 字段

我在一个项目中,我需要做一些簿记,即表明程序 A 是否访问了特定文件。我计划将此信息存储在 inode 中,因为使用其他附加数据结构效率低下。我计划在 inode 数据结构中重用字段 i_mode 。有什么建议么。此外,我不知道如何从用户空间写入 inode 数据结构。我怎么做?谢谢...

0 投票
4 回答
7956 浏览

php - 如何有效地监控 linux 上的目录更改?

我正在使用 Magento,并且有一个功能可以将 CSS 和 Javascript 合并到一个大文件中。

不论其优劣,存在以下问题:

最终文件被缓存在多个级别,包括但不限于:

  • 亚马逊云前
  • 代理服务器
  • 客户端浏览器缓存

Magento 使用连接的 css 文件名的 MD5 和来为合并的 css 文件生成新的文件名。这样每个具有一组不同 css 文件的页面都会得到一个适当的合并 css 文件。

为了解决缓存问题,我还将文件修改时间戳包含在该哈希中,以便在每次修改 css 文件时生成一个新的哈希。

因此,非重新验证缓存分数的全部优势,但如果发生更改,它会立即可见,因为资源链接已更改。

到现在为止还挺好:

唯一的问题是,用于生成 has 的文件名只是通常在 HTML-Head 块中直接引用的文件名,并且包括这些文件中的 css 导入

因此,在 css 文件中导入的文件的更改不会导致新的哈希值。

不,我真的不想递归解析所有导入并扫描它们或类似的东西。

我宁愿考虑基于目录的解决方案。有什么东西可以在文件系统的基础上有效地监控“目录内的最后更改”吗?

我们正在使用 ext4。

或者也许还有另一种方法,也许是使用 find 命令,它可以根据 inode 索引完成所有工作?

类似的东西?

我见过很多程序无需扫描整个文件系统即可立即“看到”更改。我相信在 linux 下也有某种“文件操作监视”守护进程可用。

问题是 css 目录非常大。

谁能指出我正确的方向?