Vad är det nättaste sättet att släppa ett album? Vad sägs om som en Linux-kärnmodul?
Det är precis vad ett litet band som heter Netcat gjorde med sitt senaste album, Cycles Per Instruction. Så här får du det.
Om det här ljudet är komplicerat, var inte panik: det är inte svårt att sätta upp. Allt som krävs är en välskriven lista över instruktioner och du kan också lyssna på albumet via en modul för Linux-kärnan. Vad är skillnaden mellan Linux-distributioner om de är alla Linux? [MakeUseOf Förklarar] Vad är skillnaden mellan Linux-distributioner om de är alla Linux? [MakeUseOf Explains] När en användare introduceras för Linux först får de veta att de använder Linux, men de kommer snabbt att lära sig att det kallas något annat. Ja, Ubuntu, Fedora, Linux Mint, Debian, openSUSE och så många andra ... Läs mer. Här är vad du behöver göra, förutsatt att du använder Ubuntu.
Detta är inte det enda sättet att få tillgång till musiken. Albumet är också på BandCamp, för streaming. För att faktiskt ladda ner musiken måste du köpa låtarna. Att använda denna kärnmodulmetod är inte ett sätt att undvika att betala för låtarna. Sångerna som de existerar för kärnmodulen är inte typiska filer som kan spelas av en mediaspelare.
förbereda
Eftersom vi behöver kompilera en kärnmodul måste vi se till att vår byggmiljö är redo att gå. För att installera alla nödvändiga beroenden på Ubuntu, kör kommandot sudo apt-get install build-essential vorbis-tools git linux-headers-$(uname -r)
.
Det här installerar kompileringsverktygen, de kärnhuvuden som behövs för att skapa kärnmoduler, ljuduppspelningsverktygen som arbetar med kärnmodulen vi gör och git-verktyget, som används för styrning av versionsversionen. Vad är Git och varför du borde Använd Version Control Om du är en utvecklare Vad är Git och varför du bör använda Version Control Om du är en utvecklare Som webbutvecklare, lägger mycket tid på att vi arbetar på lokala utvecklingsplatser så ladda bara upp allt när vi är Gjort. Det här är bra när det bara är du och förändringarna är små, ... Läs mer, som vi ska använda hämta koden.
Hämtar det
Därefter måste vi "koda" (vilket betyder att hämta) koden för albumet. Vi kan göra detta med kommandogit git clone https://github.com/usrbinnc/netcat-cpi-kernel-module.git
.
Detta kommer att göra en mapp i din hemmapp som heter netcat-cpi-kernel-modulen. Eftersom det hämtar 6 låtar (det är bara blyg för en timmes total) kan det ta lite tid - det här är normalt.
När det är färdigt att ladda ner, vill vi gå in i den mappen. Det kan vi göra med kommandot cd netcat-cpi-kernel-module
.
Sammanställa
Nu måste vi sammanställa kärnmodulen. Detta kan göras mycket enkelt med kommandotillverkningen. Beroende på systemets hårdvara kan det hända att det inte tar lång tid. Observera dock att kompilering av denna kärnmodul kräver lite över 1 GB i tillgängligt RAM för att slutföra. Utvecklarna nämnde detta i sin README-fil, och jag kan bekräfta att jag såg samma spik medan jag sammanställde.
Om du någonsin har sammanställt programvaran innan, kan du förvänta dig att en sudo make install
kommando ska följa. Av någon anledning är det inte nödvändigt här. När kompilering har slutfört, grattis! Den svåra delen är nu klar.
Ladda det
Nu när du har installerat modulen måste du ladda den. Du kan göra det med kommandot sudo insmod netcat.ko
. Detta bör starta kärnmodulen. För att kontrollera, kör kommandot dmesg
och leta efter något liknande det här nära botten:
[ 2606.528153] [netcat]: netcat - Cycles Per Instruction - Kernel Module Edition - 2014
[ 2606.528153] [netcat]: netcat is Brandon Lucia, Andrew Olmstead, and David Balatero
[ 2606.528153] [netcat]: 'ogg123 -< /dev/netcat' to play.
Spela den!
För att verkligen spela upp musiken har du ett sista kommando: ogg123 -< /dev/netcat
. Detta är ljudverktyget som faktiskt kan avkoda de meddelanden som netcat-kärnmodulen skickar ut, och den ska skickas automatiskt till din nuvarande ljudenhet (högtalare, hörlurar, etc.). Du kan också kontrollera om en låt spelas genom att utfärda dmesg
kommandot igen, men kolla in de olika anteckningarna nedan först.
Diverse noteringar
Du kommer märka att du inte längre kan skriva några terminalkommandon. En AZ av Linux - 40 viktiga kommandon som du borde veta en AZ av Linux - 40 viktiga kommandon som du borde veta Linux är det ofta ignorerade tredjehjulet till Windows och Mac. Ja, under det senaste decenniet har operativsystemet öppen källkod fått mycket dragkraft, men det är fortfarande långt ifrån att bli övervägt ... Läs mer i ditt nuvarande terminalfönster - det här händer så länge som ogg123-verktyget är upptaget. För att avsluta uppspelningen kan du slå Ctrl + C på tangentbordet eller helt enkelt stänga terminalfönstret som dödar alla processer som är bundna till det (vilket betyder ogg123).
Om du vill skriva in några kommandon medan du behåller musikuppspelning, öppna bara en ny terminalflik eller ett fönster. Du kan sedan använda den här nya fliken eller fönstret för att kolla vilken vilken låt som spelas. Detta kan göras om du kör kommandot dmesg igen och kolla i närheten av utgången.
Slutsats
Gör den här kärnmodulen något som är användbart för ditt Linux-system? Inte riktigt. Men det är coolt, och det lär dig några användbara Linux-kommandon på vägen. Och med all ärlighet är det verkligen inte så svårt. Så var inte rädd för att prova det!
Vad är det nättaste du har sett någon gör? Finns det andra coola Linux-godsaker (möjligen liknar detta) som kommer att tänka på? Låt oss veta i kommentarerna!