Сегодня коллега хотел было прописать на своём Arch GNU/Linux IPv6
link-local адрес в /etc/hosts. Не получилось. Поискал информацию и
говорит что туда нельзя link-local, а только routable адреса.
В FreeBSD оно работает без проблем. Казалось бы -- какая разница какого
типа адрес? Но... Linux мир умудряется даже тут костылять. В FreeBSD уже
с 9.0 версии есть возможность собрать ядро полностью без IPv4 поддержки
-- IPv6 only. В GNU/Linux, быстрый поиск, показывает что вроде как
нельзя такое сделать.
Ещё я помню случай навсегда изменивший моё почтение к Linux-у (именно
ядру): loopback блочное устройство на самом деле не такое уж и
полноценное. Например мы можете сделать losetup, создав loopback block
device, но например partition table с него не подгрузится -- для этого
нужно использовать отдельный костыль в виде kpartx. В FreeBSD (тогда это
была 5.x версия) -- без разницы loopback оно или нет: оно полноценно
воспринимается системой, без каких-либо костылей и дополнительных
телодвижений.
Лично для меня все эти факты (IPv6-only, link-local в hosts, kpartx)
показывают насколько нецелостен Linux и как много в нём подпорок которые
не убрать просто так. Это говорит, как мне (разработчику) кажется, о
плохом проектировании архитектуры всего что в ядре происходит.