OpenSCADAWiki: Roman Savochenko/Linux Short All/part3 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of RomanSavochenko/LinuxShortAll/part3 from 2011-01-25 17:51:59..

3 Ïðîöåäóðû

3.1 Êîìïèëÿöèÿ ÿäðà

$ cd KernelTree/  #Ïåðåõîä ê ðàñïàêîâàííîìó êîðíþ äåðåâà èñõîäíèêîâ ÿäðà
$ make config(menuconfig, xconfig)  #Êîíôèãóðàöèÿ
$ make dep  #Ñîçäàíèå ôàéëîâ çàâèñèìîñòåé
$ make clean  #Î÷èñòêà îò ðàíåå ñêîìïèëèðîâàííûõ ìîäóëåé
$ make bzImage  #Êîìïèëÿöèÿ ÿäðà
$ make install  #Óñòàíîâêà ÿäðà
$ make modules  #Êîìïèëÿöèÿ ìîäóëåé
$ make modules_install  #Óñòàíîâêà ìîäóëåé

3.2 Ñîçäàíèå swap â ôàéëå

$ dd if=/dev/zero of=/swap bs=1024 count=8208  #Ñîçäàíèå ôàéëà íåîáõîäèìîãî ðàçìåðà äëÿ swap
$ mkswap /swap  #Èíèöèàëèçàöèÿ ñòðóêòóðû swap â ôàéëå
$ /bin/sync  #Ñáðîñ èçìåíåíèé íà äèñê
$ swapon /swap  #Âêëþ÷åíèå swap (îòêëþ÷åíèå - swapoff)

3.3 Ñìåíà èìåíè ñèñòåìû

3.4 Óäàë¸ííîå ïîäêëþ÷åíèå ñ èñïîëüçîâàíèåì X-ñåðâåðà, äëÿ çàïóñêà GUI ïðèëîæåíèé

Âàðèàíò 1 (îáû÷íûé):

client$ xinit - :1  #Çàïóñòèòü X-ñåðâåð íà êëèåíòå (äîëæåí çàïóñòèòüñÿ xterm)
client$ xhost +server  #Çàðåãèñòðèðîâàòü ìàøèíó ñåðâåðà ó êëèåíòà
client$ telnet server -l UserName  #Ïîäêëþ÷èòüñÿ ê óäàëåííîé ìàøèíå (ñåðâåðó)
server$ export DISPLAY=client:0.0  #Óñòàíîâèòü ïåðåìåííóþ DISPLAY
server$ startkde  #Çàïóñòèòü îêîííûé ìåíåäæåð

Âàðèàíò 2 (èñïîëüçóÿ ssh):
client$ xinit - :1  #Çàïóñòèòü X-ñåðâåð íà êëèåíòå (äîëæåí çàïóñòèòüñÿ xterm)
client$ ssh -X UserName@server  #Ïîäêëþ÷èòüñÿ ê óäàëåííîé ìàøèíå (ñåðâåðó)
server$ startkde  #Çàïóñòèòü îêîííûé ìåíåäæåð

Âàðèàíò 3 (ïðîòîêîë XDMCP):
#Âêëþ÷åíèå ïîääåðæêè XDMCP ïðîòîêîëà íà ñòîðîíå ñåðâåðà
#Äëÿ kdm (/etc/X11/kdm/kdmrc): Âêëþ÷èòü â ñåêöèè [Xdmcp]
#Âûáîð óäàë¸ííîé àâòîðèçàöèè è âõîäà â äèñïåé-ìåíåäæåðå êëèåíòà (xdm, kdm, gdm)

3.5 Óñòàíîâêà ðóññêîé êîíñîëè

$ consolechars -f UniCyr_8x16 -m koi8-r;
$ echo -ne "\033(K";
$ loadkeys ru1;

3.6 Ôîðìàòèðîâàíèå äèñêåò, ñîçäàíèå FS, ïðîâåðêà FS

$ fdformat  /dev/fd0
$ mkfs.vfat /dev/fd0
$ ckfs.vfat -ta /dev/fd0

3.7 Ñîçäàíèå çàøèôðîâàííûõ ÔÑ

$ dd if=/dev/zero of=./sequre_disk bs=1024 count=50000  #Ñîçäàíèå ôàéëà äëÿ áóäóùåé FS
$ losetup -e aes /dev/loop0 ./sequre_disk  #Ñîçäàíèå øèôðîâàíîãî loop óñòðîéñòâà
$ mkfs.ext3 /dev/loop0  #Ñîçäàíèå ôàéëîâîé ñèñòåìû íà loop óñòðîéñòâå
$ losetup -d /dev/loop0  #Îòêëþ÷åíèå loop óñòðîéñòâà
$ mount -o loop,encryption=aes ./sequre_disk /mnt/tmp/  #Îáû÷íîå ìîíòèðîâàíèå øèôðîâàííîé ÔÑ

3.8 Ïîäêëþ÷åíèå äèñêîâûõ êâîò

3.9 Ïå÷àòü ñòðàíèö äîêóìåíòàöèè

3.10 Èñïîëüçîâàíèå OpenSSL

$ openssl rand 5  #Ãåíåðàöèÿ ïîñëåäîâàòåëüíîñòè ñëó÷àéíûõ áàéò
$ openssl ciphers HIGH  #Çàïðîñ ñïèñêà àëãîðèòìîâ äëÿ óêàçàííîãî óðîâíÿ
# Ãåíåðàöèÿ ñåêðåòíîãî RSA è DSA êëþ÷à key.pem, çàøèôðîâàííîãî des3.
# Â êà÷åñòâå èñòî÷íèêà ñëó÷àéíûõ äàííûõ èñïîëüçóåòñÿ /var/log/messages.
$ openssl genrsa -out ./key.pem -des3 -rand /var/log/messages 2048
$ openssl dsaparam -rand /var/log/messages -out ./dsaprm 1024
$ openssl gendsa -out ./key.pem -idea -rand /var/log/messages ./dsaprm
# Ñîçäàíèå ïóáëè÷íîãî RSA è DSA êëþ÷à íà îñíîâå ñåêðåòíîãî
$ openssl rsa -in ./key.pem -out ./pubkey.pem -pubout
$ openssl dsa -in ./key.pem -out ./pubkey.pem -pubout
# Èçìåíåíèå ïàðîëÿ è àëãîðèòìà øèôðîâàíèÿ ñåêðåòíîãî RSA è DSA êëþ÷à
$ openssl rsa -in ./key.pem -out ./key1.pem -idea
$ openssl dsa -in ./key.pem -out ./key1.pem -des3
# Ñèììåòðè÷íîå øèôðîâàíèå ôàéëà àëãîðèòìîì des3 è êîäèðîâàíèå base64
$ openssl des3 -in ./logo.png -out ./logo.des3
$ openssl base64 -in ./logo.des3 -out ./logo.des3.base64
$ openssl des3 -a -in ./logo.png -out ./logo.des3.base64
# Äåêîäèðîâàíèå ôàéëà èç base64 è ñèììåòðè÷íàÿ äåøèôðàöèÿ èç des3
$ openssl base64 -d -in ./logo.des3.base64 -out ./logo.des3
$ openssl des3 -d -in ./logo.des3 -out ./logo.png
$ openssl des3 -d -a -in ./logo.des3.base64 -out ./logo.png
# Êîíâåðòàöèÿ àññèìåòðè÷íûõ êëþ÷åé è ñåðòèôèêàòîâ ñ ôîðìàòà PEM â DER è îáðàòíî
$ openssl x509 -inform PEM -in ./key.pem -outform DER -out ./key.cer
$ openssl rsa -inform PEM -in ./key.pem -outform DER -out ./key.der
# Âû÷èñëåíèå õåøà (md5,sha1 ...)
$ openssl md5 -c ./logo.png
# Ïîäïèñü ôàéëà ñåêðåòíûì êëþ÷îì è ïðîâåðêà ÝÖÏ ïóáëè÷íûì êëþ÷îì, ñ àëãîðèòìîì õåøèðîâàíèÿ md5
$ openssl dgst -sign ./key.pem -out ./logo.sign -md5 ./logo.png
$ openssl dgst -signature ./logo.sign -verify ./pubkey.pem -md5 logo.png
# Àñèììåòðè÷íàÿ øèôðàöèÿ ôàéëà ñ èñïîëüçîâàíèåì ïóáëè÷íîãî êëþ÷à è äåøèôðàöèÿ ñåêðåòíûì (RSA)
$ openssl rsautl -in ./logo.png -out ./logo.cr -inkey ./pubkey.pem -pubin -encrypt
$ openssl rsautl -in ./logo.cr -out ./logo.png -inkey ./key.pem -decrypt
# Ñîçäàíèå çàïðîñà íà ñåðòèôèêàöèþ íà îñíîâå ñîçäàâàåìîãî ñåêðåòíîãî êëþ÷à
$ openssl req -new -key ./tmp.key -out ./certreq.pem
# Ñîçäàíèå ñåðòèôèêàòà ïîäïèñàííîãî ñîáñòâåííûì ñåêðåòíûì êëþ÷îì
$ openssl req -x509 -new -key ./key.pem -out ./selfcert.pem -days 365
# Ïðîñìîòð èíôîðìàöèè ñåðòèôèêàòà â ÷èòàáåëüíîì âèäå
$ openssl x509 -in ./selfcert.pem -noout -text
# Ïîäïèñûâàíèå êëèåíòñêîãî ñåðòèôèêàòà CA ñåðòèôèêàòîì
$ openssl x509 -req -in ./client.pem -CA ./CAcert.pem -CAkey ./CAkey.pem -CAcreateserial -days 365 -out ./client1.pem

3.11 Íàñòðîéêà ssh

client$ ssh-keygen  #Ãåíåðàöèÿ àñèììåòðè÷íîãî êëþ÷à íà ëîêàëüíîé ìàøèíå â äèðåêòîðèþ " /.ssh/"
client$ scp ./identity.pub rserver: ~/.ssh/  #Ïåðåäà÷à ïóáëè÷íîãî êëþ÷à íà óäàë¸ííûé ñåðâåð (ëþáûì ñïîñîáîì)
rserver$ cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys  #Àâòîðèçàöèÿ ñâîåãî îòêðûòîãî êëþ÷à íà ñåðâåðå
# ëèáî 'client$ ssh-copy-id rserver'  âìåñòî ïðåäûäóùèõ äâóõ ñòðî÷åê
client$ ssh rserver  #Ïîäêëþ÷åíèå ê óäàë¸ííîìó ñåðâåðó

3.12 Ñîçäàíèå ramdisk (äèñêà â ïàìÿòè)

$ mkfs /dev/ram0
$ mount /dev/ram0 /mnt/disk

3.13 Ñîçäàíèå, èñïîëüçîâàíèå è îáñëóæèâàíèå LVM

$ vgscan  #Ïîèñê ïî ñèñòåìå âèðòóàëüíûõ ãðóïï VG
$ vgchange -ay  #Àêòèâèçèðîâàòü âèðòóàëüíóþ ãðóïïó (-an - äåàêòèâèçèðîâàòü)
$ pvscan  #Ïîèñê äîñòóïíûõ ôèçè÷åñêèõ òîìîâ è îòîáðàæåíèå ñðàâíèòåëüíîé èíôîðìàöèè î íèõ
$ pvdisplay /dev/hda1  #Ïðîñìîòð èíôîðìàöèè î ôèçè÷åñêîì òîìå
$ pvcreate /dev/hda1  #Ïîäãîòîâêà ôèçè÷åñêîãî òîìà PV (òèï ðàçäåëà 8Eh)
$ pvmove /dev/hda1  #Îñâîáîæäåíèå ôèçè÷åñêîãî òîìà (ïåðåíîñ äàííûõ íà äðóãèå ôèçè÷åñêèå òîìà)
$ vgdisplay vg00  #Ïðîñìîòðåòü èíôîðìàöèþ î âèðòóàëüíîé ãðóïïå
$ vgcreate vg00 /dev/hda1 /dev/hdb1  #Ñîçäàíèå âèðòóàëüíîé ãðóïïû íà îñíîâå äâóõ ôèçè÷åñêèõ òîìîâ
$ vgremove vg00  #Óäàëåíèå âèðòóàëüíîé ãðóïïû
$ vgextend vg00 /dev/hdc1  #Äîáàâëåíèå ôèçè÷åñêîãî òîìà ê âèðòóàëüíîé ãðóïïå
$ vgreduce vg00 /dev/hda1  #Óäàëåíèå ôèçè÷åñêîãî òîìà èç âèðòóàëüíîé ãðóïïû
$ vgexport vg00  #Ïîäãîòîâêà âèðòóàëüíîé ãðóïïû äëÿ ïåðåíîñà íà èíóþ ìàøèíó
$ vgimport vg00 /dev/hda1 /dev/hda2  #Èìïîðò âèðòóàëüíîé ãðóïïû (ñ äðóãîé ìàøèíû)
$ lvcreate -L1500 -nlv00 vg00  #Ñîçäàíèå ëîãè÷åñêîãî òîìà (LV) ñ èìåíåì nlv00 è ðàçìåðîì 1500 Ìá
$ lvremove /dev/vg00/home  #Óäàëåíèå ëîãè÷åñêîãî òîìà
$ lvextend -L120M /dev/vg00/home  #Óâåëè÷åíèå ðàçìåðà ëîãè÷åñêîãî òîìà äî óêàçàíîé âåëè÷èíû
$ lvextend -L+100M /dev/vg00/home #Óâåëè÷åíèå ðàçìåðà ëîãè÷åñêîãî òîìà íà óêàçàííóþ âåëè÷èíó
$ lvreduce -L120M /dev/vg00/home  #Óìåíüøåíèå ðàçìåðà ëîãè÷åñêîãî òîìà äî óêàçàíîé âåëè÷èíû
$ lvreduce -L-100M /dev/vg00/home  #Óìåíüøåíèå ðàçìåðà ëîãè÷åñêîãî òîìà íà óêàçàííóþ âåëè÷èíó
$ e2fsadm  -L+100M /dev/vg00/home  #Èçìåíåíèå ðàçìåð ëîãè÷åñêîãî òîìà ñ ôàéëîâîé ñèñòåìîé ext2/ext3

3.14 Ñâîáîäíàÿ çàïèñü íà ïåðåçàïèñûâàåìûå îïòè÷åñêèå íîñèòåëè (ïàêåòíûé ðåæèì)

# Âêëþ÷åíèå ïàêåòíîãî ðåæèìà. Äëÿ îïòè÷åñêèõ íîñèòåëåé âñåõ òèïîâ.
$ cdrwtool -d /dev/cdrom -q  # Ïîäãîòîâêà CD-RW íîñèòåëÿ
$ dvd+rw-format /dev/dvd  # Ïîäãîòîâêà íîñèòåëåé: DVD-RW, DVD+RW, DVD-RAM
$ pktsetup /dev/pkt_dev /dev/cdrom  # Âêëþ÷åíèå ðåæèìà ïàêåòíîé çàïèñè íà óñòðîéñòâî /dev/pkt_dev
$ mkudffs /dev/pkt_dev  # Ñîçäàíèå ôàéëîâîé ñèñòåìû UDF. Òîëüêî äëÿ DVD+RW è DVD-RAM
$ mount /dev/pkt_dev /mnt/pkt_cd -t udf -o rw,noatim  # Ìîíòèðîâàíèå ïàêåòíîãî óñòðîéñòâà íà /mnt/pkt_cd
#Ïðÿìàÿ çàïèñü (áåç ïàêåòíîãî ðåæèìà) íà íîñèòåëè DVD+RW è DVD-RAM
$ dvd+rw-format /dev/dvd  # Ïîäãîòîâêà íîñèòåëåé (îäèí ðàç).
$ mkudffs /dev/dvd  # Ñîçäàíèå ôàéëîâîé ñèñòåìû UDF (îäèí ðàç).
$ mount /dev/dvd /mnt/cdrom  # Îáû÷íîå ìîíòèðîâàíèå óñòðîéñòâà. Ò.å ñîâåðøåííî ïðîçðà÷íî è ñòàíäàðòíî!

3.15 Çàïóñê òåðìèíàëüíîé çàäà÷è íà ñåðâåðå è ïðîäîëæåíèå å¸ ðàáîòû â ôîíå

$ screen  # Çàïóñê òåðìèíàëüíîãî ýêðàííîãî ìåíåäæåðà
$ wget ftp://workserv.org/mydownloadfile.iso  # Çàïóñê çàäà÷è
Ctrl+A D  # Îòêëþ÷åíèå ýêðàíà îò òåðìèíàëà (âûïîëíåíèå â ôîíå)
$ screen -r  # Ïîäêëþ÷åíèå ê ôîíîâîìó òåðìèíàëó.

3.16 Àäìèíèñòðèðîâàíèå âèðòóàëüíûõ ñåðâåðîâ (VPS) íà îñíîâå òåõíîëîãèè OpenVZ

#Ñîçäàíèå VPS èç øàáëîíà
$ vzctl create 101 --ostemplate altlinux-4.0 --config vps.basic
#Óäàëåíèå VPS
$ vzctl destroy 101
#Ïîëó÷èòü ïåðå÷åíü âñåõ VPS
$ vzlist -a
#Óñòàíîâêà èìåíè VPS
$ vzctl set 101 --name vps101 --save
#Óñòàíîâêà îáùèõ ïàðàìåòðîâ VPS: onboot, hostname, nameserver, searchdomain, userpassword
$ vzctl set 101 --onboot yes --save
$ vzctl set 101 --hostname test101.my.org --save
$ vzctl set 101 --nameserver 192.168.1.165 --save
$ vzctl set 101 --searchdomain my.org --save
$ vzctl set 101 --userpasswd root:test
#Êîíôèãóðàöèÿ venet
$ vzctl set 101 --ipadd 10.10.186.1 --save
#Êîíôèãóðàöèÿ veth
$ vzctl set 101 --netif_add eth0 --save
#Çàïóñê è îñòàíîâ VPS
$ vzctl start 101
$ vzctl stop 101
#Èñïîëíåíèå êîìàíäû âíóòðè VPS ("ls /root")
$ vzctl exec 101 ls /root
#Àäìèíèñòðàòèâíûé âõîä íà VPS ñåðâåð
$ vzctl enter 101
#Óñòàíîâêà âîçìîæíîñòåé VPS
$ vzctl set 101 --capability sys_time:on --save  # Âîçìîæíîñòü ìåíÿòü ñèñòåìíîå âðåìÿ
#Ïðîñìîòð ëèìèòîâ VPS è èõ íàðóøåíèé
$ vzctl exec 101 cat /proc/user_beancounters
#Óñòàíîâêà ëèìèòîâ VPS (kmemsize, lockedpages, privvmpages ...)
$ vzctl set 1 --dgramrcvbuf 1512000:1520000 --save
#Óñòàíîâêà äîñòóïà ê óñòðîéñòâàì (/dev)
$ vzctl set 101 --devnodes ttyS0:rw --save
$ vzctl set 101 --devices b:8:16:rw --devices b:8:17:rw --devices b:8:18:rw --save

3.17 Ñèñòåìà êîíòðîëÿ âåðñèé CVS

# Óêàçàíèå íà êàòàëîã, ãäå íàõîäèòñÿ ðåïîçèòîðèé CVS.
$ export CVSROOT=/home/Roman/progects/CVS_R
# Óêàçàíèå íà óäàë¸ííûé ðåïîçèòîðèé.
$ export CVSROOT=:pserver:user@serv.comp.org:/CVS_R
# Ñîçäàíèå ïóñòîãî ðåïîçèòîðèÿ.
$ cvs -d /usr/local/cvsroot init
# Ñîçäàíèå ïóñòîãî ðåïîçèòîðèÿ íà óäàë¸ííîì ñåðâåðå.
$ cvs -d:pserver:user@serv.comp.org:/usr/local/cvsroot init
# Èìïîðòèðóåò ïðîåêò MyProg îò èìåíè ñîçäàòåëÿ MyName â CVS.
$ cvs import MyProg MyName start
# Ýêñïîðò ïðîåêòà tc äëÿ ðàáîòû íàä íèì. Â ðåçóëüòàòå ÷åãî áóäåò ñîçäàí êàòàëîã `tc', â êîòîðûé áóäóò ïîìåùåíû âñå ôàéëû.
$ cvs -z 3 co tc
# Çàãðóçèòü äåðåâà ïðîåêòà ñ ðåâèçèåé(òåãîì) <revise>.
$ cvs co -r revise Prog
# Ñèíõðîíèçàöèÿ èñõîäíûõ òåêñòîâ ñî âñåìè èçìåíåíèÿìè (âûïîëíÿòü ïåðåä ôèêñàöèåé ñâîèõ èçìåíåíèé).
$ cvs up
# Ïðèâåñòè ñîäåðæèìîå äåðåâà â ñîîòâåòñòâèè ñ ðåâèçèåé <revise>.
$ cvs up -r revise
# Çàôèêñèðîâàòü èçìåíåíèÿ â backend.c è çàïóñêàåò ðåäàêòîð (ENV: CVSEDITOR), ÷òîáû ââåñòè æóðíàëüíóþ çàïèñü îá èçìåíåíèÿõ.
$ cvs ci backend.c -r revise
# Çàôèêñèðîâàòü èçìåíåíèÿ â äåðåâå ïîä ðåâèçèåé <revise> äëÿ âñåãî äåðåâà.
$ cvs ci -r revise
# Ïðèâåñòè âåðøèíó äåðåâà ê <revise>.
$ cvs tag revise
# Âûïîëíÿåò óäàëåíèÿ âàøåé êîïèè ïðîåêòà è ïðè ýòîì ïðîâåðÿåò, ÷òî âñå âàøè èçìåíåíèÿ áûëè çàôèêñèðîâàíû.
$ cvs release -d tc
# Âûâåñòè ëîã èçìåíåíèé â ôàéëå file.cc.
$ cvs log file.cc
# Âûâåñòè îïèñàíèå èçìåíåíèé âíåñåííûõ â ôàéë `driver.c'.
$ cvs diff driver.c
# Âíåñåíèå ôàéëà readmi.cc ïîä êîíòðîëü CVS.
$ cvs add readmi.cc
# Ñîîáùåíèå CVS î òîì ÷òî ôàéë readmi.cc äîëæåí áûòü óäàë¸í èç ðåïîçèòîðèÿ ïðè ñëåäóéùåé êîìàíäå <ci>. 
$ cvs rm readmi.cc

3.18 Ñèñòåìà êîíòðîëÿ âåðñèé - Subversion (SVN)

# Ïîëó÷èòü ñîäåðæèìîå â âåòâè ðåïîçèòîðèÿ
$ svn list svn://rep.org/trunk
# Çàãðóçêà ëîêàëüíîé êîïèè ðåïîçèòîðèÿ
$ svn checkout svn://rep.org/trunk/project
# Ïîëó÷åíèå ñîñòîÿíèÿ ìîäèôèêàöèè ëîêàëüíîé êîïèè ðåïîçèòîðèÿ
$ svn status
# Ïîëó÷åíèå èçìåíåíèé â âèäå ïàò÷à
$ svn diff
# Äîáàâèòü ôàéë èëè äèðåêòîðèþ â ðåïîçèòîðèé
$ svn add ./new.file
# Óäàëèòü ôàéë èëè äèðåêòîðèþ èç ðåïîçèòîðèÿ
$ svn delete ./rem.file
# Ïðèíÿòü ëîêàëüíûå èçìåíåíèÿ è îòïðàâèòü èõ íà ñåðâåð
$ svn commit -m "Changes message"
# Êîïèðîâàíèå ó÷àñòêà ðåïîçèòîðèÿ, âêëþ÷àÿ è ëîêàëüíûå, à òàêæå äëÿ ñîçäàíèÿ íîâîé âåòâè èëè òåãà.
$ svn copy svn://rep.org/trunk/project svn://rep.org/branch/project_user
# Îáúåäèíåíèå èçìåíåíèé âåòâè, óêàçàííîé ðåâèçèè, ñ ëîêàëüíîé êîïèåé äðóãîé âåòâè
$ svn merge -c 1222 svn://rep.org/trunk/project
# Ïîñìîòðåòü èñòîðèþ ðåïîçèòîðèÿ
$ svn log

3.19 Ñèñòåìà êîíòðîëÿ âåðñèé - GIT

# Èíèöèàëèçàöèÿ òåêóùåé äèðåêòîðèè êàê íîâûé ïóñòîé ðåïîçèòîðèé.
$ git init
# Äîáàâèòü óäàë¸ííûé ðåïîçèòîðèé äëÿ çàãðóçêè ëîêàëüíîé êîïèè
$ git remote add origin user1@gitserver:/home/repo/alpha.git
# Çàãðóçêà ëîêàëüíîé êîïèè ðåïîçèòîðèÿ
$ git clone git://git.server.org/rep.git
# Äîáàâèòü èçìåíåíèÿ, íîâûå ôàéëû è óäàëåíèå ñòàðûõ.
$ git add .
# Ïîëó÷åíèå ñîñòîÿíèÿ ðåïîçèòîðèÿ
$ git status
# Ïîñìîòðåòü âíåñ¸ííûå èçìåíåíèÿ
$ git diff --cached
# Ïðèíÿòü ëîêàëüíûå èçìåíåíèÿ, ïðåâðàùåíèå âðåìåííîãî ñîñòîÿíèÿ èíäåêñà â ïîñòîÿííîå
$ git commit -am "Changes message"
# Ñôîðìèðîâàòü GIT-ïàò÷ ïðèíÿòûõ ëîêàëüíûõ èçìåíåíèé
$ git format-patch -1
# Âûãðóçèòü ëîêàëüíûå èçìåíåíèÿ
$ git push
# Äîáàâëåíèå òåãà 
$ git tag -sm "Tag 0.1.0 message" tag-name-0.1.0
# Âûãðóçèòü ëîêàëüíûå òåãè
$ git push origin --tags
# Ïîëó÷åíèå ñïèñêà âñåõ âåòîê
$ git branch
# Ñîçäàíèå íîâîé âåòêè 
$ git branch experimental 
# Óäàëåíèå âåòâè
$ git branch -d experimental
# Ïåðåêëþ÷èòüñÿ íà äðóãóþ âåòêó
$ git checkout experimental
# Îáúåäèíèòü èçìåíåíèÿ â âåòâè experimental ñ òåêóùåé âåòêîé ëîêàëüíîãî ðåïîçèòîðèÿ
$ git merge experimental 
# Ïîëó÷èòü èçìåíåíèÿ èç äðóãîãî ðåïîçèòîðèÿ è îáúåäèíèòü èõ ñ òåêóùèì
$ git pull git://git.server.org/rep.git
# èëè
$ git fetch git://git.server.org/rep.git
$ git merge git://git.server.org/rep.git
# Ïîñìîòðåòü èñòîðèþ ðåïîçèòîðèÿ
$ git log


Ðàñøèðåííûå êîìàíäû ðàáîòû â èíôðàñòðóêòóðå ALTLinux Git/Gear

#  Ñîçäàòü óäàë¸ííûé ðåïîçèòîðèé â èíôðàñòðóêòóðå
$ ssh git.alt init-db alpha
#  Ïîèñê ïàêåòà â èíôðàñòðóêòóðå
$ ssh git.alt find-package <pattern>
#  Êëîíèðîâàòü ðåïîçèòîðèé â èíôðàñòðóêòóðå
$ ssh git.alt clone <path to git repository> [<destination directory>]
# Ïåðåìåùåíèå ðåïîçèòîðèÿ â èíôðàñòðóêòóðå
$ ssh git.alt mv-db <path to source directory> <path to destination directory>
# Óäàëåíèå ðåïîçèòîðèÿ
$ ssh git.alt rm-db <path to git repository>

3.20 Ïîäãîòîâêà è êîìïèëÿöèÿ ïðîåêòîâ íà îñíîâå autoconf/automake

$ gettextize -f -c  #Ãåíåðàöèÿ ëîêàëèçàöèîííûõ ôàéëîâ
$ autoheader  #Ãåíåðàöèÿ ôàéëà
$ autoscan  #Àâòîìàòè÷åñêàÿ ãåíåðàöèÿ cofigure.scan è ïðîâåðêà configure.in
$ ifnames  #Ñîçäàíèå ñïèñêà èäåíòèôèêàòîðîâ êîòîðûå èñïîëüçóþòñÿ â ïðåïðîöåññîðå
# Ãåíåðàöèÿ/ïåðåãåíåðàöèÿ ñáîðî÷íîé ñèñòåìû
$ aclocal -I -m4  #Ãåíåðàöèÿ ìàêðîñà aclocal.m4
$ autoconf  #Ãåíåðàöèÿ ñêðèïòà configure. Äëÿ ðåêîíôèãóðàöèè èñïîëüçîâàòü autoreconf
$ automake -a -c  #Ãåíåðàöèÿ ôàéëà Makefile.in
$ configure  #Ãåíåðàöèÿ Makefile
$ make  #Êîìïèëÿöèÿ ïðîåêòà
$ make install  #Óñòàíîâêà ïðîãðàììû

3.21 Ïîäãîòîâêà ê ïðîâåðêå âûäåëåíèÿ ïàìÿòè ñ ïîìîùüþ Electric Fence

3.22 Ïîäãîòîâêà ê ïðîâåðêå âûäåëåíèÿ ïàìÿòè ñ ïîìîùüþ mtrace

3.23 Äîáàâëåíèå â ïðîãðàììó ïîääåðæêè i18n


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]