
Brian Curtis
0
1957
305
Hvad er den geekiest måde at udgive et album på? Hvad med at være et Linux-kernemodul?
Det er præcis, hvad et lille band kaldet Netcat gjorde med deres seneste album, Cycles Per Instruction. Sådan får du det.
Hvis dette lyder komplekst, skal du ikke få panik: selvom det bestemt er underligt, er det ikke svært at konfigurere. Alt, hvad det kræver, er en velskrevet liste over instruktioner, og du kan også lytte til albummet via et modul til Linux-kernen. Hvad er forskellen mellem Linux-distributioner, hvis de alle er Linux? [MakeUseOf Explains] Hvad er forskellen mellem Linux-distributioner, hvis de alle er Linux? [MakeUseOf Explains] Når en bruger først introduceres til Linux, får de muligvis at vide, at de bruger Linux, men de lærer hurtigt, at det kaldes noget andet. Ja, Ubuntu, Fedora, Linux Mint, Debian, openSUSE og så mange andre…. Her er hvad du skal gøre, forudsat at du bruger Ubuntu.
Dette er ikke den eneste måde at få adgang til musikken. Albummet er også på BandCamp til streaming. For faktisk at downloade musikken skal du købe sangene. Brug af denne kernemodulmetode er ikke en måde at undgå at betale for sangene. Sange, som de findes i kernemodulet, er ikke typiske filer, der kan spilles af en medieafspiller.
Forberedelse
Da vi har brug for at kompilere et kernemodul, skal vi sørge for, at vores bygningsmiljø er klar til at gå. Kør kommandoen for at installere alle de nødvendige afhængigheder på Ubuntu sudo apt-get install build build-essential vorbis-tools git linux-headers - $ (uname -r)
.
Dette vil installere kompileringsværktøjerne, de kerneloverskrifter, der er nødvendige for at oprette kernemoduler, lydafspilningsværktøjerne, der fungerer med det kernemodul, vi laver, og git-værktøjet, der bruges til udviklingsversionskontrol Hvad er Git & Why You Should Brug versionskontrol, hvis du er en udvikler, hvad er git og hvorfor du skal bruge versionskontrol, hvis du er en udvikler Som webudviklere, meget af den tid, vi har en tendens til at arbejde på lokale udviklingswebsteder, skal du bare uploade alt, når vi er Færdig. Dette er fint, når det bare er dig, og ændringerne er små, ..., som vi bruger hente koden.
Download det
Derefter skal vi gøre det “kassen” (hvilket betyder at hente) koden til albummet. Vi kan gøre dette ved hjælp af kommandoen git klon https://github.com/usrbinnc/netcat-cpi-kernel-module.git
.
Dette vil oprette en mappe i din hjemmemappe med navnet netcat-cpi-kernel-module. Da det downloader 6 sange (der bare er genstand for en times lang total) kan det tage lidt tid - dette er normalt.
Når downloadet er afsluttet, vil vi gå ind i den mappe. Vi kan gøre det med kommandoen cd netcat-cpi-kernel-modul
.
Udarbejde
Nu skal vi sammenstille kernemodulet. Dette kan gøres meget let med kommandomærket. Afhængigt af dit systems hardware tager det muligvis ikke meget lang tid. Bemærk dog, at kompilering af dette kernemodul kræver en smule over 1 GB i tilgængelig RAM for at fuldføre. Udviklerne nævnte dette i deres README-fil, og jeg kan bekræfte, at jeg så den samme pigge, mens jeg kompilerede.
Hvis du nogensinde har samlet software før, kan du forvente en sudo gøre installation
kommando til at følge. Af en eller anden grund er det ikke nødvendigt her. Når samlingen er afsluttet, tillykke! Den hårde del er nu færdig.
Indlæs det
Nu, hvor du har installeret modulet, skal du indlæse det. Du kan gøre det med kommandoen sudo insmod netcat.ko
. Dette skal starte kernemodulet. Kør kommandoen for at kontrollere dmesg
og kig efter noget, der ligner dette nær bunden:
[2606.528153] [netcat]: netcat - Cycles per instruktion - Kernel Module Edition - 2014
[2606.528153] [netcat]: netcat er Brandon Lucia, Andrew Olmstead og David Balatero
[2606.528153] [netcat]: 'ogg123 - < /dev/netcat' to play.
Spil det!
Hvis du faktisk spiller musikken, har du en sidste kommando: ogg123 - < /dev/netcat
. Dette er lydværktøjet, der rent faktisk kan afkode de meddelelser, som netcat-kernemodulet sender ud, og det skal automatisk sendes til din nuværende lydenhed (højttalere, hovedtelefoner osv.). Du kan også kontrollere, om en sang spilles ved at udstede dmesg
kommandoen igen, men tjek først de diverse bemærkninger nedenfor.
Diverse bemærkninger
Du vil bemærke, at du ikke længere kan skrive flere terminalkommandoer En A-Z af Linux - 40 væsentlige kommandoer, du skal kende En A-Z af Linux - 40 væsentlige kommandoer, du skal vide Linux er det ofte ignorerede tredje hjul til Windows og Mac. Ja, i løbet af det sidste årti har open source-operativsystemet fået en masse trækkraft, men det er stadig langt fra at blive taget i betragtning… i dit nuværende terminalvindue - dette sker, så længe ogg123-værktøjet er optaget. For at afslutte afspilningen kan du ramme Ctrl + C på dit tastatur eller blot lukke terminalvinduet, der dræber alle processer, der er bundet til det (hvilket betyder ogg123).
Hvis du vil indtaste nogle kommandoer, mens du bevarer musikafspilning, skal du bare åbne en ny terminalfane eller et vindue. Du kan derefter bruge denne nye fane eller vindue til at kontrollere, hvilken sang der i øjeblikket spiller. Dette kan gøres, hvis du kører kommandoen dmesg igen og kontrollerer i nærheden af bunden af output.
Konklusion
Gør dette kernemodul noget nyttigt til dit Linux-system? Ikke rigtig. Men det er cool, og det lærer dig nogle nyttige Linux-kommandoer undervejs. Og i al ærlighed er det virkelig ikke så svært. Så vær ikke bange for at prøve det!
Hvad er den geekiest ting du har set nogen gøre? Er der andre seje Linux-godbidder (muligvis ligner denne), der kommer til at tænke på? Fortæl os det i kommentarerne!