Tartalomjegyzék

< Linux

Apró debianos tippek

Feljegyzés

Ajánlott telepítendő csomagok. Csomagok egy része még az Etch verziónál volt aktuális.

Minimális X

Az első négy csomag helyett lehet a következő is:

Néhány hasznos csomag még:

Az icewm csomagok

Icewm esetén még néhány hasznos csomag:

Hang

invoke-rc.d alsa-utils start|stop|stb

A hangkártya felkészítése működésre:

alsactl init

Debian beállításokhoz

Console-setup

A console-setup csomag a fontok és a billentyűzet beállítására való konzolos felületen.

A csomagban található parancs rootként:

setupcon

A következő lényegesebb kapcsolók használhatók:

Midnight Commander

mcedit tab, space

A Debian 5.x változatában a mcedit szövegszerkesztő alapból megjeleníti a tabulátorokat és a szóközöket. Menüből a Debian ezen verziója alatt nem lehet kikapcsolni. A konfigurációs állományából azonban kikapcsolhatjuk. Kapcsoljuk ki a Mindnight Commander minden futó példányát, majd szerkesszük a következő állományt nano szövegszerkesztővel:

nano ~/.mc/ini

Keressük meg a következő beállításokat:

editor_visible_tabs=1
editor_visible_spaces=1

Értéküket állítsuk 0-ra:

editor_visible_tabs=0
editor_visible_spaces=0

Mentsük el és indulhat a Mindnight Commander mcedit-je.

Midnight Commander mcedit gyorsbillentyűk

Panel funkciók

Hálózati funkciók

Shell funkciók

Wifi beállítása

Modul telepítése

Telepítsük a module-assistant és a wireless-tools csomagokat:

aptitude install module-assistant wireless-tools

Építsük fel és telepítsük egy ndiswrapper-modules-* csomagot, amelyet a ModuleAssistant segítségével:

m-a prepare
m-a a-i ndiswrapper

Az ndiswrapper-t adjuk a kernel modulok listájához, hogy betöltéskor (boot) betöltődjön:

echo ndiswrapper >> /etc/modules

Tegyük az NDISwrapper modult a kernelbe:

modprobe ndiswrapper

Több információt és leírást az NDISwarpper kernel modul felépítéséről a /usr/share/doc/ndiswrapper-source/README.Debian fájl add.

Ha a modult betöltődött, telepíteni kell egy NDIS meghajtót és konfigurálni a wireles eszköz számára.

Meghajtó

Meghajtó telepítése

Telepítjük az unzip csomagot:

aptitude install unzip

Beszerezzük egy állományt, amely tartalmazza az NDIS meghajtót. Forrás a Dell FTP szervere:

wget http://ftp.us.dell.com/network/R151517.EXE

Kicsomagoljuk a tartalmát:

unzip -a R151517.EXE

Telepítjük az NDIS meghajtót:

ndiswrapper -i DRIVER/bcmwl5.inf

Ellenőrizzük az NDIS meghajtó telepítését. Listázzuk a telepített meghajtókat:

ndiswrapper -l

A következő kimenetet láthatjuk:

bcmwl5 : driver installed
      device (14E4:4311) present

Configuration

Ellenőrizzük elérhető hálózati eszközeinket::

iwconfig

Ha az eszköz nincs jelen, akkor vegyük ki, majd tegyük vissza a fizikai eszközt, majd futtassuk újra az iwconfig parancsot.

Aktiváljuk az eszközt:

ifconfig wlan0 up

Ellenőrizzük wireles eszköz használható-e.

ifconfig wlan0 -dynamic

Külső linkek

Broadcom chiphez:

Deb csomag készítés

Például van egy szotar nevű projektünk. Készítenünk kell egy olyan könyvtárszerkezetet amelyben telepítés után látni akarjuk a programunkat.

mkdir szotar
cd szotar
mkdir usr
cd usr
mkdir bin
cd ../..
cp ~/szotar usr/bin/szotar

A Debian nevű könyvtárbank készítünk egy kontroll állományt.

mkdir DEBIAN
cd DEBIAN
mcedit control

A control fájl tartalma:

Package: szotar
Version: 1.0
Section: misc
Priority: optional
Architechture: i386
Depends: libncurses5
Maintainer: Termih <termih@freemail.hu>
Description: Ez egy angol-magyar szotar program.

A szotar.deb elkésztítése:

dpkg-deb -b szotar

További információk a debianos kontrollfájlokhoz:

man 5 deb-control

Naplók

Grub2

Bevezetés

1.97 grub más mint az eddigiek.

A grub verziójának kiderítése:

grub-install -V

vagy:

grub-install --version

Eredményként valami ilyesmit láthatunk:

grub-install (GNU GRUB 1.98-1)

A /boot/grub/ könyvtárban megszűnt a menu.lst fájl. Helyette grub.cfg van. Ez az állományt viszont nem módosításra találták ki! Az update-grub parancs vagy egy új kernel telepítése azt felülírja.

A felhasználó saját beállításait a következő helyre teheti:

/etc/grub.d/40_custom

Beállítások helye

A beállítások érvényesítéséhez futtatnunk kell a következő parancsot:

update-grub

Bootolási sorrend megváltoztatása

A következő parancs futtatásával kiválaszthatjuk hányadik bejegyzés induljon elsőként:

egrep "^menuentry|^submenu" /boot/grub/grub.cfg

A számozás 0-tól kezdődik.

Minden menuentry kezdetű sorral kell számolni.

Például:

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
menuentry "Microsoft Windows XP Professional - magyar (on /dev/sda1)" {

Ha nem fér a képernyőre, akkor ez több sorba törhet.

/etc/default/grub

GRUB_DEFAULT=0

Beállítások érvényesítése:

update-grub

Aktuális rendszer elsőnek beállítása

Ha egy másik Linuxból lett a GRUB telepítve, akkor az update-grub nem segít abban, hogy az aktuális Linux rendszerünk legyen az elsőnek induló rendszer.

Ezt a grub-install paranccsal kell megoldanunk. Például:

grub-install /dev/sda

Így az aktuális rendszer elsőként fog indulni, a GRUB pedig az MBR-be telepszik.

Irodalom

Debian tároló készítése

Alapfogalmak

Prioritás

Szekciók

Packages fájl elkészítése

Helyezzük el a .deb kiterjesztésű bináris állományainkat.

Például:

/root/debs

Készítsünk egy override nevű állományt. Tartalma a csomagok neve, prioritása és szekciója. Adott például három csomag:

echo "alma optional devel" > /root/override
echo "korte optional devel" >> /root/override
echo "barack optional devel" >> /root/override 

A prioritást és szekciót állítsuk be magunknak.

dpkg-scanpackages /root/debs /root/override > Packages

Tömörítenünk kell az állományt gzip segítségével.

gzip Packages

Ez megtehető a dpkg-scanpackages paranccsal együtt:

dpkg-scanpackages /root/debs /root/override | gzip > Packages.gz

Ha a dpkg-scanpackages parancs kiadásakor a binárisok könyvtárában állunk, akkor az override fájl készítése elhagyható. Akkor a következő parancsot használjuk:

dpkg-scanpackages /root/debs /dev/null > Packages

Ellenőrzés

Szerkesztenünk kell a következő állományt:

/etc/apt/sources.list

Fűzzük a végéhez:

deb file:/root debs/

A csomagok telepíthetők.

Egyéb irodalom:

Libre Office telepítése

Telepítés apt forrás alapján

apt forrás felvétele:

echo ‘deb http://download.tuxfamily.org/gericom/libreoffice /’ | sudo tee -a /etc/apt/sources.list

Kulcs beszerzése:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 890E7A26

vagy:

wget deb http://download.tuxfamily.org/gericom/gericom.asc -q -O- | sudo apt-key add -

Csomaginformációk frissítése:

sudo apt-get update

Telepítés:

sudo apt-get install libreoffice3* lobasis3.3*

Nyelvi csomagok letölthetők külön innen:

Szótár a helyesírás ellenőrzéshez:

Több LibreOffice telepítése csomagok alapján

A Fedora, openSUSE és Mandriva felhasználók RPM csomagot tölthetnek le. Az Ubuntu, Linux Mint és Debian felhasználók DEB csomagot tölthetnek le.

Magyar nyelvű telepítéshez három csomagot kell letöltenünk. Egy csomag maga a a LibreOffice, egy nyelvi csomag és egy helpcsomagot.

tar -vxzf fajlnev

Kicsomagolás után a következőhöz hasonló könyvtárat kapunk:

LibreOffice_4.0.1.2_Linux_x86_deb

Kicsomagolás után a következőhöz hasonló könyvtárat kapunk:

LibreOffice_4.0.1.2_Linux_x86_deb_langpack_hu

Kicsomagolás után a következőhöz hasonló könyvtárat kapunk:

LibreOffice_4.0.1.2_Linux_x86_deb_helppack_hu

Lépjünk be ebbe a könyvtárba.

Attól függően, hogy deb vagy rpm alapú csomagokat szedtünk le, találunk egy DEBS vagy egy RPMS könyvtárat. Lépjünk a könyvtárba:

cd DEBS

Készítsünk egy új könyvtárat és lépjünk bele:

mkdir test_install
cd test_install

Ezek után futtassuk a következő parancsot:

RPM csomag esetén:

for i in ../*.rpm; do rpm2cpio $i | cpio -id; done

DEB csomag esetén:

for i in ../*.deb; do dpkg-deb -x $i . ; done

A LibreOffice futásra kész.

Opcionális a felhasználó profil helyének megadása

A felhasználó profil fontos, mert itt vannak tárolva a helyi beállítások, makrók, helyesírási korrekciók. Ezek általában a következő könyvtárban vannak:

~/.libreoffice/4/user

A „~” karakter a felhasználó saját könyvtárát jelenti.

Az új telepítés alapértelmezetten ezt használja. Az új telepítés számára ez nem biztos, hogy jó.

A telepítés könyvtárban van egy „program” nevű könyvtár. Tedd írhatóvá a bootstraprc nevű fájlt:

chmod +w bootstraprc

Szerkeszd és cseréld ki a következő sorokat:

UserInstallation=$SYSUSERCONFIG/.libreoffice/4

Az előbbi sorhoz hasonlót találsz.

Javítsd ki:

UserInstallation=$ORIGIN/..

Ez a /user könyvtárat fogja használni a ../test_install/opt/libreoffice4.0/ könyvtárban.

Lehetséges problémák

A LibreOffice 3.6.1 verzióját ha egy már telepített LibreOffcie után telepítem, akkor indításkor nem indul. A megoldás a felhasználói beállítások törlésében van.

Törölni kell a következő könyvtárat:

~/.config/libreoffice 

A következő könyvtárat már előtt töröltem, de ez nem oldotta meg magában, lehet nem is szükséges ezt törölni:

~/.libreoffice

Időbeállítás időkiszolgálóhoz

Több program is létezik a Linuxokon a gép időkiszolgálóhoz igazítására. Most egy szimplán parancssorból kézzel futtathatót ismertetek.

Az telepítendő csomag neve rdate:

apt-get install rdate

Be kell szereznünk egy időkiszolgáló elérési lehetőségét. Magyarországon jó választás lehet:

 time.kfki.hu

Az rdate két protokoll ismert. Az első RFC 868 régebbi, ezzel működik alapból. A time.kfki.hu szerveren viszont már régen nem ez használható. A másik a RFC 2030. Ezt használhatjuk. Az rdate parancsnak szüksége van ekkor egy -n kapcsolóra.

Ezek után ha csak meg akarjuk jeleníteni a pontos időt:

rdate -n -p time.kfki.hu

Ha be is akarjuk állítani:

rdate -n time.kfki.hu

Lásd még a következő csomagokat:

Debian tükrök

Néha előfordul, hogy kézzel kell beállítanunk egy másik tükörszervert.

Magyar tükrök

Egy tükör beállítása:

deb http://ftp.hu.debian.org/debian/     stable   main

Leggyorsabb tükör

Az apt-spy csomagot a leggyorsabb apt tükör felderítésre találták ki.

Tükörszerverekről információk frissítése:

apt-spy update

A tükörszerverek listája:

/var/cache/apt-spy

Az európai régi lekérdezése:

apt-spy -d stable -a europe

Az egyes használható régiók: africa, asia, europe, north-america, oceania, and south-america

Leggyorsabb magyarszerver:

apt-spy -d stable -s hu

Ez utóbbi ehhez hasonlóan működik:

SERVER: ftp.hu.debian.org
Benchmarking FTP...
                Downloaded 2888448 bytes in 18.35 seconds
                Download speed: 153.73 kB/sec
Writing new sources.list file: /etc/apt/sources.list.d/apt-spy.list

Lásd még a következő csomagokat:

PostgreSQL

apt-get install postgresql
su postgres -c "psql --command \"ALTER USER postgres PASSWORD 'sajatjelszo'\""

Grafikus felület:

apt-get install pgadmin3

Webfelület

apt-get install phppgadmin

Alapértelmezetten nem léphetünk be jelszó nélkül vagy a következő felhasználónevekkel:

Ez engedélyezhető a következő fájlban:

/etc/phppgadmin/config.inc.php 

A következő beállítás kell eszközölnünk:

$conf['extra_login_security'] = false;

Az asztal felvétele videófájlba

RecordMyDesktop parancssoros változata:

apt-get install recordmydesktop

RecordMyDesktop grafikus változata:

apt-get install gtk-recordmydesktop

Weblap:

Más program:

A hang beállítása:

Speciális -> Hang -> Eszköz

A DEFAULT-ot írjuk át default-ra.

Sudo

A Sudo rendszerrel felhasználóknak és/vagy csoportoknak tudunk rendszergazdai jogokat biztosítani olyan parancsokhoz, amelyet egyébként csak root joggal lehet használni.

A sudo beállításához rendszergazdaként adjuk ki a következő parancsot:

 visudo

A beállítások mindig egy felhasználónévre vagy egy csoportra vonatkoznak.

Egy beállítás általános szintaxisa a következő:

<felhasználó|csoport> <mely gépeken futtatható> = [milyen néven futtatható] parancs1, parancs2, ...

Van egy ALL beépített állandó, amely mindenre vonatkozik egyszerre.

Az alábbi parancs segítségével nem kér jelszót, ha az a legelső parancs elé írom.

NOPASSWD: 

De tehetünk kivételt, ha az egyes parancsok elé a következőt írom:

PASSWD:kulcszó

Rootjog a joska nevű felhasználónak:

joska ALL = (ALL) ALL

Így jelszót sem kér:

joska ALL = (ALL) NOPASSWD: ALL

Jóska futtathatja a mount parancsot a torhetetlen nevű számítógépen:

joska torhetetlen = /bin/mount

Scite

Programozói szövegszerkesztő

Telepítése:

apt-get install scite

Jelszavak titkosítása

Titkosítás beállításának helye

A jelszavak titkosításának módja a következő helyen van beállítva:

/etc/pam.d/common-password

A beállítást a következő sor tartalmazza:

password	[success=1 default=ignore]	pam_unix.so obscure sha512

A következő helyen is van beállítás:

/etc/login.defs

A következő beállítást keressük:

ENCRYPT_METHOD DES

Lehetséges értékei:

Idevonatkozó link: http://en.wikipedia.org/wiki/SHA-2

Megjegyzés: A titkosított jelszó előtt $6 szerepel.

Kódolók

mkpasswd

Az mkpasswd parancs a whois csomag része. Alapértelmezésként nincs telepítve. Telepítsük:

apt-get install whois

Kérdezzük le a használható kódolásokat:

mkpasswd --method=help

Találjunk ki egy 8 karaktert sót. Pl. AbCdefgh. Legyen az algoritmus: sha512. A jelszó legyen „titok”.

A kódolt jelszó előállítása:

mkpasswd --method=sha-512 --salt=AbCdefgh titok

Megkapjuk a kódot:

$6$AbCdefgh$3GFj/6var2Rjchadbz4r86Hd9ujAY1Z0NaoMExRy1x.MtmJyqg7253pg.9i3YeHm0x8CmBAYWnEcODQ6WkhqD.

Perl nyelven

jelszo.pl
#!/usr/bin/perl
 
$salt="AbCdefgh";
$jelszo="titok";
 
$shadow = crypt($jelszo, '$6$'.$salt);
 
print $shadow."\n";

Python nyelven

jelszo.py
#!/usr/bin/python
 
import crypt
 
print crypt.crypt('titok', '$6$AbCdefgh')

hashalot

apt-get install hashalot

A Linux azonosításnál nem tudjuk hasznosítani, de használható például PHP-ban. A PHP hash() függvénye is ilyen kódokat állít elő.

Használat:

hashalot sha512 > kodolt.txt

Bekéri a jelszót …

Hex formában kiíratás:

hashalot -x sha512

gtkhash

Grafikus program.

A Linux azonosításnál nem tudjuk hasznosítani, de használható például PHP-ban. A PHP hash() függvénye is ilyen kódokat állít elő.

Ez a program arra is jó, hogy előállítsunk egy a PHP hash() függvényével azonos kódot, de ellenőrizhetünk vele ellenőrzőösszeget is.

Telepítés:

apt-get install gtkhash

Legújabb:

Igen sok algoritmust ismer.

Indítás:

gtkhash

pelican telepítése

A pelican egy statikusweboldal generátor.

apt-get install python-pip
pip install pelican

Utóbbi csomag az /usr/local/lib és /usr/local/bin könyvtárba telepszik.

Alapértelmezett ablakkezelő beállítása

update-alternatives --config x-window-manager

Virtualbox

Telepítése Debian 8 „Jessie” rendszeren:

Vegyük fel a /etc/apt/sources.list fájlban a contrib csomagokat:

deb http://http.debian.net/debian/ jessie main contrib

Frissítsük a csomaginformációkat:

apt-get update

Telepítés ezek után:

apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox

KVM virtualizáció

Bevezetés

A KVM egy teljes virtualizációs megoldás Linuxon x86 és 64 bites hardveren, Intel VT és AMD-V processzorokhoz.

A virtualizációt a kvm.ko modul, és a kvm-intel.ko vagy a kvm-amd.ko modul biztosítja. Hasonló megoldások Debian rendszeren a Xen és a VirtualBox.

Telepítés

apt-get install qemu-kvm libvirt-bin

A libvirt-bin démon automatikusan elindul a számítógép indításával, betöltve a kvm, kvm-amd, kvm-intel modulokat.

A virtuális gépeket használó felhasználókat be kell tennünk a kvm és a libvirt csoportokba.

adduser <felhasználónév> kvm
adduser <felhasználónév> libvirt

Listázzuk a tartományokat:

virsh list --all

Szimpla felhasználóként:

virsh --connect qemu:///system list --all

Hálózati kártya

Vegyünk fel egy hálózati hidat a hálózati kártya számára, a következő állományban: /etc/network/interfaces

auto lo
iface lo inet loopback

# Elsődleges hálózati kártya
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.5.2
        netmask 255.255.255.0
        network 192.168.5.0
        broadcast 192.168.5.255
        gateway 192.168.5.1
        dns-nameservers 8.8.8.8

A virtuális gépek kezelése

Parancssorból:

Létrehozás:

mkdir ~/virsh
cd ~/virsh
touch tesztGep
qemu-img create -f qcow2 tesztGepDisk.qcow2 8G
virt-install --name tesztGep --memory 512 --disk tesztGepDisk.qcow2 --cdrom ~/install/debian-8.1.0-i386-netinst.iso
Starting install...
Tartomány létrehozása...                              |    0 B     00:00     
Vendég telepítése befejeződött... újraindítás.

A virt-install parancs automatikusan indít egy monitorozó programot is, amit a ps paranccsal ellenőrizhetünk. A kimenetben ehhez hasonlót kell lássunk:

/usr/bin/virt-viewer --connect qemu:/session --wait tesztGep2

Konfigurált VM kliens indítása:

virsh start gepNev

Futó kliens könnyed leállítása:

virsh shutdown gepNev

A futó kliens erőltetett leállítása:

virsh destroy gepNev

Nézzünk bele a gépbe:

virt-viewer gepNev

A virsh parancsok mellett, ha egy gép konzoljához kapcsolódni akarunk, akkor virt-viwer aprancsot használhatjuk.

A virtuális gépek kezelése grafikus felületen

virt-manager

virsh destroy VMCLIENT

Források

Debian boot hiba

A Debian rendszerek indulásakor általában látunk egy üzenetet, amely tartalmazz a „Failed” szót, ezért sokan úgy vélik az egy hibaüzenet.

A rendszer indulásakor ehhez hasonló sort látunk:

Failed to access perfctr msr (MSR c0010004 is 0)

Ez nem egy hiba. Annyit jelent, hogy a CPU nem támogatja a „performance counters”-t.

A „performance counter” a processzor jelentős terhelése nélkül méri a hardver kihasználtságát.

Források:

Geany és a mate-terminal

Debian GNU/Linux 8.1. Az alapértelmezett beállításokkal a mate-terminal a programok futtatásával nincs kibékülve.

Írjunk egy egyszerű Perl scriptet:

prog01.pl
#!/usr/bin/env perl
 
print "Helló Világ\n";

A terminál elindul, de a következő hibaüzenet fogad minket:

Hiba történt a terminál gyermekfolyamatának létrehozásakor

Nem sikerült a gyermekfolyamat („/bin/sh ./
geany_run_script.sh”) végrehajtása (Nincs 
ilyen fájl vagy könyvtár)

Ennek oka, hogy a mate-terminal wrapper scriptje lecseréli a -e kapcsolót -x-re. A problémára kétféle megoldást látunk a következőkben.

Ezt igazolja: Ha megnézzük a mate-terminálhoz tartozó kézikönyvet, akkor abban azt látjuk, hogy -e kapcsolót szinonimája a "--command". Kipróbálva a két kapcsoló használatát, mégsem azonos eredményt kapunk.

Ennek orvoslása lehetséges például rendszergazdaként, ha szerkesztjük a wrapper scriptet:

mcedit /usr/bin/mate-terminal.wrapper

Javítsuk ki a script idevonatkozó sorát. Keressük meg a következő sort:

elif arg == '-e':
    newargs.append('-x')

Az -x kapcsolót le kell cserélni -e kapcsolóra.

Felhasználóként, megkerülő megoldás lehet, ha rábeszéljük a Geany programot, hogy ne a mate-terminal.wrapper scriptet hívja, hanem, közvetlenül a mate-terminal programot.

A Geany az x-terminal-emulator hivatkozást hívja egy script futtatásakor. Erről itt győződhetünk meg:

Geany -> Szerkesztés -> Beállítások -> Eszközök  -> Terminál

A következő tartalmat látjuk:

x-terminal-emulator -e "/bin/sh %c"

Az x-terminal-emulator csak egy link, az alapértelmezett terminálra. Nézzük meg hova mutat:

update-alternatives --display x-terminal-emulator
x-terminal-emulator - automatikus mód
  jelenleg ide mutató link: /usr/bin/mate-terminal.wrapper
...

Láthatjuk, hogy a wrapper scritet hívja. Nyilván ennek megváltoztatása is opció lehet. Felhasználóként megtehetjük, hogy a Geany programban beállítjuk, hogy nem az x-terminal-emulator linket hívja a program. Helyette a közvetlenül a mate-terminalt:

Újra:

Geany -> Szerkesztés -> Beállítások -> Eszközök  -> Terminál

Erre változtatjuk:

/usr/bin/mate-termnal -e "/bin/sh %c"

Megoldva.

Geany és a lxterminal

Geany menüben:

Erre változtatjuk:

x-terminal-emulator --command="/bin/sh %c"

NVIDIA videókártya

A számítógépen nvidia videóeszköz van. Debian 8.x telepítés után használható az osztott képernyő, játékok mennek 3D támogatással, de például a SweetHome3D 3D megjelenítős része nem megy. A videó eszközmeghajtó telepítés után: nouveau. Az NVIDIA meghajtók telepítése kudarc, mert nem működik az osztott képernyőknél.

Megoldás:

apt-get install libgl1-mesa-swrast

A képernyő továbbra is nouveau meghajtóval megy, de libgl1-mesa-swrast csomag segítségével, a SweetHome3D-ben is rendesen rendereli a 3D nézetet.

Proxy

Proxy és csomagismétlő.

apt-get install stone

Proxyként:

A szerveren, ahol a proxy szolgáltatást ellátja:

stone proxy 8080

A kliensen beállítom ennek a szervernek az IP címét és kész.

MATE weather-metar - időjárás jelző kisalkalmazás

A 8-as Debian idején 2016-ban valamikor megszűnt az az időjárás adatszolgálató, ami a program forrásába van beleírva. Ezért nem működik 2016 őszén, már egy ideje.

A megoldás c forrásfájl szinten itt található:

https://github.com/mate-desktop/libmateweather/commit/835055e0d0b950d3f66ad236de7e40942f6f7d8e

Itt a weather-metar.c állomány részletét látjuk, konkrétan azt a részt, ahol ki kell javítani az elavult szolgáltatót.

Megkeressük Debian alatt milyen csomagban van ez az állomány. Ezt találjuk:

Telepítsük az újrafordításhoz szükséges csomagokat. A .deb csomag elkészítéséhez:

apt-get install build-essential debhelper

Telepítsük a libmateweather csomag újrafordításához szükséges csomagokat:

apt install mate-common libxml2-dev libsoup2.4-dev \
 libsoup-gnome2.4-dev gtk-doc-tools python-all-dev \
 python-gobject-dev python-gtk2-dev

Az újrafordításhoz letöltjük egy apt-get paranccsal:

cd /usr/local/src
apt-get source libmateweather

Belépünk a program könyvtárába:

cd libmateweather-1.8.0

Azon belül belépek a forrásfájlok könyvtárába:

cd libmateweather

Megkeressük a weather-metar.c állományt, és szerkesztjük:

mcedit weather-metar.c

Az 525-dik sorban cserélendő:

 -    } else if (!strstr (msg->response_body->data, "National Weather Service")) {
 +    } else if (!strstr (msg->response_body->data, "AVIATION WEATHER CENTER")) {

A mínusz kezdőjelű sort javítjuk a pluszos sorra.

Ezek után az 553 és 554 sort javítjuk az előbbiekhez hasonlóan:

-	"GET", "http://weather.noaa.gov/mgetmetar.php",
 -	"cccc", loc->code,
 +	"GET", "http://aviationweather.gov/metar/data",
 +	"ids", loc->code,

Mentés után, adjunk egy nevet a változtatásunknak, a következő paranccsal:

dpkg-source --commit

Lépjönk egy könyvtárral feljebb:

cd ..

Ezek után jöhet a csomag elkészítése:

dpkg-buildpackage

Ezek után, egy könyvtárral feljebb elkészült 4 darab .deb csomag. Az egyik neve libmateweather1_1.8.0-2_amd64.deb. Telepítsük fel:

dpkg -i libmateweather1_1.8.0-2_amd64.deb

Megjegyzés: Azon a gépen amit nap mint nap használok, nem sikerült a dpkg-buildpackage fordítás többedszerre sem. Ezért váltottam egy új telepítésű Debianra, amely Virtualboxban futott, majd a fentieket ott hajtottam végre. A kész csomagot átmásoltam a rendes gépre, majd telepítettem. Működik.

grive2

Függőségek telepítése:

apt install libyajl-dev libboost-all-dev libcurl4-gnutls-dev libgcrypt20-dev

A cmake program általában nincs telepítve:

apt install cmake

Töltsük le a grive2-t:

Csomagoljuk ki például ide:

/usr/local/src/grive2-master

Lépjünk be a könyvtárba:

cd /usr/local/src/grive2-master

Tegyük a következőket:

mkdir build
cd build
cmake ..

Fordítsuk le:

make -j4

A telepítés két módon történhet

make install

Vagy egyszerűen csak másoljuk a /usr/local/bin könyvtárba:

cp /usr/local/src/grive2-master/build/grive/grive /usr/local/bin/

Használat: Az első használatnál be kell jelentkezni, ehhez használjuk a -a kapcsolót:

/usr/local/bin/grive -a

Később elég:

/usr/local/bin/grive

Néhány könyvtár vagy fájl kizárása megoldható szabályos kifejezésekkel:

/usr/local/bin/grive --ignore "(vmi1|vmi2|vmi3)"

A grive az aktuális könyvtárral szinkronizál, de megadhatunk neki a --path kapcsolóval mást is.

Debian Lazarus probléma

Tünet egy program fordításakor:

/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status

Ha megnézzük hol van-e crti.o, akkor a következőket látjuk:

# find /usr/ -name crti*
/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib/debug/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib/i386-linux-gnu/crti.o

Van nekünk azonban más helyen lenne rá szükség.

Megoldás:

ln -s /usr/lib/x86_64-linux-gnu /usr/lib64