Bash: zmiana nazw plików, rozpakowywanie wielu plików zip
listopad 10, 2009
Ostatnio ściągnąłem obraz płyty CD podzielony na 50 części po ok 15MB. Każdy z plików miał nazwę Image01.zip.johnson – Image50.zip.johnson. Ręcznie oczywiście nie miało sensu (szkoda czasu) zmieniać nazw to sobie przypomniałem o poleceniu rename. Składnię ma podobną do SED’a więc z jej zrozumieniem nie powinno być problemu.
$rename ’s/\.zip.johnson/\.zip/’ *.zip.johnson
Pozostał problem rozpakowania wielu achiwów. Jak to zrobić? Zwykłe unzip *.zip raczej nie pomoże.
Tutaj potrzebna jest bashowa pętla for.
$ for z in *.zip; do unzip $z; done
Ubuntu 9.10 i karta D-link DWL 520+
październik 31, 2009
Po instalacji nowego Ubuntu 9.10 Karmic Koala pojawił się problem z obsługą karty wifi D-Link DWL 520+.
W sumie instalacja sterowników nie jest skomplikowana, jednakże początkującemu użytkownikowi może ona przysporzyć troszeczkę problemów.
Co będziemy potrzebować?
+ Windowsowe sterowniki do karty wifi
+ Pakiet ndiswrapper
Jeśli nie mamy dostępu do siecieci bezpośrednio musimy skorzystać z sieci na innym komputerze.
Ściągamy sterowniki
ftp://ftp.dlink.com/Wireless/dwl520+/Driver/dwl520+_drivers_307.zip
Ściągamy potrzebne pakiety do ndiswrappera
ndiswrapper-common http://packages.ubuntu.com/search?keywords=ndiswrapper-common&searchon=names&suite=karmic§ion=all
ndiswrapper-utils http://packages.ubuntu.com/search?suite=karmic§ion=all&arch=any&searchon=names&keywords=ndiswrapper-utils
ndisgtk http://packages.ubuntu.com/search?suite=karmic§ion=all&arch=any&searchon=names&keywords=ndisgtk
Ściągamy menadżer sieci (moim zdaniem lepszy od obecnego)
network-admin http://packages.ubuntu.com/search?suite=karmic§ion=all&arch=any&searchon=names&keywords=network-admin
Instalujemy:
Można użyć dwukliku myszy i instalować po kolei: ndiswrapper-common, ndiswrapper-utils, ndisgtk, network-admin
lub jeśli mamy wszystkie pliki w katalogu np: network to …
wchodzimy do katalogu cd network
instalujemy paczki deb: sudo dpkg -i *.deb
Mimo wszystko musimy użyć terminala
rozpakowujemy sterowniki windowsowe
unzip dwl520+_drivers_307.zip
cd Drivers/WinXP/
dodajemy sterownik windowsa do ndiswrappera
sudo ndiswrapper -i AIRPLUS.INF
Na wszelki wypadek zmieniamy nazwę modułu do obsługi karty (u mnie nie był on załadowany)
sudo mv /lib/modules/`uname -r`/ubuntu/wireless/acx/acx.ko /lib/modules/`uname -r`/ubuntu/wireless/acx/acx.bak
Dodajemy moduł ndiswrappera
echo “ndiswrapper” >> /etc/modules
Restartujemy komputer.
Uruchamiamy network-admin
sudo network-admin
Zmieniamy ustawienia sieci (zazwyczaj interfejs nazywa się wlan0)
FreeBSD podstawy
październik 2, 2009
Instalacja LAMP
http://gustaff.bsdaemon.pl/?p=254
Wywołanie aplikacji z preinstalacji
sysinstall
Restart serwera apache
/usr/local/sbin/apachectl restart
Instalacja gd
cd /usr/ports/graphics/php5-gd
make install clean
Rozpoznawanie rozszerzeń *.php w apache FreeBSD
Dodajemy (zmieniamy) linijkę w pliku : /usr/local/etc/apache22/httpd.conf
DirectoryIndex index.php index.html index.htm
Ścieżka do strony www
/usr/local/www/apache22/data
Openarena-server + debian
wrzesień 10, 2009
~/.openarena/baseoa/server.cfg
// openarena example servercfg linux [sidux]
// save as server.cfg in ~/.openarena/baseoa/
// start with:
// cd /usr/games
// verify that there is no q3config.cfg file (it overrides values in specific config files)
// ./openarena-server +set dedicated 2 +set net_port 27950 +exec server.cfg
set sv_hostname “blah-blah”
set sv_maxclients 12
set g_motd “blah”
set sv_master1 “dpmaster.deathmask.net”
set sv_maxPing 150 //
set sv_pure 1
set sv_maxRate 25000
set sv_fps 20 // snaps setting for my 45k/s upload
set sv_allowdownload 0
#sv_privateClients “2″ // slots substracted from sv_maxclients
#sv_privatePassword “”
set capturelimit 8
set timelimit 30
set fraglimit 10 //usually 40 online
#set rconPassword “” // for remote ingame servercontrol
seta bot_enable “1″
seta bot_minplayers 4 //bots will be kicked as real players join
set g_quadfactor 4
set g_inactivity 0
set g_allowvote 0
set d1 “map aggressor; set nextmap vstr d2″
set d2 “map czest1dm; set nextmap vstr d3″
set d3 “map ce1m7; set nextmap vstr d4″
set d4 “map dm4ish; set nextmap vstr d5″
set d5 “map dm6ish; set nextmap vstr d6″
set d6 “map kaos; set nextmap vstr d7″
set d7 “map void4; set nextmap vstr d8″
set d8 “map oa_rpg3dm2;set nextmap vstr d9″
set d9 “map q3dm6ish; set nextmap vstr d1″
vstr d1 // start loop at d1
grę uruchamiamy:
openarena-server +set dedicated 1 +set net_port 27950 +exec server.cfg +map aggressor +set net_ip ADRES_IP
Ostatnio zamiast pisać samodzielnie skrypt do modyfikacji wielkości i kompresji plików JPG postanowiłem czegoś poszukać. No i znalazłem ciekawy skrypt autorstwa niejakiego albertux (http://albertux.ayalasoft.com). Oczywiście troszeczkę go pozmieniałem. Nie jest niestety idealny gdyż zajmuje się on zmianą jedynie 1 podkatalogu.
Dla przykładu maby obrazki:
P00123.jpg, P00124.jpg, P00125.jpg w katalogu /2009/wakacje-Tatry i zdjęcia: P00126.jpg, P00127.jpg, P00128.jpg w /2009/wakacje-Lagow-Lubuski. Wystarczy wejśc do katalogu 2009 i uruchomić odpowiedni skrypt.
Skrypt składa się z 2 części:
plik /usr/bin/resizeimages.sh
plik /ur/bin/script.sh
Oczywiście oba z prawami wykonalności.
A teraz ich zawartość.
/usr/bin/resizeimages.sh
#!/bin/bash
# fotos
IFS=$’\t\n’; #
for i in `ls`; do
for j in `ls $i `; do # /2009/wakacje-Tatry /2009/wakacje-Lagow-Lubuski itd.
if [ "$j" = "Thumbs.db" ]; then # ignorowanie śmieci z Windows-a
echo “Nic nie robie…”
elif [ "$j" = "script.sh" ]; then # uruchomienie skryptu konwesji: script:sh
echo “Nic do roboty…”
else
echo “Pracuję … Plik roboczy: $i/$j”
mogrify -resize 1024×768 -quality 87 “$i/$j” # Konwersja pliku do rozdzielczości 1024×768 i kompresji 87%
fi
done
done
/usr/bin/script.sh
#!/bin/bash
IFS=$’\t\n’
EXTS=( jpg gif png JPG GIF PNG )
for EXT in ${EXTS[@]};
do
for f in `find . -name “*.$EXT” -type f`;
do
echo “Katalog roboczy: $f”
dir=`dirname $f`
ff=`basename $f`
echo “Pracuje …”
mogrify -resize 1024×768 “$f”
done
done
nVidia TwinView i Gnome Panel
sierpień 23, 2009
Przy podłączaniu drugiego monitora lub jak w moim przypadku telewizora pod 2 wejście do karty graficznej natrafiłem na uciążliwą przypadłość gnome-panel. Otóż gnome-panel tuż po tym jak w nvidia-settings załączałem opcję Twin View (czyli tak aby praca była możliwa na 2 monitorach) lądował na drugim ekranie.
Z początku radziłem sobie w ten sposób, że zmniejszałem panele i przerzucałem je myszką na pierwszy ekran. Ale zaczęło mnie to troszeczkę irytować i znalazłem ciekawy skrypt autorstwa Cristi Măgherușan. Przedstawia się w następujący sposób:
#!/bin/bash
if [[ "x$1" == "xon" ]]
then
echo “Turning on VGA”
xrandr –output VGA –left-of LVDS –auto
echo “Moving panel to second display”
gconftool-2 –set “/apps/panel/toplevels/top_panel_screen0/monitor” –type integer “1″
gconftool-2 –set “/apps/panel/toplevels/bottom_panel_screen0/monitor” –type integer “1″
elif [[ "x$1" == "xoff" ]]
then
echo “Turning off VGA”
xrandr –output VGA –left-of LVDS –off
fi
Można go wrzucić do autostartu.
Problem z aktualizacją KDE 4.3 (Ubuntu 9.04)
sierpień 6, 2009
Podczas aktualizacji KDE 4 do KDE 4.3 może pojawić się błąd związany z brakiem zależności do biblioteki libindi0. Wygląda mniej więcej tak
(Reading database ... 289296 files and directories currently installed.) Unpacking libindi0 (from .../libindi0_0.6-0ubuntu1_i386.deb) ... dpkg: error processing /var/cache/apt/archives/libindi0_0.6-0ubuntu1_i386.deb (--unpack): trying to overwrite `/usr/bin/indiserver', which is also in package indi Errors were encountered while processing: /var/cache/apt/archives/libindi0_0.6-0ubuntu1_i386.deb E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: dpkg: dependency problems prevent configuration of kstars: kstars depends on libindi0 (>= 0.6); however: Package libindi0 is not installed. dpkg: error processing kstars (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of kdeedu: kdeedu depends on kstars (>= 4:4.3.0-0ubuntu1~jaunty1~ppa2); however: Package kstars is not configured yet. dpkg: error processing kdeedu (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: kstars kdeedu
Oto rozwiązanie:
sudo dpkg –force-all -i /var/cache/apt/archives/libindi0_0.6-0ubuntu1_i386.deb && apt-get upgrade
Import i eksport bazy danych na home.pl
lipiec 28, 2009
W jaki sposób poradzić sobie z importem i eksportem bazy danych w home.pl bez użycia phpmyadmin?
Import bazy danych:
$ mysql –host=sql.nazwa-konta.home.pl –database=nazwa-bazy –user=nazwa-bazy –password=haslo < plik_import.sql
Eksport bazy danych:
mysqldump -h sql.nazwa-konta.home.pl –ssl –user=nazwa-bazy –password=haslo –add-drop-table -B nazwa-bazy | gzip -9c >nazwa-bazy-opis-`date +%y%m%d`.gz
Może wystąpić problem z kodowaniem znaków, gdyż na home.pl kodowanie bazy ustawione jest na latin2.
Dlatego warto utworzyć kopię i import z odpowiednimi flagami: –default-character-set=latin2
Import i export:
$ mysql –host=sql.nazwa-konta.home.pl –database=nazwa-bazy –user=nazwa-bazy –password=haslo –default-character-set=latin2 < plik_import.sql
export z lokalnego serwera:
mysqldump –host=localhost –user nazwa_uzytkownika –password=haslo –default-character-set=latin2 nazwa_bazy > nazwa-bazy-opis-`date +%y%m%d`.sql
Dodatkowo warto ustawić w pliku z odczytem bazy danych odpowiedni wpis:
mysql_query(‘SET NAMES “utf8″‘);
W przypadku Drupala będzie to w pliku includes/database.mysql.inc w:
/* On MySQL 4.1 and later, force UTF-8 */
if (version_compare(mysql_get_server_info(), ‘4.1.0′, ‘>=’)) {
mysql_query(‘SET NAMES “utf8″‘, $connection);
}
return $connection;
Problem z dźwiękiem w Open Arena (Ubuntu 9.04)
lipiec 21, 2009
Po zainstalowaniu nowej wersji Ubuntu (na dzień dzisiejszy 9.04) pojawił się problem z miksowaniem dźwięku w Open Arena 0.8.1.
Otóż gdy pojawiał się komunikat – dziwnie brzmiał (był przerywany) a z czasem dźwięk zanikał.
Oto mój sprzęt:
- lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 1
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller
01:00.0 VGA compatible controller: nVidia Corporation GeForce 9500 GT (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
04:03.0 Network controller: Texas Instruments ACX 100 22Mbps Wireless Interface
04:05.0 IDE interface: Integrated Technology Express, Inc. IT8213 IDE Controller
04:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
- hwinfo –short
cpu:
Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz, 2000 MHz
Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz, 2000 MHz
graphics card:
nVidia VGA compatible controller
sound:
Intel ICH10 HD Audio Controller
- Należy zmienić (tworzyć w katalogu domowym plik .asoundrc)
gedit ~/.asoundrc
- Wklejamy poniższą zawartość:
pcm.my_card {
type hw
card 0
# mmap_emulation true
}
pcm.dmixed {
type dmix
ipc_key 1024
# ipc_key_add_uid false # let multiple users share
# ipc_perm 0666 # IPC permissions for multi user sharing (octal, default 0600)
slave {
pcm “my_card”
# rate 48000
# period_size 512
}
}
pcm.dsnooped {
type dsnoop
ipc_key 2048
slave {
pcm “my_card”
# rate 48000
# period_size 128
}
}
pcm.asymed {
type asym
playback.pcm “dmixed”
capture.pcm “dsnooped”
}
pcm.pasymed {
type plug
slave.pcm “asymed”
}
pcm.dsp0 {
type plug
slave.pcm “asymed”
}
pcm.!default {
type plug
slave.pcm “asymed”
}
- Należy także ustawić w dźwiękach wszystko na ALSA

Po zainstalowaniu krusadera po pewnym czasie pojawił się problem z brakiem możliwości wyłączenia pełnego ekranu.
Tryb fullscreen można usunąć przez wykasowanie pliku z ustawieniami:
rm ~/.kde/share/config/krusaderrc
