Hva er en Noarch-pakke?
Noarch står for ingen arkitektur. Egentlig begrepet noarch betyr ingen spesiell arkitektur eller om du vil, alle arkitekturer. Den refererer til filer, for eksempel bilder, manualer eller til og med applikasjoner som er universelle på tvers av alle plattformer.

Hvordan er dette mulig?
Hvordan er det mulig at en pakke vil fungere på alle versjoner av Linux, Windows og andre operativsystemer?
Vel, til å begynne med inneholder ikke alle pakker applikasjoner. For eksempel applikasjonen gnome-backgrounds.arch er en samling skrivebordsbakgrunner. Mens pakken er utviklet for Gnome skrivebordsmiljø det er egentlig bare en samling bilder, og bildene er laget i universelle formater som kan brukes på ethvert moderne operativsystem.
Derfor kan du tenke på en noarch-pakke som alt som er virkelig universelt, for eksempel bakgrunner, ikoner og til og med manualer.
Noarch-pakker kan også inneholde skript, programmer og applikasjoner, men de må inneholde filer som virkelig er på tvers av plattformer.
Hva slags programmer er virkelig på tvers av plattformer?
Nettapplikasjoner utviklet i HTML, JavaScript og CSS er universelle, det samme er skriptspråkene PHP, PERL og Python.
Kompilerte programmer kan ikke betraktes som noarch fordi de er kompilert for å fungere på en bestemt arkitektur. Derfor C og C++ binærfiler vil ikke bli funnet i en noarch-fil. Unntaket fra denne regelen er Java-programmer fordi Java virkelig er på tvers av plattformer og en Java-applikasjon skrevet for én Linux-distribusjon og arkitektur bør også fungere på andre Linux-plattformer og videre Windows.
Nå tror du kanskje at kildekoden kan beholdes som noarch-pakker fordi den kan kompileres på tvers av plattformer, og det er bare binærfilene som er spesifikke for en bestemt arkitektur. Kildekodepakker er faktisk lagret med src-utvidelsen.
Noarch-filer er generelt assosiert med RPM-pakker.
Det er høyst sannsynlig at du allerede har en rekke RPM noarch-pakker installert på datamaskinen din.
For å finne ut hvilke noarch-pakker du har installert, kjør følgende kommando:
rpm -qa --qf "%{N}-%{V}-%{R}\ t\ t%{ARCH} \ n" | grep noarch | mer
Kommandoen ovenfor kan deles ned som følger:
- rpm er pakkebehandleren
- -q står for spørring
- -a står for alle
- --qf står for spørringsformat
- Utdataene fra rpm-kommandoen plasseres som input til grep som ser etter noarch
- Mer gjør at utdata stopper på slutten av en side med data, du kan gå videre til neste side ved å trykke mellomrom
Når du ser på resultatet av kommandoen ovenfor på din egen datamaskin, kan du se en rekke fontpakker, fastvarepakker, dokumentasjon, bakgrunner, ikoner og temaer.
Et ord til advarsel, men. Bare fordi noe er pakket som noarch, er det ikke alltid fornuftig å kopiere filene i denne pakken til andre datamaskiner og håpe at de fungerer.
For eksempel, hvis du har én datamaskin som kjører Fedora ved å bruke RPM-pakke manager og en annen som kjører Debian som bruker DEB-filformatet, er det fornuftig å se etter den tilsvarende pakken på Debian før du kopierer filene fra Fedora-maskinen.