Знакомство с MSYS2, загрузка и установка, общие команды Pacman

1. Знакомство с MSYS2

Официальный сайт MSYS2: MSYS2.

MSYS2 (Minimal SYStem 2) — это набор пакетов программного обеспечения с открытым исходным кодом, который объединяет большое количество цепочек инструментов, инструментов и библиотек GNU. Он предоставляет Linux-подобную среду оболочки, которая может компилировать и запускать множество приложений и инструментов Linux в системах Windows.

MSYS2 основан на платформе MinGW-w64 и предоставляет полную среду разработки, включая компилятор GCC, отладчик GDB, Make, систему контроля версий Git и многие другие инструменты разработки. В дополнение к широко используемым библиотекам и инструментам разработки MSYS2 также предоставляет множество библиотек и инструментов специально для платформы Windows, которые облегчают кросс-платформенную разработку и портирование разработчиками.

Поскольку MSYS2 имеет относительно полную цепочку инструментов и библиотек Linux, он стал предпочтительным инструментом для многих проектов кроссплатформенной разработки и портирования. Кроме того, используя MSYS2, вы можете легко создать Linux-подобную среду разработки программного обеспечения в системах Windows, чтобы облегчить разработчикам разработку и отладку.

2. Различия и связи между MSYS2, Cygwin и MinGW-w64.

MSYS2 — это платформа, включающая набор инструментов MinGW-w64, набор инструментов GNU и некоторые библиотеки с открытым исходным кодом. Она обеспечивает способ компиляции и запуска программ Unix/Linux в Windows. MSYS2 похож на MinGW-w64, но является более полным и стабильным, чем MinGW-w64. Он предоставляет менеджер пакетов Pacman, облегчающий пользователям установку пакетов программного обеспечения и управление ими.

MinGW-w64 — это набор инструментов для программирования C/C++ под Windows. Он предоставляет набор инструментов GNU и компилятор GCC, работающий в Windows. MinGW-w64 похож на MSYS2, но в основном используется для компиляции собственных приложений Windows, а не программ Unix/Linux. MinGW-w64 также можно использовать для кросс-компиляции для создания исполняемых файлов Windows для других платформ.

Cygwin — это уровень совместимости, который работает на платформах Windows и предоставляет инструменты и библиотеки разработки для Unix-подобных сред. Cygwin компилирует программы Unix в собственный код Windows, а затем запускает их в Windows. Он предоставляет наиболее полную среду Linux/Unix, но по сравнению с MSYS2 и MinGW-w64 производительность Cygwin оставляет желать лучшего.

Таким образом, MSYS2 подходит для сценариев, в которых программы Unix/Linux необходимо скомпилировать и запускать в Windows, MinGW-w64 подходит для сценариев, в которых компилируются локальные приложения Windows, а Cygwin подходит для сценариев, в которых используется наиболее полная среда Linux/Unix. необходимый.

3. Загрузка и установка

1. Загрузите установочный пакет

Адрес хостинга Github: Релизы · msys2/msys2-installer (github.com)

Официальный репозиторий: Индекс /distrib/ (msys2.org).

Существует три типа установочных пакетов:

  • msys2-x86_64-*.exe: установщик с графическим интерфейсом
  • msys2-base-x86_64-*.sfx.exe: только файлы в самораспаковывающемся архиве (отсутствует интеграция с Windows, например ярлыки, запись удаления, но в остальном работает так же)
  • msys2-base-x86_64-*.tar.xz: то же, что и .sfx.exe, но в виде архива xz.

Учтите, что скачанная программа установки может быть признана системой небезопасной, поэтому смело сохраняйте ее.

2. Установка MSYS2

Рекомендуется установить последнюю версию графического интерфейса (для MSYS2 требуется 64-разрядная версия Windows 8.1 или новее).

Процесс установки относительно прост, поэтому я не буду вдаваться в подробности и сосредоточусь на пути установки.

Требования к пути установки: тип тома должен быть NTFS, путь должен содержать только символы ascii, без диакритических знаков, без пробелов, без символических ссылок, без подстановочных или сетевых дисков и не может быть FAT.

(короткий путь только в формате ASCII на томе NTFS, без акцентов, без пробелов, без символических ссылок, без подстановочных или сетевых дисков, без FAT)

Кроме того, во время установки он может быть перехвачен Microsoft Defender SmartScreen или аналогичными продуктами.Просто доверьтесь установке.

4. Окружающая среда/Подсистема

После завершения установки MSYS2 вы можете увидеть, что одновременно устанавливаются 6 подпрограмм:

Вы можете называть их средами или подсистемами MSYS2.

Различия между средами заключаются в основном в переменных среды, компиляторе/компоновщике по умолчанию, архитектуре, используемых системных библиотеках и т. д. Если вы не уверены, используйте UCRT64.

Среда MSYS содержит инструменты на основе unix/cygwin, которые расположены в каталоге /usr и отличаются тем, что всегда активны. Все остальные среды наследуют среду MSYS и добавляют к ней различные вещи.

Например, в среде UCRT64 переменная $PATH начинается с /UCRT64/bin:/usr/bin, поэтому в этой среде вы получаете все инструменты на основе UCRT64, а также все инструменты msys.

5. Общие команды Pacman в MSYS2

MSYS2 использует Pacman для управления пакетами программного обеспечения (включая установку, обновление, удаление и т. д.).

1. pacman-Suy обновить пакет программного обеспечения

Эта команда обновит основные и неосновные пакеты.Основные пакеты относятся к пакетам, от которых зависит сам MSYS2 (например: mintty, msys2-runtime, pacman и т. д.).

Если необходимо обновить как основной, так и неосновной пакеты, эта команда сначала обновит основной пакет, а затем обновит неосновной пакет. После обновления основного пакета вам будет предложено закрыть все открытые терминалы, а затем снова выполнить команду pacman -Suy перед обновлением неосновного пакета.

2. pacman -Qs 搜索已安装的软件包

3. pacman -Ss 在所有软件包仓库中搜索

Установленные пакеты программного обеспечения отобразят [установлено]

4. pacman -S устанавливает пакет программного обеспечения.

5. pacman -R удалить пакет программного обеспечения

pacman -R <name of the package>

Обратите внимание, что эта команда удаляет только пакет программного обеспечения. Она не может удалить зависимые пакеты, когда пакет программного обеспечения установлен, а также не может удалить файлы, созданные во время работы программного обеспечения.

6. pacman -Sg выводит список пакетов

Перечислите все группы пакетов:

pacman -Sg

Перечислите все пакеты в группе пакетов: 

pacman -Sg <group>

7. pacman -Q выводит список установленных пакетов.

Список установленных пакетов:

pacman -Q

Перечислите все пакеты, установленные из официального репозитория Arch Linux:

pacman -Qe

8. pacman -Sw загружает пакет программного обеспечения, но не устанавливает его.

pacman -Sw <package>

9. pacman -U устанавливает пакеты локально

pacman -U <packagefile.tar.zst>

Поддерживает установку двух типов архивных пакетов: tar.xz и tar.zst. Архив можно скачать по адресу: Индекс / (msys2.org)

Однако следует отметить, что этот метод локальной установки не может автоматически устанавливать зависимости пакетов программного обеспечения.Зависимые пакеты программного обеспечения необходимо решать самостоятельно.

Вы можете просмотреть зависимые пакеты программного обеспечения через pacman -Qi.

10. pacman -Qi Посмотреть подробности пакета

pacman -Qi <package>

Больше использования команды pacman

Посмотреть можно через pacman -h

$ pacman -h
usage:  pacman <operation> [...]
operations:
    pacman {-h --help}
    pacman {-V --version}
    pacman {-D --database} <options> <package(s)>
    pacman {-F --files}    [options] [file(s)]
    pacman {-Q --query}    [options] [package(s)]
    pacman {-R --remove}   [options] <package(s)>
    pacman {-S --sync}     [options] [package(s)]
    pacman {-T --deptest}  [options] [package(s)]
    pacman {-U --upgrade}  [options] <file(s)>

use 'pacman {-h --help}' with an operation for available options

Используйте pacman <operation> -h, чтобы просмотреть более подробную информацию об использовании параметра, например:

$ pacman -S -h
usage:  pacman {-S --sync} [options] [package(s)]
options:
  -b, --dbpath <path>  set an alternate database location
  -c, --clean          remove old packages from cache directory (-cc for all)
  -d, --nodeps         skip dependency version checks (-dd to skip all checks)
  -g, --groups         view all members of a package group
                       (-gg to view all groups and members)
  -i, --info           view package information (-ii for extended information)
  -l, --list <repo>    view a list of packages in a repo
  -p, --print          print the targets instead of performing the operation
  -q, --quiet          show less information for query and search
  -r, --root <path>    set an alternate installation root
  -s, --search <regex> search remote repositories for matching strings
  -u, --sysupgrade     upgrade installed packages (-uu enables downgrades)
  -v, --verbose        be verbose
  -w, --downloadonly   download packages but do not install/upgrade anything
  -y, --refresh        download fresh package databases from the server
                       (-yy to force a refresh even if up to date)
      --arch <arch>    set an alternate architecture
      --asdeps         install packages as non-explicitly installed
      --asexplicit     install packages as explicitly installed
      --assume-installed <package=version>
                       add a virtual package to satisfy dependencies
      --cachedir <dir> set an alternate package cache location
      --color <when>   colorize the output
      --config <path>  set an alternate configuration file
      --confirm        always ask for confirmation
      --dbonly         only modify database entries, not package files
      --debug          display debug messages
      --disable-download-timeout
                       use relaxed timeouts for download
      --gpgdir <path>  set an alternate home directory for GnuPG
      --hookdir <dir>  set an alternate hook location
      --ignore <pkg>   ignore a package upgrade (can be used more than once)
      --ignoregroup <grp>
                       ignore a group upgrade (can be used more than once)
      --logfile <path> set an alternate log file
      --needed         do not reinstall up to date packages
      --noconfirm      do not ask for any confirmation
      --noprogressbar  do not show a progress bar when downloading files
      --noscriptlet    do not execute the install scriptlet if one exists
      --overwrite <glob>
                       overwrite conflicting files (can be used more than once)
      --print-format <string>
                       specify how the targets should be printed
      --sysroot        operate on a mounted guest system (root-only)

Использованная литература:

Что такое MSYS2? - МСИС2

Установщик MSYS2 — MSYS2

Среды — MSYS2

Supongo que te gusta

Origin blog.csdn.net/B11050729/article/details/131719012
Recomendado
Clasificación