|
Rozmiar: 10650
Komentarz: +foto na papier
|
Rozmiar: 10650
Komentarz: php52->php53
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 60: | Linia 60: |
| orig=`pkg_info -q -o $pkg`; new=`echo $orig| sed -e's/php5/php52/'`; portupgrade -f -m'DISABLE_CONFLICTS=1' -o $new $orig | orig=`pkg_info -q -o $pkg`; new=`echo $orig| sed -e's/php5/php53/'`; portupgrade -f -m'DISABLE_CONFLICTS=1' -o $new $orig |
Spis Treści
-
Tips & Tricks
-
Jednolinijkowce
- Kopiowanie zdjęć dla fotografa
- Kopiowanie MP3 pod MS Windows
- TAGowanie plików MP3
- Montowanie USB flash pod FreeBSD
- Uruchamianie unison
- Reinstalacja portu z jednoczesną zamianą na inny równoważny
- Informacja o zainstalowanych portach pasującyh do wzorca
- Przydatny ping przy rekonfiguracji topologi sieci
- Poszukiwanie spamów w celu ich odblokowania
- Przeładowanie stref nameda
- Użyteczne dodatki do tcpdump
- Szybkie znalezienie plików, które trzeba ponownie dodać do RCS
- Uruchomienie mtree w celu zrobienia zrzutu drzewa katalogów
- Prosta konwersja, aby słowa były objęte ciapkami
- Przygotowanie poleceń dla Makefile
- Wycięcie pustych linii z pliku
- Uruchomienie at
- Gdy nie ma lynx lub links
- Kopiowanie struktury katalogów za pomocą cpio
- Zamiana tekstu na HTML
- Oczyszczenie plików JPEG z EXIF
- Dodanie watermarka do pliku za pomocą ImageMagick
- Przeniesienie baz RRD pomiędzy architekturami
- Programistyczne
- Ciekawe narzędzia FreeBSD
- Podstrony
- Ciekawe linki zewnętrzne
-
Jednolinijkowce
Tips & Tricks
Różne krótkie sztuczki, aby szybko potem zrobić proste zadania.
Jednolinijkowce
Skrypty jednolinijkowe, aby szybko wykonać proste, lub bardziej złożone zadania.
Kopiowanie zdjęć dla fotografa
Gdy jest lista zdjęć do przekopiowania, to można zrobić szybki skrypt do przekopiowania prosto z kamery: Format pliku TXT:
PIC_4413.JPG,2 PIC_4419.JPG,4
for f in `cat /tmp/foto.txt | sed -e's/,.*$//'`; do echo "copy G:\\DCIM\\100JVCSO\\$f F:\\4-foto-papier\\"; done
Kopiowanie MP3 pod MS Windows
z zachowaniem kolejności plików, np. przegranie czytanej bajki
FOR /F "usebackq" %f IN (`dir . /B /O:N`) DO copy %f E:\_katalog
TAGowanie plików MP3
Niektóre odtwarzacze mp3 (np. telefon Nokia) odtwarza pliki muzyczne tylko i wyłącznie po tag-ach mp3, np. artysta, rodzaj muzyki, album etc. Jeżeli mp3 powstał z płyty CD, to tagi w takich mp3 są kompletnie puste. Ale można sobie poradzić. Oto przykład dla plików, których nazwa zawierała tytuł utworu:
ls *.mp3 | perl -ne 'chomp; $f=$_;s/\.mp3$//;s/^[0-9]{2}_//;s/_/ /g; print "audiotag -a \"_ARTYSTA_\" -y _YYYY_ -A \"_ALBUM_\" -g \"_RODZAJ_MUZYKI_\" -t \"$_\" $f\n";' | sh
Montowanie USB flash pod FreeBSD
Z lokalizacją dla pl_fonts
mount_msdosfs -L pl_PL.ISO8859-2 -D cp852 /dev/da0s1 /mnt/usb/
# [kopiowanie plików]
umount /mnt/usb
Uruchamianie unison
unison to narzędzie pozwalające na ręczną synchronizację katalogów w systemie lokalnym oraz zdalnym (synchornizacja może się odbywać w obydwie strony). Używam głównie do dystrybucji skryptów administracyjnych po serwerach.
unison ~/scripts/ ssh://fw.wtp3.org/cvs/unison/
Reinstalacja portu z jednoczesną zamianą na inny równoważny
Zaistniała konieczność zmiany portu security/openssl-stable na security/openssl. Ale konieczne było zrobić to bez "zgubienia" wszystkich zależności. W związku z tym wystaczy wydać polecenie:
portupgrade -f -o security/openssl openssl-stable
albo wersja mocno rozbudowana:
for pkg in `pkg_info -E 'php5-*'`
do
orig=`pkg_info -q -o $pkg`; new=`echo $orig| sed -e's/php5/php53/'`; portupgrade -f -m'DISABLE_CONFLICTS=1' -o $new $orig
done
Informacja o zainstalowanych portach pasującyh do wzorca
Uzyskamy informację o zainstalowanych portach, których nazwy zawierają podany ciąg znaków. Wraz z krótką informacją o danym porcie.
pkg_info -Ix sasl
Przydatny ping przy rekonfiguracji topologi sieci
Konsola daleko, a trzeba znaleźć kabelek na switchu, czy patch-panelu:
ping -s <ADRES_IP> | tr : ^G (CTRL-V CTRL-G)
Poszukiwanie spamów w celu ich odblokowania
find /var/virusmails/2008/12 -type f -exec egrep -i '(skanska.pl|arimgr.gov.pl|plk-sa.pl|pkpenergetyka.pl|warta.pl)' /dev/null {} \; | awk -F ":" '{print $1}' | sort -u
Jest to zdecydowanie szybciej, aniżeli przeglądanie logów serwera SMTP. Co prawda w logach można znaleźć więcej informacji o listach odrzuconych, zanim trafiły w ręce amavisd...
Przeładowanie stref nameda
Dla przykładu: w pliku konfiguracyjnym są tylko definicje stref typu slave. Chcemy zassać zmiany z master DNSa. Zatem mozna to szybciutko zrobić:
cat include.conf.named | awk '/zone/ {print $2}' | tr -d '"' | xargs -n1 rndc reload
W tym przykładzie strefy nie są umieszczone w widokach. Bo jakby były, to jest nieco inna składnia polecenia rndc.
Użyteczne dodatki do tcpdump
tcpdump -l -n -Xx -s 1024 -tttt [_wyrazenie_podsluchu_]
Szybkie znalezienie plików, które trzeba ponownie dodać do RCS
ls RCS/ | sed -e 's/,v//' | xargs -n1 ls -lF
Uruchomienie mtree w celu zrobienia zrzutu drzewa katalogów
mtree -Pc -p /var/log -X /tmp/_var_log.exclude.mtree > _var_log.mtree
Zaś plik /tmp/_var_log.exclude.mtree zawiera1:
*.[0-9] *.gz *.bz2 *.rar
Prosta konwersja, aby słowa były objęte ciapkami
Potrzebne do wygenerowania parserów dla MoinMoin:
cat /var/tmp/_builtin | perl -pe "s/(\b)/'\1/g;"
Przygotowanie poleceń dla Makefile
for f in `ls /bin/* /usr/bin/* /sbin/* /usr/sbin/*`; do cmd=` echo $f | sed -e 's!^.*/!!' | tr '[:lower:]' '[:upper:]'`; echo "$cmd?= $f"; done | sort
Wycięcie pustych linii z pliku
ed - file <<< $'g/^$/d\nw'
Uruchomienie at
at 8pm + 3 days
cat /var/tmp/kopernik-20100220.txt | mail -s "Zapisy na warsztaty familijne" warsztaty@kopernik.org.pl
^D
Gdy nie ma lynx lub links
curl -G http://localhost/server-status?auto
Kopiowanie struktury katalogów za pomocą cpio
find /var/ftpd/aqq -depth -print | cpio -pamVd /var/ftp/nowy-katalog
Zamiana tekstu na HTML
Potrzebne było przetworzenie tekstu (plain text) na postać HTMLową, aby ładnie prezentowało się po wklejeniu w edytorze Allegro. Wykorzystany jest program z ports, który takie coś wykonuje (skrypt PERLowy):
txt2html --eight_bit_clean --bold_delimiter % --infile /home/var/tmp/_allegro.txt
Więcej opcji i możliwości zapisano w manualu.
Oczyszczenie plików JPEG z EXIF
# --- najpier wyczyszczenie nagłówków totalnie ------------------
jhead -purejpg -norot *.JPG
# --- dodanie nagłówków EXIF, ale tylko z datą (na podstawie daty utworzenia pliku) ---
jhead -mkexif -norot *.JPG
Dodanie watermarka do pliku za pomocą ImageMagick
for f in `ls *.jpg`; do composite -gravity SouthEast -dissolve 15 ../wtp3.png $f $f; done
# --- albo bardziej hardcore -----------
for g in Center SouthWest NorthEast; do foto.watermark -g $g `find ./ -type f -name '*.jpg' -mtime -+2d`; done
Więcej można znaleźć w poniższych linkach:
Przeniesienie baz RRD pomiędzy architekturami
RRDtool nie potrafi poradzić sobie z formatem pomiędzy różnymi architekturami (wersja OS, x32, x64). Dlatego jest prosty sposób na przeniesienie baz. Na serwerze źródłowym:
rrdtool dump filename.rrd filename.xml
Na serwerze docelowym (przyczym plik filename.rrd nie może istnieć):
rrdtool restore filename.xml filename.rrd -r
I już. Załatwione.
Programistyczne
Ustawienie poprawnego połączenia do mySQL
Chodzi głównie o kodowanie PL ogonków. Jeżeli domyślne wartości podczas instalacji pokrywają się z wymogami aplikacji, to nie ma problemu. Ale jak jest serwer typu VPS, to nie można na serwerze wymusić kodowania potrzebnego do aplikacji. Dlatego też:
<?php
$link = mysql_connect('localhost', 'root', '','');
IF (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_query('SET character_set_connection=utf8_polish_ci');
mysql_query('SET character_set_client=utf8_polish_ci');
mysql_query('SET character_set_results=utf8_polish_ci');
mysql_query(' SET NAMES utf8 ');
mysql_select_db('baza', $link);
?>
Tablica asocajcyjna w SHell-u
name="$1"
_pidfile=$(echo "$(eval echo \$${name}_pidfile)")
Getopt w SHell-u
# --- pobranie argument/ow skryptu ---------------------------------------
#
args=`getopt dv $*`
set -- $args
for i
do
case "$i"
in
-v)
_virtual=1
shift;;
--)
shift; break;;
esac
done
ERROR: EOF in multi-line statement
Ciekawe narzędzia FreeBSD
Włączenie klawiatury USB dla Single User Mode
echo hint.atkbd.0.flags="0x1" >> /boot/loader.conf
echo ukbd_load="YES" >> /boot/loader.conf
Sklejenie jednej kolumny w linie wielokolumnowe
cat plik | lam - - -
cat plik | paste -s -d ' ' -
Szybkie tworzenie galerii z katalogów
Zainstalowane z ports. Narzędzie do tworzenia galerii obrazków:
/usr/local/bin/igal2.sh <DIRECTORY>
Dodanie własnego favicon.ico dla strony
Gdy potrzeba "nadpisać" ustawienia apache'a w celu ustalenia własnego favicon.ico
<link href="/portalwiedzy184/my-icon.ico" rel="SHORTCUT ICON" />
Podstrony
/CronPostfixBledy - czyli jak rozwiązać problem błędów w logach (np. dla cacti)
/PostfixSprawdzanieNadawcow - czyli, jak zabezpieczyć przed podszywaniem się zautoryzowanych nadawców
/MoinFarmaNoweWiki - czyli co trzeba zrobić, aby dodać nowe wiki do farmy
/MoinModWsgi - teoretycznie lepiej, ale czasami bywa bardziej "męczliwe"
/DrupalNowySite - czyli co trzeba zrobić, aby dodać nowy site do drupala
/GotowcePython - różne gotowce związane z programowaniem w Python
/UpgradePostgresql - co należy zrobić, aby zrobić dobrze upgrade PostgrSQL
Ciekawe linki zewnętrzne
To z kategorii FreeBSD. I nie tylko.
Plik exclude NIE MOŻE zawierać komentarzy. (1)
