По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы посмотрим, что такое статические и динамические библиотеки. Местоположение библиотек по умолчанию. Определение используемых библиотек. Загрузка библиотек. Библиотеки это набор функций, которые могут использоваться в различных программах. Библиотеки могут быть статические (библиотека привязывается к определенной программе или софт содержит данную библиотеку в своем теле.) и динамическими (библиотеки грузятся в оперативную память и используются). Плюсы первого варианта нет проблемы совместимости, т. к. софт уже в себе содержит библиотеку, библиотека всегда с собой. Но при этом программы становятся большие по размеры и т.к каждая может загружать свои библиотеки, а иногда и одинаковые.  Второй вариант значительно лучше, сами программы по своему размеру меньше. Библиотека загружается один раз в оперативку. И следующая программа, которой необходимы такие же функции, берет и использует эти данные. По умолчанию библиотеки в Linux находятся в двух папках. Это корневая папка /lib в ней находятся библиотеки, которые используют программы, расположенные в корневой папке /bin. И есть вторая папка /usr/lib. В ней находятся библиотеки, которые используют программы расположенные /usr/bin.  Пути к библиотекам указаны файле /etc/ld.so.conf. Данный файл можно просмотреть стандартным способом, через утилиту cat. Видим, что написано включить все библиотеки, которые расположены по пути, указанном в файле. Те которые оканчиваются на .conf. Он просто включает в себя все настройки, которые находятся в конфигурационных файлах, в данной директории. Переходим в данную директорию. В данной директории мы можем видеть 2 файла конфигурации, в зависимости от версии и наполнения операционной системы их может быть и больше. Ну и соответственно в конфигурационных файлах находятся пути к директориям, где лежат необходимые для работы библиотеки. Если мы ставим какое, то свое программное обеспечение, которому необходимы дополнительные библиотеки, не идущие в составе дистрибутива linux, то в данной директории может создаться свой конфигурационный файл. Например: если мы используем систему виртуализации VMware, то к каждой VM устанавливаем VMware tools то данное программное обеспечение создаст свой конфигурационный файл с путями для своих библиотек. Переходим в директорию cd /etc/ и отсортируем так, чтобы в результатах все, что содержит ld. ls | grep ld. Получим следующее: Видим 3 основных конфигурационных файла. ld.so.conf - это файл конфигурации в котором написано откуда брать дополнительные библиотеки. Директория ls.so.conf.d в которой находятся дополнительные конфигурационные файлы и ld.so.cache это кэш библиотек. Он у нас выстраивается каждый раз для того, чтобы программы при необходимости при запросе библиотек не копались в файлах, а сразу брали из загруженного в оперативную память кэша. Т.е. если мы вносим какие-то изменения в файл конфигурации, добавляем какие-то конфигурационные файлы нам необходимо обновить этот кэш. Кэш обновляется командой ldconfig. Этого, собственно, достаточно, чтобы прогрузить все библиотеки в кэш. Давайте посмотрим, как, определить какими библиотеками пользуется какая программа. Для этого мы будем использовать команду ldd и путь к бинарному файлу. Например: Программа ls которая используется для вывода списка файлов в каталоге. Она находится в каталоге /bin/ls. В результате получим мы следующее: Мы видим, какие so использует данная программа и соответственно ссылки на них, где они расположены, собственно, so - это наши библиотеки в данном случае. Возможно добавление библиотек вручную, это может потребоваться если мы ставим совершенно стороннее программное обеспечение, которое очень трудно взаимодействует с Linux или устаревшее. Т.е. которое само не может создать конфигурационный файл и разнести библиотеки в системные директории Linux. Если мы хотим сделать это вручную, тогда нам необходим тот самый файл /etc/ld.so.conf. В данный файл мы можем дописать путь к файлу конфигурации библиотек тех, которые нам нужны. Либо есть более легкий вариант с использованием переменной export LD_LIBRARY_PATH и указать путь к тем особенным библиотекам, которые будет использовать наша "особенная" программа. Обычно все стороннее программное обеспечение устанавливается в папку /opt. Итоговый вариант будет выглядеть как: export LD_LIBRARY_PATH=/opt/soft/lib и когда пройдет экспорт, у нас попробует погрузится из этого пути библиотека, но перед этим необходимо не забыть сделать ldconfig.
img
Что это вообще такое? Docker Compose является инструментом для определения и запуска контейнерных приложений. С Compose вы получаете возможность настраивать службы используя файл YAML. С помощью одной команды Compose вы создаете и запускаете все службы в соответствии с вашей конфигурацией. Установка начинается с создания каталога проекта: $ mkdir composetest $ cd composetest Создайте файл под названием app.py и вставьте в него следующие данные: import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times. '.format(count) В нашем случае название хоста - redis, который использует порт 6379. Создайте файл под названием needs.txt в каталоге вашего проекта и вставьте его в: flask Redis Теперь следует написать код для файла Dockerfile, содержащий все необходимые переменные для среды разработки. В каталоге вашего проекта создайте файл с именем Dockerfile (файл будет определять среду приложения) и вставьте следующее содержимое: FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP app.py ENV FLASK_RUN_HOST 0.0.0.0 RUN apk add --no-cache gcc musl-dev linux-headers COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["flask", "run"] Определение сервисов осуществляется при создании файла с именем docker-compose.yml в каталоге вашего проекта со следующей информацией: version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" На основании содержания файла происходит запуск двух сервисов: Web и Redis, а в дальнейшем вы можете вносить в этот файл различные БД и иную важную информацию. C помощью команды Compose создайте ваше приложение, после чего из каталога проекта запустите приложение, запустив docker-compose. Вот так: $ docker-compose up Creating network "composetest_default" with the default driver Creating composetest_web_1 ... Creating composetest_redis_1 ... Creating composetest_web_1 Creating composetest_redis_1 ... done Attaching to composetest_web_1, composetest_redis_1 web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) redis_1 | 1:C 17 Aug 22:11:10.480 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 17 Aug 22:11:10.480 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 17 Aug 22:11:10.480 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf web_1 | * Restarting with stat redis_1 | 1:M 17 Aug 22:11:10.483 * Running mode=standalone, port=6379. redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. web_1 | * Debugger is active! redis_1 | 1:M 17 Aug 22:11:10.483 # Server initialized redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. web_1 | * Debugger PIN: 330-787-903 redis_1 | 1:M 17 Aug 22:11:10.483 * Ready to accept connections Compose извлекает образ Redis, создавая образ для вашего приложения и запускает выбранные службы. В этом случае код копируется в образ во время сборки. Как вам такое? Теперь попробуйте ввести http://localhost:5000/ в браузере, чтобы чекнуть запущенное приложение. Если вы используете Docker для Linux, Docker Desktop для Mac или Docker Desktop для Windows, то теперь веб-приложение должно "смотреть" на порт 5000 на хосте Docker. Введите в своем веб-браузере адрес http://localhost:5000, чтобы увидеть сообщение Hello World. Если не сработает, вы также можете попробовать зайти на http://127.0.0.1:5000. Если вы используете Docker Machine на Mac или Windows, используйте ip MACHINE_VM docker-machine для получения IP-адреса вашего хоста Docker. Затем откройте http://MACHINE_VM_IP:5000 в браузере. Вы должны увидеть сообщение в своем браузере: Hello World! I have been seen 1 times. Переключитесь на другое окно терминала и введите docker image ls, чтобы вывести список локальных образов/контейнеров. Вывод на этом этапе должен показывать redis и web. $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE composetest_web latest e2c21aa48cc1 4 minutes ago 93.8MB python 3.4-alpine 84e6077c7ab6 7 days ago 82.5MB redis alpine 9d8fa9aa0e5b 3 weeks ago 27.5MB Важно: Вы можете просматривать запущенные контейнеры с помощью Docker Inspect Tag или ID Запустите docker-compose из каталога вашего проекта во втором терминале, либо нажмите CTRL + C в исходном терминале, где приложение уже запущено и отредактируйте файл Compose. Отредактируйте docker-compose.yml в каталоге вашего проекта для внесения той или иной правки в веб-службе version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code environment: FLASK_ENV: development redis: image: "redis:alpine" Новый ключ редактирует каталог проекта на хосте внутри контейнера, что позволяет изменять код без необходимости перестраивать весь образ. Ключ среды устанавливает переменную FLASK_ENV, которая сообщает о запуске в режиме разработки и перезагрузке кода при изменении. Важно: этот режим должен использоваться только при разработке. В каталоге проекта введите docker-compose up, чтобы создать приложение с обновленным файлом Compose, и запустите его. $ docker-compose up Creating network "composetest_default" with the default driver Creating composetest_web_1 ... Creating composetest_redis_1 ... Creating composetest_web_1 Creating composetest_redis_1 ... done Attaching to composetest_web_1, composetest_redis_1 web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) … Поскольку код приложения теперь добавляется в контейнер с помощью тома, вы можете вносить изменения в его код и мгновенно просматривать изменения без необходимости перестраивать образ. Измените сообщение в app.py и сохраните его: Hello from Docker!: return 'Hello from Docker! I have been seen {} times. '.format(count) Обновите результат в вашем браузере (нажмите F5 или Ctrl + F5) . Приветствие должно быть обновлено, а счетчик должен увеличиваться. Вы можете поэкспериментировать с другими командами. Если вы хотите запускать свои службы в фоновом режиме, вы можете сделать следующее: docker-compose up and use docker-compose ps to see what is currently running: $ docker-compose up -d Starting composetest_redis_1... Starting composetest_web_1... $ docker-compose ps Name Command State Ports ------------------------------------------------------------------- composetest_redis_1 /usr/local/bin/run Up composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp Команда docker-compose run позволяет вам применять одноразовые команды к вашим сервисов. Например, чтобы увидеть, какие переменные среды доступны для веб-службы: $ docker-compose run web env Выполните команду docker-compose –help, чтобы увидеть весь список доступных команд. Если вы запустили Compose с помощью docker-compose up -d, то нужно будет остановить ваши службы после работы с ними, для этого поможет команда ниже:$ docker-compose stop Если хотите полностью уничтожить контейнер, используйте команду down.
img
Выпущена новая версия Ubuntu и мы расскажем, что в ней нового, а также расскажем как на нее обновиться. Ubuntu 20.04, под кодовым названием “Focal Fossa” является LTS версией, и пользователи получат поддержку и обновления безопасности до апреля 2025 года. Ubuntu 20.04 доступна для загрузки в версиях для настольного компьютера, сервера и, конечно, всех зависимых версий Ubuntu, таких как lubuntu, xubuntu, Kubuntu и так далее. Этот релиз приносит некоторые из давно ожидаемых изменений, так что давайте взглянем на них. Что нового в Ubuntu 20.04 ? Улучшение производительности оболочки GNOME Когда вы установите Ubuntu 20.04, первое, что вы заметите, это более быстрое время отклика среды рабочего стола GNOME 3.36. Большая часть работы была проделана в ядре GNOME Shell для улучшения взаимодействия с конечным пользователем. Linux Kernel 5.4 Ubuntu 20.04 LTS работает под управлением версии ядра Linux 5.4, которое включает режим блокировки и поддержку exFAT. Kernel 5.4 обеспечивает улучшенную поддержку оборудования, технологию защищенного VPN, поддержку WireGuard, поддержку Livepatch, а также обновления ядра без перезагрузки, что меняет правила игры для серверов под управлением Ubuntu 20.0 Более быстрая поддержка ZFS Ubuntu 20.04 LTS теперь поддерживает ZFS, которая предоставляет множество расширенных функций файловой системы, таких как клоны, расширенные снепшоты и так далее. Она была доступна в Ubuntu 19.10 в качестве экспериментальной функции. Эта поддержка повышает надежность операционной системы Ubuntu в производственной и корпоративной среде. Фракционное масштабирование С Ubuntu 20.04 вы можете теперь наслаждаться дробным масштабированием с мониторами высокого разрешения, дисплеями. Он имеет масштабируемые проценты в настройках с опциями - 100%, 125%, 150%, 175% и 200%. Теперь вам не нужно запускать команды настройки в GNOME, чтобы включить его, поскольку он доступен по умолчанию. Поддержка нескольких мониторов Если у вас есть несколько мониторов, Ubuntu 20.04 упрощает установку и настройку с помощью таких параметров, как позиционирование, масштабирование, поле входа в систему и так далее. Обновленная блокировка и экран входа Экран входа в систему и блокировки полностью обновлен с красивым и чистым внешним видом. Параметр среды рабочего стола находится в правом нижнем разделе, где вы можете выбрать между опциями «Ubuntu», «Ubuntu on Wayland» и так далее. Новый Темный Режим и Обои Ubuntu 20.04 содержит встроенный темный режим с изменениями в теме по умолчанию. Иконки папок перешли от традиционного оранжевого цвета к темно-серому. Доступны три цвета окна - Светлый, Стандартный и Темный. Вы можете выбрать режимы через Настройки -> Внешний вид. Software как Snap Магазин Ubuntu Software остается популярным местом для поиска новых приложений, но для этого выпуска он поставляется в виде приложения Snap. Это не сильно влияет на ситуацию, поскольку это все тот же базовый инструмент, основанный на программном обеспечении GNOME, но упакованный в формате Snap. Обновленные приложения В Ubuntu 20.04 все приложения по умолчанию доступны в их последней версии. Firefox 75 Thunderbird 68.7 Rhythmbox 3.4 LibreOffice 6.4.2 OpenSSL 1.1.1d gcc 9.3.0 Files 3.36.1.1-stable Python 3.8 установлен по-умолчанию Приложение калькулятор теперь заменено apt версией вместо snap версии Удалено приложение Amazon Launcher OEM Vendor Logo во время загрузки Отныне вы можете видеть логотип OEM-производителя во время загрузки вашей системы вместе с логотипом Ubuntu с новой анимацией. Скачать Ubuntu 20.04 Перейдите по ссылке ниже, чтобы получить последний ISO-образ Ubuntu 20.04 LTS. Загрузите ISO и создайте загрузочную флешку для запуска Focal Fossa. Скачать Ubuntu 20.04 LTS Другие версии: Скачать Kubuntu 20.04 Скачать xubuntu 20.04 Скачать lubuntu 20.04 Скачать Ubuntu Budgie 20.04 Скачать Ubuntu Kylin Скачать Ubuntu MATE Скачать Ubuntu Studio Обновление до Ubuntu 20.04 с Ubuntu 18.04 и Ubuntu 19.10 Если вы используете Ubuntu 18.04 LTS, вы не увидите автоматического запроса на обновление до 20.04 до первого выпуска Focal Fossa, то есть до июля 2020 года. Поэтому, если вы хотите принудительно запустить его, откройте Software and Updates (Программное обеспечение и обновления), перейдите на вкладку Updates (Обновления) и измените notify me of new ubuntu version (уведомлять меня о новой версии Ubuntu) на any new version (любую новую версию), и вы должны получить запрос на обновление, после чего следуйте процессу обновления, как указано на экране. Если вы используете Ubuntu 19.10, встроенный инструмент Ubuntu Software Updater предложит вам получить новую стабильную версию Ubuntu. Ну и конечно, можно просто выполнить команды: # sudo apt update && sudo apt upgrade # sudo do-release-upgrade Вот и все, что касается обновлений для Ubuntu 20.04. Оставайтесь с нами!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59