Summary: | [FR] autopartition should be happy with minimal sizes from profile | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
Component: | alterator-vm | Assignee: | Олег Соловьев <mcpain> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P3 | CC: | mcpain |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
URL: | http://lists.altlinux.org/pipermail/devel/2007-April/057886.html |
min и max имеют следующий смысл: при поиске среди свободных мест на дисках кандидата для размещения очередного раздела выбираются все, размером не меньшие чем min, затем на таком месте создаётся раздел не больше, чем max. таким образом, на единственном пустом диске есть вероятность неуспеха, если сумма всех max больше, чем его объём. Спасибо. А много мороки добавить такой финт ушами? 0) примеряем схему разбивки 1) если успех, goto разбиваем 2) уменьшаем каждый max до (min+max)/2 3) если сумма уменьшений больше delta (пусть 100M), goto (1), иначе fail Думаю, это несколько более универсально, чем хак с пропорцией, хотя и не симплекс-метод ;-) проблема в основном в 1) примеряем ..., поскольку надёжно примерить равно собственно разбить, за исключением, может быть, коммита. бишь, нынешняя схема неизящна, мягко говоря, но по крмере работает. |
Выпиливая installer-feature-vm-altlinux-generic, напоролся на то, что профиль, который вроде бы должен при выборе минимумов спокойно укладываться в 8G диска (0.5+1+2 = 3.5) -- не влазит (похоже, что 0.75+8+?). Какой физический смысл min, если берётся будто бы max? gb=$((1048576*2)) ram=$(($(sed -n '/^MemTotal:/ s/[^0-9]//pg' /proc/meminfo)*2)) # полгига root=$((4*$gb)) home=$((2*$gb)) >((generic > (title . "Generic setup") > (action . trivial) > (actiondata ("swap" (size $ram . $(($ram*3/2))) (fsim . "SWAPFS") (methods raid plain)) > ("/" (size $(($root/4)) . $(($root*2))) (fsim . "Ext2/3") (methods raid plain)) > ("/home" (size $home . #t) (fsim . "Ext2/3") (methods raid plain))))) Гайки-то подкрутил, но хотелось бы на вики описать по мотивам писем в devel-distro@ так, чтоб другим не приходилось выяснять заново, что такое min и max.