Этот вопрос намеревается демистифицировать Повсеместность настольный установщик для Ubuntu, о том, как необходимое дисковое пространство перед установкой определяется.
Из этого датированного сообщения, Определяющего размер раздела при использовании Установщика Ubuntu:
[При установке] Ubuntu 12.04 рядом с Windows 7 с помощью установщика Ubuntu, [пользователь] не смог дать Ubuntu меньше чем 32 ГБ [...] и поскольку руководство заявляет, "Для Ubuntu нужны приблизительно 4,5 ГБ для установки, поэтому добавьте некоторых дополнительный ГБ для обеспечения файлов".
Необходимое дисковое пространство было ранее приблизительно 5 ГБ (Ubuntu 12.04), 8 ГБ (Ubuntu 16.04), и с тех пор увеличилось до 25 ГБ (Ubuntu 18.04) согласно минимальным системным требованиям. На практике абсолютный минимум для необходимого дискового пространства может отличаться установочным носителем и машиной.
Спецификация дизайна через Повсеместность на Ubuntu, Wiki описывает макет установщика и ничто иное о том, как необходимое дисковое пространство определяется (снимок экрана верхней половины).
Я разъяснил, что Ubuntu 16.04 потребует дискового пространства по крайней мере на 8 ГБ только на реальной машине, но минимальных изменениях в 8,3 ГБ при установке на виртуальной машине (снимок экрана нижней половины).
Таким образом, как Повсеместность определяет необходимое дисковое пространство?
Для определения необходимого дискового пространства Повсеместность умножится два суммой байтов, найденных в filesystem.size файле. В зависимости от установки машины Повсеместность не может показать фактическое необходимое дисковое пространство. Полное объяснение следующим образом.
Изучите точный пакет повсеместности. Просмотрите файл в usr/lib/ubiquity/ubiquity/misc.py
и найдите функцию install_size()
следующим образом.
def install_size():
if min_install_size:
return min_install_size
# Fallback size to 5 GB
size = 5 * 1024 * 1024 * 1024
# Maximal size to 8 GB
max_size = 8 * 1024 * 1024 * 1024
try:
with open('/cdrom/casper/filesystem.size') as fp:
size = int(fp.readline())
except IOError:
pass
# TODO substitute into the template for the state box.
min_disk_size = size * 2 # fudge factor
# Set minimum size to 8GB if current minimum size is larger
# than 8GB and we still have an extra 20% of free space
if min_disk_size > max_size and size * 1.2 < max_size:
min_disk_size = max_size
return min_disk_size
min_install_size = None
min_install_size
кажется не важным и бесполезным в это время открытия.
Оператор попытки попытается считать сумму байтов, найденных в /cdrom/casper/filesystem.size
, затем сохраните значение как целое число в переменной size
, который затем будет умножен на два, затем сохраните в другой переменной min_disk_size
. Наконец, функция возвратит значение min_disk_size
.
На основе встроенной логики необходимое дисковое пространство является обычно дважды суммой байтов, найденных в filesystem.size файле.
Необходимое дисковое пространство было ранее приблизительно 5 ГБ (Ubuntu 12.04), 8 ГБ (Ubuntu 16.04), и с тех пор увеличилось до 25 ГБ (Ubuntu 18.04) согласно минимальным системным требованиям. На практике абсолютный минимум для необходимого дискового пространства может отличаться установочным носителем и машиной.
Необходимое дисковое пространство для Ubuntu 18.04 завышено. Если необходимое дисковое пространство будет дважды суммой filesystem.size, то для Ubuntu 18.04 будут на самом деле нужны только приблизительно 10 ГБ или меньше.
Я разъяснил, что Ubuntu 16.04 потребует дискового пространства по крайней мере на 8 ГБ только на реальной машине, но минимальных изменениях в 8,3 ГБ при установке на виртуальной машине (снимок экрана нижней половины).
Это или было отмечено неправильно или было принято за 16,04 выпусков других ароматов. На самом деле я не мог воспроизвести результат испытаний для наблюдения точно дискового пространства на 8 ГБ, требуемого на реальной машине. От моих недавних результатов испытаний необходимое дисковое пространство для Ubuntu 16.04 составляет 8,3 ГБ, независимо от реальной машины или виртуальной машины.
В следующей комбинации снимка экрана сумму необходимого дискового пространства показывают для Ubuntu 16.04, 32-разрядной (верхняя половина) и Ubuntu 18.04, 64-разрядная при выполнении в виртуальной машине.
Пользовательский опыт может варьироваться, из-за точных условий воспроизвести различные результаты действительно не поняты.
Известная информация релизов Ubuntu:
Учитывая, что filesystem.size и количество дискового пространства, показанного установщиком, известны каждой системой, ручное сравнение может быть сделано определить, была ли каждая пара чисел счетом или нет.
# Use Python interactive shell to do manual calculation
# round(number,N) will return a floating point number in N digits
# The required disk space for Ubuntu 16.04 (xenial)
>>> size = 4139667456 # filesystem.size
>>> round((size*2)/1000/1000/1000.0,1)
8.3
# The required disk space for Ubuntu 18.04 (bionic)
>>> size = 4660985856 # filesystem.size
>>> round((size*2)/1000/1000/1000.0,1)
9.3
# The required disk space for fallback size
>>> size = 5*1024*1024*1024 # fallback size to 5 GB in ubiquity
>>> round((size*2)/1000/1000/1000.0,1)
10.7
# The required disk space for maximal size
# This is used "as it is" based on the built-in logic
>>> max_size = 8*1024*1024*1024 # maximal size to 8 GB in ubiquity
>>> round((max_size)/1000/1000/1000.0,1)
8.6
Для Ubuntu 18.04, предположительно, нужны 9,3 ГБ необходимого дискового пространства, но Повсеместность вместо этого показала 8,6 ГБ в снимке экрана; что пошло не так, как надо? Попробуйте редактирование копии и протестируйте следующие переменные и если оператор от функции install_size()
:
# Redo calculation according to the built-in logic
# The required disk space for Ubuntu 18.04 (bionic)
# Before
>>> size = 4660985856 # filesystem.size
>>> min_disk_size = size*2 # fudge factor in ubiquity
>>> max_size = 8*1024*1024*1024 # maximal size in ubiquity
>>> round((min_disk_size)/1000/1000/1000.0,1)
9.3
>>> round((max_size)/1000/1000/1000.0,1)
8.6
# After
>>> if min_disk_size > max_size and size * 1.2 < max_size:
... min_disk_size = max_size
...
>>> round(min_disk_size/1000/1000/1000.0,1)
8.6
Вот то, что пошло не так, как надо: если оператор выбрал max_size
потому что min_disk_size
поскольку Ubuntu 18.04, как находят, больше, чем максимальный размер.
Не уверенный, почему условие приняло, необходимое дисковое пространство (дважды filesystem.size) не будет больше, чем 8 гибибайт (8,6 ГБ), как определено в пакете повсеместности? Этот "неправильный" результат, кажется, предназначается дизайном согласно встроенному комментарию в рамках сценария.
На основе ручного сравнения обе пары чисел, как находят, являются счетом: Ubuntu 16.04 имела установщик, показывающий реальный размер установки, который является дважды суммой байтов, найденных в filesystem.size; Ubuntu 18.04 имела установщик, показывающий очевидный размер установки, который был определен как максимальный размер.
TL; DR необходимое дисковое пространство является дважды суммой filesystem.size, или дважды размером нейтрализации или иначе максимальным размером, как определено в пакете повсеместности.