Установка программы — это копирование файлов приложения в систему и регистрация его в ней: ярлыки, записи для обновления и удаления, иногда службы и драйверы. Установить программу можно тремя путями: через менеджер пакетов или магазин (система сама скачивает проверенный пакет), через установщик от разработчика (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), а портативные версии установки не требуют вовсе. Установку в системные папки и драйверы без прав администратора выполнить нельзя.
Нужно ли закрывать все программы перед установкой?
Обязательно закрыть только ту программу, которую обновляете или переустанавливаете, — установщик не сможет заменить занятые файлы. Остальные приложения обычно не мешают.
Чем удаление через «Установленные приложения» лучше удаления папки программы?
Штатное удаление запускает деинсталлятор: он убирает записи реестра, ярлыки, службы и задания планировщика. Удаление папки оставляет эти следы, и повторная установка может завершиться ошибкой.



