Я читав цю цитату (нижче) декілька разів, останнім часом тут , і я постійно спантеличений тим, як dd
можна використовувати патч що- небудь, не кажучи вже про компілятор:
Система Unix, якою я користувалася в школі, 30 років тому, була дуже обмежена в оперативній пам’яті та на диску. Тим більше, що
/usr/tmp
файлова система була дуже маленькою, що призводило до проблем, коли хтось намагався скласти велику програму. Звичайно, студентам все одно не слід було писати "великих програм"; великі програми, як правило, були вихідними кодами, скопійованими звідкись. Багато з нас скопіювали/usr/bin/cc
в/home/<myname>/cc
, і використовуютьсяdd
для виправлення виконуваного файлу використовувати/tmp
замість/usr/tmp
, який був більше. Звичайно, це тільки погіршило проблему - дисковий простір, зайнятий цими копіями, мав значення в ті дні, і тепер/tmp
регулярно заповнюється, не даючи іншим користувачам навіть редагувати свої файли. Після того як вони дізналися, що сталося, сисадміни зробилиchmod go-r /bin/* /usr/bin/*
що "виправило" проблему та видалило всі наші копії компілятора C.
(Наголос мій)
Сторінка dd
людини нічого не говорить про виправлення, і не думаю, що це все-таки можна було б зробити заново.
Чи справді бінарні файли можуть бути виправлені dd
? Чи є в цьому історичне значення?
od
файл для байт-шістнадцяткових кодів, знайдіть потрібне зміщення, визначтесь із редагуванням таbs=$patchsize count=1 seek=$((offset/bs)) conv=notrunc
своїм патчем прямо.