Apburošā konfigurēšanas, izgatavošanas un instalēšanas burvība. Programmu instalēšana operētājsistēmā Linux (.tar, .gz, .bz, RPM un DEB) Nepieciešamā programmatūra

Bieži vien nepieciešamās pakotnes var atrast tikai avota formā; šajā rakstā ir aprakstīta pakotnes instalēšanas metode no pirmkoda.

Izpakošana

Programmas parasti tiek izplatītas iepakotos arhīvos, tie ir faili ar paplašinājumiem

.tar.gz (dažreiz .tgz) .tar.bz2

Jums ir jāsaprot atšķirība starp arhivētāju un iepakotāju.

Programma tiek izmantota direktoriju un failu arhivēšanai darva; tā darba rezultāts ir fails ar paplašinājumu .darva. Aptuveni runājot, šī ir failu sistēmas kopija - direktoriji un faili ar to atribūtiem un piekļuves tiesībām, kas ievietoti vienā failā.

Šis fails būs nedaudz lielāks nekā kopējais arhivēto failu lielums. Tāpēc (vai varbūt cita iemesla dēļ) viņi izmanto iepakotājus - programmas, kas ļauj samazināt faila lielumu, nezaudējot datus.

Programma darva var izpakot, tāpēc nav jāzvana šautenes rāvējslēdzējs, vai arī varat vienkārši pateikt programmai darva ka fails vispirms ir jāizpako. Piemēram, komanda

tar -xvf< some_app_name>.tar.gz

nekavējoties izpakos un izsaiņos. Atšķirība starp failiem un paplašinājumiem

.tar.gz

.tar.bz2

tikai tas, ka tika izmantoti dažādi pakotāji, programma darva automātiski nosaka saspiešanas metodi un papildu opcijasšajā gadījumā nav nepieciešams.

Pēc izpakošanas jums jādodas uz iegūto direktoriju; visas tālāk aprakstītās komandas tiek izpildītas direktorijā ar pakotnes avota kodu.

CD< имя_пакета>*

Pakas veidošana

Lai izveidotu programmas GNU/Linux, jūs (galvenokārt) izmantojat programmu veidot, kurā tiek izpildīti norādījumi no Makefile, bet tā kā ir daudz GNU/Linux izplatījumu un tie visi ir atšķirīgi, lai izveidotu programmu, katram izplatīšanai atsevišķi jānorāda ceļi, kur atrodas bibliotēkas un galvenes faili. Programmētāji nevar izpētīt katru izplatīšanu un izveidot katram atsevišķi Makefile. Tāpēc viņi nāca klajā ar konfiguratoriem, kas “izpēta” sistēmu un saskaņā ar iegūtajām zināšanām izveido Makefile. Bet viņi neapstājās pie konfiguratora un nāca klajā ar konfiguratoru konfiguratoriem ... tur viņi apstājās

Lai izveidotu, mums ir nepieciešami kompilatori: tie ir norādīti pakotnes atkarībās būvēt-būtiski, tāpēc pietiek ar to instalēt ar visām atkarībām. Joprojām vajadzīgs autoconf Un automašīna.

Tātad, lai izveidotu kaut ko no avota, vispirms ir jāizveido konfigurators; kā izveidot konfiguratoru, ir aprakstīts failā configure.in. Lai izveidotu konfiguratoru, jums jāpalaiž

./ bootstrap ./ autogen.sh

Ja arhīvā šādu skriptu nav, varat secīgi izpildīt šādas komandas:

aclocal autoheader automake --gnu --add-missing --copy --foreign autoconf -f -Wall

Visas šīs komandas izmanto failu konfigurēt.in. Pēc šo komandu izpildes tiks izveidots fails konfigurēt. Pēc tam jums ir jāpalaiž konfigurators, lai pārbaudītu visu atkarību esamību, kā arī jāinstalē papildu veidošanas opcijas (ja iespējams) un jāskatās instalēšanas rezultāts (pēc izvēles — var nebūt)

./ konfigurēt

Konfigurators izveidos Makefile, pamatojoties uz iegūtajām zināšanām un failu makefile.am. Konfiguratoram var nodot programmas avotos norādītās opcijas, kas ļauj iespējot/atspējot noteiktas programmas funkcijas, parasti par tām var uzzināt ar komandu

./ configure --help

Ir arī standarta opciju komplekts, piemēram

Prefikss=

Kas norāda, kuru direktoriju izmantot instalēšanai. Parasti Ubuntu

--prefix =/ usr --prefix =/ usr/ local

BEZ slīpsvītra beigās! Tagad jūs varat sākt pašas programmas veidošanas procesu ar komandu

veidot

Lai izveidotu, pietiek ar regulārām lietotāja privilēģijām. Par būvēšanas beigām var uzskatīt brīdi, kad komandas konsolē pārstāj izpildīt “nejauši” un nav vārda kļūda. Tagad viss ir apkopots un gatavs uzstādīšanai.

Uzstādīšana

Pūles iztērētas Pareiza uzstādīšana nākotnē viņi vairāk nekā atmaksāsies instalētās programmatūras atinstalēšanas vai atjaunināšanas gadījumā.

Pareiza uzstādīšana (opcija Nr. 1)

Instalēšana, izmantojot utilītu pārbaudiet instalēšanu. Lai instalētu:

sudo apt-get install checkinstall

Mīnuss šī metode: pārbaudiet instalēšanu nesaprot visus avotus, jo programmas autors var rakstīt īpašus instalācijas skriptus un pārbaudiet instalēšanu viņus nesapratīs.

Lai izveidotu un instalētu deb pakotni, jums ir jāpalaiž

sudo checkinstall

Pareiza uzstādīšana (opcija Nr. 2)

Ātri izveidojiet deb pakotni manuāli.

Galvenā atšķirība no iepriekšējās metodes ir tāda, ka šajā gadījumā pakotni izveidojat manuāli un izsekojiet visām veiktajām izmaiņām. Šī metode jums būs piemērota arī tad, ja avoti neatbalsta pakotnes izveidi pārbaudiet instalēšanu.

    Mēs instalējam pagaidu direktorijā, kur mēs iegūstam visu instalēto failu komplektu:

fakeroot make install DESTDIR=`pwd`/tempinstall

    Izveidosim DEBIAN direktoriju “pakotnes saknē” un pievienosim visu failu sarakstu, kuriem jāiet mapē /etc, DEBIAN/conffiles:

cd tempinstall mkdir DEBIAN atrast utt | sed "s/^/\//" > DEBIAN/ conffiles

    Pēc tam mēs izveidojam DEBIAN/vadības failu ar šādu saturu:

Pakete: paketes_nosaukums Versija: 1.2.3 Arhitektūra: amd64/i386/armel/all Uzturētājs: Var ievadīt savu vārdu, var miskasti, bet ja atstāj tukšu, tad dpkg zvēr Atkarīgs: Šeit var ievadīt pakotņu sarakstu atdalītas ar komatiem. Prioritāte: neobligāti Apraksts: Jums arī kaut kas jāievada, lai nebūtu brīdinājumu

    Ja nepieciešams, tur var izveidot arī preinst, postinst, prerm un postrm skriptus.

    Mēs izveidojam deb paketi, kurai izpildām:

dpkg -b tempinstall

    Izvade ir tempinstall.deb, kuru mēs instalējam

sudo dpkg -i tempinstall.deb

Uzstādīšana (opcija Nr. 3)

Nepareiza uzstādīšana

Šīs metodes trūkums ir tāds, ka instalējot tieši caur veikt uzstādīšanu, visticamāk, nevarēsit normāli noņemt vai atjaunināt pakotni. Turklāt uzstādīšana jauna versija pār veco, visticamāk, pārrakstīs jūsu izmaiņas konfigurācijās. make install dara tieši to, ko liek - instalē failus pareizajās vietās, ignorējot to, ka kaut kas jau ir. Pēc šī procesa ir absolūti neiespējami iegūt nekādu informāciju par to, kas tika ievietots kur un sagremojamā veidā. Dažreiz, protams, Makefile atbalsta atinstalēšanas darbību, taču tas nav tik izplatīts, un tas nav fakts, ka tā darbojas pareizi. Turklāt jums būs jāsaglabā neizsaiņotais avota koks un jāizveido atinstalēšanas noteikumi.

Lai instalētu, jums jādara

sudo make install

Lai noņemtu pakotni, kas instalēta, izmantojot šo metodi, tā ir jāizpilda programmas avotu saknes direktorijā (kur palaidāt make install).

sudo make atinstalēt

Kļūdas

Bieži konfigurācijas posmā konfigurators ziņo, ka trūkst konkrētas bibliotēkas. Bibliotēkas nosaukums, par kuru tas ziņo, ne vienmēr atbilst Ubuntu pakotnes nosaukumam. No savas pieredzes varu ieteikt meklēt Synaptic vajadzīgo pakotni, izslēdzot prefiksu lib Ja atrodat vairākas pakotnes, kas atšķiras ar prefiksu -dev nosaukumā, tad jāinstalē pakotne -dev (parasti tā ietver arī pakotni, kas nav izstrādātāja). Varat arī meklēt, izmantojot vietni http://packages.ubuntu.com/, pakotnes satura meklēšanā ievadot bibliotēkas nosaukumu, līdzīgi, ja atrodat dev un non-dev, jums ir nepieciešami abi. Nu, vai vienkārši meklējiet Google.

Nepieciešams programmatūra

Paketes ar mm apraksta beigās ir C++ programmu pakotnes. Saraksts bmpx, bet piemērots gandrīz jebkurai GTK2/Gnome programmai. Tātad, ja nevarat to salikt, apskatiet šo sarakstu un salīdziniet to ar instalēto.

Sastādīt:Izpildes laiks:
Xlibx11-devlibx11-6
GlibMMlibglibmm-2.4-devlibglibmm-2.4-1c2a
GTK+libgtk2.0-dev,gtk-doc-toolslibgtk2.0-0
GTKMMlibgtkmm-2.4-devlibgtkmm-2.4-1c2a
Gladelibglade2-devlibglade2-0
GladeMMlibglademm-2.4-devlibglademm-2.4-1c2a
XMLlibxml2-devlibxml2
XML++libxml++2.6-devlibxml++2.6c2a
DBuslibdbus-1-dev, libdbus-glib-1-devlibdbus-1-2,libdbus-glib-1-2
Alsalibasound2-devlibasound2
HALlibhal-dev, libhal-storage-devlibhal1, libhal-storage1
Gaminlibgamin-devlibgamin0
Neonalibneon25-devlibneon25
TagLiblibtagc0-devlibtagc0
Startēšana-Paziņotlibstartup-notification0-devlibstartup-notification0
Pastiprinātlibboost-dev, libboost-filesystem-devlibboost-filesystem1.33.1
MusicBrainzlibmusicbrainz4-devlibmusicbrainz4c2a
GStreamerlibgstreamer0.10-dev, libgstreamer-plugins-base0.10-devlibgstreamer0.10-0,libgstreamer-plugins-base0.10-0

Bija vēlme iepazīties ar izstrādi Android. Es lejupielādēju Android Studio, izsaiņoju to un izdzēsu. Es nolēmu meklēt citas uzstādīšanas iespējas. Meklējot, es uzgāju Ubuntu Make (agrāk arī Ubuntu izstrādātāju rīku centru), un šajā īsajā piezīmē vēlos jums par to pastāstīt.

Ubuntu izstrādātāju rīku centrs parādījās ziņās kopā ar Ubuntu 14.10 (Utopic Unicorn), taču, man šķiet, tas nepiesaistīja plašu uzmanību. Nedaudz vēlāk projekts tika pārdēvēts par Ubuntu Make, kā to sauc līdz šai dienai, jo tas ir izaudzis līdz versijai 0.4. Izstrādi veic Didjē Rošs, Canonical programmatūras inženieris. Ievērības cienīgs ir arī fakts, ka Ubuntu Make ir rakstīts Python 3.4 versijā.

Projekta galvenais mērķis ir ātri un vienkārši instalēt kopējās izstrādātāju vajadzības Ubuntu. Un, lai gan tas joprojām ir tālu no “vispārējām vajadzībām” (instalēšanai pieejamo pakotņu saraksts joprojām ir neliels), ar “ātro un vienkāršu” viss ir kārtībā.

Ieslēgts Šis brīdis Izmantojot Ubuntu Make, varat instalēt:

  • Android Studio
  • Aptumsums
  • IntelliJ ideju kopienas izdevums
  • PyCharm kopienas izdevums
  • go-lang Google kompilators
  • Stencyl spēļu izstrādātājs IDE

Uzstādīšana

Operētājsistēmā ubuntu 15.04 ubuntu-make ir pieejams jau no iepakojuma, versiju 14.04 un 14.10 lietotājiem tiek lūgts instalēt no ppa:

Sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make

Lietošana

Instalēšana ar ubuntu-make ir neticami vienkārša. Priekš Android instalācijas Studija vienkārši darbojas terminālī:

Izveidojiet Android
Nedaudz pagaidiet un lūk rezultāts:

Ikona domuzīmē un openjdk (ja Java nebija sistēmā). Pēc palaišanas “studija” izvilka sdk un atjaunināja uz versiju 1.0.2. Tālrunī tika palaists “Hello world” un pabeigta funkcionalitātes pārbaude.

Golang ir instalēts līdzīgi:

PyCharm, Eclipse, Idea tiks pievienots vēl viens arguments:

Umake ide pycharm

Lai noņemtu pakotni, vienkārši pievienojiet argumentu "-r" tai pašā rindā:

Umake ide pycharm -r

Atzinums

Kāds teiks: “Ir daudz darāmā. Lejupielādējiet arhīvu, izsaiņojiet to, atzīmējiet ikonu domuzīmē un pārbaudiet to Java. Vai jums ir nepieciešams ubuntu makets? Piekrītu, varētu būt maz ko darīt, bet man šķita, ka iepakojums man noderēja. Viņš ietaupīja man laiku un atbrīvojās no rutīnas. Ceru, ka tas noderēs arī jums.

Materiāls no Bryansk Linux Users Group un www.rm.pp.ru

Katram izplatīšanai ir sava kodola montāžas specifika, un šis raksts ir īpaši vērsts uz to, kā to izdarīt programmā Debian Etch. Tas arī atklāj jautājumu par to, kā uzlikt konkrētu ielāpu kodolam, ja ir nepieciešams atbalsts noteiktai funkcionalitātei vai jaunam aprīkojumam jūsu sistēmā. Raksts ir paredzēts galvenokārt apmācītiem lietotājiem, un nav garantijas, ka šī metode darbosies tā, kā vajadzētu, un visas aprakstītās darbības un atbildība gulstas uz jums.

  1. Piezīme
  2. Plāksteru uzlikšana
  3. Kodola konfigurācija
  4. Kodola kompilēšana
  5. Jauna kodola instalēšana
  6. Problēmas
  7. Saites

Piezīme

Tiks aprakstītas divas kodola montāžas metodes. Pirmā iespēja tiks aprakstīta .deb pakotņu komplektēšanai, kuras var instalēt jūsu vai citā sistēmā. Otrā metode ir tā sauktais "tradicionālais" veids.

Pirmā metode. Kodola izveide .deb pakotnēs

Kodola kompilēšanai nepieciešamo pakotņu instalēšana

Vispirms atjaunināsim pakotņu sarakstus:

# apt-get update

Instalēsim mums nepieciešamās pakotnes:

# apt-get install kodola pakotne libncurses5-dev fakeroot wget bzip2 build-essential

Lejupielādējiet kodola avotus

Dodieties uz direktoriju /usr/src, dodieties uz www.kernel.org un atlasiet vajadzīgo kodola versiju. Šajā gadījumā tiks ņemta vērā versija linux-2.6.23.1.tar.bz2. Lejupielādēt:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.bz2

Izpakosim avotus un izveidosim simbolisku saiti:

# tar xjf linux-2.6.23.1.tar.bz2 # rm linux (noņemt iepriekšējo simbolu) # ln -s linux-2.6.23.1 linux # cd /usr/src/linux

Plāksteru uzlikšana

Nedariet to pēc izvēles vai bez vajadzības!

Dažreiz ir nepieciešami draiveri vai rīki, kas netiek atbalstīti esošajā kodolā, piemēram, virtualizācijas tehnoloģija vai cita specifika, kas nav pašreizējā laidienā. Jebkurā gadījumā to var labot, uzliekot tā sauktos ielāpus (ja tādi ir).

Tātad, pieņemsim, ka esat lejupielādējis nepieciešamo ielāpu (piemēram, sauksim to patch.bz2) mapē /usr/src. Uzliksim lejupielādēto ielāpu mūsu avotiem (Jums joprojām ir jāatrodas /usr/src/linux direktorijā):

# bzip2 -dc /usr/src/patch.bz2 | ielāps -p1 --dry-run # bzip2 -dc /usr/src/patch.bz2 | ielāps -p1

Pirmā komanda ir tikai pārbaude, un avotiem netiks piemērotas nekādas izmaiņas. Ja pēc pirmās komandas netika izlaista neviena kļūda, varat palaist otro komandu, lai lietotu ielāpu. Nekādā gadījumā nevajadzētu izpildīt otro komandu, ja kļūdas tika ģenerētas pēc pirmās!

Tādā veidā jūs varat lietot ielāpus kodola avotiem. Piemēram, ir daži līdzekļi, kas ir pieejami tikai kodolā 2.6.23.8, un avota kodā nebija vajadzīgās funkcionalitātes, taču tika izlaists ielāps-2.6.23.8.bz2. Šo ielāpu var lietot 2.6.23 kodola avotiem, bet ne 2.6.23.1 vai 2.6.23.3 utt. Vairāk par to varat lasīt:

Prefiksi (prepatches) - līdzvērtīgi alfa izlaidumiem; ielāpi ir jāpiemēro pilna iepriekšējā laidiena avotiem ar 3 ciparu versiju (piemēram, ielāpu 2.6.12-rc4 var lietot versijas 2.6.11 avotiem, bet ne versijai 2.6.11.10.)

Tas nozīmē, ka, ja vēlamies izveidot kodolu 2.6.23.8, mums ir jālejupielādē versijas 2.6.23 avoti (http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23 .tar.gz) pielietots otrajā metodē "tradicionālā" veidā!

Lietojiet ielāpu 2.6.23.8.bz2 kodolam 2.6.23:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.8.bz2 # cd /usr/src/linux # bzip2 -dc /usr/ src/patch-2.6.23.8.bz2 | ielāps -p1 --dry-run # bzip2 -dc /usr/src/patch-2.6.23.8.bz2 | ielāps -p1

Kodola konfigurācija

Ieteicams izmantot esošu konfigurācijas fails strādājošs kodols un jaunajam. Tāpēc mēs kopējam esošo konfigurāciju uz /usr/src/linux:

# make clean && make mrproper # cp /boot/config-`uname -r` ./.config # make menuconfig

pēc tam tiks ielādēta grafiskā kodola konfigurācijas izvēlne. Konfiguratora izvēlnē atlasiet vienumu “Ielādēt alternatīvu konfigurācijas failu” un noklikšķiniet uz “Labi”. Pēc tam (ja nepieciešams) veiciet nepieciešamās izmaiņas kodola konfigurācijā, pārvietojoties izvēlnē (kodola konfigurācijas informāciju var atrast vietnē www.google.com). Kad esat pabeidzis un noklikšķiniet uz "Iziet", tiks uzdots jautājums "Vai vēlaties saglabāt savu jauno kodola konfigurāciju?", atbildiet apstiprinoši "Jā".

Kodola kompilēšana

Kodola izveide tiek veikta tikai divās komandās:

# make-kpkg clean # fakeroot make-kpkg --initrd --append-to-version=-cybermind kernel_image kernel_headers

Pēc --append-to-version= varat ierakstīt jebkuru nosaukumu, kas jums patīk, taču tam jāsākas ar mīnusa zīmi (-) un tajā nedrīkst būt atstarpju.

.deb pakotņu kompilēšanas un veidošanas process var aizņemt diezgan ilgu laiku. Viss būs atkarīgs no kodola konfigurācijas un procesora iespējām.

Problēmas atrisināšana, izveidojot initrd.img

Nesen Debian ir parādījusies kļūda, kurā pēc pakotņu instalēšanas ar kodoliem, kas samontēti, izmantojot šeit aprakstīto metodi, netiek izveidots atbilstošais /boot/initrd.img fails. Lai to labotu jau instalētam kodolam, jums būs manuāli jāizveido initrd.img:

update-initramfs -c -k<полная-версия-ядра>

Lai atrisinātu problēmu “nākotnei”, komentējiet, kā parādīts attēlā, otro no tālāk minētajām rindiņām failā /etc/kernel/postinst.d/initramfs-tools:

# kodola pakotne nodod papildu arg; uzlauzt, lai nedarbotos zem kodola pakotnes #[ -z "$2" ] || izeja 0

Jauna kodola instalēšana

Kad kodola izveide ir veiksmīgi pabeigta, direktorijā /usr/src tiks izveidotas divas .deb pakotnes:

# cd /usr/src # ls -l

linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb — pats kodols un linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind-Custom_bers-3.6.6.0. kodoli, kas nepieciešami citu moduļu izveidei (piemēram, veidojot moduļus nVidia draiveri). Instalējiet tos:

# dpkg -i linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb # dpkg -i linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind_2.6.23.1-cybermind_2.6.23.1-cybermind.6.b.i8.

(Šīs pakotnes tagad var instalēt citā sistēmā, un tās vairs nebūs jāveido vēlreiz.)

Tas arī viss, instalēšana ir pabeigta, sāknēšanas ielādētāja izvēlne, jauna RAM diska un kodola instalēšana tiks veikta automātiski. Atliek tikai restartēt:

# atsāknēšana

Otrā metode. "tradicionālajā" veidā

Mēs veicam visus iepriekš aprakstītos punktus PIRMS punkta “Kodola apkopošana”.

# make all # make modules_install # make install

Kā parasti, izveide var aizņemt ilgu laiku, atkarībā no kodola konfigurācijas un procesora iespējām.

Šīs metodes galvenais trūkums ir tāds, ka, ja jūs bieži atjaunināt kodolus, tad pēc kāda laika to uzkrāsies liels skaits un jūs vēlaties noņemt neizmantotos. Lai to atvieglotu, varat apkopot kodolu un citus sistēmā instalētos failus, izmantojot komandas “make modules_install” un “make install” deb pakotnē (vai drīzāk divās, sākot no kodola 2.6.27), kas ir līdzīga pirmā metode, bet mēs izmantosim Šeit ir paša kodola skripti:

# make all # make deb-pkg

Divi .deb faili parādīsies direktorijā vienu līmeni virs avota direktorija. Es saliku kodolu direktorijā /usr/src/linux-2.6.27.10 un faili parādījās direktorijā /usr/src/

# linux-2.6.27.10_2.6.27.10-1_amd64.deb # linux-firmware-image_2.6.27.10-1_all.deb

Kodols tiek instalēts ar komandu

# dpkg -i linux-2.6.27.10_2.6.27.10-1_amd64.deb

Vecos kodolus var noņemt, piemēram, no synaptic"a

Nākamie soļi

Kodols ir kompilēts un instalēts, bet tagad ir jāizveido RAM disks (bez kura kodols vienkārši netiks bootēts) un jāatjaunina GRUB sāknēšanas ielādētājs. Lai to izdarītu, rīkojieties šādi:

# depmod 2.6.23.1 # apt-get install yaird

Instalējiet RAM disku:

# mkinitrd.yaird -o /boot/initrd.img-2.6.23.1 2.6.23.1

Atjaunināsim sāknēšanas ielādētāju viegli un nesāpīgi:

# update-grub

Tas arī viss, sāknēšanas ielādētājs un jaunais kodols ir gatavi, atliek tikai pārstartēt:

# atsāknēšana

Problēmas

Ja pēc pārstartēšanas jaunais atlasītais kodols netiek ielādēts, restartējiet un atlasiet iepriekšējo kodolu, un varat mēģināt vēlreiz veikt visu procesu, lai izveidotu strādājošu kodolu. Šajā gadījumā neaizmirstiet dzēst nestrādājošā kodola rindas mapē /boot/grub/menu.lst.

Un arī citas sistēmas ir jāinstalē papildu programmas. IN operētājsistēmas Operētājsistēmā Windows viss ir ļoti vienkārši, parasti ir instalētājs setup.exe, kas palīdz instalēt programmatūru. Bet Linux lietas ir nedaudz atšķirīgas. Kā instalēt programmas Linux? Tagad apskatīsim šo jautājumu.

Linux ir vairāku veidu instalācijas pakotnes, un katram izplatīšanai ir savs pakotnes formāts. Fedora, Mandriva, Red Hat un Suse izplatījumos tiek izmantota Red Hat izstrādātā standarta Linux RPM instalācija. RPM pakotnes fails parasti tiek nosaukts programmas_nosaukums-versija.rpm.

Vēl viens ļoti populārs formāts ir DEB. Izmanto Debian, Ubuntu, Knoppix un Mepis. Ir vārds programmas_nosaukums-version.deb.

Un mēs piegājām pie arhīva. Parasti tie ir paplašinājumi .tar , .tar.gz , .tgz. Tie ir jāizpako un pēc tam jāinstalē / jāapkopo.

Programmas instalēšanas procedūra jāveic kā superlietotājam.

Ātra navigācija

Programmu instalēšana Debian, Ubuntu

Ir daudz rīku darbam ar DEB pakotnēm, taču visbiežāk tiek izmantots apt-get, kas ir iekļauts standarta rīku komplektā. Lai instalētu lietojumprogrammu, ievadiet komandu:

apt-get install pakotnes_nosaukums

Lai noņemtu:

apt-get noņemt pakotnes_nosaukums

APT saglabā visu instalēšanai pieejamo pakotņu lokālo datu bāzi un saites uz to, kur tās iegūt. Šī datu bāze laiku pa laikam ir jāatjaunina ar komandu:

apt-get atjauninājumu

Lai datorā atjauninātu novecojušas pakotnes (programmas), ievadiet šādas komandas:

apt-get update; apt-get jauninājums

Programmu instalēšana vietnē Fedora, Red Hat

APT līdzīga utilīta ir yum. Lai lejupielādētu un instalētu pakotni no konfigurētās krātuves, ierakstiet komandu:

yum instalēt pakotnes_nosaukums

yum noņemt pakotnes_nosaukums

Vietējā yum datubāze netiek saglabāta, tāpēc nav nepieciešams atjaunināt. Lai instalētu atjauninājumus, izmantojiet komandu:

yum atjauninājums

Atlasiet kaut ko konkrētu, ko atjaunināt:

yum atjauninājums pakotnes_nosaukums

Programmu instalēšana Mandrivā

Mandriva ir savs rīku komplekts darbam ar pakotnēm, ko sauc par urpmi. Uzstādīšanai:

urpmi pakotnes_nosaukums

Lai dzēstu:

urpme pakotnes_nosaukums

Atjauniniet vietējo datu bāzi ar pakotņu sarakstu:

urpmi. atjaunināt -a

Lai instalētu atjauninājumus:

urpmi -- automātiskā atlase

Programmu instalēšana no arhīviem (tarballs)

Arhīviem, kas saspiesti, izmantojot GZIP (gz, gz2 utt.), mēs rīkojamies šādi:

tar -xvz f faila nosaukums

Arhīviem, kas saspiesti, izmantojot BZIP (bz, bz2 utt.), tas nedaudz atšķiras:

tar -xvjf faila nosaukums

Darvas komandas:

  • x – izvilkt failus no arhīva;
  • v – detalizēts informācijas attēlojums ekrānā;
  • f – obligātā opcija. Ja tas nav norādīts, Tar mēģinās izmantot lenti, nevis failu;
  • z – procesa arhīvs, kas saspiests, izmantojot gzip;
  • j – apstrādā arhīvu, kas saspiests, izmantojot bzip.

Pēc komandas izpildes tiks izveidota mape ar nosaukumu, kas līdzinās pakotnes nosaukumam. Pēc tam jums ir jāatver šī izveidotā mape ar komandu:

CD mapes_nosaukums

Pēc tam izpakotajā arhīvā izlasiet README failā sniegtos norādījumus, ja tādi ir. Jebkurā gadījumā, ja programma ir kompilēta kā izpildāms fails, tad pakotnē būs .sh fails, ko parasti sauc par install.sh

Būtība ir tāda, ka šo komandu “make install” vai “sudo make install” formā nevar izmantot mūsdienu izplatījumos.

Bet programmu autori instalēšanas rokasgrāmatās raksta, ka jums ir jāizmanto šī komanda, jūs varētu teikt. Jā, viņi raksta. Bet tas nozīmē tikai to, ka viņi nezina, kāds jums ir distribūcija, vai tas vispār ir distribūcija, varbūt jūs pievienojāties sektai un smēķējāt, lasot LFS, un tagad nolēmāt apkopot viņu radījumu jūsu htoniskajai sistēmai. Un make install ir universāls, lai gan bieži vien nepareizs veids, kā to izdarīt.

Liriska atkāpe

Kā zināms, normālai darbībai lielākā daļa programmatūras ir ne tikai jāapkopo, bet arī pareizi jāinstalē sistēmā. Programmas paredz atrast vajadzīgos failus noteiktās vietās, un šīs vietas lielākajā daļā *nix sistēmu ir iekodētas kodā kompilēšanas laikā. Papildus šim aspektam galvenā atšķirība starp instalēšanas procesu operētājsistēmā Linux/freebsd/whatever un instalēšanas procesu operētājsistēmās Windows un MacOS ir tā, ka programma ne tikai ievieto virkni failu atsevišķā direktorijā Programmu faili vai /Applications, bet gan “ izplatās” pati visā failu sistēma. Bibliotēkas dodas uz lib, izpildāmos failus bin, konfigurācijas utt., dažāda veida dati var un tā tālāk. Ja pēkšņi nepieciešams to atjaunināt, tad tas viss vispirms ir kaut kā jāiztīra, jo... izmantojot jaunu versiju, atlikušie faili no vecās var radīt pilnīgi neparedzamas sekas, bieži vien nav labi. Šī notikuma iespējamība nav tik liela, bet vai jums tas ir vajadzīgs ražošanas serverī?

Nu ko?

Tātad, ja instalējāt tieši, izmantojot make install, tad programmatūras noņemšana vai atjaunināšana, visticamāk, ir normāli tu nevari. Turklāt, visticamāk, instalējot jaunu versiju, nevis veco pārrakstīs jūsu izmaiņas konfigurācijās. make install dara tieši to, ko liek - instalē failus pareizajās vietās, ignorējot to, ka kaut kas jau ir. Pēc šī procesa ir absolūti neiespējami iegūt nekādu informāciju par to, kas tika ievietots kur un sagremojamā veidā. Dažreiz, protams, Makefile atbalsta atinstalēšanas darbību, taču tas nav tik izplatīts, un tas nav fakts, ka tā darbojas pareizi. Turklāt neiesaiņotā avota koka glabāšana un atinstalēšanas izveides noteikumu glabāšana ir kaut kā dīvaina.

Kā cīnīties?

Tā kā izplatīšanas pakotnes dažreiz tiek atjauninātas, lai atrisinātu šo problēmu, viņi nāca klajā ar tādu lietu kā pakotņu pārvaldnieks. Lietojot to, instalēšana notiek apmēram šādi:
  1. tiek ņemts noteiktā veidā izveidots arhīvs
  2. no tā tiek iegūta informācija par to, kas tas ir, kāda versija tā ir, no kā tas ir atkarīgs, ar ko konfliktē, vai ir nepieciešams palaist kādus skriptus, lai instalētu/atinstalētu/konfigurētu utt.
  3. Notiek tiešās instalēšanas darbības
  4. Visi dati par to, kur un kas tika piegādāts, tiek pievienoti pakotņu pārvaldnieka datu bāzei.

Tādā gadījumā, veicot atjaunināšanu, var nesāpīgi noņemt nevajadzīgās lietas, un tajā pašā laikā redzēt, vai sistēmā nav mainījušies faili, kas atzīmēti kā konfigurācija, un jautāt, kā rīkoties, ja jaunajā versijā to saturs atšķiras. Turklāt pakotņu pārvaldnieks neļaus pārrakstīt vienas pakotnes failus, instalējot citu. Kopumā tas var darīt daudz noderīgas lietas.

Ja tu aiz nezināšanas/slinkuma nokopēji un ielīmēji make install no instrukcijas, tad sistēmā parādās faili, par kuriem pakotņu pārvaldnieks nezina. Ar visu to, ko tas nozīmē, ja ar to, kas tika minēts iepriekš, jums nepietiek.

Ko darīt?

Var, protams, konfigurēt avota koku tā, lai viss tiktu instalēts kaut kur /opt/mycoolapp/, un pēc tam, ja nepieciešams, manuāli izdzēst, bet šeit var iznākt daudz nepatīkamu lietu, sākot ar to, ka programma sagaida, ka tā var ielādēt jūsu bibliotēkas, un ielādētājs neko nezina par direktoriju, kurā tās atrodas, beidzot ar to, ka programmas autors var sagaidīt, ka, piemēram, ja viņš ievieto failu, piemēram, $ prefix/share. /xsessions/, tad displeja pārvaldnieks to paņems. Nemaz nerunājot par ceļiem pkgconfig un tā tālāk.

Tātad jums ir jāsavāc iepakojums.

Man nav laika ar to ķerties, labāk instalēju vēlreiz, viss ir vienkārši un skaidri!

Nomierinies, nomierinies. Viņš ir piesiets pie mūsu kājām. Viss nav tik biedējoši un sarežģīti, kā šķiet no pirmā acu uzmetiena.
pārbaudiet instalēšanu
Šī brīnišķīgā utilīta, kad tā tiks palaista, nevis make install, uzdos vairākus jautājumus, pēc tam izveidos un instalēs pakotni. Tieši tā, veicot atjaunināšanu, jums nebūs problēmu ar veco atkritumu iztīrīšanu.
Deb pakotnes izveide manuāli
Ja jūs nevēlaties uzticēties šādai automatizācijai (kas dažkārt joprojām sajaucas) vai vēlaties veikt pāris izmaiņas, bet joprojām esat pārāk slinks, lai tiktu galā ar parasto pakotņu veidošanas procesu, tad pakotni varat salikt manuāli. Es dodu veidu, kā to izveidot sistēmām Debian datu bāze, jo es viņus pazīstu vislabāk. Tas nav ideoloģiski pareizi, bet izvade ir pilnīgi pareiza pakete bez papildu entītiju izmantošanas. Tas tiek darīts šādi.
Pirmkārt, mēs saliekam programmatūru ar parametriem --prefix=/usr un --exec-prefix=/usr, kas iepriekš norādīti konfigurācijai vai autogen.sh.
Tālāk mēs to instalējam pagaidu direktorijā. Mēs rakstām:

Fakeroot make install DESTDIR=`pwd`/tempinstall
Pēc tam mēs iegūstam visu failu komplektu jaunizveidotajā direktorijā. Starp citu, tagad esam fakeroot vidē, t.i., jūs varat bez ierobežojumiem mainīt failu īpašnieku un piekļuves tiesības, bet fiziski jūs paliksit sistēmas īpašnieks. Fakeroot sesijas programmatūra saņems mainīto informāciju, kas ļaus arhivēt failus ar pareizajām tiesībām.
Pēc tam izveidojiet DEBIAN direktoriju "pakotnes saknē" un pievienojiet visu failu sarakstu, kuriem jāiet mapē /etc, DEBIAN/conffiles:

Cd tempinstall mkdir DEBIAN atrast utt | sed "s/^/\//" > DEBIAN/conffiles
Pēc tam mēs izveidojam DEBIAN/vadības failu ar šādu saturu:

Ja nepieciešams, tur var izveidot arī preinst, postinst, prerm un postrm skriptus.

Tas arī viss, mēs veicam dpkg -b tempinstall, un izvade ir tempinstall.deb, kuru varat izmantot dpkg -i, lai pareizi instalētu, atjauninātu vai noņemtu.

Avota koda pakotnes sākotnējās izveides “pareizais” process neietilpst šīs piezīmes ietvaros, un tāpēc tas netiks aprakstīts, taču jūsu vajadzībām tas parasti nav nepieciešams.

Secinājums

Kā redzat, šeit nav absolūti nekā sarežģīta, taču, veicot šīs darbības, jūs nākotnē ietaupīsit no daudzām problēmām.