Linux

github-ra feltöltése SSH-n keresztül

Létető repo feltöltése github-ra SSH-val:

$ git remote remove origin
$ git remote add origin ssh://git@github.com/username/repo.git

Ehhez kulcsot is kell generálni, ha eddig nem volt:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Majd ezt a kulcsot fel kell tölteni a github-ra.

Teljes fájlrendszer átmásolása rsync-kel

Az alábbi parancs csak a gyökér fájlrendszert másolja át (tükrözi) minden jogosultsággal együtt az /path/to/backup -ra csatolt partícióra:

rsync -xavAX / /path/to/backup

Magyarázat:
-x: nem lépi át fájlrendszer határokat (a fájlrendszer alá csatolt fájlrendszereket nem követi vagyis a /proc, /dev, stb. nem lesz átmásolva)
-a: archív mód (egyenlő a -rlptgoD kapcsolókkal)
-v: bőbeszédű mód
-A: ACL (Access Control List)-t is másolja, amikben további jogosultságok vannak
-X: bővített attribútumokat is másolja

Postfix SSL

Egyszerű shell script, amivel az SSL-hez szükséges tanúsítványokat generálhatunk postfix-hez és be is konfigurálja az SSL-t:

#!/bin/sh
export MY_DOMAIN="test"
#export MY_DOMAIN="test.home"
#export MY_DOMAIN="mail.domain.tld"
openssl genrsa -des3 -out ${MY_DOMAIN}.key 2048
openssl req -new -key ${MY_DOMAIN}.key -out ${MY_DOMAIN}.csr
openssl x509 -req -days 365 -in ${MY_DOMAIN}.csr -signkey ${MY_DOMAIN}.key -out ${MY_DOMAIN}.crt
openssl rsa -in ${MY_DOMAIN}.key -out ${MY_DOMAIN}.key.nopass
mv ${MY_DOMAIN}.key.nopass ${MY_DOMAIN}.key

Ethernet bridge Linux alatt

Az "eth1" és "eth2" interfészt így lehet összekötni:

#!/bin/sh
BRIDGE=br0
IPADDR=192.168.11.19
brctl delbr $BRIDGE
brctl addbr $BRIDGE
brctl addif $BRIDGE eth1 eth2
ifconfig $BRIDGE $IPADDR

Debian és Ubuntu Linux alatt a bridge-utils csomagot kell telepíteni.

find parancs, rejtett könyvtárak kihagyása

Keres egy könyvtárat "valami*" névvel, de kihagyja az összes alkönyvtárban a ".hg" könyvtárat:

find . -not -path "*/.hg/*" -type d -iname 'valami*'

Ugyanaz, mint a fenti, csak az összes rejtett könyvtárat kihagyja:
find . -not -path "*/.*/*" -type d -iname 'valami*'

Ubuntu 16.04.2 LTS és az aktuális cygwin alatt biztosan működik.

GPIO kezelés embedded Linux-okon: OLinuxIno iMX233, Raspberry Pi

Beágyazott Linux-ok alatt a GPIO-kat akár shell script-ből is vezérelhetjük. A maximális sebességhez memórián keresztül (memory mapped, mmap) kell a GPIO-kat elérni, de ebben az írásban erre nem térek ki. Ha script-ből használjuk az IO-t, először exportálni kell az adott GPIO lábat, hogy fájlként látszódjon a rendszerben. A 32-es GPIO exportáláshoz ezt kell futtatni bash-ból:

  echo 32 >/sys/class/gpio/export

Joystick kormánykerék építés házilag

Egy kormányt építettem, ami egy számítógéphez köthető joystick és autós, kamionos szimulátorokhoz lehet használni. A kormány az USB HID szabvánnyal kompatibilis, külön meghajtóprogramot nem kell telepíteni sem Windows sem Linux vagy *BSD alá. Egy autóbontóban szereztem egy olcsó kormányt és a hozzá tartozó irányjelző kart (ami egy Daewoo Tico-ban volt). A kormány egy egyszerű műanyagcsöves tengelykapcsolón keresztül egy régi HP lézernyomtató enkóderét forgatja:
Joystick kormánykerék dobozolva

MATE x-caja-desktop sokszor elindul

Gyorsjavítás: a /usr/share/applications/caja.desktop fájlban a X-MATE-AutoRestart értéket true-ról false-ra kell változtatni.
Egy gépen próbáltam, ott és akkor segített. Nem biztos, hogy minden esetben megoldja a problémát.

Hogyan adjunk egy USB-s eszköznek állandó nevet a /dev alatt?

Van egy CDC ACM eszközként látszódó digitálisan vezérelhető tápegységem (de lehetne egy mobiltelefonról is szó) és annak akartam állandó /dev/ttyPS (PS mint power supply) nevet adni. Ehhez egy udev szabályt kell létrehozni a /etc/udev/rules.d könyvtárban. A /etc/udev/rules.d/76-power-supply.rules fájl tartalma:

ATTRS{idVendor}=="0451", ATTRS{idProduct}=="5a5a", GROUP="users", MODE="0660", SYMLINK="ttyPS"

arduino soros port hiba (/var/lock rendszer Arch Linux alatt)

Ha ilyesmit ír az STDOUT-ra Arch Linux alatt az arduino program

please see: How can I use Lock Files with rxtx? in INSTALL check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file.

Adatgyűjtő rendszer építése iMX233-OLinuXino kártyával (Arch Linux ARM telepítése)

Egy hőmérséklet- és páratartalommérő készüléket építettem iMX233-OLinuXino-MAXI kártyával. Fő előnyei:
- a mért adatok áttölthetők WiFi-n (esetleg 3G modemen) keresztül
- távolról menedzselhető SSH-val
- kis fogyasztás: kb. 5W
A fejlesztőkártyát a http://monosx.hu biztosította.

Linux Mint 15 MATE telepítése virtuális gépre

A telepítéshez 800x600-nál nagyobb képernyőméret kell, különben a mint start menü illetve a telepítő is elhasal! 1024x768-as felbontással működik.

AT89S52 programozása avrdude-dal

Az AT89S52-es MCU-t az avrdude program nem támogatja alapesetben. Szerencsére elég a konfigurációs fájlt kiegészíteni és lehet égetni. Az ~/.avrduderc fájlhoz vagy az /etc/avrdude.conf -hoz kell az alábbi sorokat hozzáfűzni (Linux ill. BSD-k alatt). Ezután egy usbasp programozóval lehet beégetni a programunkat. A chip_erase_delay nekem 20000 -el nem működött, 100000 már jó volt. Nem minden usbasp tud AT89S mikrovezérlőt programozni. Ez az USBasp biztosan. Talán elég a megfelelő verziójú firmware-t beégetni a programozóba, ennek nem néztem utána.

DVB-T frekvenciák Budapesten és környékén

http://sat.hupont.hu/16/mindigtv-ado-frekvencia-tablazata

Budapesten és környékén:
38-as csatorna 610 MHz MUX A 100 kW: m1, m2, Duna TV, rádiók
58-es csatorna 770 MHz MUX C 100 kW: RTL KLUB, TV2, kódolt adások
55-ös csatorna 746 MHz MUX B 39,8 kW: kódolt adások

Lejátszás VLC média lejátszóval:

dvb-t://frequency=610000000:bandwidth=0
dvb-t://frequency=770000000:bandwidth=0

swap file Linux alatt

Linux alatt általában egy külön swap partíciót hoznak létre. Ha mégsem hoztunk létre partíciót, utólag bármikor hozzáadhatunk a rendszerhez cserefájlt.
1 GiB-os swap fájl létrehozása és aktiválása a következő parancsokkal lehetséges (természetesen rendszergazdai jogosultságokkal):

dd if=/dev/zero of=/swapfile count=1024 bs=1048576
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Tartalom átvétel