Как использование «apt-get install» влияет на обратные зависимости?

Я собрал небольшой скрипт для круговых скриншотов, вам понадобятся следующие пакеты (хотя он также адаптируется для других программ-скриншотов и эмуляторов терминала):

sudo apt install xdotool gnome-screenshot imagemagick xterm

Сценарий

[ f2]

Сохраните его, например, ~/circular_screenshot.bash и сделать его исполняемым с помощью chmod +x ~/circular_screenshot.bash. Когда вы запустите его, сценарий сначала попросит вас переместить курсор мыши в центральное положение и нажать «Ввод», а затем переместить его в крайнее положение (неважно, какой сценарий вычисляет радиус с расстояния) и снова нажмите Войти. Экран затем мерцает, пока снимок сделан (я рекомендую использовать scrot $temp_screenshot вместо этого, он не показывает это странное поведение.) И ImageMagick convert 1 используется для обрезки изображения. Выход сохраняется с отметкой времени как имя файла в вашем домашнем каталоге, вы можете изменить это поведение, отредактировав переменную output скрипта.

Пример вывода

[!d7 ]

Вызов без (или лучше: с невидимым) оконечным окном

Я полагаю, вы не хотите, чтобы каждый раз, когда вы делаете скриншот, блокируете свой экран, так что вот решение для этого; Вызовите скрипт следующим образом (предполагая, что скрипт был сохранен как ~/circular_screenshot.bash):

xterm -geometry 0x0-1-1 -e ~/circular_screenshot.bash

Выполняет сценарий в невидимом окне терминала (значок с красным «X» и синим «T», ), вам просто нужно убедиться, что он сфокусирован, когда вы набираете Enter . Вы можете назначить эту команду ярлыку на клавиатуре с помощью настроек среды рабочего стола.

Поскольку ImageMagick невероятно мощный, вы можете адаптировать этот скрипт для вывода других фигур, я использовал ellipse с одинаковым радиусом в обоих x и y для рисования круга выше - измените это на, например, $radius,$(bc <<<"$radius*0.5"), чтобы получить вместо этого эллипс с эксцентриситетом выше 0.

1

1
задан 3 November 2010 в 13:15

16 ответов

Если вы запустите apt-get install libfoo, он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлен libfoo.

Если есть более новая версия libfoo, она будет установлена ​​в качестве зависимости от bar и будет самой последней версией, которая может быть (в то время как все еще совместима с bar). который несовместим с зависимостью bar (пакеты могут указать, какая версия пакета им нужна, в том числе «более новая, чем x» или «старше x»), libfoo будет сдержан.

6
ответ дан 26 May 2018 в 00:38
  • 1
    Для библиотек есть также заявление о том, что новый libfoo не должен разорвать любые rdepends. Каждый раз, когда библиотека меняет ABI, она также должна изменить SONAME, и мы обязываем включить SONAME в имя пакета (поэтому вы иногда видите libfoo1 и libfoo2 в архиве одновременно). – RAOF 4 November 2010 в 08:13

Если вы запустите apt-get install libfoo, он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлен libfoo.

Если есть более новая версия libfoo, она будет установлена ​​в качестве зависимости от bar и будет самой последней версией, которая может быть (в то время как все еще совместима с bar). который несовместим с зависимостью bar (пакеты могут указывать, какая версия пакета, в которой они нуждаются, включая «новее, чем x» или «старше x»), libfoo будет удерживаться.

6
ответ дан 25 July 2018 в 22:57

Если вы запустите apt-get install libfoo, он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлен libfoo.

Если есть более новая версия libfoo, она будет установлена ​​в качестве зависимости от bar и будет самой последней версией, которая может быть (в то время как все еще совместима с bar). который несовместим с зависимостью bar (пакеты могут указать, какая версия пакета им нужна, в том числе «более новая, чем x» или «старше x»), libfoo будет сдержан.

6
ответ дан 27 July 2018 в 01:40

Если вы запустите apt-get install libfoo, он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлен libfoo.

Если есть более новая версия libfoo, она будет установлена ​​в качестве зависимости от bar и будет самой последней версией, которая может быть (в то время как все еще совместима с bar). который несовместим с зависимостью bar (пакеты могут указывать, какая версия пакета, в которой они нуждаются, включая «новее, чем x» или «старше x»), libfoo будет удерживаться.

6
ответ дан 2 August 2018 в 04:20

Если вы запустите apt-get install libfoo , он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлять libfoo , Он уже установлен как зависимость от bar , и он будет автоматически самой обновленной версией, которая может быть (хотя все еще совместима с bar ).

Если существует более новая версия libfoo , которая несовместима с зависимостью bar (пакеты могут указывать, какая версия пакета им нужна, включая «более новая, чем x» или «старше x»), libfoo будет сдерживаться.

6
ответ дан 6 August 2018 в 04:25

Если вы запустите apt-get install libfoo , он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлять libfoo , Он уже установлен как зависимость от bar , и он будет автоматически самой обновленной версией, которая может быть (хотя все еще совместима с bar ).

Если существует более новая версия libfoo , которая несовместима с зависимостью bar (пакеты могут указывать, какая версия пакета им нужна, включая «более новая, чем x» или «старше x»), libfoo будет сдерживаться.

6
ответ дан 7 August 2018 в 22:31

Если вы запустите apt-get install libfoo , он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлять libfoo , Он уже установлен как зависимость от bar , и он будет автоматически самой обновленной версией, которая может быть (хотя все еще совместима с bar ).

Если существует более новая версия libfoo , которая несовместима с зависимостью bar (пакеты могут указывать, какая версия пакета им нужна, включая «более новая, чем x» или «старше x»), libfoo будет сдерживаться.

6
ответ дан 10 August 2018 в 10:39

Если вы запустите apt-get install libfoo , он помечает его как установленный вручную. Это означает, что он не будет удален с помощью autoremove.

И насколько мне известно, запуск apt-get install libfoo не будет обновлять libfoo , Он уже установлен как зависимость от bar , и он будет автоматически самой обновленной версией, которая может быть (хотя все еще совместима с bar ).

Если существует более новая версия libfoo , которая несовместима с зависимостью bar (пакеты могут указывать, какая версия пакета им нужна, включая «более новая, чем x» или «старше x»), libfoo будет сдерживаться.

6
ответ дан 13 August 2018 в 17:11
  • 1
    Для библиотек есть также заявление о том, что новый libfoo не должен разорвать любые rdepends. Каждый раз, когда библиотека меняет ABI, она также должна изменить SONAME, и мы обязываем включить SONAME в имя пакета (поэтому вы иногда видите libfoo1 и libfoo2 в архиве одновременно). – RAOF 4 November 2010 в 08:13

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель, а другое приложение не использует libfoo, будет удаляться с помощью apt-get autoremove.

1
ответ дан 26 May 2018 в 00:38
  • 1
    Они не обязательно верны, а вторая точка ложна. Если вы запустили «apt-get install libfoo», то libfoo помечен как установленный вручную и не является кандидатом для autoremove. – RAOF 4 November 2010 в 08:11

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель, а другое приложение не использует libfoo, будет удаляться с помощью apt-get autoremove.

1
ответ дан 25 July 2018 в 22:57
  • 1
    Они не обязательно верны, а вторая точка ложна. Если вы запустили «apt-get install libfoo», то libfoo помечен как установленный вручную и не является кандидатом для autoremove. – RAOF 4 November 2010 в 08:11

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель, а другое приложение не использует libfoo, будет удаляться с помощью apt-get autoremove.

1
ответ дан 27 July 2018 в 01:40
  • 1
    Они не обязательно верны, а вторая точка ложна. Если вы запустили «apt-get install libfoo», то libfoo помечен как установленный вручную и не является кандидатом для autoremove. – RAOF 4 November 2010 в 08:11

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель, а другое приложение не использует libfoo, будет удаляться с помощью apt-get autoremove.

1
ответ дан 2 August 2018 в 04:20
  • 1
    Они не обязательно верны, а вторая точка ложна. Если вы запустили «apt-get install libfoo», то libfoo помечен как установленный вручную и не является кандидатом для autoremove. – RAOF 4 November 2010 в 08:11

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель и никакое другое приложение не использует libfoo, оно будет удаляться с помощью apt-get autoremove .

1
ответ дан 6 August 2018 в 04:25

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель и никакое другое приложение не использует libfoo, оно будет удаляться с помощью apt-get autoremove .

1
ответ дан 7 August 2018 в 22:31

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель и никакое другое приложение не использует libfoo, оно будет удаляться с помощью apt-get autoremove .

1
ответ дан 10 August 2018 в 10:39

1) Если libfoo является зависимостью, то apt-get install libfoo установит только версию, совместимую с другим приложением, используя ее.

2) Если вы удалите панель и никакое другое приложение не использует libfoo, оно будет удаляться с помощью apt-get autoremove .

1
ответ дан 13 August 2018 в 17:11
  • 1
    Они не обязательно верны, а вторая точка ложна. Если вы запустили «apt-get install libfoo», то libfoo помечен как установленный вручную и не является кандидатом для autoremove. – RAOF 4 November 2010 в 08:11

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

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