реклама
Съвременните операционни системи ви предоставят лесни методи за настройка на нови приложения. Те включват автоматизирани инсталационни пакети, както и команди, които инсталират много бита софтуер наведнъж. Но какво всъщност се случва, когато стартирате този инсталатор или издадете тази команда?
Нека да разгледаме как софтуерът се инсталира на три основни настолни платформи: Windows, macOS и Linux.
Методи за инсталиране на софтуер
Има няколко различни начина, по които можете да получите нови приложения, работещи на вашия компютър. За да се увеличи сложността, те включват:
- Компилация на софтуер - Изграждане на приложението от неговия изходен код. Само за най-техническите потребители.
- Софтуерни архиви - Разопаковане на архиви като ZIP файлове и стартиране на програмата от където и да сте го извлекли. Това може да изисква допълнително ощипване.
- Инсталационни пакети - Намиране на инсталационен файл и (щракнете два пъти), за да стартирате инсталацията.
- Софтуерни мениджъри / магазини - Избор на приложението от приятен интерфейс и щракване върху голям бутон „Инсталиране“. Магия е!
В тази статия ще разгледаме пакетите за инсталиране, тъй като повечето софтуерни мениджъри / магазини в крайна сметка се справят с тези видове пакети зад кулисите. За днешните основни настолни платформи - Windows, macOS и Linux - ще разгледаме какво представлява един от тези пакети и какво се случва при инсталирането им.
Microsoft Windows
Пакетите за инсталиране, на които вероятно ще попаднете за Windows, се предлагат в един от двата основни вкуса. Изпълними файлове (EXE) могат да настроят вашата програма, като правите тежко повдигане на поставяне на файлове на правилното място и извършване на актуализации на системния регистър на Windows. Пакетите на Windows Installer (MSI) добавят към това, като предоставят стандартизирани услуги като деинсталиране.
Можете да проверите съдържанието на EXE или MSI от отваряне на архива със 7-Zip 7Zip: Безплатна програма за разархивиране на нечести архивни формати Прочетете още . Ако го използвате за преглед на собствения инсталатор на EXE на 7-Zip, в него ще намерите редица различни файлове:
Въпреки че тези файлове нямат папка, съдържаща се в инсталатора, разработчикът ще посочи всеки от тях в целевата директория. Повечето от тях се оказват в "местоположението за инсталиране по подразбиране" - същото предложение, което обикновено виждате за папка като "C: \ Program Files \ [име на програмата]" или "C: \ Program Files (x86) \ [новото ви приложение ] ".
Когато използват сложен инструмент като InstallShield за създаване на пакети за инсталиране, разработчиците на приложения могат да персонализират инсталацията. Например, те могат да определят кои версии на Windows, на които ще инсталира, и да задават преки пътища да се създава в менюто "Старт" и / или на работния плот, или да събира информация за потребителя, като име, адрес, и т.н. Примерен проект InstallShield на изображението по-долу показва екрана за настройка дали ключовете за системния регистър на Windows трябва да бъдат създадени или актуализирани.
С InstallShield файловете на приложенията и другите персонализиране се увиват в setup.exe файл. Отварянето му със 7-Zip ще покаже, че вътре е MSI пакет, който при стартиране изглежда точно като инсталацията, с която всички сме свикнали. Нека разгледаме какво се случва по време на този процес.
Процес на инсталиране на Windows
Инсталаторът ще предприеме следните стъпки, за да настрои приложението ви за използване (точният ред на който може да варира в зависимост от персонализацията на програмиста):
- Инсталаторът може да съдържа други архиви, като гореспоменатите MSI или формати като CAB. Като първа стъпка инсталаторът ще ги извлече на временно място.
- След това ще провери дали всички налични зависимости са налични. Ако нещо липсва, той ще го изтегли по възможност или ще излезе от инсталатора с грешка, ако не.
- Ако са необходими някакви зависимости, те ще бъдат инсталирани първо с помощта на какъвто и да е инсталатор (някога прекъсвала ли е инсталирането за .NET Framework? Microsoft .NET Framework: Защо имате нужда и как да го инсталирате на WindowsТрябва или да го инсталирате, или да го актуализирате. Но знаете ли какво е .NET Framework? Показваме ви защо имате нужда от него и как можете да получите най-новата версия. Прочетете още ).
- След това инсталаторът ще започне да копира файловете на приложението и да ги поставя на правилното им място.
- Ако програмистът конфигурира някакви преки пътища, инсталаторът ще го създаде и ще ги насочи към действителния инсталационен път (не забравяйте, можете да промените това Как да създадете бърз достъп за работния плот на Windows по лесен начинИнтелигентните преки пътища на работния плот могат да ви спестят безсмислено пресяване през менюта и папки. Показваме ви бързи и лесни начини за създаването им. Прочетете още когато инсталаторът се стартира).
- Промени в системния регистър на Windows 3 Инструменти за наблюдение и проучване на системния регистър на WindowsРегистърът на Windows е една от най-слабо разбраните части на операционната система Windows. Показваме ви инструменти, които могат да опростят системния регистър и да ви помогнат да идентифицирате проблеми. Прочетете още , ако има такава, ще бъде изпълнена.
- И накрая, инсталаторът може да подкани потребителя да въведе информация като име или адрес на уебсайта.
Този процес може да изглежда сложен в сравнение със следващата операционна система в списъка. Нека да разгледаме инсталирането на софтуер на macOS.
Apple macOS
Инсталаторите на Windows се случват много под капака. Но ако сте използвали Mac, знаете, че инсталирането на приложение често е толкова лесно, колкото да изтеглите копие на приложението, да отворите изображението на диска (DMG) и следвайки лесни подкани Как да инсталирате и премахнете Mac софтуер: 5 лесни методаПреминавате към Mac и се захващате с основите? Чудите се как да инсталирате софтуер от командния ред? Имате стари приложения за Windows, които просто трябва да стартирате на вашия компютър Apple? Прочетете още . Понякога изтеглянето дори ви предоставя „Плъзнете тук!“ икона.
Нека се потопим в пакета APP, както и неговия партньор на инсталатора на PKG.
Структура на пакета macOS
APP файла на повърхността е всъщност по-просто от Windows поради две основни причини. Първо, това е стандартна папка. Единствената разлика е, че завършва с наставка ".APP". Ако изтеглите едно от тях в Windows, ще видите, че се показва точно както всяка друга файлова папка в Explorer. Второ, APP файловете изискват да се включи абсолютно всичко, което програмата изисква. Не се притеснявайте за липсващи зависимости при този тип инсталатори.
Тези пакети трябва да съдържат три неща в папка, наречена „Съдържание“: 1) файл „Info.plist“, който съдържа метаданни на приложението като име, език, номер на версията и др.; 2) директория “MacOS”, която съдържа главния изпълним файл; и 3) директория „Ресурси“, която съдържа активи, които приложението трябва да функционира (например икона на приложение). Има и други незадължителни папки като „Frameworks“ (пакети от функционалности, които не са специфични за приложението), „Plug-Ins“ (функционалност за приложението, което не се изисква да го стартира) и „SharedSupport“ (външни данни като шаблони).
За разлика от тях PKG форматът е комбинация от подобен на Windows инсталатор със структура, подобна на Unix 3 UNIX-подобни операционни системи, които не са LinuxНаскоро хората започнаха да бъркат „UNIX“ с „Linux“. Linux беше повлиян от UNIX, но UNIX системите нямат връзка с Linux. Ето някои важни UNIX-базирани системи, за които си струва да знаете. Прочетете още . Приложението 7-Zip също ще отвори PKG файл, който се компресира XAR формат. Вътре е един или повече полезен товар файлове, което също е архив. За извличане на съдържанието му използвайте следната верига от команди (CPIO е архивен формат, както и програма за манипулиране с тях) в Mac или Linux терминал:
полезен товар за котки | gunzip -dc | cpio -i
След като сте готови, ще видите познато дърво на директории, подобно на Unix.
В примера по-долу използвах конвертор на документи, Pandoc. Тя включва двоичен в /usr/local/bin и малко документация в /usr/local/share/man. Как всъщност тези неща стават на мястото си? Ще разгледаме как всяко от тях всъщност се инсталира на вашия Mac.
Използвах версията на Windows 7-Zip, за да илюстрирам това, а не само версията на Linux за командния ред.
Процес на инсталиране на APP macOS
Когато пуснете този APP файл в папката си с приложения, той всъщност не променя толкова много. Не забравяйте, че всичко необходимо за стартиране на програмата е самостоятелно. Единствената разлика от стандартното плъзгане и пускане е, че файлът „Info.plist“ се регистрира в системата.
Това ще конфигурира неща, като кой изпълним файл се извиква, когато стартирате приложението, коя икона се показва, типове файлове, които поддържа и други. Но в противен случай приложението ви (като например APP пакета за Atom Editor, показано по-долу) вече е готово за използване.
Процес на инсталиране на macOS PKG
Отварянето на PKG файл, от друга страна, стартира инсталатор на „съветника“. За прости програми това обикновено е a инсталатор на компоненти, което обикновено преминава през следните стъпки:
- Изпълнете инсталира предварително скрипт.
- Разопаковайте съдържанието на "Payload" на устройството.
- Изпълнете postinstall скрипт.
След това разработчиците могат да комбинират множество компоненти в един архив на продуктите Инсталирай. Това добавя опции като показване на EULA за потребителя да приема, събиране на информация от потребителя и избор на компонентите за инсталиране. Междувременно, Apple Installer се грижи за всички подробности за инсталирането на необходимите компоненти един по един на заден план.
Говорейки за базираните на Unix инсталатори, ще преминем към двата водещи пакета на Linux пакети в следващия раздел.
Ubuntu и Fedora Linux
Ах, DEB срещу RPM Как да инсталирате софтуер на Linux: Обяснени формати на пакетиПреминахте на Linux и искате да инсталирате някакъв софтуер. Но мениджърите на пакети се различават в зависимост от вашия дистрибутор. Така че кои приложения можете да изтеглите и инсталирате? Всичко е в съкращенията. Прочетете още . Една от големите пламъчни войни, победена само от харесващите VI срещу Emacs или KDE срещу GNOME. И все пак тези формати са по-сходни, отколкото са различни. Нека да разгледаме
Структура на файловите файлове на Linux
За да разгледате вътрешността на DEB файл, можете да опитате GUI мениджър на архиви. В противен случай използвайте ар команда. Следващата команда въведена в терминала 40+ най-използваните Linux терминални командиНезависимо дали просто започвате или просто сте любопитни за терминала на Linux, ето най-често срещаните команди, които ще ви пренесат през цялото ви време в Linux. Прочетете още ще извлечете съдържанието на пакет Debian:
ar -x име-на-your-package.deb
Три файла ще излязат от това:
- control.tar.gz - Това от своя страна съдържа един основен файл, контрол, която съдържа метаданни за пакета, като официалното име, версия и зависимости. Той може да съдържа и други файлове, като скриптове, които да се изпълняват по време на инсталационния процес или конфигурационни файлове по подразбиране.
- data.tar.gz - Файловете, които съставят самото приложение, са в този архив на TAR.GZ. Всичко, включително двоични файлове, документация и конфигурации по подразбиране са тук. В примерния пакет kde-service-menu-encfs_0.5.2_all.deb, той съдържа файлове и директории, както е показано на изображението по-долу.
- Debian-бинарни - Това е файл, който определя каква версия на формата на пакета Debian използва файлът. За съвременните дистрибуции това просто ще съдържа „2.0“ на един ред.
В Fedora можете да използвате rpm2cpio и CPIO команди за извличане на RPM пакет и преглед на техните файлове:
rpm2cpio име на вашия пакет.rpm | cpio -idvm
За пакета kde-cli-tools-5.9.4-2.fc26.x86_64.rpm ще видите дърво на файлове, подобно на пакета DEB. Но не предоставя метаданните, поне не в на двоен пакет. Ще трябва да изтеглите източника RPM (.SRC.RPM), съответстващ на вашата двоична версия, след което да използвате същата команда по-горе на този файл. В това число ще бъде SPEC файл, който съдържа много от същите елементи като контрол файл в Debian пакет.
Сега, когато имаме разбиране за структурата на Linux пакетите, нека проучете какво се случва, когато всъщност ги инсталирате Как да инсталирате софтуер на Linux: Обяснени формати на пакетиПреминахте на Linux и искате да инсталирате някакъв софтуер. Но мениджърите на пакети се различават в зависимост от вашия дистрибутор. Така че кои приложения можете да изтеглите и инсталирате? Всичко е в съкращенията. Прочетете още .
Инсталиране на Linux пакет
Когато инсталирате пакети от всеки формат, независимо от предния край, се случва подобен набор от стъпки:
- Пакетната система изследва съдържанието на пакета, за да определи дали липсват зависимости. В зависимост от инструмента той ще ви предупреди или ще настрои да ги изтеглите.
- Ако пакетите съдържат предварително инсталирани скриптове или команди, те се изпълняват следващо.
- Тогава пакетната система всъщност извлича файловете на пакета.
- С наличните файлове се изпълняват скриптове след инсталиране.
- И накрая, пакетът се регистрира във вътрешната база данни с помощта на неговите метаданни, така че може да бъде деинсталиран по-късно.
Знанието как се инсталира софтуер е добро нещо
Тъй като разработчиците на операционни системи и софтуера, който работи на тях, вършат чудесна работа за улесняване на инсталирането на софтуер, не е нужно наистина да обръщате внимание на детайлите. Но ако имате известни знания за това, което се случва зад кулисите, ще ви даде спокойствие за това какво се инсталира във вашата система, както и ще ви помогне при отстраняване на проблеми.
Колко от горните методи за инсталиране на софтуер сте направили? Предпочитате DEB или RPM? Или пакетите APP на Mac представляват върха на лесната употреба? Някога да се е случвало инсталирането на кошмар? Уведомете ни в коментарите по-долу!
Aaron е дълбоко в технологиите като бизнес анализатор и мениджър на проекти, за да продължи вече петнадесет години, и е лоялен потребител на Ubuntu от почти толкова дълго време (от Breezy Badger). Интересите му включват отворен код, приложения за малък бизнес, интеграция на Linux и Android и компютри в обикновен текстов режим.