Summary: | Авторазбиение диска создает корень размером всего 10ГБ | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Альт Рабочая станция | Reporter: | Georgy A Bystrenin <gkot> | ||||||||
Component: | Установка | Assignee: | Mikhail Efremov <sem> | ||||||||
Status: | CLOSED FIXED | QA Contact: | qa-p8 <qa-p8> | ||||||||
Severity: | critical | ||||||||||
Priority: | P3 | CC: | mike, sin | ||||||||
Version: | 8.2 | Keywords: | regression | ||||||||
Hardware: | all | ||||||||||
OS: | Linux | ||||||||||
Attachments: |
|
Description
Georgy A Bystrenin
2018-02-08 06:22:52 MSK
Что-то сломали в volumes-profile-*, в 8.1 при подобной обстановке было 40. Created attachment 7391 [details]
vm-profile.scm + /usr/share/install2/initinstall.d/*vm-profile*
Прилагаю набор скриптов, который приводит к проблеме.
Итоговый профиль, при этом выглядит так:
((workstation
(title . "Setup for workstation")
(action . trivial)
(actiondata
("swap" (size 0 . 262144) (fsim . "SWAPFS") (methods plain))
("/" (size 3145728 . 20971520 ) (fsim . "Ext2/3") (methods plain))
("/home" (size 1048576 . #t) (fsim . "Ext2/3") (methods plain)))))
При этом в каталоге /usr/share/install2/initinstall.d наблюдается два конфликтующих скрипта:
- 05-vm-profile-altlinux-generic
- 10-vm-profile.sh
Побеждает, очевидно, второй. И в нём конструкция виде "$[expr]", которая, вообще, непонятно почему работает:
# root size multiplicators against the actual one for a LiveCD (if any)
ROOT_MUL_MIN=3/2
ROOT_MUL_MAX=40
# values below in gigabytes, might be natural fractions
ROOT_MIN=1 # this is integer (or improve the comparison below)
ROOT_SIZE=5
# recalculate in kilobytes
ROOT_MIN=$[1048576*$ROOT_MIN]
ROOT_SIZE=$[1048576*$ROOT_SIZE]
HOME_SIZE=$[1048576*$HOME_SIZE]
# don't do RAID in a VM, reduce swap to a minimum, root to reasonable
if grep -qE "(101300b8)|(80eebeef)|(14ad0405)|(1af4100)" /proc/bus/pci/devices; then
methods="plain"
swap_size=131072 # 128M
ROOT_MUL_MAX=10
else
methods="raid plain"
fi
# are we running off a LiveCD as a part of livecd-install?
if [ -d /.ro ]; then
root_size="`df -Pk /.ro | tail -1 | { read d t u rest; echo "$u"; }`"
[ "$root_size" -lt "$ROOT_MIN" ] && root_size="$ROOT_MIN"
root_min="$[$root_size*$ROOT_MUL_MIN]"
root_max="$[$root_size*$ROOT_MUL_MAX]"
else
root_min="$[1048576*$ROOT_SIZE]"
root_max="$[$root_min*$ROOT_MUL_MAX]"
fi
# recalculate in 512-byte blocks for EVMS
swap_size="$[$swap_size*2]"
home_size="$[$HOME_SIZE*2]"
root_min="$[$root_min*2]"
root_max="$[$root_max*2]"
if [ "$root_min" -gt "$root_max" ]; then
root_max="$root_min"
fi
Created attachment 7392 [details]
Скриншот разметка
А вот так оно хотело разметить в случаи конфигурации SSD 256GB + HDD 1TB
Created attachment 7393 [details] Скриншот vm-profile.scm (В ответ на комментарий №3) > Created an attachment (id=7392) [details] > Скриншот разметка > > А вот так оно хотело разметить в случаи конфигурации SSD 256GB + HDD 1TB И вот такой получился фаил ответов 40Гб. на корневой раздел - максимум. Так и прописано в 10-vm-profile.sh При этом, остальная часть винта под /home в raid'е со вторым винтом. Не очевидная конфигурация. Под такую эвристику галочку нужно включать. В общем, это старый кусок. Решение №1 - найти и выпилить 10-vm-profile.sh Решение №2 - поднять приоритет для 05-vm-profile-altlinux-generic переименовав его в 15-vm-profile-altlinux-generic Решение №3 - исправить типа дефолтный 10-vm-profile.sh так, чтобы: - он пропускал любые действия, при наличии профиля созданного скриптом ранее; - корневой раздел создавался на весь диск или ограниченного размера; - раздел /home создавать в RAID только по галочке: "давай я угадаю, что тебе нужно". Думаю, что решение №2 и №3 можно выполнить поочерёдно, и тогда решение №1 - слишком радикальное. И кстати галочка при выборе любого авто разбиения, отредактировать в ручную после авто разметки, прям очень не хватает В alt-workstation-9.2 используется новый профиль авторазбивки. |