http://iptables.ovh.org/ -reguły iptables

http://www.globi.org/lwq/ - opis administracji i instalacji qmail’a

http://linux.netina.com.pl/tag/qmail/ - ciekawe zagadnienia z używania qmail’a

Kasowanie dysku ala’Ziobro

kwiecień 15, 2008

Jak skutecznie wykasować zawartość dysku twardego ?

cat /dev/random > /dev/sda

Najlepsze strony z webdesignem

kwiecień 14, 2008

Ostatnio szukając weny (nawet mi się zdarza) ;) postanowiłem poszukać stron, które natchnęły by mnie i przy okazji dzieląc się tym i innych do twórczej pracy.

http://bestwebgallery.com/

http://www.webdesignerwall.com/

http://www.ndesign-studio.com/portfolio/web/

Sprawdzanie nazwy hosta

uname -n
hostname -a
hostname -s
hostname -d
hostname -f
hostname


Konfiguracja /etc/hosts

IJeśli twoje IP jest przypisane przez serwer DHCP wtedy należy sprawdzić ustawienia pliku /etc/hosts:

127.0.0.1	mybox.mydomain.com	localhost.localdomain localhost mybox

Jeśli masz IP przydzielone statycznie wtedy Twój plik /etc/hosts powinien wyglądać następująco:

127.0.0.1	localhost.localdomain localhost
192.168.0.10	mybox.mydomain.com	mybox


Ustawianie nazwy hosta z wykorzystaniem polecenia “hostname”

Po poprawnych zmianach w pliku /etc/hosts, poleceniem “hostname” ustawiamy nazwę hosta:

hostname mybox.mydomain.com


Sprawdzanie nazwy hosta w pliku /etc/HOSTNAME (jeśli istnieje)

Sprawdzmy poprawność wpisu w pliku /etc/HOSTNAME:

mybox.mydomain.com


Sprawdzanie pliku /etc/sysconfig/network

Jeśli posiadasz stałe IP, wtedy plik /etc/sysconfig/network powinien być skonfigurowany następująco:

NETWORKING=yes
HOSTNAME="mybox.mydomain.com"
...


Sprawdzanie pliku /proc/sys/kernel/hostname

Sprawdzamy poprawność wpisu w pliku /proc/sys/kernel/hostname:

cat /proc/sys/kernel/hostname

Jeśli wpis się nie zgadza wówczas wykonujemy polecenie:

echo mybox.mydomain.com > /proc/sys/kernel/hostname


Dynamiczny DNS - aktualizacja lokalnego serwera DNS

Dla użytkowników RedHatopodobnych jeżeli otrzymujecie adres IP z serwera DHCP powinno się zaktualizować lokalny serwer DNS przez dodanie poprawnego wpisu ifcfg w pliku /etc/sysconfig/network-scripts, such as ifcfg-eth0 or ifcfg-eth1

:

DHCP_HOSTNAME="mybox.mydomain.com"

dla Debianopochodnych, edytujemy /etc/network/interfaces i dodajemy linię z nazwą hosta:

iface eth0 inet dhcp
hostname mybox.mydomain.com

Po czym wydajemy polecenie
killall dhclient & /etc/init.d/networking restart

w Gentoo:
edytujemy plik /etc/conf.d/net
wpisujemy dhcpcd_eth0="-h nazwahosta"
restartujemy usługi sieciowe.

Jest to wolne tłumaczenie http://www.cpqlinux.com/hostname.html

http://komasinski.pl/index.php?option=com_content&task=view&id=25&Itemid=38

Bedziemy potrzebować: mplayer’a, mencoder’a oraz lame.

sudo apt-get install mplayer mencoder lame && gedit /usr/bin/wma2mp3

wklejamy poniższy kod:

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm “$i” && lame -m j -h –vbr-new -b 160 audiodump.wav -o “`basename “$i” .wma`.mp3″; done; rm -f audiodump.wav

zapisujemy

chmod +x /usr/bin/wma2mp3

Wchodzimy do katalogu z plikami wma i wydajemy polecenie wma2mp3

I to wszystko.

Lista kanałów znajduje się w ~/.kde/share/apps/kaffeine/channels.dvb .

A oto i ona:

#Generated by Kaffeine 0.5
TVC|TVP 1|166(2)|104(pol),|503|4807|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|1|||
TVC|TVP 2|167(2)|108(pol),|508|4808|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|2|||
TVC|TVP 3|169(2)|116(pol),|522|5110|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|3|||
TVC|TVN|512(2)|650(pol),651(ac3),|576|4311|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|4|||
TVC|TVN 24|513(2)|660(pol),661(jpn),|0|4312|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|5|||
TVC|Superstacja|369(2)|370(pol),|0|13108|13200|SHotbird-13.0E|11158|27500|v|34|-1|-1|-1|-1|-1|-1|-1|6|||
TVC|CANAL+|160(2)|80(pol),81(eng),|500|4801|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|7|700(16)(4)(5)(pol),||
TVC|CANAL+ FILM|161(2)|84(pol),85(eng),86(ac3),|500|4802|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|8|701(16)(4)(5)(pol),||
TVC|ALE KINO!|164(2)|96(pol),|515|4805|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|9|||
TVC|CINEMAX|170(2)|120(pol),121(ORY),|0|5111|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|10|||
TVC|HALLMARK|161(2)|84(pol),85(eng),|0|13002|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|11|||
TVC|CN/TCM CEE Combo|7601(2)|7611(pol),7612(hun),7613(rum),7614(eng),|0|7457|12200|SHotbird-13.0E|10949|27500|v|34|-1|-1|-1|-1|-1|-1|-1|12||| TV|TVP Kultura|172(2)|128(pol),|513|5113|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|13|||
TVC|TVN Siedem|514(2)|670(pol),671(ac3),|578|4313|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|14|||
TVC|BBC PRIME|167(2)|108(eng),|501|5108|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|15|||
TVC|CANAL+ SPORT|168(2)|112(pol),113(eng),|500|4809|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|16|702(16)(4)(5)(pol),||
TVC|ESP Polish|2577(2)|2565(pol),2562(eng),|2578|13834|200|SHotbird-13.0E|11240|27500|v|34|-1|-1|-1|-1|-1|-1|-1|17|||
TVC|EUROSPORT 2|164(2)|96(pol),|0|4405|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|18|||
TVC|EXTREME SPORTS|165(2)|100(pol),|0|13006|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|19|||
TVC|TVN TURBO|520(2)|730(pol),|583|4319|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|20|||
TVC|TVN METEO|519(2)|720(pol),|0|4318|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|21|||
TVC|TVN Style|521(2)|740(pol),|584|4320|1000|SHotbird-13.0E|11393|27500|v|34|-1|-1|-1|-1|-1|-1|-1|22|||
TVC|KUCHNIA.TV|163(2)|92(pol),|0|4804|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|23|||
TVC|PLANETE|165(2)|100(pol),|0|4406|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|24|||
TVC|NATIONAL GEO|166(2)|104(pol),106(hun),105(rus),107(eng),|509|13007|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|25|||
TVC|ANIMAL PLANET|162(2)|88(pol),89(eng),|0|13003|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|26|||
TVC|DISCOVERY|172(2)|124(pol),125(eng),|0|13013|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|27|||
TV|EDUSAT|164(2)|96(pol),|0|13005|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|28|||
TVC|MTV2|170(2)|118(eng),|0|13011|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|29|||
TV|4fun.TV|163(2)|92(pol),|516|4404|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|30|||
TVC|MTV Polska|161(2)|84,|0|22|12800|SHotbird-13.0E|11075|27500|v|34|-1|-1|-1|-1|-1|-1|-1|31|||
TVC|VH1 Polska.|163(2)|92(pol),|41|24|12800|SHotbird-13.0E|11075|27500|v|34|-1|-1|-1|-1|-1|-1|-1|32|||
TVC|MINIMINI|166(2)|104(pol),|0|4407|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|33|||
TVC|Cartoon Network|7501(2)|7511(pol),7512(hun),7513(rum),7514(eng),|7521|7467|12200|SHotbird-13.0E|10949|27500|v|34|-1|-1|-1|-1|-1|-1|-1|34|||
TVC|Disney Channel|7401(2)|7411(pol),7412(eng),|7441|7466|12200|SHotbird-13.0E|10949|27500|v|34|-1|-1|-1|-1|-1|-1|-1|35|||
TVC|JETIX|162(2)|88(pol),|0|4803|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|36|||
TVC|ZigZap|165(2)|100(pol),|0|4806|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|37|||
TV|TV POLONIA|160(2)|80(pol),|500|5101|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|38|||
TV|TV PULS|171(2)|124(pol),|0|5112|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|39|||
TVC|ZONE CLUB|169(2)|316(pol),317(eng),|0|4810|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|40|||
TVC|ZONE REALITY|167(2)|108(pol),109(eng),|0|13008|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|41|||
TV|Zdrowie i Uroda|337(2)|338(pol),|0|13106|13200|SHotbird-13.0E|11158|27500|v|34|-1|-1|-1|-1|-1|-1|-1|42|||
TVC|TV 4|162(2)|88(pol),|501|4403|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|43|||
TVC|Polsat2|273(2)|274(pol),|0|13102|13200|SHotbird-13.0E|11158|27500|v|34|-1|-1|-1|-1|-1|-1|-1|44|||
TV|ZDF|570(2)|571(deu),573(ac3),|572|8011|12700|SHotbird-13.0E|11054|27500|h|56|-1|-1|-1|-1|-1|-1|-1|45|||
TV|Al Jazeera english|1420(2)|1430,|0|1714|12600|SHotbird-13.0E|11034|27500|v|34|-1|-1|-1|-1|-1|-1|-1|46|||
TV|BBC World|516(2)|690(ita),|0|25|905|SHotbird-13.0E|11432|27500|v|23|-1|-1|-1|-1|-1|-1|-1|47|||
TV|RTL 2 CH|175(2)|176(ger),|177|609|15500|SHotbird-13.0E|11604|27500|h|56|-1|-1|-1|-1|-1|-1|-1|48|||
TV|TV5MONDE EUROPE|3522(2)|3642,|3602|7322|13100|SHotbird-13.0E|11137|27500|h|34|-1|-1|-1|-1|-1|-1|-1|49|3652(16)(2)(2)(rus),3662(16)(2)(2)(dan),3682(16)(2)(2)(eng),||
RAC|Music Choice Rock|0|619(A 1),620(A 2),621(A 3),622(A 4),623(A 5),624(A 6),|0|13042|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|50|||
RA|Trójka - PR|0|772,|0|10535|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|51|||
RA|Radiostacja|0|794,|0|10503|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|52||| RAC|Music Choice Klasyka|0|631(A 1),632(A 2),633(A 3),634(A 4),635(A 5),636(A 6),|0|5141|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|53|||
RA|CYFRA+ PR|0|116(PR1),117(PR2),118(PR3),115(BIS),119(ZAG),|0|4844|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|54|||
RAC|CYFRA+ RADIO|0|123(ZET),122(RAD),124(PIN),121(TOK),120(JAZ),126(ANT),|0|4840|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|55|||
RAC|CYFRA+ RMF|0|137(RMF),138(MAX),139(CLA),|0|4842|11900|SHotbird-13.0E|10892|27500|h|34|-1|-1|-1|-1|-1|-1|-1|56|||
RA|Jedynka - PR|0|771,|0|10537|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|57|||
RA|Radio ZET|0|770(pol),|0|10530|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|58|||
RA|RFM|0|3133,|0|3103|11800|SHotbird-13.0E|11727|27500|v|34|-1|-1|-1|-1|-1|-1|-1|59|||
RAC|RMF Classic|0|769,|0|10526|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|60|||
RA|RMF MAXXX|0|777(pol),|0|10549|7900|SHotbird-13.0E|12284|27500|h|34|-1|-1|-1|-1|-1|-1|-1|61|||
RAC|Music Choice Oldies|0|637(A 1),638(A 2),639(A 3),640(A 4),641(A 5),642(A 6),|0|5142|1500|SHotbird-13.0E|11488|27500|h|34|-1|-1|-1|-1|-1|-1|-1|62|||
RAC|Music Choice Pop|0|607(A 1),608(A 2),609(A 3),610(A 4),611(A 5),612(A 6),|0|4442|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|63|||
RAC|Music Choice Swiat|0|601(A 1),602(A 2),603(A 3),604(A 4),605(A 5),606(A 6),|0|4441|11000|SHotbird-13.0E|10719|27500|v|34|-1|-1|-1|-1|-1|-1|-1|64|||
RAC|Music Choice Urban|0|625(A 1),626(A 2),627(A 3),628(A 4),629(A 5),630(A 6),|0|13043|400|SHotbird-13.0E|11278|27500|v|34|-1|-1|-1|-1|-1|-1|-1|65|||
TVC|VH1 Polska|163(2)|92(pol),|41|4|12800|SHotbird-13.0E|11075|27500|v|34|-1|-1|-1|-1|-1|-1|-1|66|||

Wpis transporderów, które znajduje się w pliku ~/.kde/share/apps/kaffeine/dvb-s/Hotbird-13.0E

S 10719000 V 27500000 3/4
S 10892000 H 27500000 3/4
S 10949000 V 27500000 3/4
S 11034000 V 27500000 3/4
S 11075000 V 27500000 3/4
S 11117000 V 27500000 3/4
S 11137000 H 27500000 3/4
S 11158000 V 27500000 3/4
S 11240000 V 27500000 3/4
S 11278000 V 27500000 3/4
S 11278000 V 27500000 3/4
S 11278000 V 27500000 3/4
S 11393000 V 27500000 3/4
S 11393000 V 27500000 3/4
S 11470000 V 27500000 5/6
S 11488000 H 27500000 3/4
S 11604000 H 27500000 5/6
S 11623000 V 27500000 3/4
S 11681000 H 27500000 3/4
S 12188000 V 27500000 3/4
S 12245000 H 27500000 3/4
S 12322000 H 27500000 3/4
S 12597000 V 27500000 3/4

Bazodanowy zawrót głowy

lipiec 17, 2007

Aby móc nalożyć całkowite uprawnienia na danego użytkownika na danej bazie danych trzeba się oczywiście zalogować do bazy danych:

[root@serwerek] #mysql

a później

mysql> GRANT ALL ON uz.* TO ‘użytkownik’@'localhost’ IDENTIFIED by ‘hasło’;

Jeżeli utraciliśmy hasło możemy wygenerować hasło w md5:

UPDATE users SET pass = PASSWORD(’hasło’) WHERE name = ‘root’;

SET PASSWORD FOR root = PASSWORD(’hasło’);

Import bazy danych:

mysql -u username -ppassword database_name < iso_country_list.sql

Export bazy danych:

mysqldump -u username –password=mypass123 database_nam > iso_country_list.sql

A tutaj najważniejsze informacje o bazach dnych pobrane z http://blog.ravbaker.net/2007/04/09/mysql-cheat-sheet/:

Przyznanie praw do wszystkich baz zaczynających się na andrzej dla użytkownika andrzej

GRANT ALL PRIVILEGES ON `andrzej\_%` . * TO andrzej@‘localhost’;

Wybór bazy danych:

mysql> USE database;

Wykaz wszystkich baz danych:

mysql> SHOW DATABASES;

Wykaz wszystkich tabel w wybranej bazie danych:

mysql> SHOW TABLES;

Wykaz wszystkich tabel z danej bazy danych:

mysql> SHOW TABLES FROM database;

Opis danych zawartych w wybranej przez nas tabeli:

mysql> DESCRIBE table; lub mysql> SHOW columns FROM database;

Tworzenie nowej bazy danych:

mysql> CREATE DATABASE db_name;

Tworzenie nowej tabeli:

mysql> CREATE TABLE table_name (field1_name TYPE(SIZE), field2_name TYPE(SIZE));Przykład: mysql> CREATE TABLE pet (name VARCHAR(20), sex CHAR(1), birth DATE);

Ładowanie danych do bazy z pliku tekstowego(poszczególne informacje oddzielone tabulacjami a rekordy znakiem \n):

mysql> LOAD DATA LOCAL INFILE “file.txt” INTO TABLE table_name;

Dodawanie nowej kolumny do wybranej tabeli:

mysql> ALTER TABLE table ADD COLUMN [składnia nowej kolumny] (AFTER|BEFORE) col_name;

Dodawanie nowego rekordu do bazy:

mysql> INSERT INTO table_name (name, owner, date, wife) VALUES (’MyName’, ‘MyOwner’, ‘2002-08-31′, NULL);
Uwaga! W polach których danych brak wpisz NULL.
Przykład tworzenia tabeli z AUTO_INCREMENT: mysql> mysql> CREATE TABLE table (number INT NOT NULL AUTO_INCREMENT, name CHAR(10) NOT NULL);

Uaktualnianie danych w wybranym rekordzie:

mysql> UPDATE table SET column_name1 = "new_value", column_name2 = "new_value2" WHERE record_name = "value";

Wyciąganie informacji z tabeli:

mysql> SELECT from_columns FROM table WHERE warunki;
Wszystkie wartości: mysql> SELECT * FROM table;
Wybrane wartości: mysql> SELECT * FROM table WHERE sth_name = "value";
Zawiłe kryterium: mysql> SELECT * FROM table WHERE rec1 = "value1" AND rec2 = "value2";
Wybrana kolumna: mysql> SELECT some_column FROM table;
Dane posortowane (ASC-rosnąco(domyślne),DESC-malejąco): mysql> SELECT col1,col2 FROM table ORDER BY col2 [ASC|DESC];
Zwraca dane bez powtórzeń: SELECT DISTINCT col_name FROM table;

Zwraca ilość rekordów odnalezionych w danym zapytaniu dla każdego pola:

mysql> SELECT field1,field2,COUNT(*) FROM table;
Ilość wszystkich rekordów w danej tabeli:mysql> SELECT COUNT(*) FROM table;

Porównywanie wzorców:

mysql> SELECT * FROM table WHERE sth LIKE "bla,b_a,bl_%"; Znak % zastępuje dowolny ciąg niebiałych znaków.
Znak _ zastępuje jeden znak.
mysql> SELECT * FROM table WHERE sth (RLIKE|REGEXP) "^regular expression$";
Aby używać porównywania z uwzględnieniem wielkości liter użyj: BINARY

Obecnie używania baza danych:

mysql> SELECT DATABASE();

Zmiania nazwy tabeli:

mysql> ALTER TABLE table_name RENAME AS new_table_name;

Zmiana nazwy kolumny:

mysql> ALTER TABLE table_name CHANGE COLUMN col_name new_col_name new_col_type;

Usuwanie danych z wybranej tabeli:

mysql> DELETE FROM table_name;

Usuwanie kolumny z bazy danych:

mysql> mysql> ALTER TABLE table DROP COLUMN col;

Usuwanie tabeli z bazy danych

mysql> DROP TABLE table_name;

Usuwanie bazy danych:

mysql> DROP DATABASE db_name;


Backup bazy danych z poziomu konsoli:

# mysqldump --opt -u username -p database > database_backup.sql (Użyj 'mysqldump --opt --all-databases > all_backup.sql' aby zrobić backup wszystkiego.)


Typy danych w MySQL

Poniżej przedstawię typy danych w MySQLu.

Numeryczne typy danych MySQL
Typ Rozmiar Opis
TINYINT[długość] 1 bajt Liczba z zakresu od –128 do 127 lub od 0 do 255, jeżeli jest typu UNSIGNED.
SMALLINT[Długość] 2 bajty Liczba z zakresu od –32 768 do 32 767 lub od 0 do 65 535, jeżeli jest typu UNSIGNED.
MEDIUMINT[Długość] 3 bajty Liczba z zakresu od –8 388 608 do 8 388 607 lub od 0 do 16 777 215, jeżeli jest typu UNSIGNED.
INT[Długość] 4 bajty Liczba z zakresu od –2 147 483 648 do 2 147 483 647 lub od 0 do 4 294 967 295, jeżeli jest typu UNSIGNED.
BIGINT[Długość] 8 bajtów Liczba z zakresu od –9 223 372 036 854 775 808 do 9 223 372 036 854 775 807 lub od 0 do 18 446 744 073 709 551 615, jeżeli jest typu UNSIGNED.
FLOAT[Długość,Pozycje] 4 bajty Mała wartość zmiennoprzecinkowa.
DOUBLE[Długość,Pozycje] 8 bajtów Duża wartość zmiennoprzecinkowa.
DECIMAL[Długość,Pozycje] Długość + 1 lub
Długość + 2 bajty
Wartość typu DOUBLE ze stałą liczbą cyfr po przecinku.
Tekstowe typy danych MySQL
CHAR[Długość] Liczba bajtów Pole o stałej długości; długość od 0 do 255 znaków.
VARCHAR(Długość) Długość ciągu + 1 bajt Pole o stałej długości; długość od 0 do 255 znaków (od MySQL 5.0.3 65 535 znaków).
TINYTEXT Długość ciągu + 1 bajt Ciąg tekstowy o maksymalnej długości 255 znaków.
TEXT Długość ciągu + 2 bajty Ciąg tekstowy o maksymalnej długości 65 536 znaków.
MEDIUMTEXT Długość ciągu + 3 bajty Ciąg tekstowy o maksymalnej długości 16 777 215 znaków.
LONGTEXT Długość ciągu + 4 bajty Ciąg tekstowy o maksymalnej długości 4 294 967 295 znaków.
BINARY[Długość] Długość bajtów Podobny do CHAR, ale przechowuje dane binarne.
VARBINARY[Długość] Długość danych + 1 bajt Podobny do VARCHAR, ale przechowuje dane binarne.
TINYBLOB Długość danych + 1 bajt Przechowuje dane binarne o maksymalnej długości 255 bajtów.
BLOB Długość danych + 2 bajty Przechowuje dane binarne o maksymalnej długości 65 535 bajtów.
MEDIUMBLOB Długość danych + 3 bajty Przechowuje dane binarne o maksymalnej długości 16 777 215 bajtów.
LONGBLOB Długość danych + 4 bajty Przechowuje dane binarne o maksymalnej długości 4 294 697 295 bajtów.
ENUM 1 lub 2 bajty Wyliczenie, które pozwala na to, by każda kolumna posiadała jedną z kilku możliwych wartości.
SET 1,2,3,4 lub 8 bajtów Typ podobny do ENUM z tą różnicą, że może posiadać więcej niż jedną z dopuszczalnych wartości.
Dostępne w MySQL typy daty i czasu
DATE 3 bajty Data w formacie:
RRRR-MM-DD.
DATETIME 8 bajtów Data i czas w formacie:
RRRR-MM-DD
GG:MM:SS.
TIMESTAMP 4 bajty Znacznik czasowy w formacie: GG:MM:SS;
zakres wartości kończy się w roku 2037.
TIME 3 bajty Znacznik czasowy w formacie GG:MM:SS.
YEAR 1 bajt Rok w formacie RRRR
i zakresie od 1901 do 2155.

Czas na zmianę Imażu

czerwiec 29, 2007

Od czasu kiedy mam nowy nabytek w postaci laptopa (Asus Pro31F ) postanowiłem diametralnie zmienić swój stosunek do wyglądu systemu operacyjnego a dokładniej do Gnome.

Postanowiłem go upiększyć. Oczywiście najpierw udałem się na wszystkim zaną stronę www.gnomelook.org w celu poszukiwań odpowiedniej tapety, metacity i ikon.

Wróciłem w pełni zadowolny. A oto jak wygląda obecnie oparty na Ubuntu Gnome:

A oto czego użyłem:

Motyw:

Własnych kolorów:

* Okna: Tło (#1D1D1D) Tekst (#ADADAD)

* Pola wejściowe: Tło (#58585 8) Tekst (#000000)

* Wybrane elementy: Tło (#1D1D1D) Tekst (#FFFFFF)

Tapeta: gnomelook.org

Krawędzie (ATER-BLUE): ATER-metacity-0.7.tar.gz

Ikony (Amora 0.4): amora.tbz

To byłoby na tyle …

Ubuntu i vdr

czerwiec 17, 2007

Jakiś czas temu zaprzyjaźniłem się z Fedorą ;) Ale od razu się usprawiedliwiam, że ostatnio byłem lekko przemęczony i dlatego zdradziłem Ubuntu (jak by co orientacja seksualna jak Młodzież Wszechpolska nakazuje ;)).
OK. Ale do rzeczy: Zainstalowałem sobie wersję Ubuntu 7.05 (Frywolny Fulmar) całkowicie spolszczoną, z kilkoma dodatkami (polecam ściągać torrentem - idzie jak burza - bynajmniej szło 16.06. np bittorentem - apt-get install bittorent. Później: bittorent-console FrywolnyFulmar.torrent).
Po instalacji ściągamy, najlepiej spahowaną wersję vdr+xine+sc stąd.

Przed kompilacją warto także użyć polecenia: sudo apt-get build-dep libxine-dev automake1.9 libtool

Można oczywiście samodzielnie kompilować i patchować (zalecane). Przydatne pakiety:

vdr-sc-0.5.11.tar.gz

xine-lib-cvs-20061209220000.tar.bz

xine-ui-cvs-20061209220000.tar.bz2

vdr-xine-0.7.10.tgz

vdr-1.4.7.tar.bz2

Rozpakowujemy archiwum instalujemy rzecz jasna wymagane programy i biblioteki … Moja konfiguracja: automake1.9_1.9.6+nogfdl-3ubuntu1_all.deb, autoconf_2.61-3_all.deb, g++-4.1_4.1.2-0ubuntu4_i386.deb, g++_4%3a4.1.2-1ubuntu1_i386.deb, libcap-dev_1%3a1.10-14_i386.deb, libjpeg62-dev_6b-13_i386.deb, libtool_1.5.22-4_i386.deb, m4_1.4.8-1build1_i386.deb, zlib1g-dev_1%3a1.2.3-13ubuntu4_i386.deb, libncurses5-dev, libssl-dev.

Oczywiście należy pozmieniać jeszcze parę rzeczy:
Największy problem oczywiście jak zwykle jest przy kompilacji samego vdr-a:
make CPUOPT=pentium4 PARALLEL=PARALLEL_64_MMX REMOTE=LIRC

g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_LIRC -DLIRC_DEVICE=\”/dev/lircd\” -DRCU_DEVICE=\”/dev/ttyS1\” -D_GNU_SOURCE -DVIDEODIR=\”/video\” -DPLUGINDIR=\”./PLUGINS/lib\” thread.c
thread.c: In member function ‘bool cThread::Start()’:
thread.c:258: warning: null argument where non-null required (argument 3)
thread.c: At global scope:
thread.c:328: error: ‘gettid’ has not been declared
thread.c:330: error: expected constructor, destructor, or type conversion before ‘tThreadId’
make: *** [thread.o] Błąd 1

Należy zmodyfikować plik thread.c z katalogu vdr i zmienić wpis dotyczący instrukcji syscall na:
//_syscall0(pid_t, gettid)
tThreadId cThread::ThreadId(void)
{
return syscall(224);
}

Później oczywiście napotkamy na kolejny problem związany już z plikiem tools.c
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_LIRC -DLIRC_DEVICE=\”/dev/lircd\” -DRCU_DEVICE=\”/dev/ttyS1\” -D_GNU_SOURCE -DVIDEODIR=\”/video\” -DPLUGINDIR=\”./PLUGINS/lib\” tools.c
tools.c:18:21: error: jpeglib.h: No such file or directory
tools.c:684: error: variable or field ‘JpegCompressInitDestination’ declared void

Oczywiście nie może odnaleźć pliku jpeglib.h. Edytujemy plik tools.c i zamieniamy linijkę z nagłówkiem “jpeglib.h” na “#include “

Może się także pojawić taki błąd:
“vdr.c:34:28: error: sys/capability.h: No such file or directory”
Jeżeli wcześniej zainstalowaliśmy bibliotekę libcap-dev to możemy zmienić liniję na #include

Po tych operacjach możemy przejść do kompilacji VDR-a:
make CPUOPT=pentium4 PARALLEL=PARALLEL_64_MMX REMOTE=LIRC

Może jeszcze wystąpić problem przy kompilacji pluginów (po make plugins) np:
crypto.c:24:27: error: asm/unaligned.h: No such file or directory
crypto.c: In member function ‘void cDes::Des(unsigned char*, const unsigned char*, int) const’:

Oczywiście należy zedytować plik crypto.c gedit PLUGINS/src/sc/crypto.c, poszukać pliku unaligned.h np: sudo find / -name unaligned.h i wpisać ścieżkę do pliku dla architektury i386 (pecet). Np: #include

Wykonać raz jeszcze make plugins i powinien vdr z pluginami się zainstalować.
Teraz jeszcze kwestia odpowiedniego pliku startowego np: start_vdr.sh (musi mieć możliwość wykonywania i odczytu -> chmod 766 start_vdr.sh:
#!/bin/sh
cd /video/vdr/
killall vdr
killall -9 vdr
killall xine
killall -9 xine
export LANG=”en_GB.iso8859-1″
/video/vdr/vdr -P”xine -r” -Psc -L /video/vdr/PLUGINS &
sleep 3
xine vdr:/tmp/vdr-xine/stream#demux:mpeg_pes
killall vdr
killall xine

Możemy możliwość uruchamiania wrzucić do uruchamianych w sesji programów tak aby mógł się uruchomić przy starcie komputera (jakby nie było obrazu może oznaczać to, że niektóre urządzenia np: dźwięku były zajęte i można zrobić aby skrypt uruchamiał się z pewnym opóźnieniem -> dodajemy -> wait 5 na początek skrytpu start_vdr.sh).

czasami przydaje się także flaga: export ACLOCAL_FLAGS=’-I /home/linux/video/xine-ui2/aclocal.m4′
aclocal -I /usr/share/aclocal
updatedb