Управление второстепенными версиями общей библиотеки

Скопируйте и вставьте (или поместите в конец файла ~ / .bashrc ) эту функцию bash :

logs() { zcat -f $(ls -rv "$1"*) | less; }

Теперь вы можете ввести, например, журналы / var / log / syslog или logs /var/log/nginx/access.log для просмотра всех системного журнала или nginx записывать сообщения от самого старого к самому новому с меньше .

Затем вы можете выполнить поиск что-то , набрав / something и нажав n , чтобы ввести следующий .

3
08.02.2018, 00:04
1 ответ

No ha malinterpretado la numeración de la versión y, de hecho, esta es un área en la que la búsqueda de símbolos suele fallar.

En cuanto a quién es responsable, diría que en los sistemas modernos pertenece a quien crea la aplicación, no a la biblioteca :si vincula la aplicación conld -z now(al menos en GNU binutils ), el enlazador dinámico resolverá todos los símbolos al inicio y fallará antes si falta algún símbolo (, por lo que no es necesario que agregue controles manuales propios ). Puede habilitar este comportamiento después de vincular un programa exportando LD_BIND_NOW=1al entorno (cualquier valor que no sea -vacío funciona, y esto no es -específico de Linux ).

Este tipo de problema generalmente lo resuelven los sistemas de administración de paquetes :que mantienen metadatos extensos que describen los requisitos de versión para los símbolos y generan las dependencias de versiones apropiadas. También es posible que los autores de bibliotecas ayuden a mejorar la situación, pero puede requerir mucho esfuerzo; consulte los símbolos de versión especial de GNU libc (, los símbolos GLIBC_...que a menudo aparecen en los mensajes de error )y, en general, el manejo completo de los símbolos versionados.

2
27.01.2020, 21:25

Теги

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