Pakethantering i FreeBSD
FreeBSD använder både något som heter portar och något som heter
paket. Paket är färdigkompilerade binärer av program, likt de
pakethanteringsverktyg som finns för de flesta Linuxdistributioner. Portar
däremot är en uppsättning Makefiles anpassade för att programmet ska gå att
kompilera smärtfritt under FreeBSD. Portar måste alltså kompileras för att
installeras. Det som gör att portarna i FreeBSD är så populära trots att de
måste kompileras är att de går att anpassa efter eget behov, precis som om du
laddade ner källkoden själv och kompilerade paketet. Skillnaden här är att det
är mycket enklare. När du gör en make install clean
i en port får du upp en
dialogruta där du enkelt bockar för eller bockar av de val du vill göra innan
kompileringen. En annan fördel med portarna är att det finns något fler portar
än paket, och ibland också i nyare versioner.
Fördelen med paketen däremot är att dessa är färdigkompilerade, vilket gör att dessa går mycket fortare att installera. Kan du tänka dig tiden det skulle ta att kompilera hela Xorg tillsammans med hela KDE exempelvis? Detta slipper man med paket.
I tidiga versioner av FreeBSD kunde det vara problematiskt att blanda portar och paket, men i nyare versioner av FreeBSD är detta problemet något mindre. Man bör dock fortfarande undvika att blanda portar och paket allt för mycket.
Själv använder jag endast portar när jag verkligen behöver modifiera standardkonfigurationen i något program. Därefter låser jag paketet så att det inte uppdateras av det vanliga pakethanteringssystemet med standardinställningar.
Lägg märke till att jag här sa att jag låser paketet. Det är nämligen så att systemet i sig inte gör någon som helst skillnad på om ett program är installerat som ett paket eller som en port. När en port har kompilerats klart och ska installeras, kommer denna att installeras som ett paket i systemet. Fördelen med detta är att vi kan använda samma verktyg för att hålla kolla på både portar och paket. Nackdelen är att paket kan uppdatera eller installera om portar där vi har gjort specifika val, eller att det finns nyare versioner av några program som portar, men som vi installerat som paket och vill behålla som paket. Väljer vi då att uppdatera alla portar, kommer även alla utgångna paket att uppdateras med portarna istället.
En annan fördel med att systemet inte gör någon skillnad på portar och paket är att en port använder både paket och portar för uppfylla beroenden, likaså gäller för paket.
Det finns därför lite olika sätt att hantera mjukvaran i ett FreeBSD-system. Inget sätt är helt rätt eller helt fel, utan det tillvägagångssätt som jag går igenom här är helt mina egna preferenser som jag tycker fungerar bra.
Paketsystemet
I 95% av fallen installerar jag mjukvara i FreeBSD med hjälp av
pakethanteringssystemet pkg
. Anledningen är att det är snabbare och enklare,
och det passar mig utmärkt.
Första gången du använder pkg
-kommandot får upp en fråga ifall du vill använda
det det nya paketsystemet (pkg-ng för new generation), svara ja på den
frågan. Det nya pkg
är mycket bättre än de gamla pkg_add
, pkg_remove
och
så vidare.
Hitta och installera paket
För att hitta den mjukvara du vill installera kan du söka bland paketen med pkg
search
. I nedanstående exempel söker jag efter emacs.
root@beastie:~ # pkg search emacs
apel-emacs25-10.8_12 Portable Emacs Library
auctex-emacs25-11.90 Integrated environment for writing LaTeX using GNU Emacs
bbdb-emacs25-2.35_10 Big Brother Database
c-sig-emacs25-3.8_16 Signature insertion tool for Emacs
dictem-emacs25-1.0.4_2 DictEm is a dict client for [X]Emacs
dictionary-emacs25-1.8.7_17 Dictionary client for Emacs
emacs-devel-26.0.50.20170324,2 GNU editing macros
emacs-koi8u-1.0 KOI8-U coding system for [X]Emacs
emacs-lisp-intro-2.04 Introduction to Emacs Lisp programming
emacs-nox11-25.1,3 GNU editing macros
emacs-w3m-emacs25-1.4.567.b.20160924 Simple front-end to w3m for emacs
emacs-wiki-emacs25-2.72_7 Create and use hyperlinks and simple formatting in plain text files
emacs25-25.1,3 GNU editing macros
...
Listan över paket är mycket längre än exemplet ovan, men på sista raden i
ovanstående exempel hittade jag paketet jag var intresserad utav, nämligen
emacs25-25.1,3. Jag installerar paketet med pkg install
:
root@beastie:~ # pkg install emacs25
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 16 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
emacs25: 25.1,3
libotf: 0.9.13_2
ImageMagick: 6.9.6.4_2,1
ghostscript9-agpl-x11: 9.16_2
ghostscript9-agpl-base: 9.16_5
gsfonts: 8.11_8
svgalib: 1.4.3_7
jbig2dec: 0.13
fftw3: 3.3.6.p1_1
libwmf: 0.2.8.4_15
liblqr-1: 0.4.2
libfpx: 1.3.1.4_1
pkgconf: 1.3.0,1
m17n-lib: 1.7.0_2
m17n-db: 1.7.0
fribidi: 0.19.7
Number of packages to be installed: 16
The process will require 213 MiB more space.
Proceed with this action? [y/N]:
Här listas alla paket som kommer att installeras som beroenden samt hur mycket utrymme allting kommer att ta på disken. Jag svarar ja (y) på frågan ovan och installationen startar.
Proceed with this action? [y/N]: y
[1/16] Installing gsfonts-8.11_8...
[1/16] Extracting gsfonts-8.11_8: 100%
[2/16] Installing svgalib-1.4.3_7...
[2/16] Extracting svgalib-1.4.3_7: 100%
[3/16] Installing jbig2dec-0.13...
[3/16] Extracting jbig2dec-0.13: 100%
[4/16] Installing ghostscript9-agpl-base-9.16_5...
[4/16] Extracting ghostscript9-agpl-base-9.16_5: 100%
[5/16] Installing libotf-0.9.13_2...
[5/16] Extracting libotf-0.9.13_2: 100%
[6/16] Installing ghostscript9-agpl-x11-9.16_2...
[6/16] Extracting ghostscript9-agpl-x11-9.16_2: 100%
[7/16] Installing fftw3-3.3.6.p1_1...
[7/16] Extracting fftw3-3.3.6.p1_1: 100%
[8/16] Installing libwmf-0.2.8.4_15...
[8/16] Extracting libwmf-0.2.8.4_15: 100%
[9/16] Installing liblqr-1-0.4.2...
[9/16] Extracting liblqr-1-0.4.2: 100%
[10/16] Installing libfpx-1.3.1.4_1...
[10/16] Extracting libfpx-1.3.1.4_1: 100%
[11/16] Installing pkgconf-1.3.0,1...
[11/16] Extracting pkgconf-1.3.0,1: 100%
[12/16] Installing m17n-db-1.7.0...
[12/16] Extracting m17n-db-1.7.0: 100%
[13/16] Installing fribidi-0.19.7...
[13/16] Extracting fribidi-0.19.7: 100%
[14/16] Installing ImageMagick-6.9.6.4_2,1...
[14/16] Extracting ImageMagick-6.9.6.4_2,1: 100%
[15/16] Installing m17n-lib-1.7.0_2...
[15/16] Extracting m17n-lib-1.7.0_2: 100%
[16/16] Installing emacs25-25.1,3...
[16/16] Extracting emacs25-25.1,3: 100%
Message from ghostscript9-agpl-base-9.16_5:
Note: in order to use the script "dvipdf", dvips must be installed.
This program is provided by another package print/tex-dvipsk.
FAPIfontmap and FAPIcidfmap in /usr/local/share/ghostscript/9.16/Resource/Init
have to be configured if you want to use FAPI feature.
Message from liblqr-1-0.4.2:
==========================================================================
NOTE: In order to compile examples for liblqr, you will
also need pngwriter port (/usr/ports/graphics/pngwriter).
Examples are located in /usr/local/share/examples/liblqr-1
==========================================================================
Hela installationen tog runt 30 sekunder på en 100 mbit/s-uppkoppling.
Radera installerade paket
För att radera ett paket från systemet används pkg remove
. Nedan raderar jag
emacs från min dator igen.
root@beastie:~ # pkg remove emacs25
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
emacs25-25.1,3
Number of packages to be removed: 1
The operation will free 113 MiB.
Proceed with deinstalling packages? [y/N]:
Jag svarar ja på frågan och avinstallationen påbörjas.
Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling emacs25-25.1,3...
[1/1] Deleting files for emacs25-25.1,3: 100%
Men vi är faktiskt inte klara än. Emacs var ju beroende av en massa andra
paket. Dessa avinstalleras med pkg autoremove
.
root@beastie:~ # pkg autoremove
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 15 packages:
Installed packages to be REMOVED:
ImageMagick-6.9.6.4_2,1
fftw3-3.3.6.p1_1
m17n-lib-1.7.0_2
fribidi-0.19.7
ghostscript9-agpl-x11-9.16_2
ghostscript9-agpl-base-9.16_5
gsfonts-8.11_8
jbig2dec-0.13
libfpx-1.3.1.4_1
liblqr-1-0.4.2
libotf-0.9.13_2
libwmf-0.2.8.4_15
m17n-db-1.7.0
pkgconf-1.3.0,1
svgalib-1.4.3_7
Number of packages to be removed: 15
The operation will free 100 MiB.
Proceed with deinstalling packages? [y/N]:
Här svarar jag ja på frågan igen och alla beroende (som andra paket inte är beroenden av) tas bort från systemet.
Uppdatera installerade paket
För att uppgradera installerade paket kör man två kommandon, först pkg update
för att uppdatera listan över alla nya paket, och sedan pkg upgrade
för att
faktiskt uppgradera installerade paket.
Just nu på min dator finns inga uppdateringar tillgängliga.
root@beastie:/home/jake # pkg update
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
root@beastie:/home/jake # pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (362 candidates): 100%
Processing candidates (362 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
Om det hade funnits uppdateringar tillgängliga hade jag fått frågan om jag vill uppdatera paketen, och då svarar jag bara y som vanligt.
Information om installerade paket
För att få en lista över alla installerade paket (inklusive portar) används
kommandot pkg info
. Nu listas alla installerade paket tillsammans med en
beskrivning av paketet. Ett utdrag från min egna dator visas här nedanför.
...
gtk-xfce-engine-3.2.0 Xfce GTK2 theme engine
gtk2-2.24.29_3 Gimp Toolkit for X11 GUI (previous stable version)
gtk3-3.18.8_4 Gimp Toolkit for X11 GUI (current stable version)
gtksourceview2-2.10.5_5 Widget that adds syntax highlighting to GtkTextView
gvfs-1.26.3_4 GNOME virtual file system
hal-0.5.14_31 Hardware Abstraction Layer for simplifying device access
harfbuzz-1.4.6 OpenType text shaping engine
hicolor-icon-theme-0.15 High-color icon theme shell from the FreeDesktop project
hunspell-1.6.1 Improved spell-checker for Hungarian and other languages
iceauth-1.0.7 ICE authority file utility for X
...
Vill du ha information om ett specifikt paket kan du få detta med kommandot pkg
info paketnamn
, exempelvis pkg info tmux
.
root@beastie:/home/jake # pkg info tmux
tmux-2.3_2
Name : tmux
Version : 2.3_2
Installed on : Mon Jun 19 00:20:22 2017 CEST
Origin : sysutils/tmux
Architecture : FreeBSD:10:amd64
Prefix : /usr/local
Categories : sysutils
Licenses : ISCL
Maintainer : mat@FreeBSD.org
WWW : http://tmux.github.io/
Comment : Terminal Multiplexer
Options :
BACKSPACE : off
DOCS : on
EXAMPLES : on
LIBEVENT_STATIC: off
Shared Libs required:
libevent-2.1.so.6
Annotations :
repo_type : binary
repository : FreeBSD
Flat size : 611KiB
Description :
Tmux is a terminal multiplexer, it enables a number of terminals to be accessed
and controlled from a single terminal. tmux is intended to be a simple, modern,
BSD-licensed alternative to programs such as GNU screen.
WWW: http://tmux.github.io/
För att få en lista med alla paketens versioner tillsammans med information om
det finns nyare versioner tillgängliga görs detta med pkg version -R
. Paket
märkta med ett “<”-tecken har en nyare version tillgänglig i paket
repon. Observera argumentet -R
. Detta talar om att endast kontrollera om det
finns en nyare version i just paket repon. Om vi utesluter -R
kommer
versionerna istället att jämföras mot ports-trädet, om detta finns
installerat. I mitt fall finns det just det, och i ports-trädet finns det nyare
versioner. Men eftersom jag inte vill blanda in portar bland mina paket här och
nu så struntar jag i detta. Jämför nedan de två körningarna med pkg version -R
mot pkg version
root@beastie:/home/jake # pkg version -R
...
xorg-7.7_2 =
xorg-apps-7.7_2 =
xorg-docs-1.7.1,1 =
xorg-drivers-7.7_5 =
xorg-fonts-7.7_1 =
xorg-fonts-100dpi-7.7 =
xorg-fonts-75dpi-7.7 =
xorg-fonts-cyrillic-7.7 =
xorg-fonts-miscbitmaps-7.7 =
xorg-fonts-truetype-7.7_1 =
xorg-fonts-type1-7.7 =
xorg-libraries-7.7_2 =
xorg-server-1.18.4,1 =
xpr-1.0.4 =
xprop-1.2.2 =
xproto-7.0.31 =
xrandr-1.5.0 =
xrdb-1.1.0 =
xrefresh-1.0.5 =
xset-1.2.3_1 =
xsetmode-1.0.0 =
xsetroot-1.1.1 =
xterm-327 =
xtrans-1.3.5 =
xvinfo-1.1.3 =
xwd-1.0.6 =
xwininfo-1.1.3_2 =
xwud-1.0.4 =
root@beastie:/home/jake # pkg version
...
xorg-7.7_2 <
xorg-apps-7.7_2 =
xorg-docs-1.7.1,1 =
xorg-drivers-7.7_5 =
xorg-fonts-7.7_1 =
xorg-fonts-100dpi-7.7 =
xorg-fonts-75dpi-7.7 =
xorg-fonts-cyrillic-7.7 =
xorg-fonts-miscbitmaps-7.7 =
xorg-fonts-truetype-7.7_1 =
xorg-fonts-type1-7.7 =
xorg-libraries-7.7_2 =
xorg-server-1.18.4,1 <
xpr-1.0.4 =
xprop-1.2.2 =
xproto-7.0.31 =
xrandr-1.5.0 =
xrdb-1.1.0 =
xrefresh-1.0.5 =
xset-1.2.3_1 =
xsetmode-1.0.0 =
xsetroot-1.1.1 =
xterm-327 <
xtrans-1.3.5 =
xvinfo-1.1.3 =
xwd-1.0.6 =
xwininfo-1.1.3_2 =
xwud-1.0.4 =
Olika grenar i portsträdet och paket-repon
Anledningen till att det finns så många portar som har nyare versioner än paketen är för att från och med FreeBSD 10.2 används repon quarterly som standard istället för latest. Detta har man gjort för att göra paketen mer stabila. Quarterly släpper uppdateringar varje kvartal, bortsett från säkerhetsuppdateringar som släpps så fort de finns tillgängliga. Det går bra att byta till latest om man vill det, men dock måste man då komma ihåg att ominstallera ALLA paket för att undvika versionskrockar. Instruktioner om hur man byter till latest finns i filen /etc/pkg/FreeBSD.conf.
Det andra alternativet är att följa quarterly även för ports-trädet. Detta kräver dock lite mer manuellt arbete varje gång man vill uppdatera ports-trädet, men å andra sidan får man förhoppningsvis ett mer stabilt system. Valet är upp till dig, och beror på om man vill ha bleeding-edge mjukvara eller ett stabilt system. För desktops känner jag mig bekväm med latest men på servrar vill jag gärna vara på den säkra sidan med quarterly.
Att följa quarterly för ports-trädet var inte lika enkelt eftersom FreeBSD’s
egna verktyg portsnap
alltid följer latest. Men för den som är intresserad
hittade jag mycket bra script,
portsfetch.sh
som gör att man smidigt kan följa quarterly ports-trädet.
Så länge vi följer samma gren, antingen latest eller quarterly, för både paket och portar, så kan vi mixa portar och paket i vårt system. Jag undviker det dock själv, men ibland behöver jag installera en port istället för ett paket. Ett exempel på detta är nVidida-drivrutinen som jag alltid installerar från ports-trädet för att välja bort “Linux compability support”.
Portar
Så som jag använder portsträdet och paketsystemet, det vill säga att jag följer quarterly för båda två rekommenderar jag dig att hämta hem och hålla portsträdet uppdaterat med scriptet från länken ovanför (portsfetch.sh).
Börja med att hämta hem portsträdet genom att spara ner scriptet i exempelvis
/usr/sbin/portsfetch.sh och göra filen körbar med chmod +x
/usr/sbin/portsfetch.sh
. Om du inte redan har portsträdet installerat måste du
skapa katalogen /usr/ports först. Kör sedan kommandot portsfetch.sh
och
portsträdet hämtas hem.
Hålla portstädet uppdaterat
För att hålla portsträdet uppdaterat med den senaste quarterly grenen körs
bara scriptet portsfetch.sh
igen. Alla uppdateringar hämtas då hem automatiskt
över SVN. Om du istället vill följa latest rekommenderar jag dig att istället
använda FreeBSD’s egna portsnap. Mer information om portsnap finns i
kapiel 4.5 i FreeBSD manualen.
Söka efter en port
Gå till /usr/ports för att söka efter en specifik port. För att söka efter
till exempel programmet lsof
skriver du make search lsof
. Har du aldrig kört
make search
förut får du mest troligen upp ett felmeddelande nu, precis som
jag fick.
root@beastie:~ # cd /usr/ports
root@beastie:/usr/ports # make search name=lsof
The search target requires INDEX-10. Please run make index or make fetchindex.
make: don't know how to make lsof. Stop
make: stopped in /usr/ports
Det finns alltså inget index att söka i, vi måste därför köra make fetchindex
för att hämta hem detta.
Efter att du hämtat indexet kan du testa att söka igen med make search
name=lsof
. Nu bör det gå lite bättre.
root@beastie:/usr/ports # make search name=lsof
Port: lsof-4.90.m,8
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: ler@FreeBSD.org
B-deps:
R-deps:
WWW: http://people.freebsd.org/~abe/
Port: p5-Unix-Lsof-0.0.5_2
Path: /usr/ports/sysutils/p5-Unix-Lsof
Info: Unix::Lsof -- a wrapper to the Unix lsof utility
Maint: gjvc@gjvc.com
B-deps: p5-IPC-Run3-0.048_1 perl5-5.24.1_1
R-deps: p5-IPC-Run3-0.048_1 perl5-5.24.1_1
WWW: http://search.cpan.org/dist/Unix-Lsof/
Här ser vi vart porten finns, nämligen på raden Path:
/usr/ports/sysutils/lsof. Vi börjar med att gå i katalogen med cd
/usr/ports/sysutils/lsof
.
Konfigurerar och installera en port
Nu när vi är inne i rätt katalog är det dags för att börja med att konfigurera
porten så som vi vill ha den. Detta gör vi med make config
. För just denna
port fanns det ingen konfiguration. Om det finns är det bara att bocka för och
bocka av det inställningar du vill från en dialogruta.
Nu kommer det lite kniviga med med att installera en port. Om det finns
beroenden till porten som inte är uppfyllda på systemet kommer dessa att
installeras som portar. Detta är helt ok, men ifall det är ett väldigt stort
paket med väldigt många beroenden kommer detta ta väldigt lång tid. För att
slippa detta (och eftersom jag sällan installerar portar ändå), så brukar jag ta
fram listan över alla beroenden som finns till porten med make
all-depends-list
och sedan gå igenom listan och installera de beroenden jag
saknar som paket istället med pkg install
.
I fallet med lsof
är beroendelistan väldigt kort.
root@beastie:/usr/ports/sysutils/lsof # make all-depends-list
/usr/ports/ports-mgmt/pkg
Nu vet jag att jag redan har pkg
installerat, men för att vara på den säkra
sidan kan jag alltid testa att installera med pkg install pkg
.
root@beastie:/usr/ports/sysutils/lsof # pkg install pkg
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent version of packages are already installed
Precis som jag misstänkte hade jag redan paketet installerat så jag fortsätter
med att kompilera och installera porten. Detta görs med make install
clean
. Utdatan från kommandot är för långt för att visas här, men porten
installerades och programmet lsof
finns nu installerat.
Vi kan nu se att även fast lsof
installerades från en port finns den med i listan
över paket.
root@beastie:~ # pkg info lsof
lsof-4.90.i,8
Name : lsof
Version : 4.90.i,8
Installed on : Mon Jun 19 03:54:22 2017 CEST
Origin : sysutils/lsof
Architecture : FreeBSD:10:amd64
Prefix : /usr/local
Categories : sysutils
Licenses : lsof
Maintainer : ler@FreeBSD.org
WWW : http://people.freebsd.org/~abe/
Comment : Lists information about open files (similar to fstat(1))
Annotations :
Flat size : 229KiB
Description :
Lsof (LiSt Open Files) lists information about files that are open by the
running processes. An open file may be a regular file, a directory, a block
special file, a character special file, an executing text reference, a
library, a stream or a network file (Internet socket, NFS file or Unix domain
socket).
See also fstat(1) in the base system.
WWW: http://people.freebsd.org/~abe/
Uppdatera portar
Om du bara har några enstaka portar och dessutom har koll på vilka de är kan man uppdatera dessa manuellt.
Kör först portsfetch.sh
-scriptet ovan för att uppdatera hela portsträdet
(eller portsnap fetch update
om du följer latest). Gå därefter in i portens
katalog och ange kommandot make reinstall clean
för att ominstallera lsof
med den senaste versionen för portsträdet.
Om du har många portar man kan istället använda verktyget portmaster
som
installeras med pkg install portmaster
.
Eftersom en port och ett paket är detsamma för systemet kommer dock portmaster
att uppdatera även installerade paket mer en port istället. För att undvika just
detta uppdaterar jag alltid först alla paket pkg update
och pkg upgrade
.
Detsamma gäller tvärtom, det vill säga att pakethanteraren kommer att uppdatera
dina portar. Detta är ju inte bra ifall du har gjort specifika inställningar när
du kompilerade och installerade porten. Här har man två val. Antingen låsa
porten från att uppdateras med pkg lock lsof
exempelvis, och sedan efter
uppdateringen ta bort låsningen med pkg unlock lsof
och därefter uppdatera
alla portar som vi hade låsta förut med portmaster -a
(eller göra en manuell
uppdatering). Vi kan också låta pakethanteraren ersätta våra portar, och
därefter ominstallera portarna.
Avslutning
FreeBSD’s paket- och portsystem är väldigt flexibelt och bra, och jag älskar det! Men det har också sitt pris vid just uppdateringar. Det tar ett tag att lära sig och vänja sig vid det, såvida man inte kör med enbart paket. Använder man enbart paket är hur enkelt som helst att handskas med. Men så fort man har vant sig brukar det gå att bland portar och paket smidigt. Det ger en väldigt stor frihet!
Detta blev en långt inlägg, men förhoppningsvis kastar det lite ljus över hur port- och pakethanteringssystemet fungerar. Kom dock ihåg att det finns många fler sätt att hantera det på. Detta är hur jag hanterar mina portar och paket på just mitt system.
Läs gärna kapitel 4 i FreeBSD Handbook för en ännu djupare förståelse.
Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.
Relaterade artiklar
-
Textbearbetning i Linux
I denna artikel kommer vi att gå igenom hur man använder verktygen
tr
,sed
ochawk
för att modifiera en text. Den kommer att vara helt och hållet baserat på exempel. Uppgiften kommer vara att snygga till en lista över Robert De Niro-filmer. -
En introduktion till FIFO
FIFO står för First In, First Out, och är en typ av rörledning som vi kan skapa på systemet som går att använda mellan helt orelaterade processer. FIFOs fungerar som så att en fil skapas på hårddisken i systemet. Processerna som ska kommunicera med varandra använder sedan den filen. En annan fördel med FIFOs är att vi kan använda dem tillsammas med redan befintliga program. Där vanliga rörledningar inte räcker till kan man ofta använda just FIFO.
-
Automatisera med tmux
Många har säkert hört talas om vertyg som Ansible, Puppet eller Chef. Kanske använder du till och med några av dessa verktyg? De är alla verktyg för att automatisera uppgifter på flera maskiner samtidigt. Tanken är att man utför ett kommando en gång, via en lokal dator, som sedan utförs på alla de maskiner som ingår i den specifika gruppen. Detta kan vara alltifrån två-tre servrar upp till flera hundra servrar.
-
UTF-8 och svenska tecken i FreeBSD 11
Att få till svenska tecken i konsolen i FreeBSD är inte alltid det enklaste och mest självklara. Dessutom använder FreeBSD som standard ISO-8859-1, en teckenkodning som inte är lika populär längre. UTF-8 är istället den kodning som har kommit att bli de-facto standard.
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.