Eu uso busybox (e buildroot). Como usar status? Por exemplo
dd if=disk.img of=/dev/sda bs=4M conv=fsync status=progress
Eu uso busybox (e buildroot). Como usar status? Por exemplo
dd if=disk.img of=/dev/sda bs=4M conv=fsync status=progress
Como calcular aproximadamente bytes por inode para ext2?
Tenho 7,3 GB de armazenamento (15320519 setores de 512B cada). Eu criei um sistema de arquivos ext2 com tamanho de bloco 4096
mke2fs /dev/sda2 -i 524288 -m 0 -L "SSD" -F -b 4096 -U 11111111-2222-3333-4444-555555555555 -O none,filetype,sparse_super,large_file
Filesystem label=SSD
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
15104 inodes, 1915064 blocks
0 blocks (0%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
59 block groups
32768 blocks per group, 32768 fragments per group
256 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Normalmente todos os meus arquivos têm tamanho de 100kB (e cerca de 5 arquivos podem ter 400MB). Eu tento ler isso e aquilo . Mas ainda não está claro como calcular aproximadamente bytes por inode? O atual 524288 não é suficiente, por enquanto não consigo criar novos arquivos no sda2 mas ainda tenho muito espaço livre.
PS Informações extras
# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/root ext4 146929 84492 59365 59% /
devtmpfs devtmpfs 249936 0 249936 0% /dev
tmpfs tmpfs 250248 0 250248 0% /dev/shm
tmpfs tmpfs 250248 56 250192 0% /tmp
tmpfs tmpfs 250248 116 250132 0% /run
/dev/sda2 ext2 7655936 653068 7002868 9% /mnt/sda2
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 143.5M 82.5M 58.0M 59% /
devtmpfs 244.1M 0 244.1M 0% /dev
tmpfs 244.4M 0 244.4M 0% /dev/shm
tmpfs 244.4M 56.0K 244.3M 0% /tmp
tmpfs 244.4M 116.0K 244.3M 0% /run
/dev/sda2 7.3G 637.8M 6.7G 9% /mnt/sda2
# fdisk -l
Disk /dev/sda: 7.45 GiB, 8001552384 bytes, 15628032 sectors
Disk model: 8GB ATA Flash Di
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0a19a8af
Device Boot Start End Sectors Size Id Type
/dev/sda1 309 307508 307200 150M 83 Linux
/dev/sda2 307512 15628030 15320519 7.3G 83 Linux
Eu quero fazer o sistema de arquivos ext2. Eu quero definir a opção " número de inodes " para algum número. Eu tentei vários valores:
Mas sempre meu valor não é o mesmo . Por que?
eu chamo mkfs assim
sudo mkfs -q -t ext2 -F /dev/sda2 -b 4096 -N 99000 -O none,sparse_super,large_file,filetype
Eu verifico os resultados desta forma
$ sudo tune2fs -l /dev/sda2
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 11111111-2222-3333-4444-555555555555
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 99552
Block count: 1973720
Reserved block count: 98686
Overhead clusters: 6362
Free blocks: 1967353
Free inodes: 99541
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 1632
Inode blocks per group: 102
Filesystem created: Thu Apr 6 20:00:45 2023
Last mount time: n/a
Last write time: Thu Apr 6 20:01:49 2023
Mount count: 0
Maximum mount count: -1
Last checked: Thu Apr 6 20:00:45 2023
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Default directory hash: half_md4
Directory Hash Seed: 61ff1bad-c6c8-409f-b334-f277fb29df54
Como você sabe , se não houver opção root_owner, o mke2fs usará o usuário e o ID do grupo do usuário executando o mke2fs. Vamos testá-lo no Ubuntu 22 x86_64 (mke2fs 1.46.5 (30-dez-2021)):
Gerar imagem
mke2fs -t ext2 -I 256 -E 'lazy_itable_init=0,lazy_journal_init=0' -O '^large_file' -O '^huge_file' -L ext2test 'diskEmpty.img' 102400k
imagem Mount
gnome-disk-image-mounter -w diskEmpty.img
Mas apenas o usuário root pode escrever para isso... Por quê?
Vamos testar a opção root_owner:
Gerar imagem
mke2fs -t ext2 -I 256 -E 'root_owner=1000:1000,lazy_itable_init=0,lazy_journal_init=0' -O '^large_file' -O '^huge_file' -L ext2test 'diskEmpty.img' 102400k
imagem Mount
gnome-disk-image-mounter -w diskEmpty.img
Agora posso gravar no meu disco.
Por que não consigo gravar no disco sem root_owner
o recurso?