Какой сценарий отвечает за запуск графической среды Gnome в Debian 9.3?

Все следующие команды эквивалентны. Они считывают байты компакт-диска /dev/sr0 и записывают их в файл image.iso.

cat /dev/sr0 >image.iso
cat image.iso
tee image.iso
dd image.iso
dd if=/dev/cdrom of=image.iso
pv image.iso
cp /dev/sr0 image.iso
tail -c +1 /dev/sr0 >image.iso

Почему вы должны использовать одно вместо другого?

  • Простота. Например, если вы уже знаете cat или cp, вам не нужно учить еще одну команду.

  • Надежность. Этот пункт является разновидностью простоты. Насколько велик риск того, что изменение команды изменит то, что она делает? Рассмотрим несколько примеров:

    • Все, что связано с перенаправлением: вы можете случайно поставить перенаправление не туда или забыть о нем. Поскольку местом назначения должен быть несуществующий файл, set -o noclobber гарантирует, что вы ничего не перезапишите; однако вы можете перезаписать устройство, если случайно напишете >/dev/sda (для CD, который доступен только для чтения, риска, конечно, нет). Это говорит в пользу cat /dev/sr0 >image.iso (трудно ошибиться во вред) по сравнению с такими альтернативами, как tee /sr0 >image.iso (если вы перевернете перенаправления или забудете входное, tee запишет на /dev/sr0).
    • cat: вы можете случайно конкатенировать два файла. В этом случае данные можно легко спасти.
    • dd: i и o близки на клавиатуре и несколько необычны. Нет эквивалента noclobber, of= с радостью перезапишет что угодно. Синтаксис перенаправления менее подвержен ошибкам.
    • cp: если вы случайно поменяете местами источник и цель, устройство будет перезаписано (опять же, предполагая, что устройство не предназначено только для чтения). Если cp вызывается с некоторыми опциями, такими как -R или -a, которые некоторые люди добавляют через псевдоним, то будет скопирован узел устройства, а не его содержимое.
  • Дополнительная функциональность. Единственный инструмент здесь, который имеет полезную дополнительную функциональность - это pv, с его мощными возможностями создания отчетов.
    Но здесь вы в любом случае можете проверить, сколько было скопировано, посмотрев на размер выходного файла.

  • Производительность. Это процесс, связанный с вводом-выводом; основное влияние на производительность оказывает размер буфера: инструмент считывает фрагмент из источника, записывает фрагмент в место назначения, повторяет. Если кусок слишком мал, компьютер тратит свое время на переключение между задачами. Если чанк слишком большой, операции чтения и записи невозможно распараллелить. Оптимальный размер чанка на ПК обычно составляет около нескольких мегабайт, но это, очевидно, очень зависит от ОС, от аппаратного обеспечения, и от того, что еще делает компьютер. Некоторое время назад я сделал бенчмарки для копий с жесткого диска на жесткий диск в Linux, которые показали, что для копий в пределах одного диска преимущество имеет dd с большим размером буфера, но для копий между дисками cat выигрывает у любого dd размера буфера.

Есть несколько причин, почему так часто упоминается dd. Кроме производительности, это не очень хорошие причины.

  • В очень старых системах Unix некоторые инструменты обработки текста не могли справиться с двоичными данными (они использовали нуль-терминированные строки внутри, поэтому у них были проблемы с нулевыми байтами; некоторые инструменты также предполагали, что символы используют только 7 бит и не обрабатывали 8-битные наборы символов должным образом). Я не уверен, что это когда-либо было проблемой для cat (это было с более ориентированными на строки инструментами, такими как head, sed и т.д.), но люди старались избегать этого для двоичных данных из-за ассоциации с обработкой текста. Это не является проблемой в современных системах, таких как Linux, OSX, *BSD или любых других, которые соответствуют POSIX.
  • Существует своего рода миф о том, что dd является несколько "более низкоуровневой" программой, чем другие инструменты, такие как cat, и обращается к устройствам напрямую. Это абсолютно неверно: dd и cat и tee и другие читают байты со своего входа и записывают байты на свой выход. Настоящая магия находится в /dev/sr0.
  • dd имеет необычный синтаксис командной строки, поэтому объяснение того, как он работает, дает больше возможностей блеснуть объяснением, чем простое написание cat /dev/sr0.
  • Использование dd с большим размером буфера может иметь лучшую производительность, но это не всегда так (см. некоторые бенчмарки в Linux).

Основной риск с dd заключается в том, что он может молча пропустить некоторые данные. Я думаю, что dd безопасен, пока skip или count не переданы, но я не уверен, так ли это на всех платформах. Но это не имеет никаких преимуществ, кроме производительности.

Так что просто используйте pv, если вам нужен его шикарный отчет о прогрессе, или cat, если он вам не нужен.

1
23.02.2018, 12:02
2 ответа

Como se mencionó anteriormente, apt, apt-get, aptitudee incluso dpkgpueden usarse para administrar instalaciones de paquetes de software en sistemas Debian. Lo más probable es que utilice apto apt-getpara instalar GNOME. Aquí hay una guía sobre una instalación mínima de GNOME en Debian. Muestran una lista de todos los paquetes asociados y necesarios para ejecutar un escritorio GNOME funcional.

¿Está utilizando una imagen netinstall de Debian? Comenzar allí puede ayudar a que su instancia de Debian tenga la menor cantidad de paquetes posible. Alternativamente, puede eliminar cualquier paquete que considere innecesario, siempre y cuando preste atención a la salida de apto apt-gety no elimine ninguno de los componentes principales de GNOME.

Sugiero comenzar con netinstall , luego ejecutar aptitude install –without-recommends gdm3algunas personas informan que es todo lo que se necesita para obtener un escritorio GNOME que funcione.

0
28.01.2020, 00:39

Debian usa el mecanismo apt para instalar paquetes y resolver dependencias. Según su wiki , hay 4 paquetes disponibles para instalar gnome:

  1. tarea -gnome -escritorio :la "Selección de aplicaciones de Debian (Esto es lo que se instala en un sistema recién instalado. Incluye algunas aplicaciones que realmente no se integran con GNOME, como LibreOffice y Iceweasel )"
  2. gnome :"El entorno completo de GNOME, incluidas las aplicaciones que no son oficialmente parte de los lanzamientos de Upstream GNOME. Proporciona la entorno GNOME recomendado para Debian."
  3. gnome -escritorio -entorno :"El entorno oficial de GNOME upstream,menos algunos paquetes. Es el más cercano a las recomendaciones anteriores".
  4. gnome -core "Solo los módulos oficiales del "núcleo" del escritorio GNOME. Los paquetes anteriores dependen de este." Para instalar un mínimo, gnome -core es la mejor opción:

# apt install gnome-core

Para conocer las dependencias involucradas con cada paquete, apt -rdepends debería hacer el truco.

# apt install apt-rdepends
# apt-rdepends gnome-core
0
28.01.2020, 00:39

Теги

Похожие вопросы