depends #
Команда сообщает, какие другие пакеты зависят от определенного пакета. Как и при установке, отношения рассматриваются только для корневого пакета.
php composer.phar depends doctrine/lexer doctrine/annotations v1.2.7 requires doctrine/lexer (1.*) doctrine/common v2.6.1 requires doctrine/lexer (1.*)
Вы можете указать ограничение версии после пакета, чтобы ограничить поиск.
Добавьте флаг или , чтобы показать рекурсивное дерево, почему пакет зависит, например:
php composer.phar depends psr/log -t psr/log 1.0.0 Common interface for logging libraries |- aboutyou/app-sdk 2.6.11 (requires psr/log 1.0.*) | `- __root__ (requires aboutyou/app-sdk ^2.6) |- monolog/monolog 1.17.2 (requires psr/log ~1.0) | `- laravel/framework v5.2.16 (requires monolog/monolog ~1.11) | `- __root__ (requires laravel/framework ^5.2) `- symfony/symfony v3.0.2 (requires psr/log ~1.0) `- __root__ (requires symfony/symfony ^3.0)
Опции
- —recursive (-r): рекурсивно разрешает до корневого пакета.
- —tree (-t): печатает результаты как вложенное дерево, подразумевает -r.
suggests #
Перечисляет все пакеты, предлагаемые установленным набором пакетов. Вы можете опционально передать одно или несколько имен пакетов в формате , чтобы ограничить вывод предложениями только этих пакетов.
Используйте флаги или для группировки вывода пакета, предлагающего предложения или предложенные пакеты соответственно.
Используйте флаг , чтобы отобразить предлагаемый пакет и причину предложения. Это подразумевает , показывая оба списка.
Опции
- —by-package: выводить группы, предлагая пакет.
- —by-suggestion: Группы выводятся по предложенному пакету.
- —no-dev: исключает предложения пакетов .
Установка Composer на хостинг
Для установки Composer на хостинг, можно просто скачать данную программу самостоятельно, а затем загрузить её в корневую директорию проекта, например, с помощью FTP.
Самостоятельная загрузка нужной версии Composer выполняется со страницы «Download». Версии программы на данной странице расположены в разделе «Manual Download».
Выполнение команд на удалённом сервере обычно осуществляют с помощью SSH. По умолчанию на shared хостингах данный сетевой протокол выключен. Для его включения необходимо найти соответствующий пункт в панели управления, открыть его и нажать в нем на кнопку «Включить SSH».
Если вы пользователь Windows 10, то клиент SSH включен в систему по умолчанию. Поэтому для выполнения команд на удаленном сервере, можно в этой версии Windows не устанавливать никакой дополнительный софт, а например, воспользоваться программой «Командная строка» или «Windows PowerShell».
Например:
8 ответов
Вы можете установить gdebi-core, это версия командной строки установщика пакета GDebi с 10.04 и ранее. В новых версиях Ubuntu Центр программного обеспечения используется для установки debs, который не имеет эквивалента командной строки.
Чтобы установить пакет deb с помощью gdebi, просто запустите:
ответ дан
25 May 2018 в 21:31
Gdebi
gdebi устанавливает пакет deb и его зависимости. Чтобы использовать его, выполните:
В новых версиях Ubuntu это не установлено по умолчанию, поэтому вам нужно будет установить его из репозиториев.
См. для полного списка опций.
gdebi — это командная строка, эквивалентная графическому инструменту с тем же именем, которое по умолчанию было включено в Ubuntu. Команда для графического инструмента — gdebi-gtk и имеет аналогичную функциональность:
ответ дан
25 May 2018 в 21:31
, начиная с apt 1.1 (доступно в Xenial (16.04), растянуть) apt install также позволяет локальные файлы:
. Так проще и чище.
См. релиз объявления
ответ дан
25 May 2018 в 21:31
running
после установки пакета с dpkg может разрешить разбитые зависимости (по крайней мере, man apt-get сказать так …). Ill update, когда я его проверю.
ответ дан
25 May 2018 в 21:31
dpkg не поддерживает зависимость. Существует способ обойти это, но для этого потребуется создать локальную базу данных (и, следовательно, вы уже знаете зависимости), и считается устаревшей (…).
Должна ли она быть командой линия? (server install?) Если это так, посмотрите на apt-get -f, но будьте осторожны: решение зависимостей после установки может привести к повреждению системы.
gdebi (gui frontend) раньше имел возможность сделайте это, но замените USC.
Как вы загрузили .deb. Некоторые из новых возможностей 11.04 — это обработка .deb, загружаемая с веб-сайта: она открывается в USC, поэтому зависимости будут решены установщиком.
EDIT, основанный на комментарии andrew: sudo gdebi foo-1.2.3.deb сделал бы трюк !!
ответ дан
25 May 2018 в 21:31
В качестве альтернативы gdebi-gtk вы можете использовать Ubuntu Software Center.
Двойной щелчок по пакету и кнопка установки должна быть доступна.
ответ дан
25 May 2018 в 21:31
Вы можете создать файл dpkg-dep-inst со следующим содержимым.
Предполагаю, что вы создали файл в своей домашней папке. Сделайте это с помощью chmod +x dpkg-dep-inst и переместите его на /usr/local/bin с помощью sudo cp dpkg-dep-inst /usr/local/bin.
Теперь вы можете установить пакет debian с зависимостями автоматически с помощью:
ответ дан
25 May 2018 в 21:31
Я просто столкнулся с этой проблемой. Вызов apt-get install -f не будет устанавливать рекомендуемые зависимости, хотя! Единственным обходным решением для этого было бы создание локального репозитория и добавление к /etc/apt/sources.list, т. Е .:
ответ дан
25 May 2018 в 21:31
Настройка rkhunter (основанная на заведомо исправный значениях)
Получив некоторое представление о том, как rkhunter просматривает систему, можно указать файлы и приложения, которые нужно игнорировать или обрабатывать иначе во избежание ложных срабатываний.
Откройте конфигурационный файл rkhunter с привилегиями root:
Настройка уведомлений
Если почтовый сервер установлен локально, можно получать почту, войдя в систему как root:
Имейте в виду, почтовые программы настраиваются сразу при установке, потому их инсталляции нужно уделять особое внимание. Данная строка определяет программу и параметры отправки почты:
Данная строка определяет программу и параметры отправки почты:
Белый список известных файлов
Теперь нужно устранить предупреждения, сообщающие о том, что некоторые бинарные пакеты системы были заменены скриптами. Некоторые дистрибутивы (в том числе и Ubuntu) используют скриптовые версии файлов вместо их двоичных аналогов.
Приведенные ниже четыре файла были выведены в результате проверки rkhunter; их нужно внести в белый список с помощью параметра SCRIPTWHITELIST, чтобы rkhunter знал, что эти файлы безвредны:
Это позволит предотвратить ложные срабатывания при всех последующих проверках
Обратите внимание: эти белые списки необходимы только для определенных тестов; потому нужно отметить, что эти файлы не должны быть двоичными. Другие же изменения могут вызвать предупреждения (что является правильной работой программы)
Определенные файлы каталога /dev вызывают предупреждения rkhunter. Эти файлы содержат детали реализации, которые фактически не указывают на какие-либо нарушения. Они необходимы и поддерживаются дистрибутивом.
Итак, существует три предупреждения, которые нужно устранить. Первое предупреждение связано с обнаружением “подозрительного файла” в каталоге. Разместите в конфигурациях следующую строку, чтобы снять подозрения с данного файла:
Следующее предупреждение связано с тем, что в каталоге /dev обнаружен скрытый каталог. В этом каталоге находится предыдущий файл.
Последнее предупреждение вызвано скрытыми файлами. Это основные конфигурационные файлы, которые хранятся в этом каталоге, чтобы программы могли получать к ним доступ независимо от схемы разбиения и состояния монтирования.
Добавьте эти строки, чтобы внести эти файлы в белый список
Разрешение Root SSH-подключения
Следующий шаг – просто проверка утверждения. При запуске rkhunter проверяет этот параметр в конфигурационном файле и сравнивает его со значением в файле конфигурации SSHD.
Данная опция указывает, может ли root-пользователь устанавливать SSH-подключение. Многие методы обеспечения безопасности рекомендуют отключить root-логин. Если root-логин отключен, нужно установить значение “no”.
При необходимости подключаться по SSH нужно изменить значение на “yes”, чтобы rkhunter подтверждал такое соединение:
Сохраните изменения и закройте файл.
remove #
Команда remove удаляет пакеты из файла composer.json из текущего каталога.
php composer.phar remove vendor/package vendor/package2
После удаления требований измененные требования будут удалены.
Опции
- —dev: Удалить пакеты из .
- —no-progress: Удаляет отображение прогресса, которое может запутаться в некоторых терминалах или сценариях, которые не обрабатывают обратные символы.
- —no-update: Отключает автоматическое обновление зависимостей.
- —no-scripts: пропускает выполнение сценариев, определенных в .
- —update-no-dev: запустить обновление зависимостей с параметром .
- —update-with-dependencies: также обновлять зависимости удаленных пакетов.
- —ignore-platform-reqs: игнорировать требования , , и и принудительно выполнить установку, даже если локальная машина их не выполняет. См. Также параметр конфигурации платформы.
- —optimize-autoloader (-o): преобразовать автозагрузку PSR-0/4 в classmap, чтобы получить более быстрый автозагрузчик. Это рекомендуется, особенно для производства, но может занять немного времени для запуска, так что в настоящее время это не сделано по умолчанию.
- —classmap-authoritative (-a): Автозагрузка классов только из класса. Неявно включает опцию .
- -apcu-autoloader: использовать APCu для кэширования найденных / не найденных классов.
prohibits #
Команда указывает, какие пакеты блокируют установку данного пакета. Укажите ограничение версии, чтобы проверить, могут ли обновления выполняться в вашем проекте, и если нет, то почему нет. См. Следующий пример:
php composer.phar prohibits symfony/symfony 3.1 laravel/framework v5.2.16 requires symfony/var-dumper (2.8.*|3.0.*)
Обратите внимание, что вы также можете указать требования к платформе, например, чтобы проверить, можете ли вы обновить свой сервер до PHP 8.0:
php composer.phar prohibits php:8 doctrine/cache v1.6.0 requires php (~5.5|~7.0) doctrine/common v2.6.1 requires php (~5.5|~7.0) doctrine/instantiator 1.0.5 requires php (>=5.3,<8.0-DEV)
Как и , вы можете запросить рекурсивный поиск, который будет отображать все пакеты в зависимости от пакетов, которые вызывают конфликт.
Опции
- —recursive (-r): рекурсивно разрешает до корневого пакета.
- —tree (-t): печатает результаты как вложенное дерево, подразумевает -r.
Источники пакетов
Чтобы изменить источник, из которого Visual Studio получает пакеты, выберите его в средстве выбора источника.
Для управления источниками пакетов сделайте следующее:
-
выберите значок Параметры в пользовательском интерфейсе диспетчер пакетов, приведенном ниже, или выполните команду сервис Options и прокрутите до NuGet диспетчер пакетов:
-
Выберите узел Источники пакетов.
-
Чтобы добавить источник, выберите + , измените имя, введите URL-адрес или путь в системе управления + и выберите Обновить. Источник отобразится в раскрывающемся списке для выбора.
-
Чтобы изменить источник пакета, выберите его, внесите изменения в поля Имя и Источник и щелкните Обновить.
-
Чтобы отключить источник пакета, снимите флажок слева от имени в списке.
-
Чтобы удалить источник пакета, выберите его и нажмите кнопку X.
-
Использование кнопок со стрелками вверх и вниз не меняет приоритетный порядок источников пакетов. Visual Studio игнорирует порядок источников пакетов, используя пакет из любого источника, первым ответившего на запросы. См. подробнее о восстановлении пакетов.
Совет
Если источник пакета появляется после удаления, он может быть указан в файлах уровня компьютера или уровня пользователя. Чтобы определить расположение этих файлов, см. описание распространенных конфигураций NuGet. Затем удалите источник, отредактировав файлы вручную или с помощью команды nuget sources.
Что такое менеджер или диспетчер пакетов winget (Windows Package Manager) ?
Разработчики Windows уже давно с завистью смотрят на избыток менеджеров пакетов в Linux. Наличие простого инструмента командной строки, такого как apt или rpm, который установит приложение и все его необходимые компоненты, упрощает установку цепочки инструментов. Все, что вам нужно, это сценарий, который объединяет в цепочку список инструментов.
Такого никогда не было в средах Microsoft, по крайней мере, до появления шаблонов Azure CLI и ARM. Но они предназначены только для облака или для управляемых систем Azure Arc. Они работают на более высоком уровне, чем инструменты, устанавливающие редактор, служебную программу или компилятор, обеспечивая полную инфраструктуру. У пользователей Windows был выбор стороннего Chocolatey, основанного на PowerShell и работающего с собственными установщиками Windows, но это не шло из коробки.
В течение долгого времени люди просили встроенный диспетчер пакетов в Windows и Microsoft Build Microsoft создала версию диспетчера пакетов Windows под названием WinGet. Менеджер пакетов может помочь вам сэкономить время и быстро установить программное обеспечение и инструменты на ваш компьютер. Разработчики и ИТ-специалисты давно хотели иметь собственный менеджер пакетов в Windows, и с WinGet вы это получите.
WinGet.exe — Это утилита командной строки, позволяющая вам скачивать и устанавливать огромное количество программ, со всеми зависимостями прямо у командной строки, не тратя время на поиски официальных сайтов и тому подобное. С помощью Windows Package Manager вы просто вводите простую команду и дело пошло, все можно заскриптовать и автоматизировать, главное наличие интернета.
Winget, это также первая итерация встроенного диспетчера пакетов для Windows, тесно связанная с различными альтернативами и с открытым исходным кодом, особенно с AppGet. Он публикуется на GitHub. Он имеет архитектуру, аналогичную большинству менеджеров пакетов, с использованием манифестов для описания приложений и их требований, с центральным управляемым репозиторием для манифестов, каждый из которых ссылается на сайты загрузки для установщиков приложений.
На текущий момент уже есть свыше 1350 пакетов
Добавить Universe, Multiverse и другие репозитории
Как я упоминал ранее, только основной репозиторий включается по умолчанию при установке Ubuntu. Чтобы получить доступ к большему количеству программного обеспечения, вы можете добавить дополнительные репозитории.
Позвольте мне сначала показать вам, как это сделать в командной строке, а затем я покажу вам и способы GUI.
Чтобы включить репозиторий Universe, используйте:
Чтобы включить ограниченный репозиторий, используйте:
Чтобы включить хранилище Multiverse, используйте эту команду:
Вы должны использовать команду после добавления репозитория, чтобы ваша система создала локальный кеш с информацией о пакете.
Если вы хотите удалить репозиторий, просто добавьте , например:
Графически, перейдите на страницу Software & Updates, и вы можете включить репозитории здесь:
На вкладке Другое программное обеспечение вы найдете возможность включить репозиторий партнера.
Чтобы отключить хранилище, просто снимите флажок.
Установка пакетов в виртуальной среде
После того, как виртуальная среда была активирована, любой пакет , который вы устанавливаете теперь будет устанавливаться в и не во всем мире. Следовательно, новые пакеты могут быть без необходимости привилегий root.
Для того, чтобы убедиться в том , что пакеты устанавливаются в выполните следующую команду , чтобы проверить путь к исполняемому файлу , который используется:
Любой пакет , затем устанавливается с помощью пипа будет установлен в самого в следующем каталоге:
Кроме того, вы можете создать файл со списком необходимых пакетов.
requirements.txt:
Выполнение:
установит версию 2.10.0 из пакета .
Вы также можете получить список пакетов и их версий, установленных в настоящее время в активной виртуальной среде:
Кроме того, вам не нужно активировать виртуальную среду каждый раз, когда вам нужно установить пакет. Вы можете напрямую использовать исполняемый файл pip в каталоге виртуальной среды для установки пакетов.
Более подробную информацию об использовании пип можно найти на тему PIP .
Так как вы устанавливаете без корня в виртуальной среде, это не глобальная установки, по всей системе — установленный пакет будет доступен только в текущей виртуальной среде.
Поиск руткитов в Debian/Ubuntu/ Linux Mint и Red Hat/CentOS/Fedora
Руткит (rootkit) представляет собой скрытый тип программного обеспечения, как правило вредоносного и который разработан, чтобы скрыть существование определенных процессов или программ от нормальных методов обнаружения и включить постоянный привилегированный доступ к компьютеру. Термин руткит представляет собой объединение «root» ( традиционное название из привилегированной учетной записи на операционных системах Unix) и слово «kit» (которая относится к программным компонентам, которые реализуют функции). Термин «руткит» имеет негативные коннотации через свою ассоциацию с вредоносными программами.
Установка руткитов могут быть автоматизированы или злоумышленник может установить его, как только он получит пользовательский доступ от администратора системы ( доступ рута). Получение этого доступа является результатом прямого нападения на систему (т.е. эксплуатируя известную уязвимость, пароль (либо «трещин», привилегий или социальной инженерии)). После установки, становится возможным скрыть вторжение а также поддерживать привилегированный доступ. Хакер может обойти разные защиты узнав какую то уязвимость системы, различных утилит, портов.
Обнаружение руткитов занимает довольно много времени, так как руткит можно хорошо замаскированть под программное обеспечение и которое может скрыть свое разоблачение. Методы обнаружения включают в себя использование альтернативных и надежных операционных систем, поведенческие методы, основанные на сканирование подписей и анализ дампа памяти.
Тестирование работы образов и возможные ошибки
Выполним остановку предыдущих контейнеров и создадим новые. При этом выполним миграции и соберем все статические файлы:
В файле ‘docker-compose.prod.yml’ мы прописали что nginx будет работать на 1337 порту. Проверим, что сервер отвечает:
Я могу открыть сайт с любого компьютера в локальной сети т.к. в файле ‘.env.prod’ прописано несколько хостов с которых может быть принято соединение:
Если у вас будет появляться ошибка с ‘ALLOWED_HOSTS’, то вы можете установить следующее значение разрешающее все подключения с любого адреса:
Один из способов проверки работы статических файлов — это открытие панель администрирования по адресу ‘http://localhost/admin/’. Фрагмент, помеченный цифрой 1, говорит об ошибке. Фрагмент под цифрой 2 — нормальная работа:
Нам нужно убедиться, что везде верно прописаны настройки для статических файлов и следующая команда, которая собирает такие файлы воедино, выполнена:
Эти файлы должны отображаться на обоих контейнерах т.к. они работают с одним томом:
Если файлов нет — возможно у вас проблемы с правами. Сравните файл Docker. Если нет таких папок, то с томом в файле docker-compose.prod.yml. Ошибка так же может быть в файле конфигурации nginx.conf или в файле setting.py Django.
Для проверки медиа файлов, которые будут загружаться через Django, вы можете создать пустой файл:
Далее выполнить к нему запрос:
Если вернется ошибка 404 — то стоит посмотреть на те же места, что в случае статических файлов.
Чаще всего помогает просмотр логов через докер:
В некоторых случаях стоит удалить том с базой, который создавался ранее.
Как установить программное обеспечение с помощью диспетчера пакетов Windows
Теперь вы можете начать использовать winget для установки огромного количества программ, сильно ускорив этот процесс, а дальше я покажу, как это еще и автоматизировать скриптами.
Первое, что вы должны сделать, это вывести список всех установленных. Сделать это можно через команду:
winget list
На выходе вы получите список содержащий: имя, ID и версию установленного пакета.
Обратите внимание, что тут будут перечислены все приложения, которые вы видите и в оснастке «Программы и компоненты», для примера я вывел отдельной командой этот же список для сравнения. Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize
Теперь давайте посмотрим список доступных пакетов, через команду:
winget show или winget install
Вы увидите огромный список
Чтобы произвести поиск по ключевому слову во всем списке пакетов, вам нужно воспользоваться ключом search. Я буду искать например «Google» или «Telegram Desktop». Введите:
winget search Google
В результате вы получите все пакеты с ключевым словом «Google». Мне интересен Google Chrome и его версия Canary.
У вас может возникнуть потребность более подробно посмотреть содержимое пакета с его метаданными, кто его разработчик, версия и все в таком духе, для этого выполните:
winget show «Google Chrome»
Обратите внимание, что можно использовать как имя пакета, так и его ID. Полезной информации будет много
Найдено Google Chrome Version: 68.94.77 Publisher: Google LLC Author: Google LLC Moniker: googlechrome Description: A fast, secure, and free web browser built for the modern web. Chrome syncs bookmarks across all your devices, fills out forms automatically, and so much more. Homepage: https://www.google.com/chrome License: Proprietary freeware, based on open source components License Url: https://www.google.com/chrome/terms/ Installer: Type: Msi Locale: en-US Download Url: https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise64.msi SHA256: 90a3f62e77fbaf7e11e37bd12016414a5bcf7993f6f93dd0d7d3d497071c0a53
Процесс установки приложения через Winget. Тут все просто, в менеджере пакетов Windows есть ключ install, структура будет такой:
winget install «Google Chrome» или winget install Google.Chrome
Начнется подключение к репозиторию Microsoft и скачивание пакета Google Chrome.
После чего появится окно с установкой Google Chrome
Дожидаемся окончания установки. Проверяем, что приложение появилось в списке.
Если хотите установить несколько приложений сразу, то вот пример команды, устанавливающей «VLC media player» и «Telegram Desktop». Команда будет выглядеть вот так:
winget install «VLC media player» —silent; winget install «Telegram Desktop» —silent
Как видите все успешно отработало и в списке приложений все появилось.
Проверим наши приложения в меню пуск.
При желании вы можете экспортировать список пакетов, которые у вас установлены в JSON файл, чтобы потом его можно было импортировать. Если вам это нужно вот пример команды:
winget export -o C:\Temp\Json\apps.json
Бывает, так что некоторые пакеты не могут быть экспортируемы и будут писать «Установленный пакет недоступен из любого источника».
Portage — пакетный менеджер Gentoo
Этот менеджер пакетов используется в Gentoo, менее популярном, но не менее мощном дистрибутиве. И это один из лучших менеджеров пакетов. Основное преимущество системы Gentoo, это возможность собирать пакеты из исходников во время установки. Это дает очень много полезных вещей, таких как возможность настроить флаги компиляции, включить только нужные функции, а также собрать пакеты именно под свой процессор. Все это поддерживается Portage, базовая функциональность, такая как обновление, удаление пакетов и разрешение зависимостей здесь тоже есть.
Интересной особенностью есть состояния Portage, а также слоты, позволяющие устанавливать несколько версий одной программы или библиотеки в вашей системе. Здесь нет как такового списка пакетов, есть только дерево портов, в котором и содержаться файлы ebuild с инструкциями для сборки всех пакетов. Сохранив дерево можно очень просто откатить систему к предыдущей версии. Подробнее тут.