Не вдаваясь в технические подробности: оба являются «компоновщиками», то есть инструментом, который объединяет / загружает часть скомпилированного кода с / в другую часть скомпилированного кода.
ld
- статический компоновщик, а ld.so
- динамический компоновщик.
Буквы так
, я полагаю, являются сокращением от «общего объекта», и вы обычно видите его как суффикс имени файла разделяемых библиотек, т. Е.библиотеки, которые могут быть динамически связаны в программы (одна библиотека «разделяется» между несколькими программами). Напротив, статическая библиотека часто имеет суффикс имени файла .a
, что означает «архив» (созданный утилитой ar
).
Статический компоновщик связывает программу или библиотеку во время компиляции, обычно на последнем этапе процесса компиляции, создавая двоичный исполняемый файл или библиотеку. В случае двоичного исполняемого файла это может быть статический двоичный файл с всеми библиотеками, загруженными в сам двоичный файл,или это может быть динамически связанный двоичный файл со статически связанными только некоторыми библиотеками.
Динамический компоновщик загружает библиотеки, которые были динамически связаны во время компиляции, в адресное пространство процесса во время выполнения.
См. Руководства для ld
и ld.so
в вашей системе.
Посмотрите на это, я понял. Оказывается, мне пришлось изменить mongod.conf
, чтобы включить аутентификацию.
Для тех, кто собирается сюда в будущем, добавьте следующее в /etc/mongod.conf
:
security:
authorization: enabled