[FAQ] - Mini TIPS & TRICKS
Moderatorzy: Moderatorzy, Administratorzy
[FAQ] - Mini TIPS & TRICKS
Cel:
Celem "Mini Tips & Tricks" jest rozpowszechnianie wiedzy o tematach, które nie zostały jeszcze opisane w sieci Internet, są to rzeczy drobne, na małą skalę, nie będące sprawą popularnych dyskusji, wymagają samodzielnego wkładu pracy, aby dojść do rozwiązania. Tematy "Mini Tips&Tricks" nie mają określonego stopnia zaawansowania pod względem wiedzy i doświadczeń użytkowników.
Zasady dodawania tematów:
1. Uwzględnić cel wątku.
2. Zachowywać reguły pisowni, zwyczaje przyjęte na forach (głównie znaczniki/tagi, kursywy ścieżek dostępu - nie skracać, podawać pełne, jeżeli są one uniwersalne, # lub $ przed komendami w konsoli), dostosować się do wzoru.
3. Każdy temat musi znaleźć się w osobnym poście.
4. Nie pytać, nie komentować w tym wątku - w razie zastrzeżeń możemy zrobić to poprzez PW, zasugerować autorowi tematu ewentualne poprawki.
Wzór jednego tematu:
1. Temat problemu wprowadzamy w polu Temat, które znajduje się nad polem edycji postu (tylko poprzez przycisk Odpowiedz!), a także w polu edycji w postaci pogrubionej, po nim zostawiamy linijkę odstępu.
2. Temat po krótce omawiamy jeszcze w polu edycji i opisujemy jego rozwiązanie zrozumiałym, kulturalnym, poprawnym, powszechnie przyjętym językiem.
Na koniec:
Wszystkich zachęcam do tworzenia tego wątku, dzielenia się doświadczeniami i wiedzą dla dobra ludzkości, mogącej z tego korzystać.
Osoba odpowiedzialna za wątek: Zielony. Uwagi proszę kierować wiadomością prywatną.
Lista tematów:
1. Zmniejszanie i wyostrzanie zdjęć za pomocą mogrify
2. Aparat cyfrowy Sony DSC-W30
3. Konwertowanie PDF do TXT
4. Konwersja mpc do mp3 z użyciem bibliotek lame i mppdec
5. Wyświetlanie pierwszej/ostatniej/danej linii
6. Budzenie terminala
7. Sprawdzanie brakujących bibliotek
8. Sprawdzanie aktywności użytykowników
9. Sprawdzanie wszystkich wykorzystanych/brakujących bibliotek
10. Zabezpieczamy pliki z kropką z przodu na swoim koncie.
11. Zmniejszenie wielkości paczki / usunięcie dokumentacji podczas kompilacji
12. Resetowanie terminala
13. Wyświetlanie logów w czasie rzeczywistym
14. Obsługa FTP przez skrypt
15. Oddzielanie dźwięku od obrazu za pomocą mencodera
16. Sprawdzanie sumy MD5
17. Wydawanie poleceń do ekg od zewnątrz i poprzez Firefoxa
18. Generowanie losowych danych do pliku
19. Przycisk zamykania kart w Firefoxie 2.0
20. Brzęczyk systemowy - wyłączanie
21. Unia (połączenie) zawartości kilku katalogów
22. Konfigurowalne menuconfig jądra 2.6.x
23. Pobieranie filmów z Youtube, Video Google
24. Kompilacja dvd+rw-tools 7.0
25. Thunderbird - otwieranie linków w innej przeglądarce niż Firefox
26. Acrobat Reader dla Linuksa i GTK+ 2.10.x
27. Logi na 12 konsoli
28. Lista softu do obsługi/identyfikacji sprzętu
29. Slackware 12, niestartujący X Server z braku cz. 'fixed'
30. Komórka + obexfs (wirtualny system plików dla MC)
31. Odtwarzacze MP3 Sony
32. Xine napisy - problem po instalacji sterowników Ati
33. Cardreader Hama 35in1 na Slackware
34. Obróbka initrd.img
35. Dodawanie własnych paketów do instalacji z CD/DVD
36. Łączenie wideo (obrazu) z dźwiękiem za pomocą mencodera
Zmniejszanie i wyostrzanie zdjęć za pomocą mogrify
Czasami potrzebujemy masowo zmniejszyć zdjęcia w wysokiej rozdzielczości chociażby do publikacji w Internecie. Nie wszyscy wiedzą, ale zmniejszone fotografie tracą swoją ostrość poprzez uśrednianie barw, nadających kształty. Z rozwiązaniem przychodzi program mogrify z pakietu ImageMagick.
Kod: Zaznacz cały
$ mogrify -resize 50% -unsharp 1x1+0.3 *
Dzięki "*" wszystkie zdjęcie znajdujące się w danym katalogu będą poddane obróbce.
Pamiętajmy, że program mogrify nadpisuje zdjęcia i tracimy poprzez to oryginały, więc należy pracować na kopiach.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Aparat cyfrowy Sony DSC-W30
Do aparatów cyfrowych Sony DSC-W30 można się dostać za pomocą programu gPhoto2, jednak trzeba przełączyć w samym aparacie tryb USB na "PTP" z "pamięci masowej". Inaczej aparat nie zostanie wykryty.
Może to się oczywiście sprawdzać także w innych aparatach.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Konwertowanie PDF do TXT
Aby poprawnie przekonwertować plik PDF do pliku TXT razem z polskimi, diaktrycznymi znakami, należy użyć pakietu pdftotext w następujący sposób:
Kod: Zaznacz cały
$ pdftotext -enc Latin2 plik.pdf plik.txt
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Konwersja mpc do mp3
Najpierw zaopatrujemy się w potrzebne biblioteki. Lame jest domyslnie instalowany, a stąd można pobrać bibliotekę mppdec (wersja statyczna wystarczy). Rozpakowujemy i instalujemy (wersję statyczną wystarczy skopiować np. do /usr/bin). Aby skonwertować wszystkie pliki w danym katalogu wydajemy polecenie:
Kod: Zaznacz cały
for I in *.mpc; do mppdec "$I" ${I%.mpc}.wav; lame -V2 -b 192 ${I%.mpc}.wav ${I%.mpc}.mp3; rm ${I%.mpc}.wav; done
PS Prosty skrypt jest mojego autorstwa, prawdopodobnie można go napisać ładniej, ale ważne że działa.
Wyświetlanie kilku pierwszych/ostatnich/danej linii
Jeżeli chcemy wyświetlić kilka pierwszych lub ostatnich linii, to z pomocą przyjdą nam programy head (ang. głowa) i tail (ang. ogon). Używamy ich następująco:
Kod: Zaznacz cały
$ head -1 plik
Kod: Zaznacz cały
$tail -1 plik
Kod: Zaznacz cały
$ df | head -1
Kod: Zaznacz cały
$ df | tail -1
Kod: Zaznacz cały
$ head -5 plik | tail -1
Kod: Zaznacz cały
$ df | head -5 | tail -1
Kod: Zaznacz cały
#!/bin/bash
head -n $1 $2 | tail -1
Kod: Zaznacz cały
$ showline 5 plik
Kod: Zaznacz cały
$ df | showline 5
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Budzenie terminala
Zdarzyło Ci się kiedyś, że "coś' nacisnąłeś, terminal się uśpił i nie można było niczego wpisać? Tym czymś była kombinacja Ctrl+S. Źeby przywrócić go do życia wciśnij Ctrl+Q.
To nie był kwadrat. To było koło o charakterze prostokąta.
Sprawdzanie brakujących bibliotek
Aby sprawdzić jakich bibliotek używa binarka należy skorzystać z polecenie ldd (man ldd) dostarczanego wraz z pakietem glibc. W przypadku gdy brakuje w systemie biblioteki przy jej nazwie pojawi się komunikat ,,not found''. Łącząc ldd i grep można łatwo wyłapać brakujące biblioteki:
Kod: Zaznacz cały
ldd binarka | grep "not found"
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
Re: [FAQ] - Mini TIPS & TRICKS
Jeżeli Twoja sieć jest pełna komputerów z windowsem które natarczywie blokują icmp a Ty potrzebujesz sprawdzić czy dana maszyna jest właczona to możesz użyć polecenia arp na swojej bramce internetowej lub wykorzystać arping
Kod: Zaznacz cały
root@mietekzul:~#arp
Address | HWtype | HWaddress | Flags Mask | Iface
adrian ether 00:0b:23:f1:37:6f c eth5
......
Kod: Zaznacz cały
cat /etc/hosts
Kod: Zaznacz cały
10.1.1.1 maniek
10.1.1.2 stefan
10.1.1.3 ziuta
Kod: Zaznacz cały
arping stefan -I eth5
Sprawdzanie wszystkich wykorzystanych/brakujących bibliotek
Rozszerzając trick difrosta można wywołać następujące polecenie:
Kod: Zaznacz cały
$ OIFS="$IFS"; IFS=:; find $PATH -maxdepth 1 -type f -perm /111 -print0 2>/dev/null | xargs -0 ldd >libs; IFS="$OIFS"; unset OIFS
Aby sprawdzić, które z zainstalowanych bibliotek nie sa wykorzystane można następnie wywołać plecenie:
Kod: Zaznacz cały
for lib in /var/log/packages/lib*; do lib=${lib##*/}; lib=${lib%%-*}; fgrep -q "$lib" libs || echo $lib; done
Zabezpieczamy pliki te z kropką z przodu na swoim koncie
Tworzymy katalog ~/configback
Wydajemy polecenie
Kod: Zaznacz cały
$ rsync -auvH $HOME/`ls -A |grep ^[.]` $HOME/configback
Kod: Zaznacz cały
* * * * * rsync -auvH $HOME/`ls -A |grep ^[.]` $HOME/configback
Kod: Zaznacz cały
0-59/10 * * * * rsync -auvH $HOME/`ls -A |grep ^[.]` $HOME/configback
perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
- Skyscraper
- Administrator
- Posty: 753
- Rejestracja: 2004-05-22, 10:46
- Lokalizacja: Wrocław
- Kontakt:
Zmniejszenie wielkości paczki / usunięcie dokumentacji
Osoby, które mają na względzie ilość zajmowanego miejsca na dysku twardym przez oprogramowanie (zwłaszcza Adminsitratorzy serwerów), zauważyły z pewnością jak wiele miejsca zajmuje dokumentacja dostarczana wraz z oprogramowaniem. Ilość często liczona w megabajtach, a w przypadku maszyn z małymi dyskami twardymi (najczęściej lokalne routery, itp), ma to kluczowe znaczenie.
Oto kilka modyfikacji jakie można poczynić w skryptach kompilujących oprogramowanie, aby pozbyć się niechcianej dokumentacji i odchudzić paczkę:
a) skrypt checkinstall
Edytujemy głowny skrypt programu Checkinstall, wspomagającego tworzenie pakietów i po wierszu:
Kod: Zaznacz cały
echogn "Creating package ${SLACK_PKG_BASENAME}..."
Kod: Zaznacz cały
echo -e "\n =>! Usuwanie dokumentacji z pakietu... !"
rm -rf $BUILD_DIR/usr/info $BUILD_DIR/usr/share/info $BUILD_DIR/usr/local/info $BUILD_DIR/usr/local/share/info
rm -rf $BUILD_DIR/usr/doc $BUILD_DIR/usr/share/doc $BUILD_DIR/usr/local/doc $BUILD_DIR/usr/local/share/doc
rm -rf $BUILD_DIR/{usr,usr/local,opt/gnome}/share/gtk-doc
Edytujemy skrypt i między wierszami (zazwyczaj pod koniec skryptu):
Kod: Zaznacz cały
cd $PKG
Kod: Zaznacz cały
makepkg -l -y -c -n (....).tgz
c) wszelkie inne skrypty tworzące paczkę i wykorzystujące polecenie makepkg
Bezpośrednio przed poleceniem kompresującym katalog paczki. Koniecznie ze wskazaniem położenia katalogu z plikami pakietu - po to aby przez przypadek nie usunąć sobie dokumentacji z systemu!
DODATEK A
mina86 zaproponował bardziej uniwersalne rozwiązanie. Zamiast wywoływac kolejne polecenia #rm..., można wykorzystać uniwersalne systemowo rozwiązanie, które wstawiamy w miejsca opisane wcześniej:
Kod: Zaznacz cały
for BASE in usr usr/share usr/local usr/local/share opt/gnome; do
for SUBDIR in doc info gtk-doc; do
rm -rf "$BUILD_DIR/$BASE/$SUBDIR"
done
done
* Pomysł zaczerpnięty z systemu zarządzania pakietami Pacman (Arch Linux): makepkg/abs
- przemek_11
- Użytkownik
- Posty: 384
- Rejestracja: 2005-03-01, 15:58
- Lokalizacja: Zaborze
Resetowanie terminala
Czasami zdarza się (np. poprzez wyświetlenie pliku binarnego) że popsujemy sobie terminal (widać tylko dziwne krzaczki). Należy wtedy na ślepo wpisać:
Kod: Zaznacz cały
$ reset
Wyświetlanie logów w czasie rzeczywistym.
Aby wyświetlać logi na bierząco w oknie terminala, można skorzystać z komendy tail.
(Ścieżki do plików z logami według własnych ustawień.)
Kod: Zaznacz cały
tail --follow --quiet /var/log/debug /var/log/maillog /var/log/messages /var/log/secure /var/log/syslog /var/log/vsftpd.log /www/logs/access_log /www/logs/error_log
-- quiet ukrywa dodatkowe komunikaty tail'a, które informują o nazwie pliku, z którego pochodzi wyświetlony tekst.
Proponuję skorzystać ze screena, co ułatwi uruchamianie i "chowanie" logów:
do pierwszego uruchomienia skryptu:
Kod: Zaznacz cały
alias logss='screen -S logs tail --follow --quiet /var/log/debug /var/log/maillog /var/log/messages /var/log/secure /var/log/syslog /var/log/vsftpd.log /www/logs/access_log /www/logs/error_log'
$ logss
Kod: Zaznacz cały
Ctrl + a + d
Kod: Zaznacz cały
alias logsd='screen -r logs'
$ logsd
Obsługa FTP przez skrypt
Do uploadowania plików przychodzi nam z pomocą ncftpput (znajduje się w pakiecie ncftp).
Kod: Zaznacz cały
ncftpput -u login -p hasło adres_hosta katalog plik(i)_do_wysłania
Do usuwania plików przyda nam się nc, który jest klientem telnetowym.
Kod: Zaznacz cały
{
echo -e "USER login\nPASS hasło\nCWD katalog\nDELE plik"
echo "QUIT"
} | nc adres_hosta21
Jeżeli chcemy usunąć kilka plików na raz, które wczytamy ze zmiennej to wystarczy zastować pętlę for pomiędzy dwoma poleceniami echo, a z końca pierwszego usunąć "\nDELE plik".
Kod: Zaznacz cały
for i in $FILENAMES; do
echo "DELE $i"
done
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]