2018-11-19

Logga in säkert med SSH

Jag skriver som bekant denna blogg i Markdown, ett sätt att skriva text med exempelvis länkar, punktlistor och annat i som sedan konverteras till HTML för att webbläsare ska förstå det. När man skriver i Markdown och dessutom använder Jekyll som “bloggmotor” har man två alternativ - antingen laddar man upp sin artikel i markdown-format till sin server och låter servern bygga filen åt dig, eller så bygger man hela sajten på sin dator och laddar sedan endast upp förändringarna i sajten till servern. Jag föredrar det senare, eftersom förändringarna oftast innefattar en eller ett par bilder och några kilobyte text.

Att sitta hemma och ladda upp detta till en server hemma är ju ingen större grej egentligen, men kanske har du inte servern hemma utan någon annanstans, eller så är du ute och flänger och därmed befinner dig i samma situation. Eller så kanske du bara vill kunna logga in via SSH till en server på Internet utan att behöva oroa dig för säkerheten.

Oavsett anledning så är detta egentligen inte överdrivet komplicerat att sätta upp. Jag kör mina servrar hemma och därmed kan jag själv bestämma rätt mycket om hur det ska se ut. Jag hade givetvis kunnat sätta upp en VPN-server men det är bökigt och omständigt och, om sanningen ska fram, inte alltid nödvändigtvis säkrare. Så jag gjorde slag i saken och installerade en virtuell OpenBSD-server, en Unixdistribution som avgjort får anses vara en av de säkraste som går att installera. Därefter konfigurerade kopierade jag över min SSH-nyckel från min bärbara dator till filen .ssh/authorized_keys. Efter att jag kontrollerat att jag faktiskt kan logga in den vägen (bra att kolla innan man ger sig ut på fältet…) så kan jag redigera filen /etc/ssh/sshd_conf och se till att följande rader ser ut som följer:

PermitRootLogin no
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
AllowTCPForwarding yes

Att jag har med AllowTCPForwarding yes är helt enkelt för att jag vill kunna tunnla exempelvis RDP-trafik över SSH. Trevligt och smidigt.

Ett tips är att inte öppna detta via port 22 i din brandvägg, vilket är den vanliga porten för SSH. Lägg detta hellre på en port över 1024 och kör en port forward i din brandvägg till port 22 i servern du ska använda som SSH-maskin.

Om du som jag vill ladda upp din sajt via rsync över ssh då? Så här kan det se ut om du scriptar det lite enkelt:

cd /bloggkatalog
jekyll build
rsync -avz -e "ssh -p" /blogg_katalog/site/ användarnamn@server:/path/till/bloggen/</code>

Du kan läsa mer om hur du konfigurerar din SSH-server här!

Lycka till!


2018-10-17

Tack och adjö, Red Hat

Nyheten slog bokstavligen talat ned som en bomb i IT-världen: IBM köper Red Hat. På marknadsföringsspråk heter det att “Red Hat går samman med IBM”, men låt oss inte för ett ögonblick betvivla hur saker och ting egentligen ligger till: IBM ser chansen att växa till en vansinnigt stor spelare inom plattformar för molntjänster och med Red Hat blir de just det - åtminstone just nu. Framtiden får utvisa hur villiga Amazon, Microsoft, Google och Alibaba är att förhandla med stora IBM framför mer hanterliga Red Hat.

Egentligen är ju Red Hat och IBM en matchning som är svårslagen - två tekniktunga företag med tekniktunga kunder som gärna arbetar med virtualisering, lagring, applikationslager och, givetvis, support och annat som de gärna tar bra betalt för. Mitt problem med detta är att IBM traditionellt är ett företag som inte nödvändigtvis varit så bra på att ta hand om de bolag de köpt, eller ens ta hand om sin egna teknik som de byggt upp och utvecklat. Teknik och tjänster som är ganska enkla att arbeta med tenderar att bli oerhört komplexa, trögjobbade och det blir rörigt.

Kort sagt: kan man göra något överdrivet komplicerat och rörigt så kan man räkna med att IBM kommer göra just det. Åtminstone är det så ur ett historiskt perspektiv, och om det är något IBM har gott om så är det historia. Jag återkommer till det lite senare.

Visst, vi kanske inte ska påminna IBM om OS/2 (något som än idag är något av en öm tå för bolaget), eller om hur de tog en gruppvaruplattform i form av Lotus Notes och på några år förvandlade det till en salig röra med stöd för olika operativsystem med en än mer salig röra av tillhörande filer för uppgraderingar, nedgraderingar och annat. Även om du exempelvis körde en Lotus Notes-server på AIX så var du tvungen att installera en Lotus Notes-server på Windows för att kunna åstadkomma en koppling till iPhone 3G, för att ta ett exempel. Varför inte bygga in stöd för ActiveSync direkt i den i Lotus Notes inbyggda webb/applikationsservern, frågar du? Äsch, det vore väl dumt att stödja en industristandard när man kan bygga något eget, onödigt komplicerat, system istället. IBM gav oss Lotus Traveler (numera IBM Traveler), och den var då, och troligen också nu, på pappret en smidig och enkel lösning men i praktiken raka motsatsen.

IBM har säkert fixat det är med pushstöd för iPhone och andra ActiveSync-enheter vid det här laget. Eller inte - detta är ett supportdokument från september i år, och om du som Red Hat-kund funderar på hur din framtid ser ut när det gäller supportdokumentation så rekommenderar jag att du läser det här dokumentet både en och tre gånger så förstår du lite hur IBM fungerar: ActiveSync-anslutningar fungerar inte efter att iOS 12 förändrat hur det autentiserar sig mot servern, i det här fallet IBM Traveler. Istället för att IBM bara fixar problemet med en patch eller liknande (det finns gott om dem så det är ju inte som att IBM inte vet hur man tar fram en patch) så publicerar de först ett dokument som förklarar problemet, som kan läsas så här: “IBM gör saker på ett sätt. iOS 12 gör saker på ett annat sätt. Vi anser att vårt sätt är rätt”. Om du ändå envisas med att vilja få de här grejerna att fungera finns ytterligare ett supportdokument som förklarar hur du löser problemet.

Kanske. Som gammal ärrad Notes/Domino-administratör var det i princip alltid 50/50 att den dokumentation som IBM publicerade faktiskt stämde överrens med verkligheten.

Raden av olika system och applikationer som IBM köpt upp genom åren och sedan döpt till “Tivoli nånting-nånting” är lång och tyvärr kantad med produkter som ena året var det nya heta och ett par år senare glömts bort helt.

IBM behöver Red Hat mer än det motsatta förhållandet. IBM nöjer sig nämligen inte med att bara använda en teknik som redan finns där, exempelvis KVM för virtualisering, man måste äga hela kedjan och antingen bygger man upp det själva, vilket IBM som bekant inte är något vidare på eftersom det, åter igen, alltid blir oerhört komplicerat när IBM ska bygga något, eller så köper man ett bolag eller en produkt som redan listat ut allt och har en fungerande affärsmodell som man, om man heter IBM, kan sätta tänderna i.

Det bästa som kan hända är att IBM låter Red Hat fortsätta arbeta som de gjort nu. Det är nog inte helt sannolikt i mina ögon - istället kommer bolagen arbeta sida vid sida under ett par år och sedan kommer integrationen gradvis att ske tills Red Hat är helt integrerat i IBM, de flesta nyckelpersonerna från Red Hat är borta och vi står där med samma sörja som IBM lyckades förvandla Notes/Domino till efter köpet av Lotus.

När vi nu kan börja förbereda oss på att säga adjö till Red Hat så kan vi, tyvärr, också börja förbereda oss på att säga adjö till CentOS och Fedora. Jag kan se en liten möjlighet att IBM försöker använda Fedora som ett skrivbordsalternativ till Windows men bolaget har redan försökt detta tidigare och det gick verkligen inget vidare då så de har nog gett upp tanken på att erövra skrivbordet en gång för alla.

IBM har över åren faktiskt haft en ganska bra och generös syn på öppen källkod men det finns exempelvis ingen anledning att de ska ge bort ett system som Spacewalk när de istället kan ta betalt för Red Hat Satellite server. IBM måste, och kommer också, att fortsätta publicera källkod de ändrat i enlighet med licensmodellen för Linux men precis som Apple så kommer de om några år inte publicera en gnutta mer än de absolut behöver. Detta kan komma att göra livet väldigt svårt för CentOS som å ena sidan ofta fungerar som en inkörsport för företag till Red Hat:s kommersiella modell - man kör CentOS gratis och inser sen att det vore trevligt med ett supportnummer att ringa när saker går sönder - men det IBM som många av oss känner behöver ingen “inropare” - de är IBM i deras ögon väljer man IBM för att de är IBM och väljer man nåt annat så har man inget förstått. Är jag orättvis att skriva på det sättet?

Kanske - men IBM:s traditioner sitter väldigt hårt i väggarna på det där bolaget. När jag besökte IBM i Kista en gång i tiden pratade man inte om Linux, man pratade inte om Windows och man pratade definitivt inte om OS/2. Tog man upp ett sådant ämne själv så byttes det ämnet raskt ut mot något annat. IBM pratade gärna TSM (Tivoli Storage Manager), AIX, Power-processorn, databasservern DB/2 och en rad andra produkter som de faktiskt var och är duktiga på men IBM skulle åtminstone då aldrig erkänna att de misslyckats. I ärlighetens namn har IBM som alla andra gamla teknikbolag förändrats de senaste åren - mycket av deras affärsmodell har ställts på ända i och med “molnet” men jag, och många med mig, kommer för alltid att förknippa IBM med en stor, grå (eller blå, beroende på vem du frågar) koloss som man aldrig riktigt kan få grepp om. Man ska också ha klart för sig att IBM helst jobbar med företag i samma storlek som de själva - små och medelstora företag är inte nödvändigtvis en perfekt matchning för IBM och det är om något inte särskilt goda nyheter för alla de som kör Red Hat:s Enterprise Linux idag.

När nyheten om IBM:s köp av Red Hat dök upp på min radar så satte jag direkt igång med att titta på alternativen för mina servrar jag driver hemma. Det är trots allt 20-25 virtuella maskiner som körs på CentOS, inget man byter ut i en handvändning direkt. Jag landade i FreeBSD och har redan satt igång med att konvertera mina webbservrar och min lastbalanserare till denna plattform. Kanske är det alldeles för tidigt att agera men jag vill vara förberedd och det borde du också vara.


2018-10-17

Figlet

När man arbetar med ett större antal servrar och sitter och loggar in via SSH så kan man i ett stressat läge inte alltid uppfatta vilken server man loggat in på. Det har hänt mig en och annan gång och efter att en av lyssnarna till min och Fredrik Björemans podcast berättade att han med hjälp av en text-till-ascii-konvertering alltid la in servernamnet i filen /etc/motd, som står för message of the day, vilket traditionellt varit ett enkelt sätt för en systemadministratör att meddela andra användare i ett Unix-baserat system om exempelvis kommande uppdateringar eller andra nyheter som de behöver veta.

/etc/motd är helt textbaserad så man kan i praktiken skicka in vilken information man vill i den texten. I mitt fall vill jag automatisera detta, exempelvis via Ansible och ett script jag kör på nyinstallerade CentOS-servrar som gör en rad saker (sätter mitt lokala repo som det som servern laddar ner paket och uppdateringar från, ställer in min syslog-server, med mera). Via ett program kallat Figlet, som finns i CentOS 7-repot, kan man generera “ascii-logotyper” från vanlig text. I mitt fall vill jag ta hostnamnet på servern men inte dess domännamn och skicka in i /etc/motd genom ett script. Följande enkla kommando löser detta:

figlet ${HOSTNAME%%.*} > /etc/motd

Detta kan givetvis också scriptas så kommandot körs via SSH eller via en kickstart-server om så önskas.

Avslutningsvis: Figlet kan en hel del andra massa roliga saker som jag rekommenderar alla att titta närmare på.

2018-10-03

Du kan aldrig lita på Facebook

Om du är medlem på Facebook, vilket jag inte varit sedan i maj i år av anledningar som snart ska bli uppenbara, så får du säkert mail då och då med information om att någon som du är “vän” med postat en ny bild eller att någon aktivitet. En person i min familj har bett mig att hålla koll på vad denne får via sin e-post emellanåt. Personen är inte särskilt datorvan och blir då och då utsatt för olika former av försök till bedrägerier, så när jag såg via ett notiferingsmail att personen i fråga blivit taggad i en bild så reagerade jag, mycket beroende på att jag vet att personen i min närhet inte känner personen som satt taggen.

Jag blockerar alla såna typer av mail till personen i min närhet i mitt spamfilter så jag kan gå in och titta på innehållet i mailet. Innehållet i mailet är givetvis sminkat med diverse HTML men kikar man på koden till det så innehåller det ett antal HTML-länkar till Facebook, den ena går direkt till postningen där bilden finns och den andra går till en inloggning hos Facebook. Inga konstigheter, eller hur?

Problemet är bara att om man klickar på länken för att titta på bilden så loggas man in på personens konto, utan att behöva ange varesig inloggningsnamn, e-postadress eller lösenord. Jag har verifierat detta dels på en dator som jag använt i flera år men också på en dator som jag installerade häromdagen, där personen i min närhet aldrig har haft en möjlighet att logga in. Eftersom min gamla dator kör macOS och min nyinstallerade dator kör Linux finns ingen som helst lösenordssynkronisering mellan de två så det finns ingen som helst möjlighet att jag har kommit in via ett lösenord som lagrats någonstans.

Väl inloggad på personens Facebook-konto kan jag sedan klicka runt, läsa meddelanden (både privata och publika), skicka privata meddelanden och och titta på inställningar. Kan man ändra personens lösenord hos Facebook? Jag har inte testat, och jag tänker inte göra det heller - att komma in på det här sättet är allvarligt nog. Jag har med en annan familjemedlems välsignelse testat samma sak med samma typ av e-postnotifieringar som denne också fått från Facebook och det fungerar även med den personens konto.

Är du det minsta rädd om din personliga säkerhet och envisas med att fortsätta använda Facebook är det min kraftfullaste rekommendation att du slår av alla former av e-postnotifieringar för ditt Facebook-konto. Det är inte svårt att hacka sig in i någons e-post och via den vägen komma åt den här typen av meddelanden.

Det värsta av allt? Facebook har varnades om detta redan för två år sedan.

Jag har givetvis ändå varit en duktig nätanvändare och rapporterat detta till Facebooks säkerhetsteam men har inte fått någon som helst respons varför jag anser att det är fritt fram att publicera detta.


2018-09-30

Äppleallergi

Så hände det då till slut.

Bilden ovan visar mitt hemmakontor (eller en del av det åtminstone). Till vänster i bild, bredvid en bunt Amiga-datorer som inte syns i bild, är min 15-tums Macbook Pro från 2015. Den bästa laptop som någonsin gjorts, och med största sannolikhet den bästa dator jag någonsin ägt. Fram tills i år har den, och alla mina tidigare Mac-datorer (de har varit många genom åren) kört det i mitt tycke bästa operativsystemet på planeten: Mac OS X, senare macOS. I år hände dock något som inte ens jag kunnat förutse, även om jag liksom nosat på det genom åren.

Jag dumpade min Mac.

Nästan.

Givetvis finns min Mac kvar. Jag behöver den för att spela in podcasts, redigera någon bild ibland eller mecka med andra saker där jag inte kan eller vill använda ersättaren till min Mac som min primära datorplattform.

Men jag går händelserna i förväg.

Runt år 2001 upptäckte jag ett operativsystem som hette Mac OS X. Jag hade skaffat mig en PowerBook G3 och installerat den första version jag fick tag i, version 10.1 tror jag det var. Även om datorn i fråga inte alls gjorde mig överdrivet glad, förutom att den var snygg att titta på, så var operativsystemet dynamit. Det var en befrielse för mig som hoppat runt mellan OS/2, OPENSTEP och BeOS innan jag till slut fann plattformen som skulle förändra mitt liv. Jag har Mac OS X och Apple att tacka för delar av min karriär och på många sätt också mitt mentala välbefinnande - att tvingas köra Windows i nästan 20 år hade nog knäckt mig fullständigt.

När Apple släppte version 10.6 av Mac OS X så kallades den “Snow Leopard”. Det var på något sätt den ultimata versionen av Mac OS X från den tiden, version som främst innehöll buggfixar snarare än nya, flashiga funktioner gjorde att Mac OS X 10.6 blev operativsystemets Camelot, Nirvana eller vad som helst. Många menar än idag att det aldrig blev bättre än så, och jag är beredd att hålla med dem för efter version 10.6 så gjorde Apple en Apple, de kastade ut en massa saker och ersatte dessa med nya saker som varken var klara eller särskilt genomtänkta egentligen. Man borde ha anat att det skulle gå åt skogen redan när man såg att namnet på operativsystemet inte längre var Mac OS X. Det var OS X, som att datorplattformen inte spelade någon roll längre.

Efter version 10.7 så blev det sakta bättre igen. Sakta men säkert så började Apple få ordning på det som de orsakat sig själva och oss användare och när vi landade i version 10.10 av operativsystemet så var det hyfsat frid och fröjd igen. Under åren har Apple ägnat sig åt vad jag kallar för en snuttifiering av Mac OS X, eller macOS som det heter nu för tiden. Det har blivit mindre Unix och mer iPad, om ni förstår vad jag menar. Det enda som finns kvar i form av en påminnelse om att det faktisk är en form av Unix som körs på varje Mac är det faktum att vi har en terminal att starta, men det är med nöd och näppe som den finns kvar känns det som ibland.

Ändå har jag hållit fast vid plattformen alla dessa år. Jag har varit och nosat på både Windows 10 och Linux mer en gång och under en tid för ett par år sedan hade jag inte ens en Mac själv. Jag lät mig för en stund bli ideologiskt vilsen när jag insåg att jag var så oerhört trött på Apple och deras eviga mässande om sig själva och hur de gång efter annan ljög oss kunder rakt upp i ansiktet om hur de uppfunnit något när de i själva verket antingen köpt företaget som faktiskt utvecklat den nya vad-det-nu-var, eller så hade Apple helt sonika bara kopierat någon annan på marknaden som inte sällan fick se sin egna mjukvara eller idé vittra bort och dö inte långt efter att Apple slagit av sina kopieringsmaskiner. Den som minns Konfabulator minns säkert hur den gjorde att man kunde ha något som kallades för Widgets på skrivbordet - små miniprogram som kunde visa lite allt möjligt. Inte överdrivet nödvändigt men läckert och snyggt. Sen släppte Apple en ny version av Mac OS X och vips så fanns det något de kallade för “Widgets”, vilket var en rak kopia av Konfabulators funktioner. Konfabulator kostade pengar, Widgets ingick i Mac OS X och var därmed “gratis”.

Konfabulator såldes till AOL eller något annat bolag och försvann inte långt därefter. Under några år var Widgets väldigt hett inom Apple och därmed också i Mac OS X. Numera finns de kvar men de underhålls inte och det är tveksamt om någon bryr sig. För Apple spelar det ingen roll - de krossade ett litet mjukvarubolag för att ha något hett och nytt att lägga in i ett operativsystem, och några år senare är det som att det inte spelar någon roll.

Det var sånt som gjorde att jag ledsnade på Apple, bland annat. Men jag höll fast vid plattformen, köpte en iPhone X och en iPad till. Men det fick räcka så på något sätt. Jag slutade upp med att slaviskt titta på alla keynotes, läsa artiklar och följa bolaget så tätt som jag gjort under över tio år. Kort därefter sålde jag min blogg Macpro - jag hade mjölkat ut det sista jag hade i form av något som helst intresse eller entusiasm över Apple som företag eller Mac som plattform. Jag fortsatte använda plattformen dag ut och dag in men det blev som användare, inte entusiast.

Den sista droppen som fick bägaren att rinna över var något så löjlig som en liten teknisk detalj i macOS 10.14, även kallad “Mojave”. I tidigare versioner har Apple i princip fått ägna sig åt att böja och bända tid och rum för att få typsnitt att se bra ut även på skärmar som inte är av så-kallad Retina-typ, det vill säga exempelvis vanliga 1920x1200 pixlars HD-skärmar. Jag råkade ha två sådana som båda var anslutna till min Macbook Pro, en konfiguration som tjänat mig väl under många år nu. Skärmarna är inget märkvärdigt i sig - två enkla skärmar från Dell men de gjorde jobbet och av någon anledning tyckte mina ögon om dem. I macOS 10.14 “Mojave” har Apple tagit bort den ohemult komplicerade och jobbiga utjämningen av typsnitt och ersatt denna med något enklare, en kompromiss kan man kalla det. På Apples egna datorer med Retina-skärmar ser allt guld och godis ut men på externa skärmar ser det ut som den raka motsatsen till guld och godis.

Lösningen är att antingen köpa en ny dator för dyra pengar, köpa en ny extern skärm som klarar minst 4K upplösning, eller göra vad jag gjort: ansluta mina två skärmar till en PC istället och slutligen ta det steg som jag funderat på, pratat om och skrivit om i över ett år nu: att gå över till Linux.

Det du läser nu är skrivet på Linux, i en textredigerare som heter Atom. Jag valde att installera en distribution vid namn Fedora som i skrivande stund är uppe i version 28. Under vintern och våren 2018 höll jag på och hoppade fram och tillbaka mellan Mac och Linux som operativsystem för skrivbordsbruk men i och med att Apple nu bestämde sig för att låtsas om som att de inte vet att de faktiskt fortfarande säljer nya datorer med skärmar som inte uppfyller grundkravet för att kunna visa text på ett korrekt sätt i den senaste versionen av företagets operativsystem så var detta den sista droppen för mig.

Efter att ha ledsnat på att iOS blivit plottrigt och eländigt men ändå inte funnit något som var bättre i varken Windows Phone eller Android så blev det iOS och en iPhone X ändå. När det gäller datorer är jag inte fullt lika bunden vid att allt ska vara perfekt - jag klarar mig med en webbläsare, en bra textredigerare, terminalen, Slack, Discord, Skype och Dropbox, sen spelar det ingen roll om det är Windows 10 eller Linux jag kör på min dator. Vem vet - jag kanske skulle överleva med en Chromebook i framtiden, om det inte vore det för det faktum att jag inte är överdrivet förtjust i Google.

Min Macbook Pro får leva till den dag då den inte lever längre. Sedan blir det ingen ny Mac för mig - de är för dyra och har i mitt tycke fel fokus.

Dude - I’m getting a Dell.


2018-09-17

Vad Linux behöver för att lyckas på skrivbordet

Det har skrivits åtskilliga analyser om varför Linux (ännu) inte lyckats på på “skrivbordet”, det vill säga - i skrivbordsdatorer, laptops och liknande.

De flesta analyser jag läst inom området fokuserar på det tekniska, exempelvis ur denna bloggpost av Miguel de Icaza från slutet på augusti 2012:

In my opinion, the problem with Linux on the Desktop is rooted in the developer culture that was created around it.

Linus, despite being a low-level kernel guy, set the tone for our community years ago when he dismissed binary compatibility for device drivers. The kernel people might have some valid reasons for it, and might have forced the industry to play by their rules, but the Desktop people did not have the power that the kernel people did. But we did keep the attitude.

The attitude of our community was one of engineering excellence: we do not want deprecated code in our source trees, we do not want to keep broken designs around, we want pure and beautiful designs and we want to eliminate all traces of bad or poorly implemented ideas from our source code trees.

And we did.

We deprecated APIs, because there was a better way. We removed functionality because “that approach is broken”, for degrees of broken from “it is a security hole” all the way to “it does not conform to the new style we are using”.

We replaced core subsystems in the operating system, with poor transitions paths. We introduced compatibility layers that were not really compatible, nor were they maintained. When faced with “this does not work”, the community response was usually “you are doing it wrong”.

Tekniken var det som “dödade” Linux på skrivbordet, inget annat. Det var åtminstone lärdomen som de Icaza drog för sex år sedan. Inget konstigt med det egentligen - Apple var 11-12 år in i det som numera heter macOS men på den tiden hette Mac OS X, en Unix på skrivbordet som inte bara var vacker utan också var så bra så den attraherade över Linuxhackers och utvecklare från alla läger. Problemet med det sätt Linuxutvecklarna hade arbetat utifrån, enligt de Icaza, låg i bristen på bakåtkompatiblitet, i hur Linux och dess grafiska användarmiljöer hanterade äldre versioner av såväl applikationer som bibliotek och andra funktioner i operativsystemet.

När vi sakta men säkert närmar oss slutet på 2018 så kan jag rapportera att saker och ting ser ljusare ut. Nyckeln till detta heter i mitt tycke inte förbättrad bakåtkompatiblitet, vassare utvecklingsverktyg eller snyggare källkod. Nej, nyckeln stavas standardisering. Efter att en rad olika fönsterhanterare kommit och gått så har vi i dagsläget endast två stora som fajtas om användarna: Gnome och KDE. Försöket med Unity blev tyvärr en flopp men det var ett allvarligt försök att ta fram en grafisk användarmiljö som kunde, i brist på bättre ordvitsar, förena dem alla och försöka skapa en standard. Ordet standard är nyckeln här, för om det är något som grafiska användarmiljöer i Linux har saknat i alla år så är det ju en standard - en guide, ett ramverk. Med andra ord, precis det som Apple haft för MacOS och senare Mac OS X och macOS, det vill säga: HIG. Human Interface Guidelines - Apples minst sagt stränga instruktioner, eller i praktiken regelverk, om hur en applikation i macOS ska se ut, uppföra sig och vilka funktioner som hamnar var.

Det är tack vare HIG som alla applikationer på en Mac har nästintill identiska menyer vilket gör att det är lätt att hitta i en applikation du kanske aldrig använt tidigare. Om du använt Microsoft Windows så har du säkert slagits över hur vissa applikationer ser ut som något katten släpat in, även om samma applikation är 100 procent certifierad för att fungera på Windows 10. Anledningen är enkel - Microsoft har visserligen riktlinjer för hur en applikation ska se ut när man installerar den i Windows 10 men de är inte på något sätt tvingande och har aldrig varit det heller varför många applikationer under Windows alltid sett ut som det där katten släpat in - användarna har aldrig behövt bry sig så varför börja nu?

Med de senaste versionerna av Gnome som jag kört så tycker jag mig se försökt till att standardisera saker och ting. Det finns en applikationsbutik och de inställningar man kan göra i Gnome för exempelvis e-postkonton används faktiskt av vissa applikationer i systemet. Många applikationer ser fortfarande ut som de släpats genom en köttkvarn och sen tejpats ihop med gaffatejp men saker och ting blir faktiskt bättre. Sakta men säkert, som det brukar heta.

För att Linux verkligen ska bli framgångsrikt på skrivbordet måste man ta bort de valmöjligheter som många har idag. Inget mer KDE, inget i3, inget Xfce, och så vidare, utan bara en enda standard: Gnome. Ska Linux lyckas på skrivbordet kan det inte finnas 40-50 olika fönsterhanterare - det är en valmöjlighet som endast skadeskjuter Linux skrivbordsambitioner ytterligare.

Linuxvärlden måste helt enkelt bli mer som Apple - mindre valfrihet och mer diktatoriskt. Om Linuxvärlden sedan anser att det är ett rimligt offer att göra för att få en bättre och mer hållbar grafisk skrivbordsmiljö med Linux under skalet återstår väl att se men jag tror inte Linuxfolket kommer vilja gå den vägen, och en del av mig är tacksam för det.


2018-09-16

Proxmox-kluster med Fibre Channel

Kommer man från en virtualiseringsplattform som bestått av VMware ESXi, Hyper-V och liknande kommersiella plattformar så är det sällan ett problem att bygga ett virtualiseringskluster med delad lagring som innefattar Fibre Channel. iSCSI och NFS är överlag inte ett problem med Proxmox men Fibre Channel kan innebära större utmaningar än det rimligen borde vara.

Nyckeln till att få det hela att fungera är egentligen flera dito. Under VMware ESXi kan man exempelvis bara lägga till ett Fibre Channel-LUN på alla servrar som ska hantera virtuella maskiner och sen löser sig resten automatiskt. Har du endast en enda Proxmox-server kan du helt enkelt formattera enheten som vilken hårddisk som helst och sen lägga till den i Proxmox, men har du flera servrar som ska agera i ett kluster med failover-funktion krävs det lite mer. Denna guide förutsätter att du redan satt upp ditt kluster med allt vad det innebär.

Det finns ett stort aber med att köra den här typen av lagring i Proxmox. Till skillnad från NFS så tycks Proxmox åtminstone med mitt lätt uråldriga SAN (E610F från Promise) inte klara av att låta flera medlemmar i ett kluster komma åt och använda Fibre Channel SAN:et samtidigt via Fibre Channel. Istället är det en av medlemmarna i klustret som jobbar mot ett LUN i SAN:et via Fibre Channel och sedan delar ut detta LUN till andra medlemmar i klustret. Det finns ett stort aber i detta sammanhang och det är att utdelningen inte sker via Fibre Channel utan via ethernet, antingen i form av ett bond eller en enstaka länk. Det är viktigt att komma ihåg detta eftersom prestandan mot Fibre Channel LUN:et för de andra medlemmarna i klustret inte kommer bli optimal, men det fungerar åtminstone hjälpligt. En kommersiell virtualiseringsplattform som tidigare nämnda VMware ESXi klarar av detta utan omsvep och det hade onekligen varit önskvärt om Proxmox gjorde det samma. Jag har ännu inte testat kombinationen Proxmox och iSCSI men jag misstänker att det fungerar på samma sätt som med Fibre Channel om man har ett kluster.

Under Proxmox måste man först och främst skapa en volym med LVM på den enhet som ditt FC-lun presenterar för dig.

sgdisk -N 1 /dev/sdXX

Därefter är det dags att göra iordning LUN:et för LVM:

pvcreate –metadatasize 250k -y -ff /dev/sdXX

Slutligen är det dags att skapa den logiska volymen i LVM:

lvcreate –name namn –size XXXXG namn

Exempelvis skapade jag en volym på 4,6 terabyte med namnet vmdata01 i volymgruppen vmdata:

lvcreate –name vmdata01 –size 4600G vmdata

I det här läget är det för det mesta inga problem att lägga till volymen i Proxmox-klustret i det här läget men det finns två saker som återstår för att detta ska fungera.

Det första är att installera multipath-funktionaliteten:

apt-get install multipath-tools -y

Därefter startar du det hela och kollar om topologin för multipath ser bra ut:

multipath -ll

Om din volym inte syns i klustret eller inte kan läggas till får du göra det manuellt:

pvesm add lvm vmdata01 –vgname vmdata01

Det sista du kan behöva göra är att starta om den eller de servrar i klustret som är anslutna till ditt SAN via Fibre Channel.

Efter detta borde du kunna migrera virtuella gäster mellan dina servrar i klustret utan problem.


2018-08-15

Välkommen till Unixpro

Unix. Ett laddat ord med en lång historia där allt från män med korrekt skäggväxt till hackers, programmerare och systemadministratörer i alla åldrar ägnat årtionden åt att upptäcka, lära och bemästra en operativsystemsfilosofi som, om sanningen ska fram, är väldigt vänlig även om Unix, som det berömda talesättet stipulerar, är en aning petig med vem dess vänner egentligen är.

Unixpro är bloggen för dig som använder någon form av Unix eller Linux. Med Unix avses allt från FreeBSD, OpenBSD, macOS, Solaris, AIX, Irix eller annan variant som helt eller delvis bygger på Unix och till Linux där Unixpro företrädesvis skriver om CentOS, Ubuntu och Alpine. Unixpro avhandlar inte bara dessa operativsystem utan också vad du kan göra med dem i form av applikationer och lösningar som virtualisering och lagring.

Unixpro kom till efter att sajtens skapare under 14 år skrev och publicerade bloggen Macpro, vars mer proffsinriktade kostym blev allt snävare i takt med att Apple övergick till att satsa mer på mobila produkter och istället för att bevara det som gjorde Mac OS X, senare macOS, unikt övergick till att snuttifiera plattformen allt mer. Unixpro kommer ändå att skriva om macOS då den har tydliga arv från BSD-världen under skalet och för att man, emellanåt, faktiskt kan göra intressanta saker med denna plattform.

Unixpro kommer företrädesvis också avhandla mobila plattformar som Android och iOS och varianter av det senare som tvOS och watchOS.

Innehållet på Unixpro kommer vara allt från nyheter till guider, tips och tricks. Förhoppningsvis hittar du något här som du gillar.

Varmt välkommen!