Чому cpio, а не дьоготь?
Це рішення було прийнято ще в грудні 2001 року. Дискусія розпочалася тут:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1538.html
І породив другу нитку (конкретно на tar-cpio), починаючи тут:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1587.html
Швидка та брудна підсумкова версія (яка не замінює читання вищевказаних тем):
1) cpio - це стандарт. Це десятиліття (з AT&T днів) і вже широко використовується в Linux (всередині RPM, диски драйверів пристроїв Red Hat). Ось стаття щодо журналу Linux з 1996 року:
http://www.linuxjournal.com/article/1213
Це не так популярно, як смола, оскільки для традиційних інструментів командного рядка cpio потрібні аргументи командного рядка _truly_hideous_. Але це нічого не говорить про формат архіву, і є альтернативні інструменти, такі як:
http://freecode.com/projects/afio
2) Формат архіву cpio, обраний ядром, простіший і чистіший (і, таким чином, простіший у створенні та розборі), ніж будь-який із (буквально десятки) різних форматів архіву tar. Повний архівний формат initramfs пояснюється в buffer-format.txt, створеному в usr / gen_init_cpio.c, і витягується в init / initramfs.c. Усі троє разом складають менш ніж 26 тис. Текстів, що читаються людиною.
3) Стандартизація проекту GNU на дьогті приблизно настільки ж актуальна, як стандартизація Windows на zip. Linux також не є частиною, і вільний приймати власні технічні рішення.
4) Оскільки це внутрішній формат ядра, він може бути легко
новим. Ядро надає власні інструменти для створення та вилучення цього формату в будь-якому випадку. Використання існуючого стандарту було кращим, але не суттєвим.
5) Аль-Віро прийняв рішення (цитата: "дьоготь некрасивий як пекло і його не підтримуватимуть на стороні ядра"):
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1540.html
пояснив свої міркування:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1550.html
http://www.uwsg.iu.edu/hypermail/linux/kernel/0112.2/1638.html
і, найголовніше, розробили і реалізували код initramfs.