Questions tagged «filesystems»

文件系统是一种组织和存储计算机文件及其数据的方法。

4
为什么特殊设备文件具有inode?
设备文件本身不是文件。它们是一个I / O接口,用于在类似Unix的操作系统中使用设备。它们不使用磁盘上的空间,但是,它们仍然使用stat命令所报告的索引节点: $ stat /dev/sda File: /dev/sda Size: 0 Blocks: 0 IO Block: 4096 block special file Device: 6h/6d Inode: 14628 Links: 1 Device type: 8,0 设备文件是否在文件系统中使用物理索引节点,为什么它们根本需要它们?



3
Linux文件版本控制?
我们正在从VMS环境迁移到Linux环境,以淘汰一些旧的Alpha服务器。我无法克服的一个挑战是文件版本控制。VMS使用版本标志保留同一文件的多个副本。我在Source Forge上找到了多个选项,但是我还没有找到在主要生产环境中有任何经验的人。之所以需要这样做,是因为其他系统的提要没有考虑唯一的文件名。我们正在努力使我们的范围尽可能轻。 任何帮助是极大的赞赏。 似乎可用的2个主要选项是: 回溯 EtcKeeper-不确定是否只能将其应用于一个或多个目录。 有没有人在企业环境中使用过这些?我还应该考虑其他选择吗?

4
从分区的子目录启动Linux系统?
我想尝试设置一台计算机,以便它在同一文件系统中都安装了多个Linux。例如,filesytem将有3个文件夹:/Ubuntu_Precise,/Ubuntu_Oneiric,和/Ubuntu_Natty。 (我知道您可以使用BTRFS和子卷来执行此操作,但是我想使用EXT4来​​提高速度)。 我曾经使用BTRFS设置了多个不同发行版的多个安装,并且通过使它正常工作,我知道Grub可以很好地从“非标准”路径启动vmlinuz和initrd映像。但是当我做BTRFS时,有rootflags=subvol=@<subvolume_name>一个告诉内核将子卷挂载为/在文件系统中。是否有任何论点可以传递给内核,以使其绑定到/分区中的子文件夹,然后引导它? 我认为对于其他部分,我已经很接近了。我知道如何在中特定绑定绑定/etc/fstab。另外,从在BTRFS子卷中安装多个Linux的系统开始,我就习惯于在VM中安装发行版,然后使用rsync进行迁移,因此我不太担心需要做什么。得到正确的配置,我只是在尝试找出正确的配置。知道这一点后,我应该可以轻松地迁移到子文件夹并进行文件编辑了。 我已经了解虚拟化和分区,但这不是我想要的。目标计算机没有足够的能力进行虚拟化,并且分区不共享可用空间。我正在寻求建立一个双/三/四/等启动Linux发行版的系统,但是仅用一个文件系统即可完成,因此不会出现“我有可用空间,但它位于错误的分区!”的情况。 如果有人对如何编辑我的问题或其标题提出更清晰的建议,我无所不能。


3
为什么我们需要在fdisk中指定分区类型,然后再在mkfs中指定分区类型?
我对fdisk和mkfs有点困惑。 所以-这是典型的USB闪存驱动器分区和格式化: umount /dev/sdb fdisk fdisk /dev/sdb Command (m for help): d Selected partition 1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-960, default 1): ↵ Using default value 1 Last cylinder or +size or +sizeM or …

1
扩展属性如何存储和保留?
我对扩展文件属性有一个小问题。假设我使用扩展属性中的元数据来标记我的文件(例如,考虑到完整性,但这对我的问题无关紧要)。现在出现的问题: 这些属性存储在哪里?我想当然不是在索引节点中,而是在哪个位置-或更合适的是:结构? 这些属性如何连接到文件?从属性结构到索引节点之间是否存在链接? 在文件中复制/移动时会发生什么?我刚刚测试了它,当移动文件时,文件仍然保留其属性。复制时,副本没有属性。因此,我假设将其刻录到CD或通过电子邮件发送文件,它也会丢失其属性吗?

2
为什么按名称删除文件既缓慢又异常快?
假步:我在下面提到的“快速”方法并不比慢速方法快60倍。它快了30倍。我将错误归咎于小时数(凌晨3点不是我思考的最佳时间:)。 更新:我添加了测试时间的摘要(如下)。 速度因素似乎涉及两个问题: 选择使用的命令(时间比较如下所示) 目录中大量文件的性质...似乎“大是坏”。随着数字的增加,事情变得不成比例地变慢。 所有测试均已处理了100万个文件。 (真实时间,用户时间和sys时间在测试脚本中) 可以在paste.ubuntu.com上找到测试脚本。 # # 1 million files # =============== # # |time |new dir |Files added in ASCENDING order # +---- +------- +------------------------------------------------- # real 01m 33s Add files only (ASCENDING order) ...just for ref. # real 02m 04s Add files, and make 'rm' …
11 bash  filesystems  ext4 

2
是否有任何可以成功执行ln -d的文件系统?
从ln的手册页中: -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) 是否有任何文件系统驱动程序实际上允许这样做,还是唯一的选择mount --bind <src> <dest>?还是这种行为被内核阻止,甚至还没有到达文件系统特定的驱动程序? 注意:我实际上并不打算在任何计算机上执行此操作,只是出于好奇。

1
/ proc / net / unix的内容是什么意思?
在我的Android设备上,有一个名为/proc/net/unixwho's content的文件 与任何标准 linux发行版(显示unix域套接字)的内容都不匹配。前几行: Num RefCount Protocol Flags Type St Inode Path 00000000: 00000002 00000000 00000000 0002 01 5287581 /data/misc/wifi/sockets/wpa_ctrl_789-3189 00000000: 00000003 00000000 00000000 0001 03 6402 /dev/socket/qmux_radio/qmux_client_socket 297 00000000: 00000002 00000000 00010000 0001 01 7180 /dev/.secure_storage/ssd_socket 00000000: 00000002 00000000 00010000 0001 01 6424 /dev/socket/cnd 00000000: 00000002 00000000 00010000 0001 …


1
在Linux上联合安装
甲联合安装呈现在单个层级的多个目录(分支)的组合视图。好的,但是我该如何在实践中使用哪一个呢? 现代Linux系统上可以使用许多联合安装技术:OverlayFS,aufs,UnionFS,各种基于FUSE的文件系统,… 给定一个用例,我如何确定哪个合适?特别是: 哪些需要在典型系统上进行root访问?(换句话说,没有特权的用户可以创建联合安装吗?) 可以安装哪些/(当然具有root访问权限)? 哪些支持写入基础分支?(即如果/foo和/bar联合安装到/union,我可以写给/foo和/bar吗?) 哪些支持写的可配置策略?(例如,当两个分支上都存在文件时,即使我从分支A获取内容,我也可以将新创建​​的文件发送到分支B吗?) 哪些支持分支之间的优先级顺序(取决于文件)?(例如,我总能在拥有该文件的所有分支中始终获取最新文件吗?) 使用示例将不胜感激。 请避免针对特定问题的答案。我正在寻找全面的答案,以复习可用的软件(类似于什么是绑定安装?)。好的答案将不胜枚举。

3
如何知道文件系统下的目录列表?
如果我运行sudo df -h命令,则会得到以下输出: Filesystem Size Used Avail Use% Mounted on /dev/sda2 12G 9.5G 1.1G 91% / /dev/sda4 3.8G 1.5G 2.1G 41% /home /dev/sda1 99M 75M 20M 80% /boot tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/sdc1 51G 2.6G 46G 6% /u000 但是,我怎么知道下面的目录列表/sda2?例如,如果我运行ls /命令,则所有目录都位于根目录下。 $ ls / bin cdunix dev etc lib …

3
加快复制1000000个小文件的速度
我的目录中有1000000个4-20 KB文件。我需要复制该目录。但是似乎我必须对每个文件进行搜索,因此这需要花费相当长的时间。 有什么方法可以加快速度吗? 我目前在想,如果我可以获取这些文件所占用的磁盘块,则可以对它们进行排序,合并关闭的块(假设顺序读取通常比查找要快)并读取这些块,以便它们位于RAM中缓存(我有32 GB RAM),然后再进行复制。 但是,要使其正常工作,我需要一种方法来确定文件位于哪些块上。 我在磁性设备(即非SSD)上使用EXT4。 编辑: 这应该可行,但不能: ls | parallel -IOO --pipe "sudo parallel -j100 hdparm --fibmap {}'|tail -n +5'" | sort -nk 2 | perl -ane 'if($u+10000 < $F[1]) { print "$l ",($u-$l),"\n"; $l=$F[1] } $u=$F[2]' | sudo parallel --colsep ' ' dd if=/dev/sda1 skip={1} bs=512 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.