Управление пакетами в Windows (часть 1)
Традиционно установка программ в Windows происходит следующим образом: находим дистрибутив, загружаем его на свой компьютер, запускаем программу установки и следуем инструкциям. В принципе процедура несложная, но несколько трудоемкая, особенно много времени тратится на поиск нужного дистрибутива.
Для того, чтобы упростить процесс установки ПО, в Windows добавлена возможность установки ПО из пакетов (package). Такой подход используется в операционных системах Linux, суть его заключается в том, что программы хранятся в специальных хранилищах (репозиториях) в виде пакетов, для управления которыми используется менеджер пакетов (напр. apt в Debian). Таким образом установка приложения сводится к выполнению всего одной команды.
Теперь давайте рассмотрим схему управления пакетами (Package Management), реализованную в Windows. Она состоит из четырех основных составляющих:
• Package Sources — источник пакетов, он же репозиторий. Место, где хранятся установочные пакеты программ. В качестве расположения источника может быть указан URL-адрес в интернете, общая папка в локальной сети или локальная папка на компьютере;
Бесплатный Видеоредактор CapCut Для Windows и MAC // Подробный Обзор Монтажной Программы
• PackageManagement Providers — провайдеры (поставщики) пакетов, отвечающие за доступ к источникам пакетов. Каждый поставщик может управлять одним или несколькими источниками;
• PackageManagement Core — ядро управления пакетами. Программный интерфейс, обеспечивающий взаимодействие поставщиков с конечными пользователями;
• End User — конечный пользователь, т.е. тот, кто пользуется функционалом Package Management с помощью командлетов PowerShell.
Как следует из схемы, управление пакетами в Windows осуществляется исключительно с помощью PowerShell. Для этой цели предназначен специальный модуль PackageManagement (ранее известный как OneGet), входящий в состав PowerShell начиная с версии 5.0. Для более ранних версий PowerShell модуль можно установить вместе с WMF 5.1 либо отдельно, из репозитория PowerShell Gallery.
В модуль входит 13 командлетов, подробное описание можно найти здесь.
Внимание!
Перед тем, как приступать к управлению пакетами, обязательно проверьте, разрешено ли у вас выполнение скриптов. Вывести текущую политику выполнения скриптов можно командой:
По умолчанию выполнение скриптов PowerShell запрещено (Restricted). Для успешной работы с пакетами необходимо установить значение Unrestricted или ByPass, например:
Для начала проверим, какие из поставщиков установлены в системе. Для этого выполним команду:
NEW! СРОЧНО СДЕЛАЙ ЭТО НА САМСУНГ | Чистим SAMSUNG от МУСОРА! ОТКЛЮЧЕНИЕ НЕНУЖНЫХ ПРИЛОЖЕНИЙ
По умолчанию в Windows имеются следующие поставщики пакетов:
• MSI — поставщик для обработки файлов msi (файлы установки Windows);
• MSU — поставщик для обработки файлов msu (файлы обновлений Windows);
• PowerShellGet — служит для управления модулями PowerShell;
• Programs — отвечает за инвентаризационные данные обо всех программных продуктах, зарегистрированных в оснастке ″Удаление или изменение программы″;
Теперь посмотрим доступные источники командой:
На данный момент из источников доступен только репозиторий PSGallery, поставщиком которого является PowerShellGet.
Ну собственно источник у нас имеется, поставщик тоже, можно приступать к установке пакетов. В качестве примера установим модуль PSWindowsUpdate.
Первое, что нам нужно сделать — это найти нужный пакет. Следующая команда выведет все версии нужного пакета, имеющиеся в указанном репозитории:
Find-Package -Provider PowerShellGet -Name PSWindowsUpdate -AllVersions
Примечание. Для работы с репозиториями небходим провайдер NuGet, поэтому при первом обращении вам будет предложено установить его. NuGet — это бесплатный менеджер пакетов с открытым исходным кодом, предназначенный для платформы Microsoft. Он требуется для работы с пакетами NuGet (.nupkg).
Следующей командой установим найденный пакет, дополнительно укажем требуемую версию:
Install-Package -Name PSWindowsUpdate -RequiredVersion 2.1.1.1 -Source PSGallery -Provider PowerShellGet -Force
Примечание. Версию пакета указывать не обязательно, в этом случае будет установлена наиболее свежая.
После установки проверим наличие пакета:
Get-Package -Name PSWindowsUpdate
и самого модуля:
Get-Module -Name PSWindowsUpdate -ListAvailable
Как видите, все на месте.
Ну и завершим демонстрацию удалением свежеустановленного пакета:
UnInstall-Package -Name PSWindowsUpdate -Force
Этот пример наглядно показывает принцип работы с пакетами. Если вспомнить схему, то действия по установке пакета выглядят примерно так:
Пользователь выполняет команду PowerShell для установки пакета -> Модуль PackageManagement обращается к ядру управления пакетами (PackageManagement Core) -> Ядро обрабатывает команду PowerShell и передает ее нужному поставщику -> Поставщик обращается к своему источнику, находит в нем требуемый пакет и запускает процесс установки.
И вот тут стоит подробнее объяснить назначение компонента PackageManagement Core. Дело в том, что каждый поставщик имеет свой собственный синтаксис команд, а ядро служит как бы переводчиком, который умеет общаться с каждым поставщиком на его родном языке. При этом конечному пользователю предоставляется строго унифицированный набор команд, независимо от используемого поставщика.
Перейдем к более жизненным примерам и установим какую нибудь программу. Для этого нам понадобится новый источник, поскольку в PSGallery нет ничего, кроме PowerShell модулей. Одним из наиболее популярных публичных источников является репозиторий Chocolatey, им и воспользуемся.
Для доступа к источнику необходим соответствующий поставщик, поэтому выведем список всех доступных для установки поставщиков командой:
Для работы с Chocolatey рекомендуется использовать одноименный поставщик сhocolatey. Установим его командой:
Install-PackageProvider -Name chocolatey
Еще раз проверим список источников и убедимся, что в нем появился Chocolatey. И чтобы не требовалось подтверждение на установку пакетов, сделаем его доверенным источником:
Set-PackageSource -Name Chocolatey -Trusted
Ради интереса посмотрим, сколько всего пакетов есть в новом репозитории. Сделать это можно командой:
Find-Package -Source Chocolatey | measure | select count
На момент написания статьи количество пакетов в ″шоколадке″ составляет 6533 штуки, и оно постоянно увеличивается.
В качестве примера найдем и установим мой любимый редактор Notepad++:
Find-Package -Name notepadplusplus -Source Chocolatey | Install-Package
Для проверки зайдем в меню Пуск и удостоверимся, чтоNotepad++ действительно установлен и готов к работе.
На этом можно было бы и закончить статью, в заключение написав о том, как легко и просто ставить ПО из пакетов. Но на самом деле все не так красиво, как кажется Поэтому не будем останавливаться на достигнутом и попробуем установить еще одно приложение, к примеру архиватор 7zip.
На этот раз для поиска пакета воспользуемся выводом командлета Out-GridView:
Find-Package -Provider chocolatey | sort -Property Name | Out-GridView
А теперь начинается самое интересное — установка пакета проходит без ошибок, но самого приложения нигде нет. Для понимания происходящего запускаем установку пакета с ключом Verbose и видим, что установщик ругается на неизвестную команду Get-OSArchitectureWidth.
При этом сам пакет считается успешно установленным и его можно найти в списке доступных.
Поставщик chocolatey создает в корне диска папку Chocolatey, где хранит все загруженные пакеты. Найдем среди них пакет 7zip и посмотрим его содержимое. Как видите, пакет представляет из себя набор из стандартных инсталляторов и пары powershell скриптов — один для установки, второй для удаления.
При установке приложения из репозитория провайдер сначала загружает файлы пакета, а затем запускает скрипт установки. Откроем установочный скрипт и посмотрим его содержимое. Как видите, он просто выбирает нужный дистрибутив (x32 или x64) и устанавливает его в тихом режиме, а неизвестная команда как раз и служит для определения разрядности системы.
В процессе поисков удалось выяснить, что команда Get-OSArchitectureWidth входит в состав официального поставщика Chocolatey, точнее в один из его модулей. По какой то причине при установке поставщика chocolatey ставится только часть функционала, соответственно установка приложений с его помощью превращается в лотерею. Часть приложений ставится нормально, часть не ставится вообще.
Как можно исправить эту ситуацию? Первое, что приходит на ум, это использовать другого поставщика. Выводим всех подходящих командой:
Find-PackageProvider -Name choco*
Всего для работы с ″шоколадкой″ есть три поставщика. Путем проб и ошибок выбираем ChocolateyGet:
Install-PackageProvider -Name ChocolateyGet
Еще раз попробуем установить 7zip, уже с помощью нового поставщика:
Install-Package -Name 7zip -Source Chocolatey -Provider ChocolateyGet -Force -Verbose
На сей раз все прошло успешно и приложение установлено.
Новый поставщик ChocolateyGet устанавливает приложение choco.exe вместе со всеми дополнениями, включая и недостающие PowerShell модули. Установка производится в директорию C:ProgramDatachocolatey, туда же загружаются новые пакеты. Что интересно, в процессе установки ChocolateyGet удаляет папку, созданную chocolatey.
В принципе пользоваться провайдером ChocolateyGet вполне можно, с установкой пакетов он справляется неплохо. Но для работы с репозиторием chocolatey гораздо удобнее и проще использовать родной менеджер пакетов choco.exe, о котором и пойдет речь в следующей части статьи.
Источник: windowsnotes.ru
Программа S3pe package editor для Симс 3
s3pe -программа для комбинирования .package в один файл для улучшения производительности игры The Sims. Каждому игроку хочется иметь много дополнительных материалов для игры без глюков. С помощью простого процесса все файлы можно скомбинировать в один или несколько, в игре будут отображаться все материалы пака, но игра будет распознавать их как один файл и тормозить не будет, потому что ей не придется подгружать тонну пакаджей!
Скачать последнюю версию S3PE
s3pe_14-0222-1852.zip
Скачиваний: 8334 Размер: 445,09 Kb
1) Устанавливаем s3pe. Запускаем. Получаем такое окно
2) Жмем New в пункте меню File
3) Щелкаем по пустому белому полю в проекте и выбираем ‘(EXPERIMENTAL) As dbc. ‘
У вас выпадет такое окошко, как снизу на скрине, жмите второй вариант и ОК
4) Выбираем в папке где хранятся ваши допы нужные вам .package файлы и жмем ОК.
У вас выпадет такое окошко, как на скрине снизу, выбираейте вариант без сохранения файла после каждого импорта (No), иначе импорт файлов будет длиться вечность!
Позволяем s3pe сделать свою работу. Импорт файлов может занять ооочень много времени, так что не паникуйте и просто позвольте программе работать. Получим в итоге
После того как все файлы импортированы, выберите в меню File команду Save as и сохраните в нужное место под нужным именем.
Вуаля, один большой package!
В процессе вы возможно получите вот такое вот сообщение:
Нажмите ‘ОК’
В появившемся списке отсортируйте файлы по полю ‘instance number’, для этого включите галочку Sort, как снизу на скрине и нажмите на поле Instance:
Выберите все XML файлы которые имеют instance number ‘0000000000000’, и у которых в конце EEB, и удалите, нажав ПКМ — Delete. (При этом файлы не исчезнут из списка, а будут зачеркнутыми. Это остатки от симс3паков, из которых вынули ваши пакаджи. Если будете паковать скин, к примеру, то таких файлов не увидите, т. к. он изначально идет в пакадж. Если файлы уже зачеркнуты, до того, как это сделаете вы, ничего больше делать не нужно)))
То, что зачеркнутым текстом, устарело. Новая версия SIM3PE автоматически удаляет ненужные XML. Они УЖЕ будут зачеркнутыми.
При необходимости повторите шаги 2-5.
! Все, что вам понадобится для отображения дополнительных файлов в игре — это ваш новый скомбинированный файл. Так что те файлы, которые вы скомбинировали, удалите из папки Mods перед помещением туда вашего нового большого файла.
! Вы можете комбинировать уже скобинированные .package файлы так же в один, а так же какой-то один новый .package комбинировать с уже сделанным сборником.
! Но не перебарщивайте с комбинированием. Вместо того чтобы делать один огромный пакадж сделайте 4-5 сборных пакаджей. Например, один для каса, другой для мебели. Оптимальный вес одного файла-комбинации около 200 Mb. Так же постарайтесь держать колличество ваших пакаджей в папке Модс около 100.
! Никогда не комбинируйте моды и дефолтные скинтоны. Вдруг вам захочется поменять скинтон? Вдруг вы обновите игру и мод будет несовместим с новой версией? Вам придется переделывать весь ваш сборниый .package!
Эта статья перевод туториала от aikea_guinea а так же официального туториала от разрабов s3pe.
Источник: love-sims.ru
Тема: s3pe Package Editor
s3pe Package Editor
Модуль PackageManagement
Модуль PackageManagement уже встроен в Windows 10, а для его работы требуется PowerShell 5. Поэтому для работы менеджера пакетов в Windows 8.1 нужно сначала установить Windows Management Framework 5.0. Также Microsoft выпустила отдельный модуль для работы менеджера пакетов и на PowerShell версий 3 и 4.
Выведем список доступных командлетов PowerShell в модуле PackageManagement:
Get-Command -Module PackageManagement
В текущей версии модуля (v 1.0.0.1) имеются такие команды:
- Find-Package — поиск пакета (программы) в доступных репозиториях
- Get-Package — получить список установленных пакетов
- Get-PackageProvider — список провайдеров (поставщиков пакетов), доступных на компьютере
- Get-PackageSource — список доступных источников пакетов
- Install-Package — установить пакет (программу) на компьютере
- Register-PackageSource — добавить источник пакетов для провайдера
Провайдеры пакетов
Пакеты обслуживаются различными провайдерам, которые могут получать пакеты из разных источников. Чтобы вывести список всех доступных провайдеров, выполните:
По умолчанию в системе имеются 2 установленных источника пакетов: nuget.org и PSGallery (официальная онлайн галерея скриптов PowerShell от MSFT). Но они предназначены в первую очередь для программистов и системных администраторов.
Примечание. В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.
Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey, содержащий на данный момент более 4500 различных программ.
Установим новый провайдер Chocolatey:
Подтвердим установку провайдера, нажав Y.
Сделаем Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать установку.
Set-PackageSource -Name chocolatey -Trusted
Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:
Name ProviderName IsTrusted Location
—- ———— ——— ———
PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2/
chocolatey Chocolatey True http://chocolatey.org/api/v2/Установка приложений из репозитория Chocolatey
Рассмотрим теперь, как установить приложение (пакет) из репозитория Chocolatey.
Список доступных для установки приложения можно получить непосредственно на официальном веб сайте Chocolatey (https://chocolatey.org/packages)
Также можно найти и установить нужное приложение прямо из консоли PowerShell. Например, для просмотра pdf файлов нам понадобилось установить приложение Adobe Acrobat Reader. Т.к. мы не знаем полного названия приложения, для его установки нам нужно получить имя пакета в каталоге. Выполним поиск в репозитории по ключевому слову ‘adobe’:
Find-Package -Name *adobe* -Source Chocolatey
В консоли появится список всех пакетов по данному ключу. Нам нужен пакет adobereader (нужно использовать именно имя пакета из столбца Name).
Запускаем установку пакета Adobe Reader:
Install-Package -Name adobereader -ProviderName Chocolatey
Вверху окна PowerShell появится ползунок, свидетельствующий о начале загрузки пакета Adobe Reader. Сразу после окончания загрузки, приложение установится в системе.
Еще один пример. Допустим, нам понадобилось иметь на компьютере набор утилит SysInternals. Чтобы не качать его вручную, найдем пакет SysInternals в репозитарии Chocolatey и установим его.
Find-Package -Name Sysinternals | Install-Package
Т.к. пакет не требует установки, он сохраняется на компьютер и хранится в каталоге C:Chocolateylib. В нашем примере это каталог C:Chocolateylibsysinternals.2016.11.18tools
Сразу несколько приложений можно установить всего одной командой:
Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package
Удаление пакета
Удаление приложения на компьютере выполняется также одной командой. К примеру, для удаления Adobe Reader, выполните команду:
Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.
Предыдущая статья Следующая статья
Источник: winitpro.ru