Цвет переднего плана изменяется после команды `ls`

вот более подробное описание процесса. К сожалению текст был так долго.

мой опыт проистекает из Debian, для которых вся упаковка и обновления системы, используемые в Ubuntu была изначально придумана. Ежедневные обновления безопасности ОС Ubuntu соответствуют запущена [Ф1], которые, как правило, не удалить любое программное обеспечение. Большие обновления релиза соответствовать [Ф2], в течение которого пакеты программного обеспечения могут быть полностью заменены.

на самом деле очень низкого уровня, как правило, не размениваясь при обновлении релиза. Сразу после обновления вы должны найти два ядра и initrd изображений в директории /Boot. Это потому, что в отличие от программ компоненты ядра не так хорошо взаимозаменяемыми. Если возникает необходимость загрузки новых драйверов при обновлении, они должны быть совместимы с управлением ядра. После того, как система загрузится с новым ядром, старый можно удалить. Последний раз я проверял это одно должно было быть сделано вручную, я не знаю, как текущего обновления обрабатывает это. Это кстати. главная причина, почему образ ядра носит номер версии в имени файла - так что вы можете иметь различные версии установленного ядра одновременно. Же путь к модулю (/библиотека/модули/...)

программные пакеты обновляются по одному, начиная с наименьшего пакеты в иерархия зависимостей. Это обычно программа, Как библиотеки libc и другие. Последовательность, в которой пакеты обновляются, однако не жестко, а динамически вычисляется как зависимости пакета будут решены. В большинстве случаев старые программы могут работать с новые библиотеки, так что это не так проблематично, если эти библиотеки будут заменены в первую очередь.

Вы должны понять, что система различает вручную установленные пакеты (т. е. пакеты, которые установки вы непосредственно запросили себе, т. е. хром) и автоматически установленные пакеты, которые где установлена только для выполнения зависимостей вручную установленные пакеты (и зависимости этих зависимостей).

для каждой установленной программы, утилита просто ищет более новую версию. Часто эти программы являются просто Мета-пакеты типа "убунту-десктоп", который не содержит никаких данных, то и просто зависимости. Новые версии зависимых библиотек потянутся, так как они запрашиваются напрямую с обновленными программами (выполнена вручную). Программа обновления всегда будет пытаться установить новейшую полезную версию любого зависимого пакета (при любой upgrdade не просто выпуск обновлений).

программ, которые не могут работать с новой версии библиотеки не может быть запущен в течение времени после библиотеки повышен, и перед самой программы обновления. Если эти программы уже должен быть запущен до обновления библиотек, однако они продолжают работать, потому что старые версии библиотеки остается в памяти, пока это остается в использовании. Же касается программ, которые были запущены прежде чем они обновляются. Те не будут предоставлять новые возможности, пока они не прекращаются и перезапустить.

после обновления некоторые библиотеки (или зависимости в целом) будут сиротами. Те библиотеки, которые необходимы были по старой версии программы, но не требует новых версий. Поскольку эти пакеты помечены как автоматически установленные, и, поскольку не установлен вручную занесена больше относится к ним эти пакеты могут быть легко установлены и удалены. Вы даже можете наблюдать это в качестве последнего шага процесса обновления (апдейтер саис "удаление устаревших пакетов" или что-то подобное).

какие пакеты будут установлены, которые не были установлены ранее, это просто новые зависимости, помечены как автоматически установленные, и могут быть удалены, если требования к их исчезнуть в будущем.

этот механизм даже позволяет обмениваться всей программы пользователя. Как, например, переход от Gnome2 к единству. Так как просто автоматическая зависимостей в Ubuntu-Desktop, который один из немногих пакетов, для новых версий требуется представлять в первую очередь.

программы

, как правило, не зависят от конкретной версии ядра операционной системы, поэтому они будут нормально работать при работающем ядре.

помимо всего этого я использовать программа обновления убунту бросает некоторые конкретные исправления и обходные пути в миксе, обходить ситуации, в которых эта теория ломается.

как вы можете видеть во время обновления там очень хорошо условия, в которых система может быть использована только в ограниченных рамках. Если что-то пойдет не так во время обновления, вы скорее всего останетесь с неработающей системы. Часто даже тот, который не может легко быть восстановлен, так как программа обновления могут быть затронуты также. Помните, что программы с нарушенными зависимостями может продолжать функционировать, но не может быть перезапущен, пока зависимости не нарушается, это касается и обновления, а также.

Вы можете использовать программу командной строки [Ф3], чтобы выяснить, какие пакеты отмечены как установленные вручную и автоматически устанавливается. Вы также можете переключать эти знаки с помощью той же программы. Это напрямую влияет на процесс обновления.

[dиода d17]в более сложной установки программного обеспечения программа обновления иногда попросит вас разрешить зависимости вручную. Т. е. когда установлен вручную, программа обновляется и просит новую версию библиотеки, а другой установлен вручную программы зависит от старой версии той же библиотеке и не может работать с новым. Тогда вам придется сделать свой выбор, либо отказаться от одной из этих программ или воздержаться от обновления. С зависимостями часто комплекс это может стать очень грязным очень быстро (вы, возможно, слышали термин "ад зависимостей").[!dиода d17]

теперь конкретные вопросы:

при низком уровне инфраструктуры изменяется (минимум-уровня ядра, драйверов, библиотек и т. д. все, что пользователь не может напрямую взаимодействовать с), Что происходит с устаревшими серверами? ОК... я уже освещал этот один, что происходит с приложением, которое было полностью устаревшим? Например, единство 2D (или любое другое программное обеспечение заброшенных/нет мейнтейнеров пакета, которого нет в новый РЕПО). Если Приложение после установки вручную, она останется в системе, часто вызывает зависимость, черт возьми, я описал. в Ubuntu-Desktop-это метапакет, который тянет приложения в Ubuntu по умолчанию в качестве зависимостей. Если я удалил Firefox и установленным браузером Chrome, Firefox по-прежнему будет втянут в рамках модернизации? Пока это стандартный браузер новый релиз, да. Хром также будут обновлены. Я не уверен, если вы можете удалить Firefox без удаления убунту-десктоп. Обратите внимание, что помимо строгих зависимостей пакета знает и понятие рекомендации, где программа, как правило, будут установлены как зависимости, но может быть удален позже, не затрагивая ничего, кроме ее собственному зависимостей. Кроме того, что произойдет, если одно приложение используется, чтобы зависеть пакет-х и уже не так в новой версии; пакет-х быть повышен наряду с остальными пакетами, несмотря на то, сирым? Неа.

просто спросите меня если вы все еще есть какие-либо вопросы.

1
задан 20 August 2015 в 13:48

1 ответ

Команды, которые устанавливают цвета, могут завершиться, отправив последовательность ESC [ 0 m, чтобы сбросить текущие атрибуты терминала.

Добавьте к своему .bash_profile:

export PS1='\e[1;31m'"$PS1"
, чтобы изменить его приглашение оболочки, чтобы всегда устанавливать цвет обратно к тому, что вы хотите.
1
ответ дан 23 May 2018 в 18:05
  • 1
    Вы предлагаете экспорт, будет ли он задавать цвет подсказки или всего переднего плана? Я имею в виду цвет текста, как цвет, когда я печатаю. – 0decimal0 19 August 2015 в 19:41
  • 2
    Я скопировал вашу выбранную escape-последовательность, которая представляет собой текст переднего плана. – meuh 19 August 2015 в 19:44
  • 3
    Если вы выполняете script foo.txt, оттуда, пока не наберете exit, все операции ввода / вывода будут записаны в foo,txt. Изучите его с помощью od -bc foo.txt и посмотрите на последовательности ESCape. – waltinator 19 August 2015 в 19:51
  • 4
    man console_codes поможет. Единственное предположение, которое я имею для устранения подозрительной последовательности, - это начать с конца вывода (в файле foo.txt) и понять каждую последовательность ESCape и как ее получить. Когда вы обнаружите, что поняли, как была создана последовательность, которую вы хотите устранить, исправьте эту часть. – waltinator 20 August 2015 в 09:07
  • 5
    Прочитайте man bash, раздел «PROMPTING» и прочитайте man console_codes. Возьмем ls из уравнения. Сделайте script/od -bc вещь с echo "my output ends after this LF", заменив ls. Выход od -bc должен показывать "L" & Quot; F & Quot; "символ перевода строки" и это все echo выходы. Последующие символы выводятся из подсказки. – waltinator 20 August 2015 в 18:37

Другие вопросы по тегам:

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