Во-первых, Red Hat Enterprise Linux сохраняет базу своих пакетов как можно дольше, и соблюдает строгую бинарную совместимость. Если вы проанализируете версии glibc
, 2.12-1.7.el6.x86_64 и 2.12-1.149.el6_6.5 (я предполагаю, что здесь отсутствует .x86_64), у вас есть исходная версия 2.12 для обоих, local (RHEL) версия 1.7 против 1.149 (то есть около 142 наборов патчей). Один предназначен для el6 (т.е. RHEL 6), другой - для el6_6.5 (т.е. 5-го раунда обновлений, объединенных в «новый выпуск» RHEL 6). Они должны быть очень близки, никаких видимых пользователем различий (за исключением исправлений ошибок, очевидно).
Подавляющее большинство программ динамически связываются со своими библиотеками (только одна копия библиотеки на диске и в памяти, часто используемые символы будут доступны для всех, что обеспечивает лучшую производительность), так что, в частности, исправление для библиотеки подхватывается при следующем запуске программы после ее обновления. Лишь в очень редких случаях может потребоваться перекомпиляция самой программы (если, например, встроенная функция или макрос в заголовке оказываются неправильными в какой-то степени).
Статически связанные программы содержат код библиотеки (что-то становится все более редким!) может быть уязвимым , если они случайно используют неработающий код в библиотеке.
Как видно из файла /usr/share/applications/dde-control-center.desktop
, строка Exec
— этоExec=dbus-send --print-reply --dest=com.deepin.dde.ControlCenter /com/deepin/dde/ControlCenter com.deepin.dde.ControlCenter.Show
Использование Toggle
вместо Show
лучше послужит нашей цели.
Итак, создайте новый ярлык командой
dbus-send --print-reply --dest=com.deepin.dde.ControlCenter /com/deepin/dde/ControlCenter com.deepin.dde.ControlCenter.Toggle