Как установить программу на компьютер: Windows, macOS и Linux

Как установить программу на компьютер: Windows, macOS и Linux Полезное

Установка программы — это копирование файлов приложения в систему и регистрация его в ней: ярлыки, записи для обновления и удаления, иногда службы и драйверы. Установить программу можно тремя путями: через менеджер пакетов или магазин (система сама скачивает проверенный пакет), через установщик от разработчика (EXE, MSI, dmg, pkg, deb) или запуском портативной версии из архива без регистрации в системе.

Ниже — как выбрать путь, поставить программу в каждой из трех систем, проверить подлинность файла и что делать при ошибке. Команды проверки хеша прогнаны на Ubuntu 24.04, PowerShell 7.6 и macOS 26.

Какой способ выбрать

Критерий простой: чем меньше ручных скачиваний с сайтов, тем меньше риск подделки и тем проще обновлять программу потом.

Способ Примеры Кто проверяет пакет Обновление Когда брать
Менеджер пакетов winget, Homebrew, apt, dnf репозиторий и подпись/хеш в манифесте одной командой для всех программ первый выбор, если программа там есть
Магазин приложений Microsoft Store, App Store, Flathub, Snap Store модерация и подпись магазина автоматически для обычных пользовательских программ
Установщик разработчика .exe, .msi, .dmg, .pkg, .deb, .rpm только вы: сайт, подпись, хеш через саму программу или вручную программы нет в репозиториях, нужна конкретная версия
Портативная версия .zip с готовым .exe, AppImage только вы вручную, заменой папки нет прав администратора, нужна временная копия

Упрощение: «проверяет репозиторий» не значит «вредоносное невозможно» — риск ниже, но пакет все равно ставят под точным официальным именем.

Windows: winget, Store, MSI и EXE

В Windows 11 и актуальных сборках Windows 10 есть winget — консольный менеджер пакетов Microsoft (приходит вместе с компонентом «Установщик приложений»). Команды выполняются в PowerShell или «Терминале»:

winget search 7zip
winget install --id 7zip.7zip --exact --source winget
winget list 7zip
winget upgrade --all
winget uninstall --id 7zip.7zip

search покажет пакеты с их Id, install скачает установщик, сверит его SHA-256 с манифестом репозитория и запустит установку. Ключи --id и --exact защищают от похожего по имени пакета.

Если программы нет в winget или Microsoft Store, берите установщик с официального сайта разработчика:

  • MSI — стандартный формат Windows Installer. Двойной клик запускает мастер; для тихой установки администратор пишет msiexec /i setup.msi /qn /norestart /l*v install.log (журнал поможет при ошибке).
  • EXE — установщик, собранный конкретным инструментом (Inno Setup, NSIS, WiX и другие). Ключи тихой установки у них разные, поэтому их берут из документации программы, а не угадывают.

Запрос «Разрешить этому приложению вносить изменения» — это UAC: установка в C:\Program Files требует прав администратора. Если окно показывает «Неизвестный издатель» или SmartScreen блокирует запуск — это повод остановиться и проверить файл, а не нажать «Все равно выполнить».

Образы ISO старые инструкции советуют открывать через Daemon Tools или UltraISO. С Windows 8 это не нужно: двойной клик по ISO подключает его как виртуальный диск, дальше запускается установщик внутри. ZIP-архивы Проводник распаковывает сам.

macOS: App Store, dmg, pkg и Homebrew

  • App Store — самый простой путь, обновления приходят автоматически.
  • Образ .dmg — открыть, перетащить значок программы в папку «Программы» (Applications), затем извлечь образ. Запуск прямо из образа — частая ошибка: после извлечения программа пропадет.
  • Пакет .pkg — запускает системный мастер установки, требует пароль администратора.
  • Homebrew — менеджер пакетов, который ставят отдельно: brew install wget для консольных утилит и brew install --cask firefox для программ с графическим интерфейсом.

При первом запуске программы из интернета macOS проверяет ее через Gatekeeper: подпись Developer ID и нотаризацию Apple. Проверить это можно и вручную:

spctl -a -vv "/Applications/Google Chrome.app"

Фактический вывод на macOS 26:

/Applications/Google Chrome.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Google LLC (EQHXZ8M8AV)

accepted и Notarized Developer ID значат, что подпись цела и Apple проверила сборку; origin показывает, кем подписано. Если имя в origin не совпадает с разработчиком — программу не запускайте.

Linux: apt, dnf, Flatpak и Snap

В Linux основной путь — менеджер пакетов дистрибутива, он сам подтягивает зависимости и проверяет подписи репозитория.

Дистрибутив Установка Удаление Установка скачанного файла
Debian, Ubuntu, Mint sudo apt install jq sudo apt remove jq sudo apt install ./app.deb
Fedora, RHEL, Rocky sudo dnf install jq sudo dnf remove jq sudo dnf install ./app.rpm
Любой с Flatpak flatpak install flathub <id> flatpak uninstall <id> —
Любой со snapd sudo snap install <имя> sudo snap remove <имя> —

Перед apt install в Debian и Ubuntu нужен sudo apt update — он обновляет список пакетов. Проверка результата в Ubuntu 24.04 (dpkg -s jq):

Status: install ok installed
Version: 1.7.1-3ubuntu0.24.04.2

Скачанный .deb лучше ставить через apt install ./файл.deb, а не dpkg -i: apt доставит зависимости, dpkg только сообщит об их отсутствии. Flatpak и Snap работают в любом дистрибутиве и изолируют программу, но пакеты крупнее, а доступ к файлам бывает ограничен.

Как проверить, что файл подлинный

Две проверки решают разные задачи, их полезно различать:

  • Цифровая подпись отвечает на вопрос «кто выпустил файл и не менялся ли он после подписи». В Windows — вкладка «Цифровые подписи» в свойствах файла или Get-AuthenticodeSignature .\setup.exe (ожидаемый Status — Valid), в macOS — spctl выше.
  • Хеш SHA-256 отвечает на вопрос «совпадает ли скачанный файл с тем, что опубликовал разработчик». Сверять хеш имеет смысл, только если эталон взят с официального сайта по HTTPS, а не из того же зеркала, что и файл.

Проверка хеша в Windows, минимальный рабочий пример для PowerShell (эталон вставляете со страницы загрузки):

$expected = "de45bed1398956306e915d653e019f1b94a3581c2b72072483798bfa52437998"
$actual = (Get-FileHash -Path .\setup.msi -Algorithm SHA256).Hash
if ($actual -eq $expected) { "OK: hash matches" } else { "STOP: hash mismatch, $actual" }

Для файла с тем же содержимым скрипт выведет OK: hash matches. После изменения даже одного байта результат другой:

STOP: hash mismatch, AAE3B4248E2B81416560E5736E6AA158A383C63C17F6F4583BE6A16918352D65

Get-FileHash возвращает хеш заглавными буквами, а сайты часто публикуют строчными. Оператор -eq в PowerShell сравнивает строки без учета регистра, поэтому пример работает с обоими вариантами.

В Linux, если рядом с файлом опубликован файл контрольной суммы, проверка делается одной командой:

sha256sum -c app-1.0.tar.gz.sha256
app-1.0.tar.gz: OK

При подмене файла команда завершается с кодом 1:

app-1.0.tar.gz: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match

В macOS тот же хеш считает shasum -a 256 файл. Граница проверки: хеш не говорит, безопасна ли программа, — только что файл тот же, что опубликован. Если взломан сам сайт разработчика, подменены будут и файл, и хеш, поэтому подпись издателя — более сильная проверка.

Если не получилось

Симптом Вероятная причина Что делать
«Это приложение не может работать на вашем ПК» сборка под другую архитектуру (ARM64 или x64) или старая 32-битная скачать версию под свою систему: «Параметры — Система — О системе»
MSI завершился с ошибкой без подробностей нет прав, мешает старая версия, не хватает компонента запустить с журналом /l*v install.log и искать в нем Return value 3
SmartScreen или Gatekeeper блокирует запуск файл без подписи или из неофициального источника проверить подпись и источник; если подписи нет, искать программу в winget, Store или App Store
apt пишет Unable to locate package не выполнен apt update или пакет в другом репозитории sudo apt update, затем найти точное имя через apt search
После установки программа не находится установлена для другого пользователя или только распакована в Windows — «Параметры — Приложения — Установленные приложения»; в Linux — dpkg -s или rpm -q

Выводы

  • Первый выбор — менеджер пакетов или магазин: winget и Microsoft Store в Windows, App Store и Homebrew в macOS, apt, dnf, Flatpak или Snap в Linux.
  • Установщик с сайта разработчика (MSI, EXE, dmg, pkg, deb) — когда программы нет в репозиториях; тогда источник и подпись проверяете вы.
  • Подпись подтверждает издателя, хеш SHA-256 — совпадение с опубликованным файлом; это разные проверки, и хеш не заменяет подпись.
  • ISO в Windows 8 и новее подключается двойным кликом, сторонние эмуляторы дисков не нужны.
  • При ошибке установки полезнее журнал (/l*v для MSI) и сообщение менеджера пакетов, чем повторный запуск.

Где применяется / связь с практикой

В компании задача другая: поставить одну версию программы на сотни машин без участия пользователей, обновлять ее по графику и знать, что где установлено. Этим занимается администратор Windows: тихая установка MSI, winget в скриптах, групповые политики и централизованное управление устройствами.

Освойте тему на практике

Если хотите перейти от установки программ «для себя» к администрированию Windows-инфраструктуры, посмотрите программу курса Администратор Windows. Разобраться в теме до выбора курса помогут бесплатные открытые уроки Otus.

FAQ

Можно ли установить программу без прав администратора?
Иногда да: часть установщиков умеет ставить программу только для текущего пользователя (в AppData в Windows, в ~/Applications в macOS), а портативные версии установки не требуют вовсе. Установку в системные папки и драйверы без прав администратора выполнить нельзя.

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

Чем удаление через «Установленные приложения» лучше удаления папки программы?
Штатное удаление запускает деинсталлятор: он убирает записи реестра, ярлыки, службы и задания планировщика. Удаление папки оставляет эти следы, и повторная установка может завершиться ошибкой.

OTUS Журнал
Скидка 5% 12-19 октября на курсы (popup)
Бесплатные открытые уроки (поп-ап)