






Gentoo Linux
 






 1.3   01.11.2007












2007 .


Gentoo Linux	1
   (changelog)	18
: 	20
  	20
 	21
    Linux	22
UNIX	22
	22
	28
  UNIX	29
GNU/Linux	30
Linux ()	33
	33
	34
	35
 	35
	36
	37
	38
	38
BSD	38
 BSD	38
GNU General Public License	40
	40
	40
GPL v3	41
 GNU GPL	42
Linux   :    	43
	43
  	43
  	46
 	47
System V shared memory	48
 	49
 	52
  	53
   	53
  	54
  	55
  	55
 sysctl	56
    	56
  GNU libc	57
LD, Shared Library, SO    	58
      /proc	60
 	60
 /dev	61
   /dev	62
  DevFS	63
  UDEV	64
 	65
    IDE 	67
     SCSI-	68
 SATA    IDE  PATA	69
Logical Volume Manager	70
Sotware RAID	74
Device mapper	77
Host-RAID,   RAID-  	77
 	78
 IP  	80
 	82
   	82
     	83
 	84
 	84
  iptables	85
 , NSS  PAM	87
X11  --	89
-  X11	89
  	90
 X11.  	90
 X11.     	91
 X11. FreeType  XFT	92
 X11. 	92
 X11.  	93
 X11.  	93
	93
  Linux	96
  	96
 	96
   Unix-	98
  Linux	99
Ext2fs	99
   	99
ReiserFS	100
Ext3fs	101
XFS	102
 	102
 	103
 	105
Linux   :     	106
 Gentoo Linux	109
  ?	109
Gentoo Linux	110
 Gentoo	110
 Gentoo	111
  Gentoo 	113
 X.org	114
 Portage	114
  Portage	115
   ?	115
   ?	116
 	116
  	117
Gentoo Linux:   	117
 Gentoo Linux	117
 	118
 -  	123
  -    	125
  -  Gentoo	126
 :   	128
    Gentoo Linux x86	138
 	138
 	138
 	138
 	139
   Gentoo	139
 	140
 	140
  	141
 	141
grub	141
#   genkernel	141
#    ( initrd)	141
#      	141
lilo	142
#  ,   genkernel	142
#   genkernel	142
#   	142
 	142
    Gentoo Linux	143
1.   	143
2.       Smart BootManager	143
3.    Knoppix	144
4.   Stage 1    	145
5.      PXE	146
6.  Gentoo   Linux-	150
    Gentoo/x86	153
1. 	153
2.  	153
3.  	156
4.  /	157
  	157
  Gentoo Linux x86	159
A.   Gentoo	162
1.   Gentoo Linux	162
1.a. 	162
2.     	164
2.a.  	164
2.b.  - Gentoo	164
2.c. ,       Gentoo	166
3.  	170
3.a.    	170
3.b.   	171
3.c.   	173
 DHCP	174
  	175
  	176
 ifconfig  route	177
4.  	178
4.a.     	178
4.b.    	179
4.c.  fdisk   	180
4.d.   	184
  ( !)	184
4.e. 	185
5.    Gentoo	186
5.a.   	186
5.b.  :     	187
5.c. :      	188
5.d.   	189
5.e.   	190
6.    Gentoo	192
6.a.   	192
6.b.  Portage	194
  USE	196
7.  	197
7.a.  	197
7.b.    	198
7.c.  :  	198
7.d. :  genkernel	202
7.e.  	203
8.   	204
8.a.   	204
 (JohnBat26):   /etc/fstab:	205
8.b.  	205
8.c.  	208
9.    	209
9.a.  	209
9.b.   	209
9.c. :  cron	210
9.d. :  	210
9.e.     	210
9.f.  	211
10.   	212
10.a.  	212
10.b.  :  GRUB	213
10.c. :  LILO	217
10.d.  	219
11.   Gentoo	219
11.a.   	219
12.   ?	220
12.a. 	220
12.b. Gentoo  	221
B.   Gentoo	221
1.   Portage	221
1.a.    Portage	221
1.b.  	222
1.c.   	222
1.d.  Portage ...	226
2. USE-	230
2.a.   USE-?	230
2.b.  USE-	231
2.c. USE-  	233
3.  Portage	234
3.a.  Portage	234
3.b.  	235
3.c.  	236
3.d.   	237
4.  	238
4.a.  	238
4.b.  rc-update	241
4.c.  	242
4.d.   	242
4.e.    	245
5.  	247
5.a.  	247
5.b.   	248
5.c.   	250
C.   Portage	251
1.   	251
1.a.  Portage	251
1.b.  	252
1.c.   	253
1.d.  	254
2.    	254
2.a.  Portage	254
2.b.  	254
2.c.   	255
2.d.  	255
2.e.  Gentoo	256
2.f.  Portage	257
3.    	257
3.a.   	257
3.b.      	258
3.c.   	258
4.   Portage	259
4.a. etc-update	259
4.b. dispatch-conf	261
4.c. quickpkg	261
5.    	261
5.a.    Portage	261
5.b.     ebuild	262
5.c. ,   Portage	263
6.  ebuild	263
6.a. Emerge  Ebuild	263
6.b.   	263
6.c.   Ebuild	265
6.d.  	266
D.    Gentoo	266
1.  	266
1.a.   	266
2.  	268
2.a.  	268
2.b.  	270
2.c.    	270
3.   	271
3.a.  	271
3.b.  	272
3.c. DHCP	272
3.d.  ADSL	274
3.e. APIPA (  IP-)	274
3.f.  	275
3.g.   ( 802.1d)	275
3.h. MAC-	276
3.i.  	276
3.j.   ( 802.1q)	276
4.  	277
4.a. 	277
4.b.  WPA	277
4.c.  Wireless tools	279
4.d.     ESSID	283
5.  	283
5.a.  -	283
5.b. - wireless tools	285
6.  	286
6.a.  	286
6.b. ifplugd	286
    Gentoo	287
	287
A.  	287
1.    	287
1.a.  	287
1.b.  /	287
1.c.   	288
1.d.  root	288
1.e.  	289
2.  	290
2.a. USE-	290
2.b.  GRUB 	290
2.c.  LILO 	291
2.d.    	291
3. 	292
3.a. 	292
3.b. : Syslogd	292
3.c. Metalog	294
3.d. Syslog-ng	294
3.e.     Logcheck	296
4.  	296
4.a.  	296
5.  /	297
5.a. /etc/security/limits.conf	297
5.b. /etc/limits	297
5.c. 	298
5.d. /etc/login.defs	299
5.e. /etc/login.access	299
6.    	300
6.a. ,     	300
6.b. ,        	300
6.c.  SUID/SGID	300
6.d. SUID/SGID-   	301
7. PAM	302
7.a. PAM	302
8.  TCP	303
8.a.  TCP	303
9.  	303
9.a.  	303
9.b.   proc	304
9.c. Grsecurity	305
9.d. Kerneli	306
9.e.    	306
10.  	306
10.a. Apache	306
10.b. Bind	306
10.c. Djbdns	307
10.d. FTP	307
10.e. Mysql	307
10.f. Proftpd	308
10.g. Pure-ftpd	308
10.h. Vsftpd	309
10.i. Netqmail	309
10.j. Samba	309
10.k. ssh	310
10.l.  xinetd	311
10.m. X	312
11.      	313
11.a.   	313
11.b.   Linux	314
12.  	315
12.a.  	315
12.b.  	315
12.c. 	316
12.d.  	316
12.e. Iptables	317
12.f. Squid	324
12.g. 	328
13.  	328
13.a. AIDE (Advanced Intrusion Detection Environment)	328
13.b. Snort	331
13.c.      chkrootkit	333
14.  	333
14.a.  	333
 Gentoo Linux	336
   Gentoo	336
1. Gentoo  	336
2.    	337
3.    	338
HOWTO   	340
   /var/lib/portage/world 	340
 profile 	340
 USE- 	340
   (    toolchain) 	340
    emerge -U  -u 	341
      toolchain 	341
 . 	342
   . 	342
  . 	343
 Gentoo Linux   GCC	344
1. 	344
2.    	344
3.   GCC-3.3  3.4   	345
4.  GCC   	347
5.  	349
Gentoo   X.Org	350
   X-  6.X	350
1.   X Window Server?	350
2.  Xorg	351
3.  Xorg	352
4.  xorg.conf	354
5. 	356
   X-  7.X (.)	357
Introduction	357
Preparation 	357
Nvidia Drivers 	357
Masking Xorg 7.1 (optional)	357
Backup 	358
Restoring the backup 	358
Uninstall old X.org 	358
Emerge Modular X.org 	359
Device Drivers 	359
Installation 	359
GL Issues	360
Configuration file locations have changed 	362
Other problems and solutions 	362
XkbOptions	363
 "XkbOptions" 	363
 	363
HOWTO Xorg and Fonts (.)	364
   HOWTO	364
  	364
   DPI	364
      Windows/Mac  Linux	365
  	365
   (Hinting)	366
 	367
  	367
/etc/X11/xorg.conf	370
: /etc/X11/xorg.conf (   )	372
 	373
Mozilla Firefox and Thunderbird	373
Mozilla Firefox 1.0+	373
Mozilla Thunderbird 0.7, 1.0.2   	374
   	375
 ,  Linux    Konsole  .	376
,        	376
   startx	377
XEmacs	377
 	377
 	377
 ( JohnBat26),  : ~/.fonts.conf:	378
   nVidia  Gentoo Linux	380
1. 	380
2.  	380
 	380
  	381
  	383
 X-	383
    video	384
 	384
  nvidia	385
  nVidia Settings	385
3. 	385
 2D     4   	385
   ,     no such device 	386
4.   	386
	386
  	386
  X-	386
   ATI  Gentoo Linux	388
1.  	388
2. 	389
3.  	390
HOWTO fbsplash	391
 	391
  gensplash?	391
  fbsplash (framebuffer splash)?	391
   frame buffer?	391
 fbsplash  splashutils	392
  	392
 	392
  ()	392
 /   (  genkernel)	393
 splashutils	393
 /   ( )	393
  initramfs 	393
  initramfs?	393
  initramfs   	394
  initramfs 	394
    gensplash	395
  bootsplash   gensplash	396
   gensplash	396
  	397
 	397
  Grub	397
  Lilo	398
     	398
Gensplash    	398
 	399
     3	399
  	399
 /usr   	399
    	399
	400
Hardware 3D Acceleration Guide (.)	401
1. Introduction	401
2. Install Xorg and configure your kernel	402
3. Install X11-DRM and configure direct rendering	403
4. Test 3D acceleration	404
5. Using the CVS sources	404
6. Tweak your performance	405
7. Troubleshooting	406
8. Acknowledgments	407
9. References	407
HOWTO   KDE	408
1.    K Desktop Environment?	408
2.  KDE	408
3.  KDE	411
   GNOME	413
1.  GNOME?	413
2. GNOME	413
 UTF-8  Gentoo	415
1.    	415
2. 	415
3.  UTF-8  Gentoo Linux	417
4.  	419
    Gentoo Linux	426
1. 	426
2.   	427
3.   locale	430
4.   	432
5.    X	433
 5.1:    /	434
 Gentoo Linux ALSA	437
1. 	437
2.  ALSA	437
3. / ALSA	442
ALSA  USE	445
4.   ALSA	447
   Java  Gentoo	451
1.  JDK/JRE	451
2.   JDK/JRE	451
3.  	453
4. 	453
Gentoo  GPRS	454
GPRS  USB ()	454
 GPRS  Linux	457
	457
	457
 	457
	459
 	460
  	460
	461
 ,   Toonel. (Linux)	461
   .	462
GPRS  KPPP	463
GPRS   Bluetooth	465
HOWTO   Internet	466
 VPN	466
   	466
  	466
 	467
   pptpconfig	467
  	468
 pppoe	469
   DIAL-UP	470
 	470
 	470
  USB	470
Win 	470
   	470
 ,  	471
  	471
  PPP  	471
  	471
    chat-script	471
 	472
chestnut-dialer	472
 Call back	473
   GPRS	473
 	473
   USB-	473
   COM-	474
  Bluetooth	474
  IrDA	475
   CDMA (SKYLINK)	476
 	476
  	476
Power Management Guide (.)	477
1. Introduction	477
2. Prerequisites	478
3. CPU Power Management	482
4. LCD Power Management	485
5. Disk Power Management	487
6. Power Management For Other Devices	489
7. Sleep States: sleep, standby, and suspend to disk	491
8. Troubleshooting	494
  udev  Gentoo	497
1.   udev?	497
2.   udev  Gentoo	499
3.  	500
4.     	502
Gentoo LDAP-DNS Guide  (.)	503
1. Introduction	503
2. Configuring LDAP-DNS	503
3. Configuring OpenLDAP	504
4. Testing the Installation	505
   Samba   PDC   LDAP	506
  	506
OpenLDAP	506
 OpenLDAP	506
   OpenLDAP	507
SAMBA	508
 OpenLDAP	508
 SAMBA	509
     LDAP	512
 	514
 	514
  	515
 	515
 	516
   	516
	516
   	517
1. 	517
2.   postfix	518
3. Courier-imap	519
4. Cyrus-sasl	520
5. SSL-  Postfix  Apache	520
6.  SSL  SASL   Postfix	521
7. MySQL	522
8. Apache  phpMyAdmin	523
9. Vmail-	524
10.  MySQL    	525
11. Squirrelmail	528
12. Mailman	528
13.    Anti-Virus	530
14. 	530
15. Troubleshooting	531
     qmail/vpopmail.	533
1. 	533
2. qmail ("  ")	533
3. vpopmail	535
4. Courier POP/IMAP	536
5. qmail (  )	537
6.   Horde / IMP	538
7.  	539
8.  	541
      Mutt	542
1.   E-Mail	542
2. Fetchmail	542
3. Procmail	543
4.   Mutt	545
5. SMTP	547
     Gentoo Linux	549
1. 	549
    (Prelink)      ? 	549
	549
2.   	550
 	550
	551
3.  	551
  	551
4.      	552
5. 	554
     	555
1.   devfs?	555
	556
	556
2.    	557
3.   	558
4. ,    	559
 WIKI	562
H  	562
  IDE    hdparm	577
  CD/DVD	581
 DVD	585
 Portage	592
Portage  NFS	592
 Portage	596
Portage Overlay	600
    deltup	603
        	604
        	605
  	607
   	611
	612
 MS Windows -	612
Udev	615
 CFLAGS    	617
 nano	620
Udev   	621
  glibc	624
 USB-flash	629
- NTFS    ntfs-3g	632
 	634
 Apache2	634
 iptables  	639
  iptables	645
  	667
 vsftpd	675
 Jabber Server	678
  Counter-Strike	679
  Samba   Win2k	681
   Samba   PDC   LDAP	685
  	701
 X	723
    X	723
    X	728
Xorg X11  	730
Xorg.  	734
 Xgl	735
XGL	737
  	762
Cedega 5.1	763
Windows-	764
  	769
  	773
  ccache  emerge	781
Keymap	781
  	783
2. 	783
   Gentoo,    ?	783
  Gentoo ?	783
3. 	783
   ,    "-O9 -ffast-math -fomit-frame-pointer".   ? 	783
   root (   )?	784
   ?	784
      root  su?	784
  devfs?	785
    Gentoo  ? 	785
   (),    ?	785
 -  ,  ?	786
  ISO   -?	786
 /     ?	787
       .     ? 	787
   Windows  GRUB  LILO,     .  ? 	788
  Gentoo,   Stage1  Stage2?	789
4.  	789
    ?	789
    ./configure .   ?	790
  emerge,     ?	790
 ,  rsync   ?	790
      .         ,      ? 	790
    /usr/portage/distfiles.    ? 	791
   /var/tmp/portage?        /var/tmp/portage? 	791
5. 	791
    ?	791
        crontab?	792
  numlock  ?	792
     ?	792
   X  - root' ( su)	793
6. 	793
ReiserFS     -  ,  ..	793
7. 	793
    ?	793
     ?	793
    .     ? 	794
8. 	794
    Gentoo Linux?	794
    CD  Gentoo Linux?	794
       .  ?	795
   	795
	795
  ? 	795
   ? 	796
   root    ?	797
 	798
 man	798
 cd	798
 ls	799
 cp	799
 rm	799
 df	800
         ?	800
          ?	800
    ?	801
     ?	801
	802
 (WiKi) ( : ) 	802
ALSA,  Advanced Linux Sound Architecture  	802
X  (  ) - 	802
ebuild- 	803
 - 	803
MAN (  )	814
Emerge	814
  	830
1. make.conf	830
2.  xorg.conf  NVIDIA Geforce	832
 3.  xorg.conf  ATI radeon:	836
4.  /etc/fstab	842
  Gentoo Linux	843

  Gentoo Linux	844
  	846
   	846
 IRC (freenode.net)	846





















   (changelog)
 1.1  15.07.2007
 1.  Mati_maniak (linuxforum.ru):
a) emerge --depclean world  -   emerge --depclean;
b) --oneshot (-i)     --oneshot. 
 2.  .
 3.  : Linux   , :   (no-dashi, dalth & viking).
 4.:  IRC .
 5.:    .

 1.2  01.09.2007
1.     Gentoo.
2.   .
3. :   Gentoo Linux
4.    Handbook !
5.  inhab (linuxforum.ru):
 :   Samba   PDC   LDAP.
6.:    GNOME.
7.: HOWTO fbsplash

 1.3  01.11.2007
1.    .
2.  . :)
3.  MAA (http://linuxforum.ru)    Linux  .
4. "Linux   " ӣ     !
5.     Wiki-:  HOWTO Xorg and Fonts.
6.  : "Gentoo  GPRS".   :
- Nikoli (Linuxforum.ru).
-  a.k.a. doc (http://doc.3dn.ru).
-  .

7. XkbOptions.
8. : "Gentoo   X.Org"
9.  : "  Linux",    :
-   
- Linux   :     
     (alv@linux-online.ru)
10. : "    Gentoo" ..     .    .
11.: "  "
12.  : "HOWTO   Internet"
13.  .


       


 
	


   

: 
 .. a.k.a. JohnBat26 (ICQ(198710313)/Jabber.ru/Yahoo/AIM/Google/GG)
   e-mail: JohnBat26@gmail.com, JohnBat26@yandex.ru
   occupation: JEE developer
                 :
http://picasaweb.google.ru/JohnBat26
http://www.odnoklassniki.ru/user/182870623
http://evgeniy-batogov.moikrug.ru/

 .. a.k.a. BadEd  (ICQ(757727756)  BadEd)
   e-mail: baded@mail.ru

 .. a.k.a. Kismih05 (ICQ(77833996  Mishel)/Yahoo/AIM)
   e-mail: kismih05@yahoo.com 

Dmeshr 
   e-mail: dmeshr@gmail.com

  :
http://gentoo.ru
http://gentoo.org
http://ru.gentoo-wiki.com
http://linuxforum.ru
http://www.rugentoo.org
http://myfotomx.com/dalth/linuxbook.odt
http://linuxshop.ru
http://citkit.ru

: 1.3
 : 01.11.2007
: GPL v2
   OpenOffice Writer 2.3.0. (Infra)  

  

            Linux  Gentoo  . 
     Gentoo Linux  .
    Gentoo Linux   .

,      . :)
       ,  :
1. .
2.   (.  ).

  :      !!!

 
:  .. a.k.a JohnBat26

  ,         Linux ( Gentoo  ).   ,  ,     ,   .     : "  ,    5  !"

      Linux. 
  3      Windows       ,    . -  ,       Windows,  ,      5 .     ,            ,    200 ,    Windows      (    Gentoo  > 1000  :)).  ,  Windows,       .       ...
   SuSE Linux.    ,        , ,  ,  ,   ( Smart  ,   ).
   RPM    ,      .    .... :((

    ,   ,    ,   ,   , -,   Gentoo.      Gentoo  9 ,     (Dell, Asus, Acer, Sony VAIO)!     ,    ,    .   Gentoo   :
   ;
IMHO,      portage;
  ,       ;
     ,  , gcc, glibc  ..;
  ;
  ;
  .

         ,         .          , ..         (   GPRS    ).
         Gentoo Linux.  : "   !"   !!!



    Linux
UNIX

  : http://ru.wikipedia.org/wiki/UNIX
C : 1.3
UNIX ( )   ,     .
  UNIX     1960-   1970-    Bell Labs  AT&T.         UNIX-.          UNIX;  ,       ,   UNIX- (. Unix-like).       UNIX-    UNIX,   UNIX- .
   UNIX-   :
        ;
   ;
        ;
    ,      .
   UNIX     ,        .          UNIX    ,    Microsoft Windows. UNIX-    ,                .



 1957   Bell Labs          .     (  )    BESYS.     Multics,       Bell Labs.


 1.   UNIX-.

 1964     ,    BESYS   .            ,      General Electric     Multics.   AT&T,     Bell Labs,

   ,   1969    ,       .


 UNIX
 UNIX     1960-   Bell Labs,   1969   ,   ,      MULTICS,       (DEC PDP-7),      ,      ţ   UNICS (UNIplexed Information and Computing System)    MULTICS (MULTIplexed Information and Computing Service).      UNIX.  1971     PDP-11,     1970- (      ).       (Edition 1)     .     UNIX   1  1970.
  UNIX             .   1969             (B),   ݣ (   )    1966  BCPL. ,   BCPL,   .  19691973        ,    (C).
 1973     UNIX,     . 15      ף ,       (   Multics,       (/1)),   1975   ,    .  1974  UNIX        .  1975     ,    Bell Labs,    .
   1975    ,        (Lions' Commentary on UNIX 6th Edition, with Source Code, [1], [2]).  1978 .       600 ,  ,  .       UNIX.           Bourne shell.   ,     .


 1978     BSD UNIX,    .   ,     .  1979   ,  3BSD,    . BSD    ,        .  BSD   .
  1980-  AT&T,   Bell Labs,   UNIX      UNIX.  ,     1982 ,   UNIX System III       .
   UNIX    1980 .   TCP/IP.      UNIX           UUCP (     UNIX-  ,        ).
      : Berkley sockets     TLI (. Transport Layer Interface).  Berkley sockets          TCP/IP,   . TLI   AT&T        OSI      System V  3.     TLI  ,       TCP/IP    ,      .  TCP/IP         System V  4. ,     (  , ),       UNIX  BSD ( )  System V (   AT&T). ,  ,  System V  AT&T,     UNIX, ,  AIX, HP-UX, IRIX, Solaris.
  1983     4.2BSD,     Ethernet  Arpanet.    .  1983  1990  BSD     ,    ,    NFS,    VFS,        .
  AT&T     ,  System V.  1983    1 (SVR1  System V Release 1),     vi,  curses,  -,  inode.  2 (SVR2),   1984,      (file locking),      (demand paging),    (copy-on-write).  3   1987   ,  , TLI,     ̣   RFS.  4 (SVR4),      Sun   18  1988,    BSD,   TCP/IP, ,    csh.  ,     ,    ,   ksh,    NFS (  SunOS)  . .
  UNIX,  ,    V  BSD   .     System V,   BSD.

 UNIX-  

 1983        GNU     UNIX-    ,     .    ,     ,  ,  GNU toolchain, Glibc (   )  Coreutils         .        UNIX,      GNU,   .    GNU Hurd          Mach  ӣ ݣ   .
 1991 ,      Linux  ̣ ,  ,     GNU,   .   GNU   Linux   , ,  GNU/Linux.    (  Red Hat  Debian),  ,  GNU         ,     .
    , ģ UNIX Systems Laboratories     Berkeley Software Design Inc.,  ,     BSD UNIX,     .     ,   BSD- UNIX.    BSD      ,     ,   FreeBSD, NetBSD, OpenBSD, TrustedBSD  DragonFlyBSD.
   GNU/Linux    BSD  ϣ    UNIX-         ,       .        , ,   Apple       ,   NEXTSTEP       ,   NeXT    Darwin    Apple.      BSD     Mach.  Darwin BSD UNIX  Mac OS X         UNIX.



   AT&T,   UNIX         ,  ,     Novell.
 1993  Novell                X/Open,     Open Software Foundation,   The Open Group.        ,    IBM, Hewlett-Packard, Sun, NASA   .         ,      Single UNIX Specification,    POSIX.    The Open Group,  UNIX    ,     Single UNIX Specification.
 1995  Novell         System V  Santa Cruz Operation.  2000  Santa Cruz Operation   UNIX-  Caldera,      SCO Group.       SCO,  Santa Cruz Operation,    .
SCO Group ,         UNIX         UNIX- ,    .  Novell ,         Santa Cruz Operation ,  ,    SCO Group,    Novell,     .

 UNIX

,    UNIX,        .    UNIX-       .
  Multics, UNIX      ,     (   ).
   ݣ,       ,  .     ,    (  ,   ֣ )       ,       (  IOCTL   )       .
UNIX    Multics        .             ,       , ,     .           ,    Multics.
,         ,        ,  ݣ   Multics,  UNIX.    UNIX      ,     ,        , , ,   JCL  IBM.          ,         ,     . ,         . ,     UNIX,    ,   ,     .
  UNIX      -  ,       .   UNIX              .     -   ,    - UNIX  -   ,     .       ,   ,   . .  (. pipelines).       UNIX    ,    .          , ,    ,   Telnet, FTP, SMTP, HTTP  .
UNIX     ,        ed  UNIX. ,  UNIX-,       (POSIX).
      ,     UNIX, ۣ UNIX  .     ,          .     ,      ,   , ,  ,   . .   ,             ,  gets  scanf.      , , ,      .
  UNIX           .
UNIX     TCP/IP    ,      . ,   ,         ,     UNIX.
    UNIX      ,     ,    UNIX (.  UNIX).


     UNIX     ţ,              UNIX.    ݣ  1980     /usr/group.       19841985 .        :
POSIX 1003.1-1988,     (API, Application Programming Interface).      UNIX,      .  1990     IEEE  IEEE 1003.1-1990.
POSIX 1003.2-1992,   ,     .
POSIX 1003.1b-1993,  POSIX 1003.1-1988.     .
POSIX 1003.1c-1995,  POSIX 1003.1-1988.   (threads),    pthreads.

  POSIX    IEEE 1003.

  1990-  The Open Group  ,   POSIX   Common API Specification,  Spec 1170.  ң  ,  POSIX,    ,     IEEE        .
 1998        .         .    Single UNIX Specification Version 3      [3].
     UNIX-   ELF-  SVR4     .            .
   ,  , GNU/Linux,    Filesystem Hierarchy Standard.         ,  ,    GNU/Linux,   .

  UNIX
      : ls, mv, rm, cp, ln, CD, pwd, mkdir, rmdir, find, du, df.
   : touch, more, less, ed, ex, vi, emacs.
 : echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, tr, split, printf.
 : comm, cmp, diff, patch.
   : yes, test, xargs, expr.
 : chmod, chown, ps, su, w, who, df, mount, umount.
: mail, telnet, ftp, finger, ssh.
 : sh, bash, csh, ksh, tcsh, zsh.
      : cc, gcc, ld, nm, yacc, bison, lex, flex, ar, ranlib, make.
  : compress, uncompress, gzip, gunzip, tar.
   : od, strings.

 ģ  60    1   UNIX:

ar, as, b, bas, bcd, boot, cat, chdir, check, chmod, chown, cmp, cp, date, db, dbppt, dc, df, dsw, dtf, du, ed, find, for, form, hup, lbppt, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rew, rkd, rkf, rkl, rm, rmdir, roff, sdate, sh, stat, strip, su, sum, tap, tm, tty, type, un, wc, who, write




GNU/Linux

  : http://ru.wikipedia.org/wiki/
C : 1.3

GNU/Linux (   )   UNIX-  .     ,     GNU,    Linux. ,      ,     Linux.
GNU/Linux   PC-   Intel x86,    IA-64, AMD64, PowerPC, ARM   .
   GNU/Linux    ,    ,   ,  ţ    .
      , GNU/Linux     .   GNU/Linux       ,    GNU    Linux   .    GNU/Linux  Slackware, Red Hat, Fedora, Mandriva, SuSE, Debian, Gentoo, Ubuntu.       ALT Linux  ASPLinux.
   Microsoft Windows, Mac OS (Mac OS X)   UNIX- , GNU/Linux     .   ,     ;     .   GNU/Linux     .     ,    ,       ,     .           ,   ,      .       ,    ,           .

      ,      ,     GNU/Linux.    ,     ,     ,    ,    GPL  ӣ      . [1]

,          ,     .   Mozilla (Netscape, AOL), OpenOffice.org (Sun),   Interbase (Borland)  Firebird, SAP DB (SAP). IBM   GNU/Linux   .

  ,          GNU/Linux       .   GNU/Linux  ,     ,  Oracle Database, DB2, Informix, SyBase, SAP R3, Domino.
 GNU/Linux      Linux.
      ,      ,     GNU/Linux.    ,     ,     ,    ,    GPL  ӣ      . [1]

,          ,     .   Mozilla (Netscape, AOL), OpenOffice.org (Sun),   Interbase (Borland)  Firebird, SAP DB (SAP). IBM   GNU/Linux   .
  ,          GNU/Linux       .   GNU/Linux  ,     ,  Oracle Database, DB2, Informix, SyBase, SAP R3, Domino.
 GNU/Linux      Linux.


. 2    GNU/Linux

Linux ()

  : http://ru.wikipedia.org/wiki/Linux_()
C : 1.3

Linux ()    ,          1991 .
  ϣ        GNU C    (   GNU Assembler AT&T).
    GNU General Public License.
  Linux    .



     1991        Usenet comp.os.minix]  [1]:
     ,       ()   (  ,       gnu)   386 (486) AT
    GNU        ,    GNU Hurd ݣ   . BSD-          ,    .         Linux ,      , ̣      .
Linux     ,    .  ,    Linux,   Linux,         GNU/Linux,      Linux      ,     GNU.



    *  1991  21-         .        .
    * 25  1991      (   [1]  ):

    From: torvalds@klaava.Helsinki.Fi (  )
    Newsgroups: comp.os.minix
    Subject:       
    Message-ID:<1991Aug25.205708.9541@klaava.Helsinki.Fi>
    Date: 25 Aug 91 20:57:08 GMT
    Organization:  

     ,    -   ()   (  ,       gnu)   386 (486) AT.    ,    .     ,   /   ,     ţ (    (  )   ).
       bash (1.08)  gcc (1.40),   ӣ .  ,  -     ,     ,   .   ,    ,  ӣ  :-)

     (torvalds@kruuna.helsinki.fi)

    PS. ,  ţ   ,   .    (   386-, .),       AT-,    ӣ,     :-(

17  1991  Linux  0.01. (10 239  );
5  1991  Linux  0.02 [1](.);
 1991  Linux  0.11.     Linux,      Linux   ;
19  1992       alt.os.linux(.);
31  1992     comp.os.linux(.);
 1992  Linux  0.96,        X Window System;
 1993   1994  15    0.99.* (  1993   BogoMips);
14  1994  Linux  1.0.0 (176 250  );
 1995  Linux  1.2.0 (310 950  );
9  1996    Linux   Tux;
9  1996  Linux  2.0.0 (777 956  );
25  1999  Linux  2.2.0,    (1 800 847  );
4  2001  Linux  2.4.0 (3 377 902  );
18  2003  Linux  2.6.0 (5 929 913  ).





     ,  ,   ,   .         ,       .  ,   GNU/Linux      Linux, ,     ,  ݣ     .

 

   Linux      ,           ,   ң .   ,      : A.B.C[.D] ( 2.2.1, 2.4.13  2.6.12.3).

    *  A   .       ,         .      :  1994 ( 1.0)   1996 ( 2.0).

    *  B     .     ,   ,     ,   1.2, 2.4  2.6. ޣ     ,   1.1  2.5.           ,        ,   ޣ   .

    *  C     .   ң  ,   ,        ,  ,    .    , ,    ,      ;     D.

    *  D    ,   ,    ,      2.6.8,   NFS. ,    ,            (    2.6.9).     2.6.8.1         .   2.6.11,          .          ף ,            ( C).




         ,       :
 	
2.0 	             
2.2 	            -  (  )
2.4 	             
2.6 	              /  

   Linux      . (.   Linux (.)).

 

   *  1.0   1994     i386-.
    *  1.2   1995     Alpha, SPARC  MIPS.
    *  2.0   1996     ,    .
    *  2.2   1999  [2](.).
    *  2.4   2001    ISA Plug and Play,  PA-RISC,  USB  PC-Card (PCMCIA).    Axis Communications ETRAX CRIS    InterMezzo    . [3](.)
    *  2.6  17  2003:
          o  uClinux ( );
          o     Hitachi  H8/300, NEC v850,     Motorola m68k,      NUMA,  NCR Voyager,  Intel hyperthreading  PAE;
          o :
                +    XFS SGI;
                +   APIC;
                +        65 000   4 ;
                +      32 000  1 ;
                +      (major device)  255  4095       (minor device)  255   ;
                +   64-        16 ;
                +       ;
                +      Native POSIX Thread Library (NPTL);
                +   ;
                +      sysfs;
                +  User-mode Linux;
                +  .


  	 
 Linux  ,  ,  ,  ,        .
   Linux       .          0,     .      ,               .
,   Linux   ,            comp.os.minix(.)  1992 .



     , Linux         ,       iPAQ ( )  IBM S/390 ( ). Linux        Blue Gene (.)  IBM.
 Linux   32- x86- ;    Linux     :

    * ARM
          o Acorn: Archimedes, A5000, RiscPC
          o StrongARM, Intel XScale  . .
          o HP iPAQ
    * Axis Communications CRIS
    * DEC Alpha
    * HP PA-RISC
    * Hitachi: SuperH (SEGA Dreamcast), H8/300
    * IBM S/390
    * IBM zSeries-
    * Intel 80386  : IBM PC    :
          o 80386, 80486,   AMD, Cyrix, TI  IBM-;
          o  Pentium;
          o Core, Core2 Duo  32  64-  .
          o AMD Am5x86, K5, K6, Athlon ( 32- ), Duron;
          o AMD64: 64-  AMD (   x86-64);
          o Cyrix 5x86, 6x86 (M1), 6x86MX  MediaGX (National/AMD Geode) ;
          o VIA C3 (.)   ;
          o  Intel 8086, 8088, 80186, 80188  80286     (.  ELKS(.));
          o Microsoft Xbox (Pentium III).
    * Intel IA-64
    * MIPS
          o Silicon Graphics, Inc.;
          o Cobalt Qube, Cobalt Raq;
          o Sony PlayStation 2, PlayStation 3;
          o DECstation;
          o  .
    * Motorola 68020  :
          o   Amiga: A1200, A2500, A3000, A4000
          o Apple Macintosh II, LC, Quadra, Centris    Performa
          o   Sun Microsystems  3 (,   Sun-3 MMU)
    * NEC v850e
    * Renesas M32R
    * PowerPC  IBM POWER:
          o    Apple ( ݣ PCI Power Macintoshes,   NuBus Power Macs)
          o  PCI Power Mac,  Power Computing, UMAX  Motorola
          o IBM RS/6000, iSeries-  pSeries-
          o Pegasos I  II 
          o    PowerPC
    * SPARC  UltraSparc: Sun 4-series, SPARCstation/SPARCserver, Ultra-, Blade-  Fire-    





Linux     GNU General Public License,   .         ,   ,         .    Linux  ,          GPL    .


 c Linux     Tux,     ֣    .

BSD
  : http://ru.wikipedia.org/wiki/BSD
C : 1.3

BSD (. Berkeley Software Distribution)        ,       .    BSD    BSD,     :      BSD,      .
    BSD      BSD-UNIX    UNIX,     .
  BSD : NetBSD, FreeBSD, OpenBSD, DragonFly BSD, PC-BSD, DesktopBSD, Darwin ( Mac OS X).
    UNIX      ,  ,     .    .
 BSD

  1978   UCB   (Bill Joy)      (Berkeley Software Distribution  BSD).   (360,   $50)   Pascal  UNIX   ex;   30 .   1978    2BSD,   75 .     Interactive Systems     UNIX,   Whitesmiths     UNIX  Idris.

 UNIX 7     .  ţ   ,    .      1982      2.8.1BSD.

  :

    * 4BSD   1980
    * 4.1BSD   1981
    * 4.1a, 4.1b  4.1c (19821983)
  * 4.2   1983     ,    ( TCP/IP,       .
    4.4BSD( 1993).     BSD    BSDI (Berkeley Software Design, Inc).
  BSD-UNIX        :
    * NetBSD
    * FreeBSD
    * OpenBSD
    * DragonFlyBSD
    * PC-BSD
    * DesktopBSD


GNU General Public License
  : http://ru.wikipedia.org/wiki/GNU_General_Public_License
C : 1.3

GNU General Public License (   GNU     GNU)  ,       ,     GNU  1988 .   ݣ  GNU GPL    GPL,    ,   ģ     (    ,   general public license  ).        1991 ,  ,         2007 . GNU Lesser General Public License (LGPL)     GPL,     .
 GNU GPL     ,     (       ),   ,         .      (  copyleft)     .    GPL,           , ,   , ,    .

GPL      ,  :
  ,   ;
  ,   ,  ţ  (        );
  ;
  ,       (        ).


GPL            GNU.     ,     GNU Emacs, GDB ( GNU)    GNU (GCC),    .
-  ,   GPL,      .      ,       ,         .       GNU GPL,    1989 .
 1990   ,     ,        ;   2 GPL     1991 ,        GNU Library General Public License,    2,   ,      .     1999 ,    LGPL  2.1,     Lesser General Public License   ţ    GNU.

GPL v3

 2005         GPL  3.    7  2005    ,    ,      DRM.
 2006  Free Software Foundation        GPL.       ,           .         ޣ      ,       .

    16  2006 .

  , 25  2006     ,   Linux,  ,  -    GPL  2. (     GPL-, Linux       GPL,    2   ).

 ϣ      Linux-  ,   Linux,   ,   Solaris    Linux-           GNU GPLv3.

 Sun    OpenSolaris  GPLv3,        Linux   ,  .[1]

 ,  GPLv3     ,   GPLv2,    ,  , ,         ,    ,     ,          GPLv3,       Linux-.

     ϣ     GNU GPL,       GPLv3      .   ,        GPLv2.
,  GPLv3-,        GPLv3-.
  GPLv3   29  2007.      .
 GNU GPL

 GNU GPL     .     2.0 .             .

   0. 
          * ( )   
          * ( )   
   1.     
   2.  
          * ( )       :
                o a)       ;
                o b)      GNU GPL;
               o c)           .
          * ( 24)    
   3.    
          * ( )     :
                o a)     , 
                o b)      , 
                o c) (  )     ,    .
          * ( )    
          * ( )         
   4.      ţ 
   5. ,   
   6.      
   7.        
   8.   
   9.   GNU GPL
  10.     
  11.    
  12.   






Linux   :    

  : http://myfotomx.com/dalth/linuxbook.odt
:   (no-dashi, dalth & viking).
  http://myfotomx.com/dalth: 15.07.07
C : 1.1

     Linux, ,    ,    :     .             ,     ,       GNOME  KDE,  ,      ,      .
,       (      ,   ),            Linux    ,     ,     .
                ()  ,         ,     ls/ps/exit. ,          , ,   ,      .
            dalt74@gmail.com,        .             .

 ,   (no-dashi, dalth & viking)

P.S.          ,       , ?

P.P.S.     to-do list:  DNS,         .        .
  
 Linux   ,               .   Linux     :   ;  ;  VFS      .
        ,     ,         (  ),  VFS     .
        .             ;   ,        ,     .           ,       ,    .  ,   2.6     .                 ,     ,     ,       .        uname:
[dalth@inferno dalth]$ uname -r
2.6.8.1
 ,         ,             ,            (kernel panic)         ,    .
        /boot,       /lib/modules/<_>,      ,            (,   SCSI-     SCSI    ,   -    ,    ).            2.6:
[root@viking dev]# ls -l /lib/modules/2.6.8.1/
total 616
lrwxrwxrwx   1 root root     18  27 15:36 build -> /usr/src/linux
drwxr-xr-x  10 root root   4096   1 13:55 kernel
-rw-r--r--   1 root root 108680   1 13:56 modules.alias
-rw-r--r--   1 root root     69   1 13:56 modules.ccwmap
-rw-r--r--   1 root root 153967   1 13:56 modules.dep
-rw-r--r--   1 root root     73   1 13:56 modules.ieee1394map
-rw-r--r--   1 root root    357   1 13:56 modules.inputmap
-rw-r--r--   1 root root  16658   1 13:56 modules.isapnpmap
-rw-r--r--   1 root root  85093   1 13:56 modules.pcimap
-rw-r--r--   1 root root  68078   1 13:56 modules.symbols
-rw-r--r--   1 root root 150781   1 13:56 modules.usbmap
lrwxrwxrwx   1 root root     18   1 13:22 source -> /usr/src/linux
[root@viking dev]# find /lib/modules/2.6.8.1/kernel -type f | head -20
/lib/modules/2.6.8.1/kernel/arch/i386/kernel/cpuid.ko
/lib/modules/2.6.8.1/kernel/arch/i386/kernel/microcode.ko
/lib/modules/2.6.8.1/kernel/arch/i386/kernel/msr.ko
/lib/modules/2.6.8.1/kernel/crypto/blowfish.ko
/lib/modules/2.6.8.1/kernel/crypto/deflate.ko
/lib/modules/2.6.8.1/kernel/crypto/md5.ko
/lib/modules/2.6.8.1/kernel/crypto/twofish.ko
/lib/modules/2.6.8.1/kernel/drivers/acpi/fan.ko
/lib/modules/2.6.8.1/kernel/drivers/acpi/processor.ko
/lib/modules/2.6.8.1/kernel/drivers/acpi/thermal.ko
/lib/modules/2.6.8.1/kernel/drivers/base/firmware_class.ko
/lib/modules/2.6.8.1/kernel/drivers/block/cryptoloop.ko
/lib/modules/2.6.8.1/kernel/drivers/block/loop.ko
/lib/modules/2.6.8.1/kernel/drivers/block/nbd.ko
/lib/modules/2.6.8.1/kernel/drivers/block/paride/epat.ko
/lib/modules/2.6.8.1/kernel/drivers/block/paride/paride.ko
/lib/modules/2.6.8.1/kernel/drivers/block/paride/pd.ko
/lib/modules/2.6.8.1/kernel/drivers/block/paride/pg.ko
/lib/modules/2.6.8.1/kernel/drivers/bluetooth/bcm203x.ko
/lib/modules/2.6.8.1/kernel/drivers/bluetooth/bfusb.ko
[root@viking dev]# 
      kernel,    .o    2.4   .ko    2.6.   modules.***map   (  ),  .
         ,             (  source  build, ).  ,  ,   ,     ,      (,         nvidia).
                  -      .    ,   .    ,        0.    2.6          ,        ,     .
     ,    ,  ,  -      ,     .       ,      ,         .            ,     ,        .
       modprobe, insmod  rmmod.  modinfo  depmod        .           /etc/modprobe.conf (  2.6.X)  modules.conf (  2.4.X).
  
   x86       ,   -   .      BIOS.      .   BIOS       (MBR),       ,     .    ,         .
              ,         ,    ,        .   ,   ,   ,     ,   (     )   /sbin/init.   init       .
     Linux    GRUB.         ,       ,   -   ,              .           .   :
 0      GRUB.         ,        MBR.    stage_0        (    -       ),     .
 1              ,   -  ,      ,    .  ,   -,        .     ,  -  ,        ,     .  ,      Linux   GRUB           .
    GRUB      MBR,      -                ( NTLOADER).
  ,       ,      ,         .          ,   ,          .     ,  Linux    initrd  INITial RamDisk.
Initial ramdisk   ,           .    ,    ,       ,    .         ,   initrd        ,      .
        /boot   vmlinuz-<>,     initrd-<>.img,     initrd.        initrd,        .     initrd       ,               make install,    ,      initrd (,    SCSI-),     mkinitrd,     initrd:
[root@viking dalth]# mkinitrd /tmp/initrd-2.4.8.1.img 2.6.8.1
[root@viking dalth]# cp /tmp/initrd-2.4.8.1.img /boot
[root@viking dalth]# reboot
 Linux      LILO  GRUB.          ,  LILO       (,    ),    ,     LILO .          (man grub, man lilo).
   GRUB  LILO   ,     ,                  ,    /sbin/init,           ,       initrd.
 
         ().   ,        ,     (  x86  4GB).        ,         (    ),              ,     .
         ,     .      , ..      ,      .      . ,         ,        .
,          .         ,  ,         ,       ,         .      ,                .     ,   x86    4096 .
  ,     ,    ,             ,        .         ,    RAM,      :        ,  -    (   )   ,        .
         ,  MMU  Memory Management Unit,                   (/   SWAP-),       .
    4GB  ,         .   x86  Linux    64GB,    4GB       .
System V shared memory
Linux     UNIX-     .       ,          .  ,    ,      ,       ,    .








           ,     ,          ,              .
 System V IPC  Linux     IPC,      .   System V IPC   .     IPC   ipcs.  ipcrm    IPC,   -           ,          Oracle, Informix  DB2.
,         ipcrm     IPC,             .
   IPC    ,       (..    IPC     ugo/rwx,           IPC-     ,      .
[dalth@viking dalth]$ ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x00000000 0          oracle    640        4194304    10                      
0x00000000 32769      oracle    640        20971520   10                      
0x00000000 65538      oracle    640        29360128   10                      
0x0d3c24a0 98307      oracle    640        29360128   50                      
0x00000000 13697028   root      777        49152      1                       
0x00000000 13729797   root      777        16384      1                       
0x000004d2 13795334   dalth     666        1008       2                       
0x00000000 14286866   root      644        790528     2          dest         
0x00000000 21823507   dalth     600        393216     2          dest         
0x00000000 21921814   root      644        122880     2          dest         
0x00000000 14516249   root      644        151552     1          dest         

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x0b4f657c 262147     oracle    640        154       
0x000004d2 458756     dalth     666        1         

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    

[dalth@viking dalth]$ 
 System V IPC      Linux ,    UNIX-.
 
VFS          .  ,     ,   -   , ,         ,     .        :    ,    ,    ,  ,    ..
,       ,   VFS.
        VFS      ,       .       -   VFS      ,     .          /proc/filesystems:
[dalth@viking proc]$ cat /proc/filesystems 
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   usbfs
nodev   usbdevfs
nodev   futexfs
nodev   tmpfs
nodev   pipefs
nodev   eventpollfs
nodev   devpts
        ext2
nodev   ramfs
nodev   hugetlbfs
        iso9660
nodev   devfs
nodev   mqueue
        ext3
nodev   rpc_pipefs
nodev   nfsd
nodev   smbfs
    ,     ,   -  .      ,      (  )       .           ,   ,       ,         ,     ,        ,           .
       ,       ,    procfs,            .
            .      ,       ,            ,         ,     ,     ACL  ..
        /proc/mounts:
[dalth@viking proc]$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw 0 0
none /dev devfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
/sys /sys sysfs rw 0 0
none /dev/pts devpts rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/chimera/var /var ext3 rw 0 0
/dev/chimera/temp /tmp ext3 rw 0 0
/dev/chimera/usr /usr ext3 rw 0 0
/dev/chimera/home /home ext3 rw 0 0
/dev/chimera/opt /opt ext3 rw 0 0
none /dev/shm tmpfs rw 0 0
   Linux    : ,  ,  ,  ,    .        :
    , ,     .
      ,          ,    ,   .
            ,       ,     .
    ,        ,          ,       ,               ,                   ,      +
    ,      .          /dev
   ,           ,   /     ,     ,      Windows (shortcuts),   (symbolic links)          ( ,       )     ,    ,      ..
   ,     UNIX- ,          . ,        .          .
- ,   VFS   ,          .          .  ,    sync               (,     sync    ).      ,              ,                .         :
[root@viking dalth]# umount /home/ftp/pub/linux/fedora/cd1
umount: /home/ftp/pub/linux/fedora/cd1: device is busy
umount: /home/ftp/pub/linux/fedora/cd1: device is busy
[root@viking dalth]# 
     ,           .  ,     ,      sync,              :
[root@viking dalth]# mount -t ext3 -o sync,dirsync /dev/hda9 /home
 ,             ,    ,      .
 
          Linux  .. POSIX ACL     POSIX.        ,     ugo/rwx.  ,      POSIX ACL,       acl:
[root@inferno root]# mount -t ext3 -o acl /dev/inferno/opt /opt
       ,    POSIX ACL  :
[root@inferno root]# tune2fs -o acl /dev/inferno/opt
         POSIX ACL.        : getfacl      ,  setfacl      .     ls    +      ,  ,         :
[root@inferno root]# ls -l /home/dalth/.bash_???????
-rw-r-----+ 1 dalth dalth 20034  11 22:48 /home/dalth/.bash_history
-rw-r--r--  1 dalth dalth   191  23 21:51 /home/dalth/.bash_profile
[root@inferno root]#
        getfacl.       ,   kiki       .bash_history:
[root@inferno dalth]# getfacl .bash_history 
# file: .bash_history
# owner: dalth
# group: dalth
user::rw-
user:kiki:r--
group::---
mask::r--
other::---
  oracle       .bash_history    setfacl,             kiki:
[root@inferno dalth]# setfacl -m u:oracle:rw .bash_history 
[root@inferno dalth]# setfacl -x u:kiki .bash_history 
[root@inferno dalth]# getfacl .bash_history 
# file: .bash_history
# owner: dalth
# group: dalth
user::rw-
user:oracle:rw-
group::---
mask::rw-
other::---
          .bash_history:
[root@inferno dalth]# setfacl -b .bash_history 
[root@inferno dalth]# ls -l .bash_history 
-rw-------  1 dalth dalth 20034  11 22:48 .bash_history
        ,   ugo/rwx    UNIX.           ,   .
 ,         ACL,                 .
  
                .  ,        ,  .  ,      ,    ,          .
        ( ,       ,        ).        ,          ,        ,            ,         ..
  ,               ,       sync  .
 ,    , ,  EXT3, ReiserFS, XFS, JFS   .
   
         ,     .    ,     ,        ,          ,    ,      .   ,     ,   .  ,            .







  ,        -      ,     ,   ,     (        ).                          .       ,       .
       ,                       :
[dalth@viking dalth]$ cat /proc/1/maps 
08048000-08050000 r-xp 00000000 03:01 75813      /sbin/init
08050000-08051000 rw-p 00008000 03:01 75813      /sbin/init
08051000-08072000 rw-p 08051000 00:00 0 
40015000-40016000 rw-p 40015000 00:00 0 
4c8ee000-4c903000 r-xp 00000000 03:01 92869      /lib/ld-2.3.3.so
4c903000-4c904000 r--p 00014000 03:01 92869      /lib/ld-2.3.3.so
4c904000-4c905000 rw-p 00015000 03:01 92869      /lib/ld-2.3.3.so
4c907000-4ca1c000 r-xp 00000000 03:01 92857      /lib/tls/libc-2.3.3.so
4ca1c000-4ca1e000 r--p 00115000 03:01 92857      /lib/tls/libc-2.3.3.so
4ca1e000-4ca20000 rw-p 00117000 03:01 92857      /lib/tls/libc-2.3.3.so
4ca20000-4ca22000 rw-p 4ca20000 00:00 0 
4d201000-4d20f000 r-xp 00000000 03:01 92965      /lib/libselinux.so.1
4d20f000-4d211000 rw-p 0000d000 03:01 92965      /lib/libselinux.so.1
bfffd000-c0000000 rw-p bfffd000 00:00 0 
ffffe000-fffff000 ---p 00000000 00:00 0 
  ,         -   mmap,          VFS.
  
               .        procfs  sysfs,         ,   .
  sysfs            .   procfs            ,        ps  sysctl.    sysfs ,  procfs  .
   ramfs, tmpfs  shmfs  ,            ,           (, ,  ramfs   ,    swap-    shmfs  tmpfs).   2.6 shmfs    tmpfs.
  
               .
      NCPFS (    Novell NetWare), SMBFS (    Windows)  NFS (      UNIX-).
 ,                  ,       ,    ,    .      ,   SMB   NFS:
# mount -t smbfs -o username=usr,workgroup=tst //server/share_name /mnt/smb_target
Password: ********
# mount -t nfs -o timeout=4 server:/export/home /mnt/nfs_target
    -t  mount    ,  -o         SMB  , ,  ,             ,  NFS   ,     /  .       ,    ,     .     .
  
     Linux   mkfs:
[root@inefrno root]# mkfs -t ext3 /dev/hda6
  , mkfs         ,     mkfs.<_>,  mksf.ext2  mkfs.reiserfs.
     mkfs     ,    .          (,     ,    ,      ..)
  (         )         .  ,          ( , FAT    )    ,    ,      .
 sysctl
    ,            .  ,        ,  UNIX    sysctl.
   procfs   sys     .       , ,  cat,         echo:
[root@inferno root]# cat /proc/sys/kernel/shmmax
33554432
[root@inferno root]# echo 67108864 >/proc/sys/kernel/shmmax 
[root@inferno root]# cat /proc/sys/kernel/shmmax
67108864
[root@inferno root]#
 sysctl   ,         ,          .    ,  sysctl          /proc/sys, ..        sysctl   ,         .         ,     :     sysctl -a,  ,         ,  :
[root@inferno root]# sysctl -a | grep mem
net.ipv4.tcp_rmem = 4096        87380   174760
net.ipv4.tcp_wmem = 4096        16384   131072
net.ipv4.tcp_mem = 24576        32768   49152
net.ipv4.igmp_max_memberships = 20
net.core.optmem_max = 10240
net.core.rmem_default = 108544
net.core.wmem_default = 108544
          ( /),       /proc/sys/ -     ,         .
            sysctl,            /etc/sysctl.conf,      .
    
 Linux          ,      ,   ,  ,    .      ,      .
    ,       ,         ,      ,      ,        (        ).        ,                 ,     ,     ZIP,  ,         ,     (,    ,          ).  ,          ,       .
           ,     /    ,                ,       ,     .        ,   ,               .
      Linux   .     (      ) , ,    ldd:
[dalth@viking dalth]$ ldd /bin/su
        linux-gate.so.1 =>  (0xffffe000)
        libpam.so.0 => /lib/libpam.so.0 (0x4ce08000)
        libpam_misc.so.0 => /lib/libpam_misc.so.0 (0x4cb3c000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4e3a2000)
        libdl.so.2 => /lib/libdl.so.2 (0x4ca49000)
        libc.so.6 => /lib/tls/libc.so.6 (0x4c907000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4c8ee000)
[dalth@viking dalth]$ ldd /sbin/devlabel 
        not a dynamic executable
[dalth@viking dalth]$
    ,    /bin/su   ,    /sbin/devlabel   .
  GNU libc
  ,        ,  glibc (GNU libc).   glibc        ,       .
             (syscall).  syscall     80h    ,      .   glibc,     ,             int80h.
      glibc,   ,         ,      libc,   ,    ,    ,     .       ,       initrd  ,    insmod, lvm  devlabel,             sash  standalone shell,          nash,        initrd,      ,    glibc  .
LD, Shared Library, SO    
   ,         ,       .     ,          - -  .  ,    ,    .          Linux  ELF (Executable Linked Format).
  ELF  ,   ,     .    ,          [man elf].     :        ,       ()     ,      ,      .     (  )   .
       ELF,          ,     .  ELF (  dl, dynamic linker  dynamic loader)      ELF-,                 .
     ,     ELF.         ,          .        (  )          ,    .     ,           ,  ,      .              .          ,     .    dl          (     ,   ).
 ,         ,     .   /lib, /usr/lib  ,        /etc/ld.so.conf. ,           ldconfig,     - /etc/ld.so.cache.   -     ldconfig  .    ,        ,    ldconfig.
       ld.so.conf     .    ld.so.conf    :
include ld.so.conf.d/*.conf
   ,  ,      conf,     /etc/ld.so.conf.d      :
[root@viking dalth]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/lib/mysql
/usr/X11R6/lib
/usr/lib/qt-3.3/lib
[root@viking dalth]# ls /etc/ld.so.conf.d/
oracle
[root@viking dalth]# cat /etc/ld.so.conf.d/oracle 
/opt/oracle/9i/lib
[root@viking dalth]#
  ,     - ,     ,   /etc/ld.so.conf.       ,   dl    :   ,         ld.so.cache          ,     LD_LIBRARY_PATH.
      ld:         LD_PRELOAD,              ,      ,  ld       ELF.
      dl:     ,           (,    ,    Borland Kylix).     , ,  /opt/program,     /opt/program/bin     /opt/program/lib,  ,  ,   ,      .  ,     ,    ld    .   ,      ld     .
               (ld     ,       ):
$ export LD_LIBRARY_PATH=/opt/program/lib
$ /opt/program/bin/filename
     /opt/program/lib   /etc/ld.so.conf   ldconfig,           :
$ su -
# echo /opt/program/lib >>/etc/ld.so.conf
# ldconfig
# exit
$ /opr/program/bin/filename
       ,     :
$ export LD_PRELOAD=/opt/program/lib/*
$ /opr/program/bin/filename
                .        ,             .
      /proc
     ,      ,     ()       .  Linux            procfs,      /proc.
    /proc  ,      PID .         .       :
 


cmdline
,   \0
  ,    .         \0
environ
,   \0
      
exe
 
    
maps
 
     
mem

     
mounts
 
   ,  
stat
  
  
statm
  
    
cwd
 
  ,     
fd/*
 
   fd     .      
root
 
  ,    
status
 
  
     ,     ps,     ,    ,   ps           /proc.
 
Linux             fork+exec.  ,      ,          fork,    ,         ,   PID (Process ID)  PPID (Parent Process ID)    exec  ,             . ,    ,        (   init,     ).
  ,      .   ,         ,           .   ( ,      )     (zombie process).  zombie process   ,    .          ,       ,   .          .
 ,     ,  ,         init,        -, .. ,          .
 /dev
 Linux         .     ,            (),    .
 Linux        ,      /dev.     ,    ,        .           (character  block),    (major number)    (minor number).  ,     /dev:
[dalth@viking proc]$ ls -lL /dev/hd* /dev/ttyS*
brw-------  1 root  root  3,  0   1 20:16 /dev/hda
brw-------  1 root  root  3,  1   1 20:16 /dev/hda1
brw-------  1 root  root  3,  2   1 20:16 /dev/hda2
brw-------  1 dalth disk 22,  0   1  1970 /dev/hdc
crw-------  1 root  root  4, 64   1  1970 /dev/ttyS0
crw-------  1 root  root  4, 65   1  1970 /dev/ttyS1
crw-------  1 root  root  4, 66   1  1970 /dev/ttyS2
 ,      ,     .        (     ), -, -, major number, minor number,     .
         ,     ,     .     -      ,        : COM-, LPT-, PS/2-, USB-  ..,       SCSI-, IDE-, SCSI-CD-,     RAID-  ..
         .  ,               (  )          ,        .
    

0
1
...
63
64
65
66
...
175
...
4




COM1
COM2
COM3



6
LPT1
LPT2








10

 PS/2

  LVM




 AGP

14
  . 









195
  NVidia









   

0
1
2
...
16
...
64
65
...
3
IDE Primary Master
  1  IDE Primary Master
 2  IDE Primary Master

  16  IDE Primary Master

IDE Primary Slave
 1  IDE Primary Slave

13
SCSI  1
 1  SCSI- 1
 2  SCSI- 1

SCSI  2

SCSI  4
 1  SCSI- 4

                   ,     ,           ,       major number,      minor number.       ,  ,      /dev/ttyS1,        4    65      COM2,     /dev/hda2 (     3   ͚2)    2-    IDE,    primary master.
   /dev
        /dev      .      /dev            ,      .       /dev        ,         .
    /dev               mknod  MAKEDEV.   ,  -    ,     ( ,        ),           .      ,      8   33     (,         ,      ,    ):
[root@viking root]# cd /dev
[root@viking dev]# ls -l /dev/hda33 
ls: /dev/hda33: No such file or directory
[root@viking dev]# 
[root@viking dev]# mknod hda33 b 8 33
[root@viking dev]# 
[root@viking dev]# ls -l hda33
brw-r--r--  1 root root 8, 33  11 09:27 hda33
[root@viking dev]# 
[root@viking dev]# dd if=hda33 of=/dev/null 
dd: opening `hda33': No such device or address
[root@viking dev]# 
 No such device or address    ,           .
 Linux         ,     .       ,  -     ,      ,       .          /etc/modules.conf     (alias)  .      -          /etc/modules.conf   :
alias char-major-X-Y _
        :
alias block-major-X-Y _
X  Y   major  minor  ,        .     nVidia           nVidia    modules.conf        ,     .
 X  Y      * ,   . ,   modules.conf    :
alias char-major-81-* bttv
        major number  81        ,     bttv ( TV-    bt848).
   Linux           ,      .  ,            /dev.
  DevFS
 ,               /dev      /dev        .     :
    /dev   ,  devfs                .  -          ,          devfs.  devfs   ,         .       devfs  ,      ,   devfs          devfs.
  devfs  ,             ,    scsi-     : /dev/scsi/host1/bus1/target3/lun4/partition2
      devfs,                 SCSI-    (     ).
 ,         ,    devfsd.     devfs                 /dev/disks/disc0  /dev/hda1.
 ,    /dev         /dev,     UNIX- (,   Solaris),      /devices,        /dev,   Linux   cfgadm   devfsd,      /dev  .
  devfsd   devfs     ,           type/major/minor,              , devfs      devfsd,     ,      modules.devfs:
alias /dev/nvidia* nvidia
  ,       ,      /dev/nvidia,      nvidia.o (  2.6 nvidia.ko)
 ,     ,      /dev,      . ,  MandrakeLinux  devfs,   RedHat, Fedora  SUSE  /dev   ,        /dev     .
  UDEV
      devfs/devfsd ,        ,  udev.    devsfd,      , udev    .          sysfs,   udevd,     ,         /dev    ,     .            ,      .
,               ,      udev,                ,     data-     Nokia,        firmware,        .
  ,        /dev, devfs  udev,          /dev,                   .
 
 ,   ,   ,          .        Linux?
-,      .      :     ()  (loop-, software RAID-,  Volume Management,    ),    -   (SCSI   CD-ROM', IDE-, USB-storage, RAM-).
       ,  .           ,           .
       ,                    ,         ,     .       ,             .
         , DOS partition table, BSD disklabels, UnixWare slices   .  ,                  ,    .       .
    ,  IDE-        hd    /dev/hd<N>[<M>]  N   ,      IDE,    ,    (master/slave). M      1  63 (    ).    ,   . SCSI-  /dev   sda, sdb, sdc  ..            IDE-:




 
1
1
master
primary master
hda
1
1
slave
primary slave
hdb
1
2
master
secondary master
hdc
1
2
slave
secondary slave
hdd
2
1
master
tertiary master
hde
2
1
slave
tertiary slave
hdf
2
2
master
quaternary master
hdg
2
2
slave
quaternary slave
hdh
   ,    ,          ,      ,        ,       . ,  -        ,      ,          ,       /.
      (extended)  DOS.   DOS        ,       LVM  Linux   63   IDE-   15   SCSI-.          .
          DOS,  ,         4  .   ,       4 ,         .       DOS   1  4,      5,      .         .
   fdisk,     Linux     :
[root@stend root]# fdisk /dev/hda -l

Disk /dev/hda: 6442 MB, 6442450944 bytes
16 heads, 63 sectors/track, 12483 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         203      102280+  83  Linux
/dev/hda2             204        2032      921816   83  Linux
/dev/hda3            2033        3072      524160   82  Linux swap
/dev/hda4            3073       12483     4743144    f  W95 Ext'd (LBA)
/dev/hda5            3073        4088      512032+  83  Linux
/dev/hda6            4089       12483     4231048+  83  Linux

[root@stend root]# 
 ,    IDE  6 ,   4  (    1  4)       5  6,   extended- hda4.
         ,  -      .         (     ),            .
     fdisk,               ,    ,        /proc:
[dalth@viking dalth]$ cat /proc/partitions 
major minor  #blocks  name

   3     0   78150744 hda
   3     1    1084356 hda1
   3     2   77063805 hda2
 253     0    1048576 dm-0
 253     1    1048576 dm-1
 253     2   10485760 dm-2
 253     3   10485760 dm-3
 253     4    1048576 dm-4
 253     5   41943040 dm-5
 253     6     360448 dm-6
 253     7     258048 dm-7
 253     8     258048 dm-8
 253     9     258048 dm-9
 253    10      53248 dm-10
   7     0     651884 loop0
   7     1     650198 loop1
   7     2     653336 loop2
   7     3     198962 loop3
,         ,       .
      ,     .    ,        -    -         ..      ,         .
    IDE 
IDE-           ,             . IDE-        ,         ,         ,    (  )    2 .
 ,     IDE,   .     Linux     64 ,        ,  63     .  ,  IDE-   ,          ( master/slave)   .        :
    IDE-



Major number
Minor number
    /dev
1
1
 
 1
 2
 3
 4
...
 63
2
 
 1
 2
 3
...
 63
3
0
  /dev/hda
1
2
3
4

63
  /dev/hda1
  /dev/hda2
  /dev/hda3
  /dev/hda4

  /dev/hda63
64
  /dev/hdb
65
66
67

127
  /dev/hdb1
  /dev/hdb2
  /dev/hdb3

  /dev/hdb63
2
1
 

2
 

22
0
  /dev/hdc
1-63
   /dev/hdc[1..63]
64
  /dev/hdd
65-127
  /dev/hdd[1..63]
   ,    64-     .  IDE     Linux     IDE  ..  8 ,     ..
,        IDE:        .    ,        ,    .
     SCSI-
 SCSI     IDE,         15 (   16,      ),  SCSI      ,          SCSI-  ,    SCSI        .  SCSI-          (..  major number      -).   SCSI-    16 ,          ,  IDE-           16-  (..   SCSI-  1  15).         /dev:
    SCSI-
    
Major number
Minor number

 
1
8
0
 
sda
1
 
sda1
2
 
sda2
3
 
sda3
4
 
sda4
5
 
sda5
...


15
 
sda15
2
8
16
 
sdb
17
 
sdb1
18
 
sdb2
19
 
sdb3
20
 
sdb4
21
 
sdb5
...


31
 
sdb15
    Linux   4096 SCSI-           .    SCSI-  ,   ,   ,    .  ,     3  SCSI,     sda, sdb  sdc,         ,      (   sdb)   sda,    (  sdc)   sdb,     SCSI-   devfs (       ),       ,             - ,  md (software RAID)  LVM.  ,     devfs    ,  LVM     .
 SATA    IDE  PATA
SATA,    IDE,       SCSI.      -   Linux  SATA     SCSI.,  SATA-     ( )  SCSI-.
    2.6      IDE-   SCSI.,    ,   Fedora7,   Parallel ATA (  IDE)      SCSI-,       -,      CD/DVD      /dev/sdX  /dev/scdX.     IDE,     ,    pata, : pata_via    IDE-   VIA,  pata_piix -     IDE- Intel,     SCSI.
  ,            SATA-,          SCSI-.
Logical Volume Manager
           .  ,        ,        ,          ..     LVM (Logical Volume Manager).
LVM   :    -    ,  LVM.       (   ,  physical volumes)          (logical volume groups).           (logical volumes).                 .       (extents)  .   LVM   ,        .                  ,    .   LVM     ,     ,    .
    device mapper      lvm2.            ,          ,              ,           .       device mapper ,                  ,         ,       ( ,   ,   )  .
 LVM         ,            .  ,        LVM          LVM:   LVM,      ,    ,         .   ,     .
       ,         .           LVM.     LVM    :         fdisk    LVM.         ,           :
[root@inferno dalth]# fdisk /dev/hdb

The number of cylinders for this disk is set to 79408.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdb: 40.9 GB, 40982151168 bytes
16 heads, 63 sectors/track, 79408 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1       79408    40021600+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@inferno dalth]#
    fdisk ,   IDE- primary slave     LVM (   0x8E).             aurora,      pvcreate   /dev/hdb1:
[root@inferno dalth]# pvcreate /dev/hdb1 
  No physical volume label read from /dev/hdb1
  Physical volume "/dev/hdb1" successfully created
[root@inferno dalth]# vgcreate aurora /dev/hdb1
  Volume group "aurora" successfully created
[root@inferno dalth]#
         ,    LVM.         20GB,       30GB,     ,        .
[root@inferno dalth]# 
[root@inferno dalth]# lvcreate -L 20G -n ftpdata aurora
  Logical volume "ftpdata" created
[root@inferno dalth]# 
[root@inferno dalth]# lvscan
  ACTIVE           '/dev/aurora/ftpdata' [20,00 GB] next free (default)
[root@inferno dalth]# 
[root@inferno dalth]# lvresize -L +10G /dev/aurora/ftpdata 
  Extending logical volume ftpdata to 30,00 GB
  Logical volume ftpdata successfully resized
[root@inferno dalth]# 
[root@inferno dalth]# lvscan
  ACTIVE           '/dev/aurora/ftpdata' [30,00 GB] next free (default)
[root@inferno dalth]# lvcreate -L 8G -n home_dirs aurora
  Logical volume "home_dirs" created
[root@inferno dalth]# 
[root@inferno dalth]# lvscan
  ACTIVE           '/dev/aurora/ftpdata' [30,00 GB] next free (default)
  ACTIVE           '/dev/aurora/home_dirs' [8,00 GB] next free (default)
[root@inferno dalth]# 
[root@inferno dalth]# lvremove /dev/aurora/ftpdata 
Do you really want to remove active logical volume "ftpdata"? [y/n]: y
  Logical volume "ftpdata" successfully removed
[root@inferno dalth]# 
[root@inferno dalth]# lvremove /dev/aurora/home_dirs 
Do you really want to remove active logical volume "home_dirs"? [y/n]: y
  Logical volume "home_dirs" successfully removed
[root@inferno dalth]#
          :
[root@inferno dalth]# vgremove aurora
  Volume group "aurora" successfully removed
[root@inferno dalth]# pvremove /dev/hdb1
  Labels on physical volume "/dev/hdb1" successfully wiped
[root@inferno dalth]#
   LVM    minor number,  major number    LVM  253.     LVM        mknod,    ,   devlabel.          /dev,       /dev      ,            ,   devicemapper,     LVM    : /dev/<_>/<_>.      ,        LVM:
[root@viking root]#
[root@viking root]# ls -la /dev/chimera
lr-xr-xr-x  1 root root 23   8 13:53 opt -> /dev/mapper/chimera-opt
lr-xr-xr-x  1 root root 24   8 13:53 swap -> /dev/mapper/chimera-swap
lr-xr-xr-x  1 root root 24   8 13:53 temp -> /dev/mapper/chimera-temp
lr-xr-xr-x  1 root root 23   8 13:53 usr -> /dev/mapper/chimera-usr
lr-xr-xr-x  1 root root 23   8 13:53 var -> /dev/mapper/chimera-var
[root@viking root]#
[root@viking root]# lvscan
  ACTIVE          '/dev/chimera/swap' [1,00 GB] next free (default)
  ACTIVE          '/dev/chimera/temp' [1,00 GB] next free (default)
  ACTIVE          '/dev/chimera/usr' [10,00 GB] next free (default)
  ACTIVE          '/dev/chimera/opt' [10,00 GB] next free (default)
  ACTIVE          '/dev/chimera/var' [1,00 GB] next free (default)
[root@viking root]#
[root@viking root]# mount | grep chimera
/dev/mapper/chimera-var on /var type ext3 (rw)
/dev/mapper/chimera-temp on /tmp type ext3 (rw)
/dev/mapper/chimera-usr on /usr type ext3 (rw)
/dev/mapper/chimera-opt on /opt type ext3 (rw)
[root@viking root]#
 ,  LVM        ,      .     LVM    multipath I/O.         device mapper   ,      UUID      ,          -  .       ,    (snapshot)  :        ,       ,      :
# xfs_freeze /home
# lvcreate -s -L 10G -n home_snapshot /dev/chimera/home
# xfs_freeze -u /home
# dd if=/dev/chimera/home_snapshot of=/dev/st0
# lvremove /dev/chimera/home_snapshot
        XFS,    XFS      ,      ,       .       home    chimera,      /home,     home_snapshot,         10   .      /home ,   ,    -    home,         10GB  ,      ,       home_snapshot ,     .   ,         ,       (home),         ,    ,       .        lvremove.
Sotware RAID
 Linux     software raid ( RAID-).      md.    device mapper,  md     ,    ,       ,       RAID-.   md   254    0   16383.
   LVM,         (          ),   RAID        .
  ,     ,    .    (   arraysuperblocks)     .  , ,      ,          .   RAID-      (..      ),          ,      . ,      ,        ,   SCSI-,    ,  .
,            ,                .
    md   ,     md-  ,        ,       IDE, .   RAID-    63 .   ,   RAID-,       : 64 * N + M,  N     ( RAID-)   0...255,  M       1...63.
 ,            md-  ,       mknod.    , ,     LVM  md,          md,         LVM.
 md     RAID-  0, 1  0+1,         ,  RAID  5 (           ),            . ,           RAID - , HPNetRaid (   AMIMegaRAID)  CompaqSmartArray (  HPSmartArray).
    ,     RAID-  0   1   md    mdadm.  mdadm    /etc/mdadm.conf,   ,           .
    ,     hdb   ,      .      md-. ,      RAID-,   md-,    ,    ,      :
[root@inferno dalth]# 
[root@inferno dalth]# mdadm --create \
>                           /dev/md0 --level=0 \
>                           --raid-devices=2 /dev/hdb1 /dev/hdb2
mdadm: array /dev/md0 started.
[root@inferno dalth]# 
[root@inferno dalth]# mdadm -Q /dev/md0
/dev/md/d0: 983.25MiB raid0 2 devices, 0 spares.
[root@inferno dalth]# 
[root@inferno dalth]# mdadm S /dev/md0
[root@inferno dalth]# 
[root@inferno dalth]# mdadm --create \
>                           /dev/md0 --level=1 \
>                           --raid-devices=2 /dev/hdb1 /dev/hdb2
mdadm: array /dev/md0 started.
[root@inferno dalth]# 
[root@inferno dalth]# mdadm -Q /dev/md0
/dev/md0: 491.63MiB raid1 2 devices, 0 spares.
[root@inferno dalth]# 
[root@inferno dalth]# mdadm S /dev/md0
[root@inferno dalth]# 
[root@inferno dalth]# mdadm assemble /dev/md0 /dev/hdb1 /dev/hdb2
mdadm: /dev/md0 has been started with 2 drives.
[root@inferno dalth]#
        md-    ,    .    ( ,  RAID  ..)  mdadm    .   ,        ,              - .      mdadm,         ,  ,  UID    :
[root@viking root]# mdadm -Q -D /dev/md0
/dev/md0:
        Version : 00.90.01
  Creation Time : Fri Oct  8 14:29:21 2004
     Raid Level : raid1
     Array Size : 102336 (99.94 MiB 104.79 MB)
    Device Size : 102336 (99.94 MiB 104.79 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Oct  8 14:32:22 2004
          State : clean, no-errors
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

    Number   Major   Minor   RaidDevice State
       0     253       24        0      active sync   /dev/hdb1
       1     253       25        1      active sync   /dev/hdb2
           UUID : 8696ffc0:52547452:ba369881:d1b252d0
         Events : 0.3
[root@viking root]#
           mdadm.    /etc/mdadm.conf        ,      md-          :
[root@viking root]# cat /etc/mdadm.conf
MAILADDR root
ARRAY /dev/md0 UUID=8696ffc0:52547452:ba369881:d1b252d0
DEVICE /dev/hdb*
[root@viking root]#
  ,    md0   ,   ,           hdb.         mdadm assemble /dev/md0,  mdadm      ,    /dev/hdb*     md0   ,         ,     ARRAY   /dev/md0.
 ,        md-,              md-,      .            :
linux md0=0,/dev/hdb1,/dev/hdb2 root=/dev/md0
     ,     ,    RAID-,      ,     .       md-   ,          initrd.
       ,       .     ,     RAID-  boot-,        Linux   md,     BIOS,      RAID-    ,    .  ,    RAID-,      ,          :
linux md0=d0,/dev/hda,/dev/hdb root=/dev/md_d0p1
 md     hotswap-  , ..  ,             .
  software RAID  Linux         .
Device mapper
   2.6          MD,   device-mapper.    ,               ,     ,         .
LVM     device mapper,       LVM                  LVM   device mapper,        ,       LVM    ,       ,   device mapper,     .
             ,            ,        .
Host-RAID,   RAID-  
       -     RAID            ,  Linux     RAID?!           RAID-           .
  RAID             BIOS      32/64-    ,    RAID    .   Windows      -  ,   Linux   .
      -RAID  (  fake-RAID)    dmraid.           (      md-),   fake-RAID ,         ,  dmraid   device-mapper  ,         .
  device-mapper   ,             ,           .
 
 (   )    Linux  .    Linux     ,             ( ) . ,        .
,      eth0,          Ethernet-,    .    ppp0     -   .    lo           (    )  .
        .                       lo,  ethX,  pppY,             -     API  ,   .
 ,    ,    ifconfig:
$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:11:2F:A8:DE:A4
          inet addr:172.23.2.114  Bcast:172.23.2.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:11 Base address:0x4000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:60 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4707 (4.5 KiB)  TX bytes:4707 (4.5 KiB)

         , eth0  lo,       ,         eth0.  ,  Link encap   , HWAddr     (, MAC-  Ethernet), MTU     .         ,          .
    :
eth (Ethernet)      
ppp (Point-To-Point)   -,    ,        VPN
slip (Serial Line IP)   -,  
wl (Wireless)   ,    
lo (Loopback)  -,    ,    -          
 ifconfig        ,     ,    IP:
# ifconfig eth0 down
# ifconfig eth0 up
# ifconfig eth0 inet 192.168.2.210 netmask 255.255.255.0
# ifconfig eth0 mtu 296
         , ipx_config   ,    IPX.   ,            :






















,     .       socket (bind, connect  .)      .               .      ?  ,     .         ,             (,    ,    ).
    ,    . ,   loopback           ,       (   ).   eth0     Ethernet      ,       ,       ( ).         PPP,       ppp0,     pppd.      ,      /dev/ttyS0    COM-,       . ,        .
 IP  
  IP- (    ),  IP-,    IP- Linux.      ,         ,      .   IP-    net.ipv4.ip_forward  sysctl.      0,   ,       0,  :
[dalth@viking dalth]$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
[dalth@viking dalth]$ 
 ,           :
[dalth@viking dalth]$ sysctl -a | grep forward | grep v4
net.ipv4.conf.vmnet1.mc_forwarding = 0
net.ipv4.conf.vmnet1.forwarding = 0
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 0
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 0
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 0
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 0
net.ipv4.ip_forward = 0
[dalth@viking dalth]$
         ,          .         ,         sysctl.            sysctl:
[root@viking dalth]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[root@viking dalth]# sysctl -a | grep forward | sort
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.vmnet1.forwarding = 1
net.ipv4.conf.vmnet1.mc_forwarding = 0
net.ipv4.ip_forward = 1
[root@viking dalth]#
            (nexthop)    .     ,       .  ,      :    ,    , IP-  ,      (,    ).       IP-,       IP-   ,      .
     0.0.0.0    0.0.0.0    ,  default route. ,      gateway    ,    ,  defaultgateway  defaultrouter.         ,         .        route.       ,      .
[root@inferno dalth]# route -n
Kernel IP routing table
Destination   Gateway      Genmask         Flags Metric Ref  Use Iface
10.80.1.113   0.0.0.0      255.255.255.255 UH    0      0      0 ppp0
127.0.0.0     0.0.0.0      255.0.0.0       U     0      0      0 lo
0.0.0.0       10.80.1.113  0.0.0.0         UG    0      0      0 ppp0
[root@inferno dalth]# route del default
[root@inferno dalth]# route -n
Kernel IP routing table
Destination   Gateway      Genmask         Flags Metric Ref  Use Iface
10.80.1.113   0.0.0.0      255.255.255.255 UH    0      0      0 ppp0
127.0.0.0     0.0.0.0      255.0.0.0       U     0      0      0 lo
[root@inferno dalth]# route add default dev ppp0
[root@inferno dalth]# 
       ,      .  Destination  Genmask       ,  Metric     (     ),  Gateway  IP-     .    ( ,   -,  point-to-point) ,            ,      IP-     .     ,          ppp0  -.  ,  -         .     ,    PPP-:
[root@inferno dalth]# route -n
Kernel IP routing table
Destination   Gateway     Genmask         Flags Metric Ref    Use Iface
10.80.1.113   0.0.0.0     255.255.255.255 UH    0      0        0 ppp0
127.0.0.0     0.0.0.0     255.0.0.0       U     0      0        0 lo
0.0.0.0       0.0.0.0     0.0.0.0         U     0      0        0 ppp0
   PPP (    ) ,   PPP-    -,    PPP    Point-to-Point Protocol.   -   SLIP (Serial Line IP)      .
         ,     Iface    .               ,   .
         ,     ( ,      )              route,         .           :         ,    ( )         .
  ,   route           ,    ,  /proc/net/route,      ,  .
 
       ,   TCP/IP  Linux.      ,  IP- Linux      (hooks)  .    ,    ,    ,   . ,   ,   ,  -   ,     ,      ,             ,      ,      .
          iptables. iptables    ,        NETFILTER  Linux,   ,  ,    IP-.    iptables    (chain).         (condition matches)   (action).     (tables).
         ,   DROP  ACCEPT,        , LOG  MARK.
                ,        ,    ,    .    ,        ,    ,       .
        ,    (chain policy). ,    ,    ,          .
   
     ,        ( ).  ,      .      :




mangle
 
PREROUTING
   
INPUT
 ,    
FORWARD
 ,     (   )
OUTPUT
 ,    
POSTROUTING
   
filter
            )
INPUT
    
OUTPUT
    
FORWARD
  () 
nat
 
PREROUTING
    
FORWARD
   
POSTROUTING
    
 nat   , ..       ,     ,  .  mangle  nat  ,  mangle    , ..   .
     
,         iptables.    ( ,     iptables)     :
1. mangle.PREROUTING
2. nat.PREROUTING
3. mangle.INPUT
4. filter.INPUT
 ,   ,    :
1. filter.OUTPUT
2. mangle.OUTPUT
3. nat.POSTROUTING
4. mangle.POSTROUTING
,   (), ..         ,       :
1. mangle.PREROUTING
2. nat.PREROUTING
3. mangle.FORWARD
4. filter.FORWARD
5. nat.FORWARD
6. nat.POSTROUTING
7. mangle.POSTROUTING
 
             ,   -  .         ,           ,           .   :
ACCEPT
             
DROP
  ,   
RETURN
         ,         ,    ,      (chain policy)
QUEUE
      
    ,     target extensions,              .  ,   , ,   LOG     , MASQUERADE   IP-  , MARK      .        ,       .
         .  ,         ,          ,      .   ,       .
 
        ,     ,   ,   match extensions.        ,        ,     UDP        ,   ICMP     ICMP-.
  iptables
    ,      .  ,        (,  )   ,       ,         .
 1:   iptables   ,   Internet.        ,      UDP  ,       Internet   PPP-.            ,   TCP-,    TCP    ,      UDP-   DNS      PPP ( DHCP).  ,      ICMP       PING:
# iptables -P INPUT DROP
# iptables -A INPUT -j ACCEPT -i lo
# iptables -A INPUT -j ACCEP -p tcp ! --syn
# iptables -A INPUT -j ACCEPT -p udp --source-port 53
# iptables -A INPUT -j ACCEPT -p udp --source-port 67 --destination-port 68
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type destination-unreachable
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type time-exceeded
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type parameter-problem
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type echo-reply
# iptables -P OUTPUT DROP
# iptables -A OUTPUT -j ACCEPT -p tcp
# iptables -A OUTPUT -j ACCEPT -p udp --destination-port 53
# iptables -A OUTPUT -j ACCEPT -p udp --destination-port 67 --source-port 68
# iptables -A OUTPUT -j ACCEPT -p icmp --icmp-type echo-request
 2:   ,    1,     .  ,    ,    ,      .     KILLER   ,   ?  ,      ,     ,       KILLER,     ( ,   )         LOG,  DROP.   LOG    ,     :
# iptables -N KILLER
# iptables -A KILLER -j LOG
# iptables -A KILLER -j DROP
# iptables -P INPUT KILLER
# iptables -A INPUT -j ACCEPT -i lo
# iptables -A INPUT -j ACCEP -p tcp ! --syn
# iptables -A INPUT -j ACCEPT -p udp --source-port 53
# iptables -A INPUT -j ACCEPT -p udp --source-port 67 --destination-port 68
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type destination-unreachable
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type time-exceeded
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type parameter-problem
# iptables -A INPUT -j ACCEPT -p icmp --icmp-type echo-reply
# iptables -P OUTPUT KILLER
# iptables -A OUTPUT -j ACCEPT -p tcp
# iptables -A OUTPUT -j ACCEPT -p udp --destination-port 53
# iptables -A OUTPUT -j ACCEPT -p udp --destination-port 67 --source-port 68
# iptables -A OUTPUT -j ACCEPT -p icmp --icmp-type echo-request
 3:  .    IP-   ,       -,    -   .     IP- (, ,  )   .       SNAT    , DNAT    ,  MASQUERADE    SNAT,     IP- (IP-    IP-     ,      ,    IP-         ). ,       193.267.14.6,      192.168.0.0/24.   ,          TCP ,      :
# iptables -A POSTROUTING -t nat -j SNAT -o ppp0 \
>   --to-source 193.267.14.6 -p tcp \
>   --source 192.168.0.0/24 \
>   --destination ! 192.168.0.0/24
     ,    (   dialup  ),                  ,    :
# iptables -A POSTROUTING -t nat -j MASQUERADE -o ppp0 \
>   --source 192.168.0.0/24 \
>   --destination ! 192.168.0.0/24
 SNAT  , MASQUERADE   ,      (   ,  ,              ).       -o ppp0,       ,    ppp0.    ,        ,        -     connection tracking (  ),                .
 4:     .   ,     ,    ,  -     (,       WWW-).     DNAT (destination NAT).       TCP-,     ppp0   80,   85    192.168.0.6:
# iptables -A PREROUTING -t nat -j DNAT -i ppp0 \
>   --to-destination 192.168.0.6:85 -p tcp --destination-ports 80
,    iptables  ,         ,    .       ,      iptables    .
 ,   RedHat Linux   ,     ,   iptables.       /etc/rc.d/init.d/.       ,  ,        iptables.         iptables,   /sbin/iptables,       /etc/rc.d/init.d/iptables save,        /etc/sysconfig/iptables.       iptables,          ,     - ,       iptables.
 , NSS  PAM
Linux   .  ,              : /etc/passwd, /etc/group, /etc/shadow, /etc/gshadow.      ,       Linux     ,    ,             ,  NSS  Name Service Switch.   NSS       .     .   NSS    libc,  libc       
NSS:













  ,      NSS,    libc.so,      /etc/nsswitch.conf,       NSS,     .
   ,       ,    glibc     NSS      ,    nsswitch.conf.
 ,  NSS   ()    ,    (),      , IP-       .
  nsswitch.conf:
[viking@alpha etc]$ cat /etc/nsswitch.conf
passwd:     files ldap
shadow:     files ldap
group:      files ldap
hosts:      files dns 
bootparams: nisplus [NOTFOUND=return] files 
ethers:     files 
netmasks:   files 
networks:   files 
protocols:  files 
rpc:        files 
services:   files 
netgroup:   nisplus 
publickey:  nisplus 
automount:  files nisplus 
aliases:    files nisplus 
[viking@alpha etc]$
   ,              LDAP,      IP-       DNS,                NIS+.
   NSS    libnss_XXX.so,  XXX    .  libnss_files.so    NSS       , libnss_db.so     BerkleyDB, libnss_ldap.so        LDAP.  ,       .
 ,        Linux-           ,    NSS          ,     Solaris,     NIS/NIS+,    ActiveDirectory   LDAP.
   NSS        ,     DNS    , NIS      ,     LDAP        .
 PAM (Pluggable Authentification Modules)     NSS,     .   PAM    ( ,  ,    ).   NSS, PAM       ,   ,            PAM,      /etc/pam.d.   PAM  NSS (  )  ,  PAM       libc,    .
    UNIX          ,    Linux  ,      NSS  PAM.     passwd, chsh, chfn, id, who  . NSS       ls, find, ps      ,    . ,             NSS,  PAM ( XDM  GDM).           NSS. ,      NSS  PAM              Linux-.
X11  --
          X11 (X11 Windows System),        .    X11?  , X11     ,     : X-  X-.
-  X11
X-   ,      /,    ,        (    -)  X-. X-    ( ,   ),        ..  , X-        .          X-.
         X-  Xorg.     xorg.conf     /etc/X11.       ,    X-,  ,     .         [man Xorg, man xorg.conf].
X-       ,  , ,   , ,     ɚ..
    ,    X-    X11,   X-    ,        .    , X-    X-,   X-      .   X11          ( X-  X-    ),        X-  X-      .
X-         X-       ,    ,       X-      ,     ,               X-,            X-.
 ,   ,        X-.      (     Nautilus    GNOME):


          X-:    nautilus (    ,  , ,    ).  X-    (window manager)   metacity        .       , ,         metacity,     ,   ,   ,         nautilus.
  
      ,       .         X-      ,      ,    ,        .     :
1)               
2)    -  
3)          
4)          -    ,  , , IM-  
5)     ,        ,    ,              
6)          
      ,                    .                  ,     GNOME  KDE,        ,      X-  ...    .
     Linux   GNOME  KDE.               ( GNOME  GTK,  KDE  Qt),      , , -,      ,   (              ),         -,      , ,        .
 X-     -   ,  Firefox  Opera,  Mplayer,   OpenOffice.Org.         ,         ,       --,   ,      ,     .
 X11.  
X11   ,     .      :
















   -,      ,       (   )   libX11,   X11 Core Protocol    X-. X-          .        X-    ,  X11 Core Protocol  X-, libX11          ,             .
           ,  ,         -.       , Qt  GTK,         ,    ,   -        .
  X11 (libX11,  Xlib)           X11,       X11,         X-,       ,      .
 X11.     
     X11    X-. ,      ,   X-          .     X-       ,       ,      ,         ().
 ,  X Core Fonts,   X11  ,                 fixed, hevetica, times, courier.       ,    ,     ,       ( 8  18),   (  )    (  ),     40          ,   .
     ,            X-,   X11        (font server).             ,   X-       ,                        ,     .
   Linux      X11  ,   xfs.         /etc/X11/fs.          ,     X- ,       ,    .
          ,             ,          90 ,   ,       (LCD-)         ,    ,       .
  ,   X Core Fonts      xterm,      ,        XDM.
 X11. FreeType  XFT
          XFT  FreeType,            ,        (          ).           X11,       X-.
     : X-    X-      ,         FreeType  XFT,    X-   ,  X-  .  ,      X-        (  )            PostScript  TrueType.
   GTK  QT    ,       ,   Motif  Xview (OpenLook)       ,                  XFT  FreeType,     -   X11       .
 X11. 
 X11      ,         ,               . ,        XShape,       XVideo,   OpenGL    GLX   .
 X11.  
   X11    ,         X11.    :
xterm   
xfontsel     
xdpyinfo        X11   
xwininfo       (, ,    ..)
xwd    
xwud     xwd
xhost     X-  X-
 X11.  
   X-,   .          ,  ,    ,   ,           Z-  . ,              .
GNOME  KDE        metacity  kwin.               ,        .    (      UNIX-)     twm.    ,               .

  UNIX-                ,  ,   ,      .
 Linux       i18n.    ,            .
  ,           locale:
$ locale 
LANG=ru_RU.UTF-8 
LC_CTYPE="ru_RU.UTF-8" 
LC_NUMERIC="ru_RU.UTF-8" 
LC_TIME="ru_RU.UTF-8" 
LC_COLLATE="ru_RU.UTF-8" 
LC_MONETARY="ru_RU.UTF-8" 
LC_MESSAGES=en_US 
LC_PAPER="ru_RU.UTF-8" 
LC_NAME="ru_RU.UTF-8" 
LC_ADDRESS="ru_RU.UTF-8" 
LC_TELEPHONE="ru_RU.UTF-8" 
LC_MEASUREMENT="ru_RU.UTF-8" 
LC_IDENTIFICATION="ru_RU.UTF-8" 
  ,  locale           .          ,   :
LANG    ,                
LC_CTYPE          
LC_NUMERIC       
LC_TIME     
LC_COLLATE       ,   
LC_MONETARY      
LC_MESSAGES      
          LANG   ru_RU.UTF-8 ( ,   ,   UTF-8),             .          ,   , ,             .
    Windows,          ,      ,  UNIX  Linux                    LANG  LC_MESSAGES.             ,            ,    .
  Linux           ,     ,                , ,      ..
                              , :
[viking@alpha ~]$ 
[viking@alpha ~]$ LC_MESSAGES=ru_RU.UTF-8 ls -l something 
ls:     something:      
[viking@alpha ~]$ 
[viking@alpha ~]$ LC_MESSAGES=en_US.UTF-8 ls -l something 
ls: cannot access something: No such file or directory 
[viking@alpha ~]$ 
[viking@alpha ~]$ LC_MESSAGES=fr_CA.UTF-8 ls -l something 
[viking@alpha ~]$ 
ls: ne peut accder something: Aucun fichier ou rpertoire de ce type 
[viking@alpha ~]$ 
 ,  Linux-         ,      .   RedHat/Fedora       /etc/sysconfig/i18n,             ~/.i18n:
[viking@alpha ~]$
[viking@alpha ~]$ cat /etc/sysconfig/i18n 
LANG="ru_RU.UTF-8" 
SYSFONT="latarcyrheb-sun16" 
[viking@alpha ~]$ cat /homed/viking/.i18n 
LC_MESSAGES="en_US" 
[viking@alpha ~]$
     ru_RU.UTF-8,   viking     ,         .



  Linux

  

  : http://linuxshop.ru/unix4all/?cid=&id=160
:   (alv@linux-online.ru)
C : 1.3

      (,   DOS/Windows,  ) -       Linux.      -    ,       .
 
 " " -        ,   ,    Unix    ( Linux     ) -  :   , ,    "".   ,        .       ,   ,   -   .
-,   , , ,   ,        :                /. ,        .
-,     Unix  Unix- ,   -      ,   ,   ,      -      .  ,                   Unix-.
-,   -       ( -  ).       "   ",        .      ,     : DOS-,  (Extended)  DOS,  Linux native   .            ""         .   Linux   "" (native)   ,          -    Linux native  Extended DOS,    (LVM)      ,   RAID-.
  ,      (     ,        - disk based file system),       .        - devfs,        - tmpfs,  procfs - ,        (   ) .       , ,   (RAM-).  tpmfs,      ,      ,     disk-based.
 ,       ,  ,    ,  , ,  .  ,   ,    ,  FAT16 (     VFAT  FAT32)  DOS, UFS  FreeBSD  Ext2fs -  Linux.    -          ,       Unix-  Unix-  .         ,  FAT-, .
 , Linux           -  Ext3fs,      Ext2fs,  XFS  JFS,     Unix  SGI  IBM, ,   ReiserFS.      Linux'     FAT (     -  ).
,          ,     Linux,       .      -    Linux'      ,      (, NTFS  HPFS) -    .
,  ,    Unix -       ,    ,        (,      Ext2fs  FAT16,  procfs, devfs  tmpfs),      ,      .   - ,  ,    ,      ,        , ,   ,            .
     ,   Linux           ,   .       ,    Red Hat  Debian. ,                Linux. , ,     .   ,    , ,  Linux Standard Base  Filesystem Hierarchy Standard,    -    ),  ,          Linux,  ,        BSD.
          ,      ,    (,  ).

   Unix-
      ,    Unix.    Unix     ,       ,       ,   .
   -  .. ,     (    ),     (,  ,    ..),     ,      (    -  )     -    ,     ASCII-    .
       ,  ,   .. inodes ( information nodes -  ).      inode,       .      inodes,    ,      ,     ,         .
 ,         (,   DOS/Windows,  ) -      (,    ,   ),  inodes        (   ,     ),            .         -   (   )  (       /lost+found,     ).
 ,  ,   ,  ,   ,      , ,  ,   .  :  Unix      ,    ( , ,  ).          -  ( Unix     , ,    ).             .    MacOS     Windows       -  Unix    :        .
     ,      Unix  :  ,        (        ),     ,     -     .      ( )  ,       (, ,    inode   ,   ,       ,   )  ,     ,     inode     .       rm     Midnoght Commander.
, ,     -    .   ,         (,  inode,  )      -   ,   .       .       -  ,     (   )    -   (mount point),          .   - ,           .  ,  inode     ..    (clean bit). ,          .      ,   Linux'.
  Linux
Ext2fs
      (native)    Linux   - ext2fs (, Linux      FAT-,        ).     "   "; ""  -       minix,   Linux, "" -     Linux   Extfs    .
   Ext2fs   (.  ).   ,        -     Unix.    -    ,     .  ,        ,      -         .   , , -        (     ),              inodes   .
, ,    Linux-     ,    .              ,        "  ".       (,    fsck)          ,         .
   
                   Unix.         ..   .  --    log-  ,     ,      ,          .
    ,        ,            . ,   ,           ,    .
 ,             .         ,    ,    ,        .             . ,  ,        .
   Linux        : ReiserFS  Ext3fs,    , XFS  JFS -    Linux  ,        Irix (SGI)  AIX (IBM), . ,      ,    JFS     .
ReiserFS
  ReiserFS   Linux     -     c http://www.kernel.org,      2.4.x (    ,        2.2.xx).   ,  " "          Namesys.     ,  ReiserFS       . ,    ,   :   ,          Ext2fs.   ,  , ,      ,   .
 , ReiserFS   (   )    ,  ,   ,  (  ,    Unix-     ):      inode,       -         ,    ,   (  ReiserFS - stat-data)            /.
  ReiserFS - ,  ..  ,     ,   ,   ,    .   (tailing)       ReiserFS,   5%   . , ,   ,          .         - ,     ,   .
ReiserFS    Ext2fs      .   ,    reiserfsprogs,         (,   ,      Namesys).
     -  ,    Linux ( Lilo,  GRUB -     )      Linux   ReiserFS,    .  ,  ,     ,     ,        .     ,      /boot   .
Ext3fs
   ReiserFS, Ext3fs -        Ext2fs,      Red Hat    Linux,    2.4.16.    ,       ,         (   1.21    e2fsprogs).    ext2fs  ext3fs         ,     ,      .
     ext3fs,       .   -     : ext3fs     ,         ,     .
 Ext3fs     -   (full data journaling),     (writeback),       (ordered).
  ,     ,    ,    .               .        ,       .       ,    .
   , ,        ,      .         ,    (  Ext3fs) .
        ,           ,   (transaction).            , ,      ,   .  -         ,    .
,    Ext3fs               .       ,       .

XFS
  XFS,     ReiserFS  ext3fs,    SGI      -      Irix 5.3,   1994 .   Linux      (   - 1.1,     SGI's XFS page - http://oss.sgi.com/projects/xfs)        .
XFS -  64-    .    -    .  XFS :
 allocation group,          ,    inodes   ,    ; 
    ,  -            ; 
 delayed allocation -          ,       , ,    ,    ; 
   (ACL, Access Control List)     (extended attributes),        . 
  XFS      :     ,  Ext3fs,     ReiserFS      .     ()   XFS -   :      -,            .        .
    ,  XFS -     Linux.   :    ReiserFS  ext2fs,       Linux, XFS    (  - 2.4.19)       (,     http://www.kernel.org).          ( 2.5.X)  ,      .
   XFS    (xfs-2.4.1X-all-i386.bz2),      SGI     :   e2fsprogs,  XFS  .    XFS    ,      xfsprogs.         .
 
 ,            ( Ext2fs -     ,      ),      (,   ,      ).              .
 , ,      LVM,     ,       ,      .               .
,   ,  Ext2fs -       (      GRUB -    ).  , Ext2fs     ,  /tmp  /var.  ,  ,     .        (,  Source Based   Gentoo /var      ,           ). ,    Ext2fs        -            .
  ,  -        .         Ext3fs,   .  ,           Ext2fs.    /usr  /usr/local Ext3fs     .
           - , , ,    /home (   ,       ).   -     ,        .   Ext3fs -   ()    /home,     -  ""   , ReiserFS  XFS.          ( , ,   JFS,       ,   ).
,   XFS     ()     ,      ,  ,    ..      ReiserFS        ()   (   ),       .       -     XFS.        ReiserFS  ,      LVM. XFS , ,       .
  -       :
Ext3fs -    (/)   /usr (  /usr/local  /usr/X11R6,      ); 
Ext2fs -   /boot,  /tmp  /var; 
XFS -      (/home). 
,    ,      Linux -        .
 
,         ,     .         ,   .
   Linux    -  ,        .       ,           .   ,       ,       (, ,  ).   SB-        ,   Gentoo, ,  -     .
  Ext2fs        - /sbin/mke2fs, /sbin/mkfs, /sbin/mkfs.ext2       , :
$ /sbin/mke2fs /dev/hd?#
    ( /sbin/mkfs.ext2 -     /sbin/mke2fs)   ,  : -b       (  - 1024, 2048  4096 ,    ),-c     , -N  -i    inodes      , ;       man-, , man (8) mke2fs.
    ext3fs      mke2fs   -j,       "" .         :
$ /sbin/mke2fs -J _ /dev/hd?#
    - size=,      ,  device=_      ,      .
     /sbin/mkfs.ext3 -     /sbin/mke2fs (    ,     ).    -    ext2fs  ext3fs   ,     ,      (   ).   
$ tune2fs -j /dev/hd?#
     /.journal       (    ),      inode (      ). ,    -  ,     (      ).
  ReiserFS       - /sbin/mkreiserfs   reiserfsprogs.      (-s    , -f         ,  ..),      man (8) mkreiserfs.     :      ReiserFS,         /boot       ext2fs.
  XFS     mkfs.xfs (  xfsprogs).     ,      ,   .   :
-b,    size=##       ,         (  i386 - 4 )       512  65536 (  - 4096); 
-d,      , ,      (Allocation groups,  agcount), , ,   ( agsize); 
-l,    , ,   ( size). 
  mkfs.xfs           allocation groups -     ,      .     -  allocation group  4   .       -     32 .        20    
$ mkfs.xfs -d agcount=5 -l size=32m /dev/hda1
  ,  mkfs.xfs   -f ( force) -     XFS   .  ,    ext2fs (,    , ext3fs,     ).   XFS   ReiserFS -         . ,        ( XFS  ReiserFS),  ,     ""       ext2fs.    ,       XFS   ReiserFS,  .
            -     (   ) 
$ dd if=/dev/zero of=/dev/hd?#
       -       10-20,       Control+D       .
 ,     -  swap-,     .        ,    ,   
$ mkswap _
      -          .
 
            .           . ,     Unix        , : . . .   UNIX.
   ext2fs       ", , " ( , 2000,  1 - #2;  2 - #3,).
     ,   Linux,      ,   ,   ,       Linux.

Linux   :     

  : http://citkit.ru/articles/381/
        :   (alv@linux-online.ru)
: 15.03.2007 .
C : 1.3

 ...   ,  .        - , .    -   ,  ,   ...
        :        . 
       ,        ,      .        -         .
  ""  Linux (  ,           )    : ext2fs, ext3fs, ReiserFS, XFS, JFS.            . ,     Linux    FAT/VFAT/FAT32,   -      ,     ,       .
    JFS -   :
    Linux; 
     (  Linux -    AIX     ); 
     . 
          .         -                .
   ReiserFS -         :      ?  ,             .
 ,           ,   Linux      ,          (   FS).      Unix-  -  .    ,    FreeBSD,  Gentoo     .
          inode ( ,    ),    ,       ,      .  ,         FreeBSD ( , UFS,   , UFS2)       .
   ReiserFS          -           inode.       ,    -          FS.
     ReiserFS       . ,     (    ) ,     inodes,       -  .      ,  inodes      ,    . ,  ext2/ext3   ,   .
,    ,     . -,         .      ,        .
-,       ,     inodes,      "".        ,    . ,    , ,        .        Linux.          .
   ReiserFS      FS,       ext2.             .
     ReiserFS    .       Windows,   , .     BSD (DragonFlyBSD, FreeBSD)     ,      .   ,   Linux LiveCD      ReiserFS,  .
     ext3fs.        -    ,    ReiserFS.    ext3fs    ,      ReiserFS.       ,  .    ext2  -     ,    2.2 (   2.0).
,   ext3fs    -       Linux-. ,    -   LiveCD - ,     ,     .  ,  BSD-   ext3fs (   ).  Windows  ,   ,     plug-ins     ( Total Commander),      ext2fs/ext3fs.
   ext3fs   . -,       ,   :    ,       .             . ,        ,    ,     .
,       ,      ext2fs - ,         . , ,           -           ...
 XFS   .          ,    ReiserFS -  ,         Linux.      XFS    ,        ext3fs.         .
  ,  XFS        ,      -      DVD  .
    .        ,  ,       (             -         ). ,       ,             .        .          -       ,    .                ...
,       .         - ReiserFS. ,  ,        ,   ,   ext3fs      ReiserFS -   .
      /boot (      GRUB  ) -      ,  ext2fs,  , -     . ,          -      XFS.
  ,                .


 Gentoo Linux
  : http://gentoo.ru/about
C : 1.0
Gentoo      Pygoscelis papua (  :  ,  ,  ).     98        (27/).
Gentoo Linux  ,                  .  ,            Gentoo.
  , Gentoo Linux    ,   ,   ,   ,    -   ,   . -        ,   Gentoo Linux "".

  ?

Portage   Gentoo Linux,    . , portage       Gentoo Linux.  ,       ,  Gentoo Linux     : emerge --sync (emerge;  /  (: emerge - , , )).    Portage        .        ,          Gentoo.     Portage  10000 ,        . 
Portage       .   ,   : emerge _,   Portage           ,       ,      ,   . 
Portage    ,     . 
: emerge -u world        ,          .
Gentoo Linux

      Gentoo Linux   .    Gentoo        Gentoo Linux:   ,   Gentoo Linux   ,  : emerge --sync.         ,  Gentoo Linux    ,       . 

,     Gentoo Linux  -,           .    ,       Gentoo Linux:
  x86, AMD64, PowerPC, UltraSparc, Alpha  MIPS 
  x86, AMD64, PowerPC, UltraSparc  Alpha   LiveCD 
  KDE  GNOME 
   Linux 
    GNU 
   : ReiserFS, XFS, ext3, EVMS, LVM 
  : NVIDIA, Creative Labs Live!  Audigy 
  OpenGL   (    ) 
   ,    
     Gentoo 
 10000     
    

   ,    Gentoo Linux,     .  :   !

 Gentoo

    .    ,    ,    ...    Gentoo      Linux.    Debian Linux,   ,  Linux    ,  ,     Linux,    ,      Stampede Linux.  ,    Stampede,        .   ,   ,         . 
  .  ,      ,        .    #enoch  irc.freenode.net  10 ,    .   ,   ,  ,     .    Gentoo Linux.      ,   Gentoo 1.0   ,     .      , -  Linux   ,  -   Gentoo  . 
        Gentoo...    FreeBSD.   .   .      Linux.    ,    , Gentoo        .          Portage.       Gentoo    ,      .     Gentoo    ,      . 
  Gentoo   - ,     ,       Gentoo.    ( )    .     ,       Gentoo    ,   Gentoo. 
  2004      Gentoo.          Gentoo,     . 
 Gentoo  ,   :   ,   ,     . , ,   Gentoo       Gentoo!
 Gentoo

  : http://gentoo.ru/philosophy
 : 1.0
: Daniel Robbins -   Gentoo
:  
    Gentoo,      ,    .   Linux-      -  ,     ,    ,       .
    Gentoo  ţ    (.. Portages),  ,     ,   .            ţ        .
,       ,     ebuild. 
ebuild -   (,    emerge build file)
     .    ,    USE.    ,      ebuild   .        emerge -        ,      .
Linux-    ,  Gentoo   .     " ",   Gentoo     "from source" ( ). ,  ,   ,   .    ,      ӣ  ,    .
   ,       Linux.   ( )     ? 

 Gentoo - ,      ӣ  .
    Gentoo         ,   ,   .         .     , ,   ,       Gentoo   .
     , ..        (,    RPM - . ).   Gentoo    ,         ,      ӣ,   ģ  . ,  ""        .
 Gentoo     :
        . 
  Gentoo   ,      .
 Gentoo     ,             Linux  .         ,     ,    ,   . 
      -       -    ,  .    ,   , ۣ   .     Gentoo.

 ,  Gentoo      .        ,      ,     ţ  (, ,   Unix    - . ).   ,     ,      .
     Gentoo     ,    -      ,      .       ,   ,     ?       ?   -         .
 
  Gentoo 

  : http://ylsoftware.com/?action=news&na=viewfull&news=130
C : 1.0
: MooSE 2006-11-22 16:35:01


Gentoo -       .               .    ģ  ,       Gentoo.

      .     Gentoo    Handbook (  Gentoo- . :   ).

Gentoo   ,      .  Gentoo ""    ,     .    Gentoo            .

Handbook     Gentoo.   (   X  ALSA)         Gentoo Wiki.

 (WiKi) ( : )    ( -)       ( : , ,   (FAQ), -(HOWTO)). 
  :
 .      .
      - (),       .
     .
   ,    ϣ .
  ,         , ,   . .
ޣ  (ޣ )       .

  -      .      ,    ϣ   ,            .               . Wiki  ,     ;      -  .
ALSA,  Advanced Linux Sound Architecture     Linux,  -  MIDI- (Musical Instrument Digital Interface     )     Linux. ALSA       2.6,   OSS (Open Sound System -   ),     2.4
X- (  )-           .            Gentoo ( Linux ),   ? , ,     :-).  Linux       ,        . 

     ,    :         ,   .      Linux  -   .    ,       . 

    ,        ,      ,      ,      X Window System, ݣ X11   X.    Unix, Linux   Unix-     . 

,    Linux         X11,  Xorg-X11,   XFree86.  XFree86    , ,    GPL,    Xorg.  XFree86       . 

 X.org

 X.org        X11    .     ,   X11. 

Xorg           .  , Xorg   ,         ,      . 

     ,  ݣ   -       IRC.

 Portage

    Gentoo    -    ,  Portage,          .            ,             (   ,        ).  Portage      USE-         .

      KDE    GNOME      USE   /etc/make.conf  "kde -gnome".       USE-  Gentoo Handbook.

   Portage   emerge.     moo   : emerge moo. Portage  ,      , ң    .      ,   ebuild',       .  ebuild'    /usr/portage.

  Portage

  Gentoo -      USE.    Midnight Commander  X.Org -     ۣ  X.   KPDF  KDE? -   KDE     pdf (   ӣ   KGhostScript).

     emerge --ask --verbose ( emerge -av)   USE-   .   gentoolkit (emerge gentoolkit) -        euse,      USE*.  euse -i flag      "flag".    man- euse ( .   :-)).

    USE-          USE="some flags" emerge moo.   ,          .   USE-  /etc/portage/package.use,    echo "category/moo some flags" >> /etc/portage/package.use   .

    ACCEPT_KEYWORDS -  /etc/portage/package.keywords.  Portage 2.1     package.use  package.keywords      .

   ?
 -  ebuild',         () Portage

    ,   Portage.      , ̣   Portage.      ebuild   Portage CVS.       ,  ebuild  bugzilla.  ,        ebuild.

          ebuild   .  -  ebuild',         () Portage. 



   ebuild'    (/usr/portage),      . 

   ,    Σ  ,  /usr/portage.    ebuild.  PORTDIR_OVERLAY="/path/to/local/overlay"    /etc/make.conf.

    - /usr/local/overlays.      ebuild'  /usr/local/overlays/local.   ݣ    /usr/local/overlays.

  ,    ,  ޣ   ,     ebuild',   .       xgl-coffee  ӣ,     XGL.      /usr/local/overlays/xgl-coffee           SVN.

         Gentoo Wiki.    ģ         .

   ?

        .   .           packages.gentoo.org  gentoo-portage.com (   RSS).

   !

 ,    emerge some-package,      /var/lib/portage/world.      emerge --update --deep world -     .        .  Σ     . 

 -       -       world.

,    ,   wxWidgets,            world.         -      emerge --update (...) world,      emerge --depclean.      wxWidgets  world -        .

 ,   world   .        world   --oneshot.           - .

 

    emerge    /var/log/emerge.log.           -  tail /var/log/emerge.log.  genlop (emerge genlop)        .  genlop -c                 .

  

      -       /var/tmp/portage.         -  .    -     /var/tmp/portage .

        /usr/portage/distfiles.     eclean   gentoolkit.     .       ,     . (  ţ  eclean-dist  eclean-pkg ).   man     .

Gentoo        .                        .    .

Gentoo Linux:   *

  : http://posix.ru/distro/gentoo_old/
:   (alv@linux-online.ru)
 : 1.0

 Gentoo Linux

Gentoo Linux -     .. Source Based .   ,      ,      . Gentoo  ,       ,  Red Hat  Debian. 

Gentoo   2001 .  .     http://www.gentoo.org.(: http://gentoo.ru)

   Gentoo       Linux    BSD- (   - FreeBSD).  ,         BSD- -    Linux    ,   Unix System V (           ).

  Gentoo     FreeBSD.  ,  ,    (.. Distribution)    .       ..  .  -        ( -     )   ,  , ,       . ,  FreeBSD      (packages),     .

 Gentoo   (   - Portages)    ,   FreeBSD.       ( - )    ,      ,   ,  gcc     glib.

  Gentoo :
1.   ,     (  ) ;
2.          (     ,  i86,  Sparc, PowerPC  Alpha),      ;
3.    ( packages FreeBSD),       ,   host-;
4.      (,  ) .

   Gentoo    .     Gentoo Handbook      ,       .

  (  "-")    .    -      (  Pygoscelis papua),   -  (, ,  ).

    ,  -     .         Gentoo.

 

   Gentoo          .  -   http  ftp, ,   . ,       CD-,       .

  Gentoo   ,     ()   .      iso- CD-      ,   Gentoo    . ,      ,     -   ,    , ,   ,     .

, ,     -    .   -  ,   200  (   ).     Live CD -     Linux-,   -.       ,    .

        .        -     (*.tar.bz2),  (  )   .    ( stage1-*,   10 )    (i86, PowerPC, Sparc  ..).    (stage2-*  stage3-*,  50  80 , ),  ,  PC-    ,    :  i486  Pentium-4 (  Athlon). ,     ,   .

,   -      -     portage-200XXXXX.tar.bz2,    ~/gentoo/snapshots (         ).   ,         (       ),      .

 ,                  -       .      :     Gentoo         ~/gentoo/distfiles ( ~/gentoo/gentoo-sources,   ).     , ,    ,    .

       -      ,      .    ""    :  CD (   , ,   )  Zip (   -  250- ,       ).            -   (  )  .           -  stage2-*, stage3-*  portage-* - ,  -    .

  ,             Gentoo (,      - ,   ). ,   ,      -  .     .

      ,   ,    -       .           , , src -   , .
    

   Linux-    .  Gentoo  -  :       ,     ,   Reset,     Setup BIOS    ,          (,         -  dmesg.

        (login),       root,     -       Enter.       -      .

   .      Gentoo,       -   - ,                  .   (    )    .

    . -,    -  ,  ,   .  - (     ),   Gentoo -   ,    Live CD.   -    Linux-        (       ).         -    Linux,    bash  6   (        ,     -   root  ).     -   CD Linux-      ,      (    ).

       -    .    :
   - SCSI-,  IDE-RAID, Zip- (atapi-floppy,   Linux), , ,          ;
 :  ,              FATxx -    (native)   Linux,  XFS,    );
  -  ,      , ;
 ppp -          .

  ,      ( ,  )           ,   
$ modprobe _

      , 
$ insmod _

     (    )     /lib/modules/2.6.XX.X/kernel/ -         .

  -    (  ).      IP-,   DHCP- (       ),    , 
$ dhcpcd eth0

    .   IP-   ,        (        ).

           .     /mnt     , ,
$ mkdir /mnt/zip

 Zip-, 
$ mkdir /mnt/cd2

  CD (   CD - /mnt/cdrom, -   ,       ).     .  zip- " "    :
$ mount /dev/hdd4 -t msdos /mnt/zip

,     ,  ,    -  /dev/hdd4:     zip-  ,  ,  .    :      devfs   Gentoo, zip-         -        .

      CD   . ,              (    , ,  ).

    ,  -             -       ,    :
$ lynx /mnt/mount_point/build.html

          -     ,    ,    ,  ,        -   Gentoo ,     -   ,    .   ,        (  , ,  FreeBSD) -    , ,  ,      .

        wvdial,   Live CD (  /usr/bin).     ppp (, ppp_generic,   , ppp_async),  
$ wvdialconf /etc/wvdial.conf

   ,    ,       ,      ,    .      ,  :

[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem

     ,   .    - ,     ,  ,   :

Dial Command = ATDP

  -  :  

Phone = 

    

Username = 
Password = 

, ,    /etc/hostname   

localhost

   /etc/resolv.conf:   nameserver    IP- DNS- .         

$ wvdial

          -     .

 :         (  ,     )?     Gentoo     nano -      ,         .        
$ nano -w _

  -w     -    ,  ,  .        ,      :

$ alias nano='nano -w'

,   ,      bash.
 -  

     -    ,         Live CD.      -        .         ,    ( , #11, 2002)         .

        - fdisk, cfdisk, parted,     Live CD.         : mkefs  ext2fs, mkfs.xfs -  XFS, mkswap -   ,   .         (   IDE-)   . 1.

 1.       Gentoo

       	            	    	                          		
	100 	                            ext2fs  ext3fs	/dev/hda1
 	128 =<2*RAM=<2 	Linux swap		/dev/hda2
 	1,5                        XFS, ext3       	/dev/hda3


,   - . , 1,5     -    .           - ,    .     /usr   .  ,   ,         /home -    .         /var  /tmp.

   Gentoo      ,      ,   RAID-      (LVM - Logical Volumes Manager).        .  ,          ( - )  .   LVM             ( ,      ). , ,   Live CD         RAID-   LVM. ,      ,     IDE-RAID,       ( -    ).

  -         (,  -   ).   -   :
$ swapon /dev/hda2

       ,       .

        ,     :
$ mkdir /mnt/gentoo

     :
$ mount /dev/hda3 /mnt/gentoo

      /boot, /usr, /home -      ,     /mnt/gentoo:
$ mkdir /mnt/gentoo{/boot,/usr,/home}

     :
$ mount /dev/hda1 /mnt/gentoo/boot

  .   
$ cd /mnt/gentoo/

     Gentoo       .    ,    CD:
$ tar -xvjpf /mnt/cdrom/nocompress/stage1-x86-*.tar.bz2

        -p   :         ,   .          /mnt/gentoo (/mnt/gentoo/etc, /mnt/gentoo/proc  ..)      ,    ,     ftp- wget.  ,          -       .  ,     ,      , stage2*  stage3*.

    ,    ,        ,     , :
$ tar -xvjpf /mnt/zip/stage2*.tar.bz2

  .       /mnt/gentoo     ,   ,    base Linux. , ,    ,    /mnt/gentoo .
  -    

        -           . ,   , ,  -          .

 ,     ,      -       :
$ cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
$ cp /etc/hostname /mnt/gentoo/etc/hostname
$ cp /etc/wvdial.conf /mnt/gentoo/etc/wvdial.conf

      Linux -             .        (,    ,        ):
$ mount -o bind /proc /mnt/gentoo/proc

  ,         ,           (    ).  ,    (      Live CD   ),   -      :
$ mount /dev/hdd4 /mnt/gentoo/mnt

      ,    . ,           -     .  ,         - ,   ,      .   ,   , .

    ,    /mnt/gentoo/usr (     ).      ,   ,       :
$ tar -xvjpf /mnt/zip/portage*.tar.bz2

      -     ,      .     -     /mnt/gentoo/usr/portage  distfiles         :
$ cp /mnt/zip/src/* /mnt/gentoo/usr/portage/distfiles

    ,      ,      (       ).      -        .

      -   . , 
$ chroot /mnt/gentoo /bin/bash

  /mnt/gentoo ,       (   ).      
$ env-update

    
Regenerating /etc/ld.so.cache...

       :
$ source /etc/profile

,  -   Gentoo Linux,     ,       ,   Live CD.          ( /usr/portage)     ,    / -    ,  /mnt/gentoo.
  -  Gentoo

,        Gentoo Linux ( ,   ).   -     -          (    )       , ,    , -   .

      : )       , )    /usr/portage/distfiles (    - /mnt/gentoo)     ,  )  -    (  ).   ,    ,   -           (    /usr/portage/distfiles)  .

    ?   ,  ,       (,     FreeBSD,    make world)    .   -  apt-get,     ,      .   ,    -   .

         /etc/make.conf.     nano (    -w,       -  )   .

,         -  USE.   -      .  ,    --enable/disable  --with/without  ./configure,        . ,     ( ,  
USE="gpm"

            (, ,     ).   
USE="-gpm"

     (   -   ,     ).

      USE     /usr/portage/profiles/default-x86-XX/make.defaults.   (  )         - use-howto.html.       ? ? -       ...

   /etc/make.conf -
CHOST='i686-pc-linux-gnu'

    ,     .  ,  ,        . ,      -          Pentium-...

   ,
CFLAGS="*"

 .      ,       .        -    ,   , .  ,   -O3 (      )     ,    -mcpu=*  -march=* ,      .    -  ,  ,    -mcpu=i686,      Pentium Pro   (    ,  P-II,  P-III,   P-4   ),      Pentium-100,    -march=athlon-xp    ,   -    Athlon'       .

 
CXXFLAGS=

 -   ,    ,   ++.      ,   CFLAGS=
CXXFLAGS="${CFLAGS}"

     example-.       ( , ftp-  ).      -   ,      wget,   .

  ,   .    
$ cd /usr/portage

  
$ scripts/bootstrap.sh

    binutils, gcc, gettext  glibc (      ),    glibc -  binutils, gcc  gettext. ,  ,   ...      -         -.

     ,     -       base Linux    .    
$ emerge -p system

  , ,   -     /usr/portage/distfiles,      
$ emerge system

               -     _  - .   ,      , -  :      (       Live-  CD)       wvdial (           Live-),     . ,  ,    -  Gentoo'     ,       .     ,   ,   emerge system     -     distfiles   Gentoo,    ,  :-)
 :   

        ,   -   :  .   - ,         Linux,   user-.    Source Based          .

Gentoo -    .      ,        ,        .  ,     -  ,         ,          .

  ,      .    ,     stage2-3    .  ?

    -  :     .    /usr/portage,    sys-kernel -        :        Sparc, PPC, Alpha,       . ,      ,     ,  ,      .

,  ,      -   (   vanilla-sources)  ,      .  -  , gentoo-sources,  -      ).   ac-sources -    ,           .

    : usermode-sources -    Linux  Linux,  ..   (   ); openmosix-sources -     (openMosix)  ,  ...

      -   .   -  
$ emerge sys-kernel/name-sources

  ,          ,  -     -  ,   /usr/src/linux  .

     ,        - ,   .    .   -    ,  ,    :      - Gentoo-    (            -       ).   :    ,          (   lynx -       ),  ( , , )    .       .

   ,      :    ,    V90,     .  wget       -       .

,      ,  .    ,   -  (,  ).  :         /usr/src,      ,  -  ,   .       .  -     ,          (     /var/db/pkg),       -    (   -  ,    -       ).

     -     .         -     (       ).

  ,  ,    ,        /usr/src/linux ( /usr/src/linux-_-_,  , -      ).   
$ make menuconfig

     .        make config -      .

      -    .    .    -     :     Linux     (      ).           (procfs),     (Virtual Memory Filesystem)     (devfs). ,  ,   ,       (, XFS  ext3fs -   ext2fs, ,     ).       -  ,      .

  ,     (   )    :
$ make dep
$ make clean
$ make bzImage
$ make modules
$ make modules_install

,   ,    ,   ; (, , &&).      ,  :
$ make dep && make clean bzImage modules modules_install

         
$ cp /usr/src/linux/arch/i386/boot/bzImage /boot

     .    ,      -    . ,      ,    , , 
$ emerge sys-apps/xfsprogs

        XFS. ,     xfsprogs     distfiles.

        ,       ,    ,   -   :
$ emerge sys-libs/gpm

   .             PS/2,    :
$ gpm -t imps2 -m /dev/psaux

               ,   .
:  

    .        ,   .     -   :  Source Based      (   make      ).  :   
$ ln -sf /usr/share/zoneinfo/path/timezonefile /etc/localtime

 ,    path/timezonefile         Europe/Kaliningrad  Asia/Kamchatka (     -   - ,  ,   - ).     BIOS      ,       /etc/rc.conf.

     . ? -  ,       /etc/fstab.  :
$ nano -w /etc/fstab

 ,   ,  :
/dev/BOOT		/boot		ext2		noauto,noatime	1 1
/dev/ROOT		/		xfs		noatime		0 0
/dev/SWAP		none	      	swap		sw		0 0
/dev/cdroms/cdrom0	/mnt/cdrom	iso9660		noauto,ro	0 0
proc			/proc		proc		defaults	0 0

#tmpfs		/dev/shm	tmpfs		defaults	0 0

    ,        ,  : /dev/hda1, /dev/hda3, /dev/hda2. ,    , /dev/discs/disc0/part1  ..,       #tmpfs.    -    -           mount   ,        .     (     )     /etc/fstab.      (  FAT-, -, zip-    )    .

    -   /dev/BOOT     noauto,         .       GRUB -    Gentoo     .  ,     .     grub       :
grub> root (hd0,0)
grub> setup (hd0)

     :
grub> quit

       ,  ,         /boot.         -  ,      .       , ,    ,         /boot -     .

  GRUB .          :
$ nano -w /boot/grub/menu.lst

     .     GRUB  :
default 0
timeout [__]
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

   ,   ,            .   -      .   -    (    ).  -    .

     Gentoo.
title=My Love Gentoo Linux
root (hd0,0)
kernel /boot/_ root=/dev/hda3

  -    .    ,     .      GRUB,     Linux:   ,  GRUB        ,    .       Linux,         Unix' (,  FreeBSD  OpenBSD).

      ,  ,  ,         .     ,         /boot/bzImage,      /boot  .     ,  kernel,    ,     /boot/linux.             Linux -     ,   ,   /dev/hda?.

  ,       GRUB  ,       (    )   /boot/grub/menu.lst        .
   -  

       .         . ,   (  -   )         DMA -     .       /etc/conf.d/local.start.        (     )  
hdparm -d 1 /dev/hda

     -     .  ,  ,          :
gpm -t imps2 -m /dev/psaux

   .       , Gentoo -   (      ).            ,   .       .

     /etc/rc.conf.       Linux.   ,   Gentoo       BSD (    System V,      Linux,   Slackware   ). ,       -     .   -  : ,        ,        /etc/rc.conf.     ,   .

     
$ nano -w /etc/rc.conf

    
KEYMAP="us"

      - ,     .   -   -     
$ ls /usr/share/keymaps/i386/qwerty/ru*

       :
/usr/share/keymaps/i386/qwerty/ru1.map.gz
/usr/share/keymaps/i386/qwerty/ru2.map.gz
/usr/share/keymaps/i386/qwerty/ru3.map.gz
/usr/share/keymaps/i386/qwerty/ru4.map.gz
/usr/share/keymaps/i386/qwerty/ru-cp1251.map.gz
/usr/share/keymaps/i386/qwerty/ru.map.gz
/usr/share/keymaps/i386/qwerty/ru-ms.map.gz
/usr/share/keymaps/i386/qwerty/ru_win.map.gz
/usr/share/keymaps/i386/qwerty/ru-yawerty.map.gz

 ,           (   ,     Live CD,  ,     ). , ,   (   , ),     ru4:     KOI8-R  Windows-  (      Windows- - ,    ,   )         CapsLock.   
KEYMAP="ru4"

    ,     - CONSOLEFONT. ,         .  -    ,    ,   /usr/share/consolefonts.   ,       alt-*.psf.gz  cp866-*.psf.gz.  ,    ()  -         CP866 (  - ,  DOS  IBM).   -       KOI8-R  ,    ( koi8r-*.gz), ?   ,  :  , .

  ""   ,           ,   .             console-tools-cyrillic -     ,    - -   .    , ,
CONSOLEFONT="cp866-8x16"

   :   ,   KOI8,     - CP866. ,          .        -   /usr/share/consoletrans   koi2alt.      
CONSOLETRASLATION="koi2alt"

       .   ,          , ,    (  -  ) -     .  ,     /etc/rc.conf, ,           (  -         ) -  ,     - /etc/localtime.   ,  
CLOCK="UTC"

  , ,      (UTC=GMT).  UTC  localtime -   /etc/rc.conf   (      ,         ).

          .   /etc/init.d/local:    ,        (      ).         (     )   ( ):
for i in 1 2 3 4 5 6
	do
	echo -ne '' > /dev/vc/$i
done

       i (     )     1  6 (       ),  - ,      .    -  " " ESC-(K (      )      ,     i,   /dev/vc/1 - /dev/vc6.  -      (devfs),    (       tmpfs   /etc/fstab)     - /dev/tty0 - /dev/tty5.

   ( )  CP1251.        .      /etc/fstab     (,   , )    CP1251->CP866.      ( -    )        - Altlinux  ASPLinux.

    -            DOS.    :    VGA- (         VGA,    GeForce    )         .  ,   ,    ,   , .       ,        .     Midnight Commander -         !

    .          /etc/init.d/local (  , !):
export  LANG="ru_RU.KOI8-R"

    -  (  , ,  ,    , ,  ,   )  ,     .   ,       ,  
export  LC_NUMERIC="POSIX"

   ,   ,     ,    ( ,       ).

 ,    ,      -    ,   ,      ( -  )    - Altlinux  ASPLinux.              ,       . , "" ,     -      .   " " ( Gentoo)      .

, ,       etc-update,    (, ).      -  ,    ,    .      -  .

,      Gentoo  exit,       Live CD,       ,   (      )    .

 - .        .   -   ,  unmount:
$ umount /mnt/gentoo/boot
$ umount /mnt/gentoo

    ,   - reboot ( halt,     -              ).

     (  -  -     ),     :      Live CD (,    ,   ,       ):
$ cp /cdroot/boot/linux /mnt/gentoo/boot/

,       ,   .    ,     CD:
cp -R /cdroot/lib/modules /mnt/gentoo/lib/modules

  -   ,   . ,       -   , ,    -      .        .   ,   ,        -    -      .
 

  ,    ,      :      ,     ,     .   .

  -  ,      ,   ,   .     -        ,         -  -    .       (   )     CD   .         ,      (,       ).

  -     ,         ,       . : -  ,  -   ,     ,     (  ,   ). Gentoo      ,    ,             .  -   ,    ,    .

      .  Gentoo  ,   ,         - , , GIS  CAD. ,              . ,         ,     .  Linux,     ,    .  , ,      -     ...



    Gentoo Linux x86
  : http://www.gentoo.org/doc/ru/gentoo-x86-quickinstall.xml
C : 1.0
 

 -     . ISO-   : releases/<>/<>/-.         ;          . 
 -,    .     F2,  ,    .     PCMCIA,        pcmcia. 
     sshd,   ,  irssi ( -)   -   lynx  links2. 

 

     ,      net-setup.             modprobe.    ADSL,  adsl-setup  adsl-start.   PPTP,   /etc/ppp/chap-secrets  /etc/ppp/options.pptp,    pptp <ip >. 
        iwconfig,     net-setup,    ifconfig, dhcpcd / route. 
    -,       export http_proxy, ftp_proxy  RSYNC_PROXY. 
 

    fdisk  cfdisk.       ( 82)    Linux ( 83). 
      Linux-  mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs mkfs.jfs.      mkswap  swapon. 
      /mnt/gentoo.       (, /mnt/gentoo/boot),    . 

 

 ,     date MMDDhhmmYYYY.                ( /mnt/cdrom/stages).   /mnt/gentoo     tar -xvjpf < >. 
       :   /mnt/gentoo/usr   tar -xvjf /mnt/cdrom/snapshots/< >.            . 
   ,     /mnt/cdrom/distfiles/  /mnt/gentoo/usr/portage/distfiles/. 
 /mnt/gentoo/etc/make.conf    ( USE, CFLAGS  CXXFLAGS).      nano. 

   Gentoo

    /proc,   /etc/resolv.conf  ,      (chroot)    Gentoo. 

 1.1:     
# mount -t proc none /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile


     ,  emerge --sync    . 
 ,  /etc/make.profile    .       ;      (, 2.4/  ,    2.4).    ln -sfn. 
  (    )   scripts/bootstrap.sh   /usr/portage. 
  (    )   emerge -e system ( -N,      CFLAGS/CXXFLAGS  ). 

 

     ,    /etc/localtime       /usr/share/zoneinfo  ln -sf. 
    (     gentoo-sources  vanilla-sources)      make menuconfig,  make && make modules_install   /usr/src/linux.   arch/i386/boot/bzImage  /boot,  .    emerge genkernel  genkernel all. 
,  Genkernel,   emerge coldplug  rc-update add coldplug default. 

 

  /etc/fstab;   . 
 1.2:   fstab
/dev/hda1     /boot        ext2    defaults,noatime    		 1 2
/dev/hda2    none         swap    sw                   			 0 0
/dev/hda3    /                 ext3    noatime              		 0 1
none            /proc         proc    defaults             		 0 0
none           /dev/shm   tmpfs   nodev,nosuid,noexec  	 0 0
/dev/cdroms/cdrom0   /mnt/cdrom    auto      noauto,user       0 0


     /etc/conf.d/hostname  /etc/conf.d/domainname,  rc-update add domainname default,   /etc/conf.d/net.    net.eth0      (default run level).       (NIC),         net.eth0,         . 

 /etc/hosts;   : 

 1.3:   /etc/hosts
(  IP-)
127.0.0.1     localhost
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny
192.168.0.7   tux.homenetwork tux
(  IP-)
127.0.0.1     localhost.homenetwork tux localhost
   (emerge) pcmcia-cs        . 
  root   passwd. 
    : /etc/rc.conf, /etc/conf.d/rc, /etc/conf.d/keymaps, /etc/conf.d/clock. 

  

  2.4   emerge --unmerge udev  emerge devfsd. 
  ,  syslog-ng,        .       cron, , vixie-cron ( ). 
      (xfsprogs, reiserfsprogs  jfsutils),     (dhcpcd  rp-pppoe). 

 

 (emerge) grub  lilo.  /boot/grub/grub.conf  /etc/lilo.conf, .    . 
grub
 1.4:  grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
#   genkernel
title=Gentoo Linux 2.6.11-r3
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.11-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /initramfs-genkernel-x86-2.6.11-gentoo-r3
#    ( initrd)
title=Gentoo Linux 2.6.11 r3
root (hd0,0)
kernel /kernel-2.6.11-gentoo-r3 root=/dev/hda3
#      
title=Windows XP
root (hd0,5)
makeactive
chainloader +1
lilo

 1.5:   lilo.conf
boot=/dev/hda
prompt
timeout=50
default=gentoo

#  ,   genkernel
image=/boot/kernel-2.6.11-gentoo-r3
  label=gentoo
  read-only
  root=/dev/hda3

#   genkernel
image=/boot/kernel-genkernel-x86-2.6.11-gentoo-r3
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-x86-2.6.11-gentoo-r3
#   
other=/dev/hda6
  label=windows

 GRUB   GRUB     (MBR)  grub-install /dev/hda   /proc/mounts  /etc/mtab.  LILO   /sbin/lilo. 
   ,      . 
 

  root,           useradd -m -G <> < >. 
     ,  -    /mnt/cdrom   export PKGDIR="/mnt/cdrom",       , , kde,  emerge -k < >.  . 

   Gentoo!

    Gentoo Linux
  :  http://www.gentoo.org/doc/ru/altinstall.xml
 : 1.0

1.   

        boot-from-CD (    ),  .       Gentoo Linux  ,    . ,  ,     ""  .      ,      ,  ,    Bugzilla. 

2.       Smart BootManager

 Smart BootManager  http://btmgr.sourceforge.net/download.html.   ,     Linux,      .exe    . -,   ,   ,        NASM. 

     .       ,     . 



 2.1:  Smart BootManager
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]

   -t         ,    :
                   us = English        de = German  
                   hu = Hungarian      zh = Chinese  
                   ru = Russian        cz = Czech 
                   es = Spanish        fr = French  
                   pt = Portuguese  

                 
   -d        ,     Smart BootManager;
                  Linux:
                   /dev/fd0  floppy-, 
                   /dev/hda  IDE-.
                   /dev/sda  SCSI-.
                  DOS:
                    0    floppy-
                    128   ;

   -c              CD-ROM;

   -b backup_file  (  ) ,  
                  ;

   -u backup_file  Smart BootManager,  
                    ;

   -y                .


 2.2:  sbminst    
# sbminst -t us  -d /dev/fd0

:  fd0    floppy- (     -). 


      ,       ,    . 

  Smart BootManager.  CD-ROM   ENTER    .    ,    . 

   Smart BootManager    http://btmgr.sourceforge.net/ 

3.    Knoppix
: Knoppix     x86. 


  Knoppix LiveCD,        Gentoo.    Tux Racer   ,       OpenOffice. 
: ,    -     Knoppix,     Gentoo,       Gentoo. ,           ! 

  Knoppix CD.    Knoppix 3.6-3.8.2,   knoppix26    ,    2.6.     ,   chroot     ,     . ,    Knoppix 3.9+,    ,    2.6   . 

       KDE.     su -,     .      root  Knoppix. ,  ,   sshd     . 

 3.1:    /mnt/gentoo
# mkdir /mnt/gentoo


       ,    4.   /proc.     -: 

 3.2:    - proc
# mount -o bind /proc /mnt/gentoo/proc


 ,    (FEATURES)      knoppix.     userpriv  usersandbox.   ,    ,        . 

4.   Stage 1    

  -  iso-. 

  snapshot   http://distro.ibiblio.org/pub/linux/distributions/gentoo/snapshots/ (   ).   tarball     ,    ,     CD. 

   Gentoo Install Doc   chroot /mnt/gentoo   6.         CD-ROM,       docache      -   CD  snapshot- . 

   (Alt-F2),      ,         bootstrap.sh. 
:     -     passwd      . 

    (Alt-F1, without chroot)    CD  /mnt/gentoo/mnt/cdrom2.  portage tarball  cdrom2    /mnt/gentoo/usr. 

 4.1:  snapshot cd
# umount /mnt/cdrom
# mkdir /mnt/gentoo/mnt/cdrom2
# mount /dev/cdroms/cdrom0 /mnt/gentoo/mnt/cdrom2
# cp /mnt/gentoo/mnt/cdrom2/portage-$date.tar.bz2 /mnt/gentoo/usr
# cd /mnt/gentoo/usr
# tar -xvjpf portage-$date.tar.bz2


    .     bootstrap.sh,   ,         .            /usr/portage/distfiles (  F2). 

    Stage1: glibc, baselayout, texinfo, gettext, zlib, binutils, gcc, ncurses   . 
:  ,     ,     . 


 4.2:    

(  2  >)
# emerge -fp glibc baselayout texinfo gettext zlib binutils gcc ncurses 2> stage1.list
# mount -t vfat /dev/fd0 /mnt/floppy
# cp /mnt/gentoo/stage1.list /mnt/floppy
# umount /mnt/floppy


      .     stage1.list,  ,         .  ,    ,   .      : 

 4.3: Stripping URLs
(      emerge,   
    -   !)
# cut -f 1 -d ' ' stage1.list > stage1.download


  wget    : 

 4.4:     wget
# wget -N -i stage1.download


  ,       /mnt/gentoo/usr/portage/distfiles.     bootstrap.sh.      wget  stage2  3. 

5.      PXE

 

     ,      PXE (  3com). BIOS      . 

   

 : -,   ,       .   /diskless,           .       'eta'. 

 5.1:  
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot


 DHCP  TFTP:    ,  DHCP,       TFTP.  DHCP  emerge      .    /etc/dhcp/dhcpd.conf: 
:    IP        PXE,  pxegrub.     MAC-        ,     . 


 DHCPd,  emerge dhcp (    DHCP   ). ,   /etc/conf.d/dhcp   . 

 5.2: dhcp.conf
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}


  TFTP,  app-admin/tftp-hpa.    /etc/conf.d/in.tftpd: 

 5.3: in.tftpd
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"


 GRUB:   GRUB  PXE-.     PXE,     GRUB ...   . -,      GRUB (emerge -f grub  tarball  /usr/portage/distfiles).  tarball  /diskless   GRUB,     pxe .     boot-  .    grub.lst: 



 5.4:  grub
# tar zxvf grub-0.92.tar.gz
# cd grub-0.92
# ./configure --help
(        .)
( ,    .     $nic)
# ./configure --enable-diskless --enable-$nic
# make
# cd stage2
# cp pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst


 5.5: grub.lst
default 0
timeout 30

title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta

(  nfsroot  IP      ,)
(        .)


 NFS: NFS  .     -        /etc/exports: 

 5.6: /etc/exports
# nano -w /etc/exports
# /etc/exports: NFS file systems being exported.  See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)


 hosts:     -   /etc/hosts. 


 5.7: /etc/hosts
127.0.0.1 localhost

192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma


   

        Gentoo,       ,  ,      Gentoo   .    ,    Gentoo Install Howto,     :       ( hdaX - ,     /diskless).      ,       /diskless/eta. 

 5.8:   
# mount /dev/hdaX /mnt/gentoo


Stage tarballs  chroot:    tarball stage3.  /proc       chroot  ()   .  -      . 
:      stage tarball.      . 


 5.9:  stage tarball
# cd /mnt/gentoo/diskless/eta/
# tar -xvjpf  /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta/ /bin/bash
# env-update
# source /etc/profile


 :   make menuconfig    ,       (     ): 

 5.10:  menuconfig
- Your network card device support
( , **  !)

- Under "Networking options" :

[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support


- Under "File systems --> Network File Systems" :

<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS


   /    (  /boot),     pxegrub,  .   /etc/fstab   . 

 5.11: /etc/fstab
# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0


         : 

 5.12:       
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start


 nfs-utils,         : 

 5.13:  nfs-utils
# emerge nfs-utils


.    ,        - pxegrub.      .  ,     : DHCP, TFTPD  NFS. 

 5.14:  
# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start


  

  ,   bios      PXE     -  CD-ROM  floppy.        website .     IP   DHCP   PXE- GRUB   TFTP.     -  GRUB,       ,   Enter,   .    ,     ,  NFS,         .   . 

6.  Gentoo   Linux-

 

  Gentoo    Linux      chroot,     tarball- Gentoo,   ISO-.     ,      ,     tarball-. ( , tarball -   ,   .tbz  .tar.gz).  (.)  RedHat Linux 7.3  "" ,      . , ! 




     Gentoo,     Linux,  ,  tarball, chroot   -,   .      ,   ,      ,    Gentoo. 

    Gentoo?

  -   ,   /.   mount ,     .     df (disk free),  ,      .   -      root !       ,       ,       . 

 6.1:    
# mount
/dev/hdb2 on / type ext3 (rw) 
none on /proc type proc (rw) 
none on /dev/pts type devpts (rw,gid=5,mode=620) 
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
# df -h 
Filesystem           Size Used Avail Use% Mounted on 
/dev/hdb2            4.0G 1.9G  2.4G  82% /
none                 38M    0   38M   0% /dev/shm 


 , ,   /,   /dev/hdb2      2.4 .   , , 400      , ,  Gentoo  2 .  , ,       . ! 

 parted   

Parted - ,  GNU foundation, , ,  ,         .   ,    .   parted, partition editor,     http://www.gnu.org/software/parted/ 
: ,        ,    / ,   PartitionMagic(tm)      ,   .  -   . 

     parted,       ,     ,  ,   parted  .  ,  ,   .   -    -,     Gentoo. ,  , .  .      ,        linux-     parted   /.        ,   Linux,       ,   .   parted     ,   .   ,      . 
: ,  ,      ,  parted! 

 /  mininux ( - Linux c  2.4  )  http://mininux.free.fr/uk/,  ,     ,            . 
:  ,  Linux -   "   ".   -  parted             .       boot/root ,   mininux.       , ,   -   ,      Gentoo,   ,  parted. 

 6.2:   
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912


   parted.        ,  .     ,    .              . 

 6.3:   
#  mkdir /floppy; mount -t minix /dev/fd0 /floppy && 
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure 
&& make && cp parted/parted /floppy && umount /floppy 



,       .           parted  GNU website.   -         .    mininux,        ,     .  mount /dev/fd0 /floppy  parted     /floppy.  .  parted      .      ,     ,    ,  Gentoo. ,     -  ,    ,    .  ,     /dev/hda3,  , ,   /dev/hda. 

 6.4: ,   ,   mininux
# mount /dev/fd0 /floppy 
# cd /floppy; ./parted [,    ]
(parted)  print 
Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   2953.125  primary   ntfs        
3       2953.125   3133.265  primary   linux-swap  
2       3133.266   5633.085  primary   ext3        
4       5633.086   9787.148  extended              
5       5633.117   6633.210  logical               
6       6633.242   9787.148  logical   ext3        
(parted)  help resize 
  resize MINOR START END        resize filesystem on partition MINOR

        MINOR is the partition number used by Linux.  On msdos disk labels, the
        primary partitions number from 1-4, and logical partitions are 5
        onwards.
        START and END are in megabytes
(parted)  resize 2 3133.266 4000.000 

:  !  !        (  ),  ,   .     2  30 . 


  ,     linux-.       Gentoo:     .   chroot,       : 

 6.5:    chroot
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile


!


    Gentoo/x86
  : http://www.gentoo.org/doc/ru/gentoo-x86-tipsntricks.xml
 : 1.0

1. 

 

        Gentoo/x86.       ,        ,    . 

2.  

 RAID
:       RAID, ,  Software-RAID-HOWTO (.). 

:            RAID  LVM2  x86 (.). 

    CD,    RAID. ,     RAID-1: 

 2.1:   RAID-1
# modprobe raid1


  , ,     fd (Linux raid autodetect),   83 (Linux native).    ,   t  fdisk. 

,     RAID,     : 

 2.2:   
# mkno
# mknod /dev/md2 b 9 2
# mknod /dev/md3 b 9 3d /dev/md1 b 9 1


   ,   /etc/mdadm.conf (,  ,    CD),   mdadm,    RAID. ,   (RAID-1)  boot, swap  root,  /dev/sda  /dev/sdb,  : 

 2.3:   raid  mdadm
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
# mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3

:          (striping),   RAID-0 or RAID-5. 


 Linux Software RAID   .       /proc/mdstat.   ,     .. 

 2.4:     
# mdadm --detail --scan > /etc/mdadm.conf

    /dev/md1   , /dev/md2     /dev/md3   . 

    (chroot),    /etc/mdadm.conf  /mnt/gentoo/etc. 

  ,     RAID   ,   . 

   ,   mdadm. ,        CD,         Gentoo   raid. 

        MBR  ,   . 

ATA RAID c  2.4

,      CD   doataraid.  ,   /dev/ataraid.      disc*    ,   ATA RAID.     disc,     part*. 

    /dev/ataraid/disc*/*,     Gentoo.         /dev/hda,   . 

  ,   /dev   : 

 2.5:  /dev
# mount -o bind /dev /mnt/gentoo/dev


        ATA RAID    . ,    ATA RAID Promise FastTrack built-in RAID     Promise FastTrack Options. 

  GRUB      GRUB.    ,  .   GRUB  ,    ,   GRUB   MBR,   : 


 2.6:    GRUB
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1


     grub.conf.       ,  ,   root=     ATA RAID. 

  ,      GRUB.       GRUB.   GRUB     ATA RAID: 

 2.7:  GRUB  ATA RAID
grub> root (hd0,x)
grub> setup (hd0)
grub> quit


  (   GRUB  ). 

 LILO       . 

    CD

      ,      -      .     Gentoo    ,      (Alt-F2)      ROOT,  ,      (passwd root). 

      : 

 2.8:     CD
(${KN}   ,   -  'gentoo'  'smp')
cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.gz /mnt/gentoo/boot
cdimage ~# mkdir -p /mnt/gentoo/lib/modules
cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules


  ,    hotplug (emerge hotplug)      .      (  CD)    ,         (chroot): 

 2.9:       modules.conf
# cat /proc/modules | cut -d ' ' -f 1 >> \
  /etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`
# modules-update




3.  

    

     ,   .    ,     ,        .          ,    . 

   .    screen.    LiveCD,    root    screen: 
: screen     LiveCD.     ,      ,    . 


 3.1:   screen
# screen -S gentoo


  screen     .    ,  Ctrl-a, d (  control  a ,  d),     screen.       . 

    ,    root      screen: 

 3.2:    screen
# screen -x gentoo


     screen,      .    ,    ,      (,    ./scripts/bootstrap.sh),   nohup,    ,    .      "&",        ! ,      ( pwd  ),      . 





 3.3:  nohup
# pwd
/usr/portage
# nohup ./scripts/bootstrap.sh &


      (exit)     CD.     . 

  ,   root (  CD)   chroot    ,     : 



 3.4: Chroot 
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/portage


   less   nohup.out,   .       ,         less nohup.out   F,     .   ,        . 

     ,  Ctrl-C,  q.     less,    . 

4.  /

  

  ,          (   ..),    -c       ext2  ext3 ( mke2fs).     ,     .    ,   -c -c,      /. 

 4.1:   
# mke2fs -j -c /dev/hda3


  

  -    Gentoo  ,           .       ,   ,   ,  ( ,   ,    ),    . 

 ,        Gentoo Linux  chroot.   ,     ,         .  ,        /mnt/gentoo.    ,        make.conf        ,   ? 

     Gentoo Linux,    , ,   ,    -.    ,   ,   ,    -   . 

,   ,    grub.conf,     ,   /boot/grub/grub.conf. 

     , ,  ,  ,      .       ,   . 

: 
   make.conf,      ,       make.conf 
 /boot/grub/grub.conf,         ,         grub.conf 
  ,    ,           (,     /boot!),          
 /etc/fstab,         

 ,        .        .






















  Gentoo Linux x86

  : http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml
 : 1.0

:

 Gentoo
    ,   Gentoo   . 

  Gentoo Linux
         . 


    
Gentoo   -.  ,   Gentoo    .         . 

 
    ,   .     . 

 
  Gentoo,     .    ,      . 

   Gentoo
 Gentoo       (stage3).     ,        Portage. 

   Gentoo
            Gentoo.  ,   . 

 
 Linux    .    ,   . 

  
      .           ,    . 

   
  , Gentoo    .            . 

  
  x86   .     -.                . 

  Gentoo
  .    ( )      .   ,    . 

  ?
      Gentoo.     ? 

  Gentoo
     Gentoo:   ,   ,   Portage  .. 

  Portage
     ,             . 

USE-
USE- ( )     Gentoo.   ,       ,  USE-   . 

 Portage

     Portage:   ,    . 

 
 Gentoo      (initscript),  , ,  ,  ,   .    ,  ,    . 

 
 Gentoo       .    ,   ,     .
 
  Portage
     Portage,     Gentoo.
 
  
    Portage,   ,       . 

   
Portage      ,         . 

   
    Gentoo           .    ,    ,        . 

  Portage
  Portage    ,        Gentoo.       dispatch-conf   . 

   
         Portage,   ,     ,     .. 

 ebuild
     ,  Portage    ,         ebuild. 


   Gentoo
     Gentoo.

 
           . 

 
  ,            . 

  
 Gentoo    :       DHCP,  ,  ,   (VLAN)  .. 

 
     . ,      . 

 
   ,       . 
 
    ,        . 

A.  Gentoo









A.   Gentoo
1.   Gentoo Linux

1.a. 

 !

 ,    Gentoo!          ! Gentoo     .   Gentoo      :      ,   Gentoo,     .. 

Gentoo    ,     . Gentoo     ,     ,   . Portage,    Gentoo,    Python,         .  Gentoo      (     ),   Gentoo      .       ! 

 ,  Gentoo     .      .       ,     . 

  ?

 Gentoo     10 ,    211.      : 
  1:     ,    Gentoo; 
  2:        Gentoo; 
  3:         Gentoo;
  4:   ,     (chroot)   ; 
  5:   ,     Gentoo; 
  6:     Linux; 
  7:        Gentoo; 
  8:     (      ); 
  9:      ,       Gentoo; 
  10:        Gentoo Linux! 

   ,         ,     .         : .     : .  ,       .   ,      . 

     .     : ,      Gentoo. ,        .     ,    ,       . 

   ?

Gentoo    .        -,    ,   CD (, Knoppix),    ,      .. 

        Gentoo, ,   ,     (netboot). ,        .    ,      ,     Gentoo 2006.1 (.),        . 

    GRP (Gentoo Reference Platform    Gentoo,   ,        Gentoo),    ,     Gentoo 2006.1 (.). 

      ,     .        Gentoo.   ,       ,       (.  ), , ,     . 

 ,               ,   Gentoo  . ,    ,       ,      . 

 ?

       (      ),       (.)  ,      .   ,    ,     .   ,     ()       . 

 , ,  ,    ,   ,      .    ,       Gentoo      (   ,   -   ).   ,       . 

   ,      (-   ,    ),   (-   ,    /),   ,    #gentoo (  #gentoo-amd64, #gentoo-ru, #rugentoo)  irc.freenode.net. ,        :) 

    ,  Gentoo,       (FAQ),     Gentoo.     FAQ (.)   .      ,    #gentoo,  IRC-  irc.freenode.net. -, -    ,   IRC :-) 

2.     

2.a.  



  ,   ,     Gentoo   . 

 :
 	i486  ;
	64 ;
 	1.5  (  );
 	  256 .


2.b.  - Gentoo



 - Gentoo    ,    Gentoo.    Linux   -.         .     Gentoo. 

  -  ,  ,        Gentoo  .        -,     Gentoo        . 

    Gentoo     ,        , ,    ,     Gentoo 2006.0 (.). 

       -: 
   Gentoo,   -  ,      ,         Gentoo. 
   Gentoo,      Gentoo.     ,      , , ,      . 

   ,    ,        . 

   Gentoo

    install-x86-minimal-2006.0.iso    49 . Gentoo             .   :
	
  
+	    
	    stage3,   Portage,    ,         


 (live)   Gentoo

    install-x86-universal-2006.0.iso   697 .       Gentoo      ,  ,     Gentoo               :)    Gentoo:	

  
+	 ,  ;       ; 
	  .


 Stage3

    stage3   ,    Gentoo,     Gentoo    ,     ( :  ()  . 
-    Gentoo             .   ,   Gentoo     stage1  stage2,       stage3.     Gentoo   stage1  stage2, ,       Gentoo,    Gentoo,   Stage1  Stage2? 

 stage3    releases/x86/2007.0/stages/       Gentoo;      . 

2.c. ,       Gentoo

     

,      Gentoo.       ,     -.     ,     ? 

    (       ,  )       .      releases/x86/2007.0/installcd. 

    ISO-.    -,     CD-R. 

  ,     ,      MD5    (, install-x86-minimal-2007.0.iso.DIGESTS).    MD5   md5sum  Linux/Unix,   md5sum (.)  Windows. 

          GnuPG     ,     (    .asc).   ,    : 

 1:   
$ gpg --keyserver subkeys.pgp.net --recv-keys 17072058


  : 

 2:   
$ gpg --verify < > <  >


  ISO-  -    .   ,     .       cdrecord  K3B.        . 
  cdrecord,   cdrecord dev=/dev/hdc < iso-> (/dev/hdc       CD-RW). 
  K3B,  Tools > CD > Burn Image ( > - >  ).    'Image to Burn' ('  ')   ISO-.    Start (). 

   -





:  ,  ,    ,      ,  ,     . 

  -,   .   -    CD,      BIOS.    BIOS,      DEL, F1  ESC.  BIOS    ,    CD-ROM      .       CMOS Setup.     ,      ,  CD-ROM. 

      CD-ROM (-!)  .    .     ENTER,        ,     -:  ,   ,    ENTER. 

 ? ,    -    .    gentoo.       ;  -nofb   . 

    : 
                  	       
gentoo	   2.6    (  	                            		  )
gentoo-nofb	   gentoo,     
memtest86          


    ,      .    ,     F2   . 

 3: ,     

- agpgart       	 agpgart (   , )
- acpi=on       	  ACPI
- ide=nodma        DMA   IDE-
- doscsi               scsi- (   ethernet-)
- dopcmcia           pcmcia  PCMCIA- -
- nofirewire          initrd  firewire ( 
                             -   firewire  ..)
- nokeymap           
- docache             -  , 
                             /mnt/cdrom     
- nodetect           hwsetup/kudzu  hotplug
- nousb                usb  initrd,  hotplug
- nodhcp              dhcp    
                           
- nohotplug         hotplug
- noapic             apic (,    
                             scsi,    ..)
- noevms             EVMS2
- nolvm2              LVM2
- hdx=stroke         ,   BIOS 
                              
- noload=module1,[module2,[...]]
                              


    -,   (       gentoo)    .     ,    gentoo   dopcmcia: 

 4:   
boot: gentoo dopcmcia


     .    Gentoo      ,    ALT+F1,     ,    .       10 ,     ( ),   .            Gentoo Linux   root ().       root (#).      ,  ALT-F2, ALT-F3  ALT-F4.       ALT-F1. 

    . 

  

    -            .          . ,          .  -       PCI,         . 

       8139too (     ): 

 5:   
# modprobe 8139too


    PCMCIA,     pcmcia: 

 6:    PCMCIA
# /etc/init.d/pcmcia start


:    

   , ,        IDE    hdparm.   -tT,      (       ): 

 7:   
# hdparm -tT /dev/hda


         (  ),        /dev/hda: 


 8:    
 DMA:                  
# hdparm -d 1 /dev/hda
  :  
# hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda


:   

         ,      irssi    (  ),         . 

     passwd: 

 9:   
# passwd
New password: (  )
Re-enter password: (    )


        ,    .     useradd  passwd.       john: 

 10:    
# useradd -m -G users john
# passwd john
New password: (    john)
Re-enter password: (     )


         (root)      su: 

 11:   
# su - john


:     

       Gentoo    ( ,     -), ,        (. :   ).   ALT+F2     ,    . 

   c -,     links: 

 12:    -
# links /mnt/cdrom/docs/html/index.html


     Gentoo   (  ,   -).      links,      (      ,   ): 

 13:  ,   
# links http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml


      ALT+F1. 

:   SSH

             Gentoo ( ,            ),      ,  ,      (     ,     ). 

   SSH,   : 

 14:   SSH
# /etc/init.d/sshd start


  sshd,    .     . 
3.  

3.a.    

,   ?

      Ethernet,     DHCP,  ,         .  ,      ,    -, , ssh, scp, ping, irssi, wget  links. 

   ,  /sbin/ifconfig      lo, , eth0: 

 1: /sbin/ifconfig    
# /sbin/ifconfig
(...)
eth0   Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800 




:  -

      -,         .  -  :   ,   . 

         -. , ,  -  proxy.gentoo.org,     8080: 

 2:  -

 ( -   HTTP)
# export http_proxy="http://proxy.gentoo.org:8080"
 ( -   FTP)
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
 ( -   RSYNC)
# export RSYNC_PROXY="proxy.gentoo.org:8080"


 -     ,       : 

 3:  /   -
http://_:@proxy.gentoo.org:8080


 

     DNS-     (    /etc/resolv.conf),    -,  ,      ,   DNS   .. 

 4:   
# ping -c 3 google.com

 ?     ,      .     , ,  ,       . 

3.b.   


    ,        net-setup (    ), pppoe-setup (  ADSL)  pptp (  PPTP;   x86, amd64, alpha, ppc  ppc64). 






          ,     ,     : 

   Ethernet      :  net-setup; 
 ADSL     :  RP-PPPoE; 
 PPTP     :  PPTP; 

 :  net-setup

   ,         net-setup: 

 5:   net-setup
# net-setup eth0


net-setup        .            .   ,    .    ,          Gentoo.          . 

      ,     . 

:  RP-PPPoE

      PPPoE,    ( )  rp-pppoe.      pppoe-setup,   .         ethernet,   adsl-,  , , IP-   DNS.   ,       (firewall). 

 6:  rp-pppoe
# pppoe-setup
# pppoe-start

 -   , ,        ,   /etc/ppp/pap-secrets  /etc/ppp/chap-secrets,  ,   ethernet  .       ,     .            ,   . 

   ,    . 

:  PPTP

:  PPTP     x86. 

    PPTP,   pptpclient,       .      .   /etc/ppp/pap-secrets  /etc/ppp/chap-secrets ,          . 

 7:  /etc/ppp/chap-secrets
# nano -w /etc/ppp/chap-secrets

,  ,   PPTP   /etc/ppp/options.pptp: 

 8:  /etc/ppp/options.pptp
# nano -w /etc/ppp/options.pptp

   ,   pptp ( ,       options.pptp),    : 

 9:     
# pptp <server ip>

    . 

3.c.   

   

              ()    .           . ,             . 

 net-setup  pppoe-setup     , ,      .          . 

 ,       ,  ls: 

 10:   
# ls /lib/modules/`uname -r`/kernel/drivers/net


       ,      modprobe: 

 11:  modprobe    
(    pcnet32)
# modprobe pcnet32


 ,      ,  ifconfig.    ,    : 





 12:     ()
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


,       ,    : 

 13:     ()
# ifconfig eth0
eth0: error fetching interface information: Device not found


       ,    eth0, eth1  .. ,   ,    ,  ,         .  ,     eth0. 

    ,     net-setup  pppoe-setup (   ),   ,    ,  ,    . 

    ,      : 
 DHCP    IP-; 
  ,      ; 
  :   ,       ; 
 ifconfig  route:    ; 

 DHCP

DHCP (Dynamic Host Configuration Protocol     )        (IP-,  ,  , ,    . .)   ,        DHCP (     DHCP).       ,  dhcpcd: 

 14:  dhcpcd
# dhcpcd eth0
   ,   
   ,   DHCP.
   
# dhcpcd -HD eth0


   (  -  , , Google),     ,    .         . 

  
:   iwconfig        x86, amd64  ppc.         ,    linux-wlan-ng (.). 


     (802.11),         .         iwconfig.   iwconfig    : 

 15:     

# iwconfig eth0
eth0      IEEE 802.11-DS  ESSID:"GentooNode"                                   
          Mode:Managed  Frequency:2.442GHz  Access Point: 00:09:5B:11:CC:F2    
          Bit Rate:11Mb/s   Tx-Power=20 dBm   Sensitivity=0/65535               
          Retry limit:16   RTS thr:off   Fragment thr:off                       
          Power Management:off                                                  
          Link Quality:25/10  Signal level:-51 dBm  Noise level:-102 dBm        
          Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx          
          excessive retries:237 Invalid misc:350282 Missed beacon:84            

:       wlan0  ra0,   eth0.       iwconfig  -   . 


        : ESSID (  )    WEP.  ESSID          ,     WEP, ,    .      ESSID    WEP,    : 

 16:  ESSID /   WEP
(     "GentooNode")
# iwconfig eth0 essid GentooNode

(    WEP)
# iwconfig eth0 key 1234123412341234abcd

(    (ASCII);    "s:")
# iwconfig eth0 key s:some-password


   ,   iwconfig.      ,       ,    IP,      (  ),    net-setup,   . 

  
:     IP-,  ,     ,          ifconfig  route. 

 ,  ,  ,      .   . ,    -  ,       .   ,  ,   ,    ,    ,     . 

   (, )   IP- (  ).         0  255. ,   ,    .  , IP-   32  (  ).   : 

 17:  IP-
IP- ():       192.168.0.2
IP- ():        11000000 10101000 00000000 00000010
                        -------- -------- -------- --------
                           192      168       0        2


 IP-         (. .  ,     ,    IP-).   ,     , IP-    :     . 

         ,     .  IP-,      ,    .  ,       IP-. 

 18:   /
IP-:      192      168      0         2
            11000000 10101000 00000000 00000010
 : 11111111 11111111 11111111 00000000
               255      255     255        0
           +--------------------------+--------+
                                     


 , 192.168.0.14          ,  192.168.1.2   . 

    IP-     ,    ,         .       IP-.       . 





 19:  
IP-:             192      168      0         2
                   11000000 10101000 00000000 00000010
  11000000 10101000 00000000 11111111
:                192      168      0        255
                  +--------------------------+--------+
                                            

   ,   ,       .    .     ,    IP- (, 192.168.0.1). 

  ,       IP-.       ( IP-),  ,    (,  dev.gentoo.org)  IP- (, 64.5.62.82).     .   ,       /etc/resolv.conf. 

      .        ,   . 

 ,      : 

  	
 IP-			192.168.0.2
 				255.255.255.0
 	192.168.0.255
					192.168.0.1
() 			195.130.130.5, 195.130.130.133


 ifconfig  route

      .     IP-   ifconfig.      ,  route.      IP-    /etc/resolv.conf. 

  IP-   IP-,     .  ,   ,  ${IP_ADDR}   IP-, ${BROADCAST}    ,  ${NETMASK}    : 

 20:  ifconfig
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up


     route.  IP-    ${GATEWAY}: 

 21:  route
# route add default gw ${GATEWAY}


  /etc/resolv.conf     (    nano): 

 22:  /etc/resolv.conf
# nano -w /etc/resolv.conf


       .   ${NAMESERVER1}  ${NAMESERVER2}     : 

 23:  /etc/resolv.conf
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}


.    ,  -   (, Google).   ,   !      Gentoo.    . 
4.  

4.a.     

 

         Gentoo Linux  Linux ,   ,    . ,         ,             Gentoo Linux. 

 ,     . ,    ,    Linux  IDE-,   /dev/hda.        SCSI  SATA,      /dev/sda. 

        .         ,  ,     : IDE, SCSI  - .      ,     512-    . 



     Linux    ,       .           ,    .   x86   . 

   :  (primary),  (extended)   (logical). 



    ,      MBR (Master Boot Record    ).   MBR   (512 ),       (,  /dev/hda1  /dev/hda4). 

       (  ,           ),     .     ,           ,      . 

    ,    .      MBR,    . 

 

  -  86   EVMS  LVM2.  EVMS  LVM2    .        ,   ,  EVMS  LVM2  . 

4.b.    

   

         ,   ,    : 

	      		            
/dev/hda1	  ext2				32			 
/dev/hda2	(swap)			512		 
/dev/hda3	 ext3			  	 


   ,     ,       ,  .       ,     fdisk   . 

   ?

       . ,     , ,  ,   /home       .    Gentoo    ,   /var, ..    . ,    ,    .       /opt,         .    ,    /home:    .       /usr:   ,     ,   - ,    Portage,         ,   500 . 

 ,     .        : 

          ; 
        - ,  -          
       , ..       (        ) ;
   ,      read-only (  ), nosuid (  setuid), noexec (  )  ... 

,        :      ,        ,     .  ,   SCSI  SATA     15 . 

       20 ,     ( -,  ,  Gnome  ..): 

 1:   
$ df -h
Filesystem    Type    Size   Used   Avail   Use% Mounted on
/dev/hda5        ext3    509M  132M   351M   28%      /
/dev/hda2        ext3    5.0G    3.0G    1.8G    63%      /home
/dev/hda7        ext3    7.9G    6.2G    1.3G    83%      /usr
/dev/hda8        ext3   1011M  483M  477M    51%     /opt
/dev/hda9        ext3    2.0G    607M  1.3G     32%     /var
/dev/hda1        ext2    51M    17M    31M      36%     /boot
/dev/hda6        swap   516M  12M   504M     2%       <not mounted>
(    : 2 )


 /usr,  ,   ( 83%),     , /usr    .        /var   , ,       Portage   .     /var     , , 1,     PORTAGE_TMPDIR  /etc/make.conf,     ,         ,   OpenOffice. 

4.c.  fdisk   


   ,        ,  ,  :

 	
/dev/hda1	 
/dev/hda2	 
/dev/hda3	 


       . 

    

fdisk             .  fdisk,       (    /dev/hda): 

 2:  fdisk
# fdisk /dev/hda


  fdisk   : 

 3:  fdisk
Command (m for help): 


 p,      : 

 4:    
Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help): 


        Linux (    System  Linux)     (    Linux swap). 

  

      .     d.     /dev/hda1: 

 5:  
Command (m for help): d
Partition number (1-4): 1


   .        p,        ,      .          ,   q   ENTER;       . 

,          ,   p    ,  d       ,    .       : 

 6:   
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):


,     ,    ,    .     ,  . ,     ,       ,  ! 

  

    .  n    ,  p,    ,  1     .       .       +32M,     32: 

 7:   
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): ( )
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M


,  p,     : 

 8:   
Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux


     .  a      ,   1.    p,  ,    boot   *. 

  

   .    n (  ),  p    .   2,     ,    /dev/hda2.        .       +512M,     512.  ,  t    , 2,      ,  82,     Linux Swap.   p    ,      : 

 9:      
Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap


  

   .    n (  ),  p ( ).    3     ,    /dev/hda3.       .        ,         .    ,   p     : 

 10:      
Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

  

       fdisk,  w. 

 11:     fdisk
Command (m for help): w

,   ,     . 

4.d.   



 ,       .   ,    ,     ,       ,       .  ,  ,      ... 

  ( !)

  Linux    .       : ext2, ext3, ReiserFS, XFS  JFS. 

ext2     Linux,      .          .         ,     ,       .         ,     . 

ext3     ext2,       ,    ,      . ext3       .           (b-tree),       .    ,    mke2fs  -O dir_index.  , ext3    . 

ReiserFS   ,   B*-.     ,    (  10-15 )  ext2  ext3      ( 4). ReiserFS   ;     .     2.4.18, ReiserFS         ,         ,    ,         . 

XFS          ,       .      Linux-    SCSI      (fibre-channel),     . - ,  XFS        ,           (         ,    )   . 

JFS       IBM.        ,     ,   -       . 

    

            :
 		            
	ext2				     		mke2fs
	ext3				   	           mke2fs -j
	reiserfs                             	    	           mkreiserfs
	xfs		                                           mkfs.xfs
	jfs		                                           mkfs.jfs


,     (/dev/hda1   )    ext2,     (/dev/hda3   )  ext3,  : 

 12:    
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3


           ( ). 

  

mkswap  ,     : 

 13:    
# mkswap /dev/hda2

     swapon: 

 14:   
# swapon /dev/hda2

 ,  ,        . 

4.e. 

,   ,    ,    (  )  .   mount.         . ,     : 




 15:  
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

:      /tmp   ,          : chmod 1777 /mnt/gentoo/tmp.     /var/tmp. 


      proc (  )   /proc.        . 

     Gentoo. 

5.    Gentoo

5.a.   

    

 ,  ,       ,     .    ,        ! 

  ,   date: 

 1:    
# date
Fri Mar 29 16:21:18 UTC 2007


   ,    date  (: , , ,   ).       UTC.       . ,     29 , 16:21, 2005 , : 

 2:    
# date 032916212007


 

      stage3   .      , ,        Gentoo,    .      ,      ,          , ..     .   ,         uname -m. 

 :      
:       

5.b.  :     

  

      Gentoo (  /mnt/gentoo): 

 3:     Gentoo
# cd /mnt/gentoo


         ,    ,    .   links,      Gentoo   . 

 links ,      lynx.    -,   http_proxy  ftp_proxy: 

 4:    -  lynx
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"


,      links. 

   releases/,    ,    (, x86/),     Gentoo (2006.1/), , ,  stages/.          (        ).       D  .     Q,    . 

 5:     links
# links http://www.gentoo.org/main/ru/mirrors.xml

(  links   -:)
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/ru/mirrors.xml


,    stage3-      stage1  stage2   . 

       ,   md5sum      MD5,   . ,       x86: 

 6:     
# md5sum -c stage3-x86-2007.0.tar.bz2.DIGESTS
stage3-x86-2007.0.tar.bz2: OK




  

      .   tar, ..   : 

 7:   
# tar xvjpf stage3-*.tar.bz2


,          (xvjpf).  : 
x  ; 
v   ,  ,      ( );
 j   bzip2;
p    ;
f    ,    ,   ,     . 

:   -       (, MIPS) tar    BusyBox,        v.      xjpf. 


        . 
5.c. :      

  
:     x86      ,    .          . 


    -   /mnt/cdrom/stages.     ,  ls: 

 8:    
# ls /mnt/cdrom/stages

    , ,    CD-ROM: 

 9:  CD-ROM
# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages


    Gentoo (  /mnt/gentoo): 

 10:    /mnt/gentoo
# cd /mnt/gentoo


  tar    . ,        (xvjpf)!  v         tar.        stage3-<>-2006.1.tar.bz2.           . 

 11:   
# tar xvjpf /mnt/cdrom/stages/stage3-<>-2007.0.tar.bz2


       . 

5.d.   

  

         ,    Portage   ,   ,    .. 

     

      (  /mnt/gentoo): 

 12:    
# cd /mnt/gentoo


 links ( lynx)     Gentoo.        snapshots/.       (portage-latest.tar.bz2),       D. 

 13:    Gentoo
# links http://www.gentoo.org/main/ru/mirrors.xml


   Q.     /mnt/gentoo    . 

      ,  md5sum,       MD5,   . 

 14: Checking integrity of a Portage snapshot
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK


   .   ,        ;     C,    c. 

 15:    
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr


5.e.   



  Gentoo     ,     Portage.        (  export),      .        Portage, /etc/make.conf.      . 

:          /mnt/gentoo/etc/make.conf.example.    Gentoo,      ,   . 


    (    nano)    ,   . 

 16:  /etc/make.conf
# nano -w /mnt/gentoo/etc/make.conf


   ,   make.conf.example  :      #,       =""  .   make.conf   .      . 

CHOST

  CHOST ,     .        .    , ..     .   CHOST, -,  , ,      stage3. 

CFLAGS  CXXFLAGS

 CFLAGS  CXXFLAGS     gcc   C  C++, .  ,      ,      ,          .   ,    . 

  make.conf    , ,   ,     .     ;         ( , ,  ,  ). 

       .       ӣ,    GNU (.)    gcc (info gcc       Linux).      make.conf.example:         . 

    -march=,     .        make.conf.example. ,   x86 Athlon XP: 

 17:  -march  GCC
#  AMD64,    64-
# ,   -march=k8
#  EM64T   -march=nocona
-march=athlon-xp


(JohnBat26):      4.2.0  ,      ,      ( : -march  -mtune):
1.generic:   ,        ,  x86;
2.native:         .            cpuid ! .    nocona ( Core 2 Duo)  prescott (  Intel Pentium 4  .).

   -O (  O,   ),     gcc.  :
s    ; 
0  ,  ; 
1, 2  3       (      ,   ). 

,    2: 

 18:  -O  GCC
-O2

     -pipe (          ). 

,   -fomit-frame-pointer (        ,    )     ! 

   CFLAGS  CXXFLAGS,     ,    : 

 19:   CFLAGS  CXXFLAGS (gcc < 4.2.0)
CFLAGS="-march=athlon-xp -pipe -O2"  #   AMD64: -march=k8
          #   EM64T: -march=nocona
CXXFLAGS="${CFLAGS}"                 #      


MAKEOPTS

  MAKEOPTS ,         .  (   )   ,       . 

 20: MAKEOPTS    
MAKEOPTS="-j2"

 , , !

 /mnt/gentoo/etc/make.conf     ,    ( nano   CTRL+X).        Gentoo. 

6.    Gentoo
6.a.   

:  

        . Portage   GENTOO_MIRRORS   make.conf   ,   . ,          ,     (      ),       mirrorselect,        . 

 1:  mirrorselect    GENTOO_MIRRORS
# mirrorselect -i -o >>/mnt/gentoo/etc/make.conf

:    IPv6.       IPv6. 


       SYNC   make.conf.      rsync (  ),      Portage (  ebuild   ,   ,  Portage     ).      SYNC   , mirrorselect    : 

 2:   rsync   mirrorselect
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf


  mirrorselect,        /mnt/gentoo/etc/make.conf! 



   DNS

 ,     ,    :    DNS (  )   /etc/resolv.conf.  ,      .   /etc/resolv.conf    ,    . 

 3:    DNS
( -L ,    
  )
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf


   /proc  /dev

   /proc  /mnt/gentoo/proc,           ,  ,        /dev. 

 4:  /proc  /dev
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev


   

,   ,     .     ,   .  ,       ( -    )     (    ). 

    :

1.    chroot     / (    )  /mnt/gentoo (    ).
2.    ,   env-update, , ,   . 
3.,         source. 

 5:        
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"




!       Gentoo Linux. ,       ,        :-) 

6.b.  Portage

  Portage

    Portage        emerge --sync: 

 6:   
# emerge --sync
(    , , 
    ,      
  --quiet :) 
# emerge --sync --quiet


       ,   rsync-,     emerge-webrsync,      . 
  ,     Portage    ,    emerge portage. 

  

   . 

      Gentoo.          CHOST, CFLAGS    ,          .    Gentoo. 

    . ,  86, hppa  alpha      :    2.4,    2.6.       2.6.   ppc  ppc64    .     . 

,        ,   : 

 7:   
# ls -FGg /etc/make.profile
lrwxrwxrwx  1 48 Apr  8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2007.0/

       ,         2.6.    ,         . 

      desktop  server.    2007.0/,  ,      . ,     make.defaults  desktop,  ,    . 

 , ,   ,    ,   2.4.      ,   ,     .   x86     : 

 8:    
# ls -d /usr/portage/profiles/default-linux/x86/no-nptl/2.4
/usr/portage/profiles/default-linux/x86/no-nptl/2.4


     2.4  (..       ).     ,        ,    : 

 9:    2.4
(,    ;   -  x86)
# ln -snf /usr/portage/profiles/default-linux/x86/no-nptl/2.4 /etc/make.profile
(     2.4)
# ls -FGg /etc/make.profile/
total 12
-rw-r--r--  1 939 Dec 10 14:06 packages
-rw-r--r--  1 347 Dec  3  2004 parent
-rw-r--r--  1 573 Dec  3  2004 virtuals


  ppc   2006.1    : 

 10:   PPC
(  PPC,    PPC-, )
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1 /etc/make.profile
(  G3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3 /etc/make.profile
(  G3 Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3/Pegasos/ /etc/make.profile
(  G4 (Altivec))
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4 /etc/make.profile
(  G4 (Altivec) Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4/Pegasos/ /etc/make.profile


  ppc64   2006.1     : 

 11:   PPC64
(  PPC64  64-  ,   PPC64-)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/64bit-userland /etc/make.profile
(  PPC64  32-  ,   PPC64-)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/32bit-userland /etc/make.profile
(     ,   .)
(userland         )
( 970  JS20)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970 /etc/make.profile
(  G5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970/pmac /etc/make.profile
(  POWER3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power3 /etc/make.profile
(  POWER4)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power4 /etc/make.profile
(  POWER5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power5 /etc/make.profile
(       )


  USE

USE ()      ,     Gentoo.            . ,       gtk  qt  .   ,     SSL.          (svgalib)   X11 (X-). 

          .       ,      .  Gentoo    ,      .     USE. 

  USE   ,     . ,  ssl     ssl  ,    . -X   X- (     ).  gnome gtk -kde -qt       Gnome  gtk,    KDE  qt,     GNOME. 

 USE      make.defaults  .  make.defaults   ,    /etc/make.profile,      .  USE        USE    make.defaults. ,     /etc/make.conf,    .    -   USE,      .   - (      ),       (    ).      /etc/make.profile. ,   ,    Portage! 

   USE       Gentoo   USE-.             /usr/portage/profiles/use.desc. 

 12:   USE-
# less /usr/portage/profiles/use.desc
(    ,    "q")


,   USE  ,   KDE,    DVD, ALSA   CD: 

 13:   /etc/make.conf
# nano -w /etc/make.conf

 14:  USE
USE="-gtk -gnome qt kde dvd alsa cdr"


:   GLIBC

 ,      -   .      /etc/locale.gen. 

 15:  /etc/locale.gen
# nano -w /etc/locale.gen


      (),    ()    (, UTF-8). 

 16:    
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15


    locale-gen.      ,     /etc/locale.gen. 
: locale-gen   glibc-2.3.6-r4   .      glibc,    . 

: ,  ,     .          Gentoo.  . . 


    . 
7.  

7.a.  

     (time zone),   ,   .     /usr/share/zoneinfo,     /etc/localtime. , ,     /usr/share/zoneinfo/Etc/GMT*, . .      . , GMT-8    GMT+8. 

 1:   
# ls /usr/share/zoneinfo
(,    GMT)
# cp /usr/share/zoneinfo/GMT /etc/localtime

 (JohnBat26):      (   ),    (  ):

1.  .
2.  /etc/adjtime. ,     .
3.nano -w /etc/conf.d/clock.      UTC Local, !!!
  

7.b.    

 

 Linux   ,     .        .  Gentoo      .            Gentoo (.). 

 x86 ,  ,   ,  
vanilla-sources (     linux );
gentoo-sources (  ,  ). 

   emerge    . USE="-doc" ,       xorg-x11    . USE="symlink"     ,       /usr/src/linux: 

 2:    
# USE="-doc symlink" emerge gentoo-sources


   /usr/src,     linux,        .   ,       gentoo-sources-2.6.12-r10.   ,     . 

 3:      
# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10


      .    genkernel,    ,     -.        ,        . 

     ,      :  .     genkernel,   :  genkernel. 

7.c.  :  




           Linux.          ,   -   ;) 
    :    ,      .     ,   pciutils (emerge pciutils),    lspci. lspci  ,       .      ,  pcilib (: pcilib: cannot open /sys/bus/pci/devices [pcilib:    /sys/bus/pci/devices]),     lspci.   lspci     .   .     lsmod    ,   - (   ,   ). 

           make menuconfig.      ,  ncurses. 

 4:   
# cd /usr/src/linux
# make menuconfig


     .   ,    ( Gentoo  ,       ). 

  

 ,        .       : 

 5:   /,  
Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers"
General setup  --->
  [*] Support for hot-pluggable devices


,   ,      (, SCSI-),   ,    ,      . 

    : 

 6:    
Processor type and features --->
  (     )
  (Athlon/Duron/K7) Processor family 


   File Systems       .     ,   Gentoo     .   Virtual memory  /proc file system.    2.4,    /dev file system, ..     udev. 

 7:    
(   2.4.x)
File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [*] /dev file system support (EXPERIMENTAL)
  [*]   automatically mount /dev at boot
  [ ] /dev/pts file system for Unix98 PTYs

(   2.6.x)
File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(      )
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support


  BIOS      ,       ,            : 

 8:    
(   2.4.x)
ATA/IDE/MFM/RLL support --->
  IDE, ATA and ATAPI Block devices --->
    <*>   Include IDE/ATA-2 DISK support
    [ ]     Use multi-mode by default
    [*]     Auto-Geometry Resizing support


     DMA   : 

 9:  DMA
Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
    [*] Generic PCI bus-master DMA support
    [*]   Use PCI DMA by default when available


   PPPoE       ,      : 

 10:    PPPoE
(   2.4.)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports
  
(   2.6.x)
Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports


      ,    .       PPP over Ethernet     rp-pppoe,   PPPoE   . 

 ,         . 

    Intel   HyperTreading   ,     : 

 11:   SMP
Processor type and features  --->
  [*] Symmetric multi-processing support


       USB, (,   ),     : 

 12:   USB   
USB Support --->
  <*>   USB Human Interface Device (full HID) support


 ,    PCMCIA,     PCMCIA  ,    2.4.   pcmcia-cs,    ,    .   2.6    PCMCIA,   . 

    PCMCIA   2.6,      PCMCIA  : 

 13:   PCMCIA   2.6
Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
(  ( ),    16-  PCMCIA)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
(   )
    --- PC-card bridges
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)
    <*> i82365 compatible bridge support (NEW)
    <*> Databook TCIC host bridge support (NEW)


  ,     . 

  

,   ,      .       : 

 14:  
(  2.4)
# make dep && make bzImage modules modules_install

(  2.6)
# make && make modules_install




  ,      /boot.   ,       ,   ,         .    <->      . 

 15:  
# cp arch/i386/boot/bzImage /boot/<->


    . 

7.d. :  genkernel

    , ,      genkernel     . 

     ,    ,       genkernel. genkernel      ,      -.   ,    genkernel,  ,       .  genkernel      ,     ,     ,    . 

,   genkernel.   : 

 16:  genkernel
# emerge genkernel


,       2.6,   ,   ,  ,  genkernel    : 

 17:       
(      2.6.)
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6


    ,  genkernel all.   ,     ,  genkernel  ,    . 

        ext2  ext3,      ,  genkernel --menuconfig all,        (..  ).  EVMS2  LVM2, ,       --evms2  --lvm2. 

 18:  genkernel
# genkernel all



   genkernel   ,        (initrd).   initrd       ,     .       ,         . initrd     ,     (  ,     ),    . 

 19:       initrd
# ls /boot/kernel* /boot/initramfs*


          :  coldplug.  initrd  ,    , coldplug     .     coldplug  : 

 20:    coldplug
# emerge coldplug
# rc-update add coldplug boot


7.e.  

 

,    ,    /etc/modules.autoload.d/kernel-2.4 ( kernel-2.6). ,  ,     . 

       find,  < >      : 

 21:    
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'


,     3c59x.o   kernel-2.4  kernel-2.6,     . 

 22:  /etc/modules.autoload.d/kernel-2.4
(    2.4.x)
# nano -w /etc/modules.autoload.d/kernel-2.4


 23: /etc/modules.autoload.d/kernel-2.4  kernel-2.6
3c59x


     . 



8.   

8.a.   

  fstab?

 Linux  ,  ,     /etc/fstab.        (mountpoints,     ),  ,     (    ,       ..) 

 /etc/fstab

 /etc/fstab   .      ,  ,     .     :
 
1.    (partition) (   ). 
2.     (mountpoint),    . 
3.      (filesystem),   . 
4.      (mountoptions),  mount   .        ,      mount (man mount),     .         . 
5.   dump  ,       dump.        0 (). 
6.   fsck     (check)       .       1,     2 ( 0,      ). 

:   /etc/fstab  ,   Gentoo,   .      /etc/fstab. 


 1:  /etc/fstab
# nano -w /etc/fstab


 ,    ,     /proc,  tmpfs,    CD-ROM (     ,    ). 



        /etc/fstab: 

 auto  mount      (   ,           ),  user   -  . 

  ,      noatime   ,              (      ): 

   /etc/fstab,  ,    ,   . 

 (JohnBat26):   /etc/fstab:

 2:   /etc/fstab

/dev/sda2		/boot		ext2		defaults,noatime      				 1 2
/dev/sda5		/		xfs		defaults,noatime				 0 1
/dev/sda3		none		swap		sw		                                                     0 0
/dev/sda7		/home		xfs		defaults,noatime		                           0 1
/dev/sr0	                    	/mnt/cdrom	auto		noauto,ro,user,iocharset=utf8	                           0 0
#   FAT32
/dev/sda1                       /windows/c         vfat             auto,iocharset=utf8,quiet,user,umask=000,noatime     0 0
#  NTFS   
/dev/sda6                       /windows/d          ntfs                    auto,nls=utf8,umask=0,user,noatime                    0 0
/dev/sda8 		/windows/e         vfat            auto,iocharset=utf8,user,quiet,umask=000,noatime      0 0
/dev/sda9                       /home/media       xfs                    defaults,noatime                                                     0 1
#  NTFS       ntfs-3g
/dev/sda10                     /mnt/windows/f   ntfs-3g              -o silent,umask=0,locale=ru_RU.utf8 
# NOTE: The next line is critical for boot!
proc			/proc		 proc		defaults                                                                  0 0
# flash drive 
/dev/sdb                         /mnt/flash           auto             user,noauto,rw,async,iocharset=utf8                           0 0
shm			/dev/shm	tmpfs		nodev,nosuid,noexec	                                        0 0
8.b.  

Hostname, Domainname  . .

  ,         .    ,         Linux-.    , ,       ,     . ,        tux,    homenetwork. 

 2:   
# nano -w /etc/conf.d/hostname

(  HOSTNAME   )
HOSTNAME="tux"


-,    (domainname)  /etc/conf.d/net: 

 3:   
# nano -w /etc/conf.d/net
(  DNSDOMAIN   )
dns_domain_lo="homenetwork"


     NIS (    ,   ,      ),    : 

 4:   NIS-
# nano -w /etc/conf.d/net

(    NIS  nis_domain)
nis_domain_lo="my-nisdomain"


 

,  : ,      !  ,    ,  ,      Gentoo.        . 
:     ,   ,   ,  ,    (VLAN) 802.1Q   ,       Gentoo. 

      /etc/conf.d/net.     , ,        ,    .   ,   .   /etc/conf.d/net.example    ,    . 

   DHCP.  DHCP ,   DHCP-,         .    DHCP-. 

          DHCP,  - ,      DHCP,  /etc/conf.d/net     (    nano): 

 5:  /etc/conf.d/net  
# nano -w /etc/conf.d/net


  : 

 6: /etc/conf.d/net  
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

(#        
 # DHCP   net.*  /etc/init.d.    
 # , ,  /etc/conf.d/net.example,  
 #    /etc/conf.d/net (   :]!).            )


     IP,    ,    config_eth0,   routes_eth0: 

 7:    IP  eth0
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default gw 192.168.0.1" )


   DHCP   ,  config_eth0  dhcp_eth0: 

 8:    IP  eth0
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"


      /etc/conf.d/net.example. 

     ,     config_eth1, config_eth2  .. 

      ,   . 

     

             .      PCMCIA,   ,   PCMCIA    PCMCIA. 

 9:  net.eth0    default
# rc-update add net.eth0 default


     ,        net.eth1, net.eth2  ..     ln: 

 10:    
# cd /etc/init.d
# ln -s net.lo net.eth1
# rc-update add net.eth1 default


  

   Linux   .     /etc/hosts,      IP-  ,    .    .       ,        DNS. 

 11:  /etc/hosts
# nano -w /etc/hosts



 12:     
(  )
127.0.0.1     tux.homenetwork tux localhost

(     ,
       IP-.)

192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny


  ,      . 

8.c.  

 root

 ,    root (), : 

 13:   root
# passwd


  ,  root       ,  tts/0  /etc/securetty: 

 14:  tts/0 to /etc/securetty
# echo "tts/0" >> /etc/securetty


 

     Gentoo  /etc/rc.conf.  /etc/rc.conf      ,     :) 

 15:  /etc/rc.conf
# nano -w /etc/rc.conf


  /etc/rc.conf      . 

 ,    ,        .      unicode,          (, gdm  kdm). 

     Gentoo  /etc/conf.d/keymaps.      . 

 16:  /etc/conf.d/keymaps
# nano -w /etc/conf.d/keymaps


        (KEYMAP):   ,          . 

   /etc/conf.d/keymaps      . 

     Gentoo  /etc/conf.d/clock.       . 

          UTC (),      CLOCK="local".        . 

   /etc/conf.d/clock      . 

     . 
9.    

9.a.  

    2.4,     Gentoo     (stage3),    - .     Gentoo    udev,   2.4 udev  ,    devfsd,   udev. 

 1:  devfsd
( ,    2.4.x   c  )
# emerge --unmerge udev
# emerge devfsd


9.b.   

      stage3,       .    ,   . 

 ,    ,     .  Unix  Linux              ,    .     . 

 Gentoo      .  sysklogd,    , syslog-ng,   ,  metalog        . ,  Portage     :       . 

    sysklogd  syslog-ng,     logrotate,            . 

    ,  emerge,            rc-update.      syslog-ng.        : 

 2:    
# emerge syslog-ng
# rc-update add syslog-ng default


9.c. :  cron

   cron.    ,       ,    .      cron?  cron    .   ,    -   (, ,   ). 

 Gentoo     cron  : dcron, fcron  vixie-cron.         . ,   dcron  fcron      ,   crontab /etc/crontab.    ,  ,  vixie-cron. 

     vixie-cron.      cron,    . 

 3:   cron
# emerge vixie-cron
# rc-update add vixie-cron default
(   dcron  fcron) # crontab /etc/crontab


9.d. :  

       ,       locate,   sys-apps/slocate: 

 4:  slocate
# emerge slocate


9.e.     

    ,    ,  ..,    ,       . 

    ,         : 

 	       	   
            XFS		                  xfsprogs	                emerge xfsprogs
         ReiserFS	                reiserfsprogs	   emerge reiserfsprogs
            JFS	                              jfsutils	                 emerge jfsutils


   EVMS,    evms: 

 5:   EVMS
# USE="-gtk" emerge evms


USE="-gtk"   ,    .      evms,    evms. 

        ( rp-pppoe   dhcp),     . 

9.f.  

:   DHCP

 ,  Gentoo   IP-    ,   dhcpcd (    DHCP,    DHCP .     ).     ,          ! 

 6:  dhcpcd
# emerge dhcpcd


:   PPPoE

      rp-pppoe,   . 

 7:  rp-pppoe
# USE="-X" emerge rp-pppoe


USE="-X"   xorg-x11    ( rp-pppoe   ;    ,   rp-pppoe ,    xorg-x11 :        ). 

:  RAID   IBM

      POWER5   RAID- SCSI,     iprutils, ,  ,     ,         . 

 8:  iprutils
# emerge iprutils


     . 
10.   

10.a.  



,     ,       ,    ,        .     .   x86  Gentoo Linux   GRUB  LILO.  ,        ,  ,     (,   ).          Linux     (,      Gentoo). 

:  

        (       genkernel),    ,   vga / video     . 

 ,       .     ,   Gentoo (  gentoo-sources),      vesafb-tng     VESA (        ).   vesafb-tng  vga   .      vesafb,   vga  . 

 vga     ,    vesafb.    /usr/src/linux/Documentation/fb/vesafb.txt (         ),       VESA,     . 

          vga,        . 	

                    640x480	800x600	1024x768	1280x1024
256	           0x301	            0x303	   0x305	    0x307
32 	0x310	            0x313	   0x316	    0x319
64 	0x311	            0x314	   0x317        	    0x31A
16 	0x312	            0x315	   0x318	    0x31B


 video      .        (vesafb   2.6  vesa   2.4),   ,   .     /usr/src/linux/Documentation/fb/vesafb.txt,        :

1.ywrap ,       (    ,   ); 

2.mtrr:n	  MTRR;   n: 0 -  1 -   2 -   (write-back) 3 -   (write-combining) 4 -   (write-through); 

3.mode	(  vesafb-tng)  ,    . , 1024x768-32@85   1024x768, 32-     85 . 


    -  vga=0x318 video=vesafb:mtrr:3,ywrap  video=vesafb:mtrr:3,ywrap,1024x768-32@85.  ( )  ,   . 

   GRUB  LILO. 

10.b.  :  GRUB

   GRUB

    GRUB    ,        .  Linux- /dev/hda1,  ,  GRUB   (hd0,0).       hd0,0   . 

  ,   ,    ;   c ,    .  ,    hd    ,    atapi-ide,    -.       SCSI (    ,   IDE,  ,  BIOS      SCSI).  BIOS        (,   ),       hd0. 

,       /dev/hda,  CD-ROM /dev/hdb,  CD /dev/hdc,    /dev/hdd,   SCSI ,   /dev/hdd7   (hd1,6). ,    (  ), ,   ,  GRUB     tab,        ,   ,       GRUB. 

,   ,   GRUB. 

 GRUB

  GRUB     : 

 1:  GRUB
# emerge grub


 GRUB  ,       ,   GRUB  MBR,     .   nano (  )  /boot/grub/grub.conf: 

 2:  /boot/grub/grub.conf
# nano -w /boot/grub/grub.conf


  grub.conf  .     grub.conf     .   grub.conf   . ,          ,          (initrd). 
  grub.conf   ,       genkernel 
  grub.conf   ,      genkernel 

:       JFS,   ro   kernel,  JFS     ,      -. 


 3: grub.conf  ,    genkernel
#     : 0 - , 1 -   ..
default 0
#         
timeout 30
#  ,    :)
# ,       
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
#      (  )
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3

#          Windows
#    Windows   /dev/hda6
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1


 4: grub.conf  ,   genkernel
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

#     
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

:  udev,     kernel,        genkernel,     udev (   ). 

:      -,     ,   .   ,   ,     GRUB ( (hd0,0)),    ,     .  , (hd0,0)/grub/splash.xpm.gz     /boot/grub/splash.xpm.gz,   (hd0,0)   /boot. 


 ,       ,     /boot  ,  /boot,    , .        ,  /boot  ,       boot.  ,       ,       /boot  . 

      ,       kernel.       (root=/dev/hda3  real_root=/dev/hda3);    , ,    video / vga   ,  . 

    2.6.7  ,       - ,  BIOS        ,    hdx=stroke. 

,   genkernel,  ,        ,    -. ,      SCSI,     doscsi. 

  grub.conf    .  -   GRUB  MBR (Master Boot Record),  GRUB     . 

 GRUB   grub-install. ,     grub-install    GRUB . 

    :  GRUB   grub-install  :  GRUB . 

 :  GRUB   grub-install

  GRUB     grub-install. , grub-install     , ..        .     /etc/mtab,       .  ,      :    /proc/mounts  /etc/mtab,   rootfs,       .      : 

 5:  /etc/mtab
# grep -v rootfs /proc/mounts > /etc/mtab


    GRUB,  grub-install: 

 6:  grub-install
# grub-install /dev/hda


      GRUB, ,   GRUB FAQ (.)    GRUB (.). 

   . 

:  GRUB 

  ,  grub.    grub>     grub.    ,      GRUB    . 

 7:   GRUB
# grub

:       ,     --no-floppy,  grub     . 


      GRUB ,         /dev/hda1,    GRUB   MBR (Master Boot Record)  ,  ,          GRUB. ,        ,   . 

  GRUB,      TAB.  ,   root (,   TAB,    (  hd0).   root (hd0,   TAB,        (  hd0,0). 

   GRUB   .     GRUB. 

 8:  GRUB  MBR
grub> root (hd0,0)           (    /boot)
grub> setup (hd0)           ( GRUB  MBR)
grub> quit                        (   GRUB)

:     GRUB     MBR,  setup   ,      . ,    GRUB  /dev/hda3  setup (hd0,2). ,   . 


    GRUB, ,   GRUB FAQ (.)    GRUB (.). 

:      ,       .      make install:      GRUB  . 


   . 

10.c. :  LILO

 LILO

LILO (  LInux LOader)         Linux-.     ,    GRUB (          GRUB). LILO   ,       ,  GRUB  .  ,     ,      LILO    .   ,  Gentoo   ,  , ,   LILO. 

 LILO     :   emerge. 

 9:  LILO
# emerge lilo


 LILO

  LILO    /etc/lilo.conf.     (      nano)   . 

 10:  /etc/lilo.conf
# nano -w /etc/lilo.conf


           .         . 

    : 
   ,       genkernel; 
   ,      genkernel;

,          ,          (initrd).

 

:       JFS,   ro   kernel,  JFS     ,      -. 


 11:  /etc/lilo.conf
boot=/dev/hda         #  LILO  MBR
prompt                #     
timeout=50            #        
default=gentoo        #      gentoo

#  ,    genkernel
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo        #   
  read-only           #       ;  !
  root=/dev/hda3      #    

#  ,   genkernel
image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10

#          Windows
#    Windows   /dev/hda6
other=/dev/hda6
  label=windows

:  udev,     kernel,        genkernel,     udev (   ). 

:      -,     ,   . 


     ,       append. ,   video    : 

 12:  append    
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/hda3
  append="video=vesafb:mtrr,ywrap,1024x768-32@85"


    2.6.7  ,       - ,  BIOS        ,    hdx=stroke. 

,   genkernel,  ,        ,    -. ,      SCSI,     doscsi. 

      .      /sbin/lilo,  LILO   ,   /etc/lilo.conf,    (..   ).   ,             /sbin/lilo . 

 13:   LILO
# /sbin/lilo

:         .   make install   ;      LILO  . 


   . 

10.d.  


        .      ,    : reboot. 

 14:     
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot


,     -,         Gentoo. 

   ,     Gentoo. 
11.   Gentoo

11.a.   

     

    root ()   Unix/Linux ,     .          . 

    ,     .       ,   , ,   . 

	                       
  audio	   
 cdrom	     
  floppy	     
 games	    
 portage	  emerge --pretend    
    usb  	    USB 
 plugdev	      		        USB- 
  video	       			        
  wheel	   su 


,        john,    wheel, users  audio,      root ( root     ),    useradd: 

 1:      
Login: root
Password: (  root)

# useradd -m -G users,wheel,audio -s /bin/bash john
# passwd john
Password: (   john)
Re-enter password: (    )


       root,     root   su -.      sudo,      . 
12.   ?

12.a. 


 !       Gentoo.     ?     ?      ? Gentoo      ,       (  ) . 

        Gentoo,   Gentoo,   ,       ,    ,   USE-,     Gentoo  .. 

        ,    ,     ,         Gentoo.  , ,        (.),      .
 
:            Gentoo.  . . 


       Gentoo (.),    . 

       . 

12.b. Gentoo  

,        Gentoo (.),       IRC- Gentoo (.). 

 ,        ,     .         . 

   ,          :) 

B.   Gentoo
1.   Portage

1.a.    Portage

 Portage  ,    Gentoo    .       ,            Linux. 

Portage    Python  Bash,       ,     . 

    Portage    emerge.        emerge.       emerge,    : 

 1:    emerge
$ man emerge







1.b.  

  ebuild

  ,      ,   Gentoo   .        ebuild,   ,  Portage     (, ,   ..)       /usr/portage. 

 Portage         ,      ,   .      ,  Portage    , ,     .. 

  

      rsync (.),     .    ,    rsync   emerge : 

 2:   
# emerge --sync


 rsync   -   ,   -     ,  .            emerge-webrsync: 

 3:  emerge-webrsync
# emerge-webrsync


1.c.   

 

             emerge.    emerge --search   ,  ( ,   )   . 

,    ,  pdf  : 

 4:    pdf  
$ emerge --search pdf


           --searchdesc ( -S): 

 5:  ,   pdf
$ emerge --searchdesc pdf


   ,  ,     .   ,         : 

 6:   emerge --search
*  net-print/cups-pdf
      Latest version available: 1.5.2
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 15 kB
      Homepage:    http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
      Description: Provides a virtual printer for CUPS to produce PDF files.
      License:     GPL-2

(
*  net-print/cups-pdf
        : 1.5.2
        : [   ]
        : 15 kB
      -:  http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
      :       CUPS     PDF-.
      :      GPL-2 )


 (JohnBat26):       : eix ( emerge eix).     .

 

 ,      ,        emerge.     gnumeric: 

 7:  gnumeric
# emerge gnumeric


       ,    -          .  , Portage    .    ,   Portage       ,   --pretend. : 

 8:    gnumeric
# emerge --pretend gnumeric


    , Portage       ( ),        /usr/portage/distfiles.    ,   .   ,  Portage       ,    emerge  --fetchonly: 

 9:     gnumeric
# emerge --fetchonly gnumeric




   

    .  USE- doc ,      .   USE- doc   emerge -vp < >. 

 10:   USE- doc
(alsa-lib -    )
# emerge -vp alsa-lib
[ebuild  N    ] media-libs/alsa-lib-1.0.9_rc3  +doc -jack 674 kB


USE- doc         /etc/make.conf,        /etc/portage/package.use.  ,     /etc/portage/package.use,       .   USE-     . 

          /usr/share/doc,   .  ,        equery,     gentoolkit (.)  app-portage/gentoolkit. 

 11:   
# ls -l /usr/share/doc/alsa-lib-1.0.9_rc3
total 28
-rw-r--r--  1 root root  669 May 17 21:54 ChangeLog.gz
-rw-r--r--  1 root root 9373 May 17 21:54 COPYING.gz
drwxr-xr-x  2 root root 8560 May 17 21:54 html
-rw-r--r--  1 root root  196 May 17 21:54 TODO.gz

(       equery :)
# equery files alsa-lib | less
media-libs/alsa-lib-1.0.9_rc3
* Contents of media-libs/alsa-lib-1.0.9_rc3:
/usr
/usr/bin
/usr/bin/alsalisp
( )


 

      ,   emerge --unmerge.        ,  ,    ,   .         ,   -    . 



: Portage  ,      !    ,       . 

 12:   gnumeric  
# emerge --unmerge gnumeric


    , ,  ,       , .  Portage   -  ,    ,   emerge --depclean.     . 

 

      (      ,   ),    .   Portage        ,    .   ,      emerge --update world.        --ask,   Portage   ,    ,   ,   :

 13:  
# emerge --update --ask world


Portage       .     ,   ,   ,    .        ,   --deep: 

 14:   
# emerge --update --deep world


 ,   ,    ,     (   - ,      ),     . 

   -  USE-, ,       --newuse.  Portage ,         : 

 15:   
# emerge --update --deep --newuse world




         ,        . ,  kde    KDE   ,   KDE-   . 

  -      ,  emerge--unmerge    ,   ,    ,   . 

 Portage     ,        ,   ,       ,   ,    USE-.     emerge --depclean,    .   ,    ,      ,      . 

      : 

 16:   
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild


revdep-rebuild    gentoolkit;     : 

 17:   gentoolkit
# emerge gentoolkit


1.d.  Portage ...

, , ,   

  , Portage    ,   ,      .    ,    Portage,    . 

  Portage         .   ,            ( freetype  freetype2),  Portage    (SLOT),  .      .         . ,   freetype  ebuild   SLOT="1",    SLOT="2". 

  ,      ,    .  metalogd, sysklogd  syslog-ng    . ,   ,       ,   metalogd,       .  Portage   :     virtual/syslog,          virtual/syslog. 

        .         .         ,        ,     .           , Portage       ,        . 

      .       ,    ,      ,      . 

  Gentoo   ,  ,  ,  ,    . 

 

 18:     ( --pretend)
[blocks B     ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.2.2-r1)


 19:     ( --pretend)
!!! Error: the mail-mta/postfix package conflicts with another package.
!!!        both can't be installed on the same system together.
!!!        Please use 'emerge --pretend' to determine blockers.

( !!! :  mail-mta/postfix    .
  !!!       . ,
  !!!  'emerge --pretend'    . )


  ebuild   ,  Portage  .    :  ,   DEPEND,   ,   RDEPEND.             ,   . 

           .        postfix    ssmtp. 

 ,   ,  ,   .      ,     .      .     , , ,         Gentoo. 

 

 20:    
!!! all ebuilds that could satisfy "bootsplash" have been masked.

(!!!  ,  "bootsplash", .)


 21:       
!!! possible candidates are:

- gnome-base/gnome-2.8.0_pre1 (masked by: ~x86 keyword)
- lm-sensors/lm-sensors-2.8.7 (masked by: -sparc keyword)
- sys-libs/glibc-2.3.4.20040808 (masked by: -* keyword)
- dev-util/cvsd-1.0.2 (masked by: missing keyword)
- media-video/ati-gatos-4.3.0 (masked by: package.mask)
- sys-libs/glibc-2.3.2-r11 (masked by: profile)

( !!!  :

- gnome-base/gnome-2.8.0_pre1 (:  ~x86)
- lm-sensors/lm-sensors-2.8.7 (:  -sparc)
- sys-libs/glibc-2.3.4.20040808 (:  -*)
- dev-util/cvsd-1.0.2 (:  )
- media-video/ati-gatos-4.3.0 (: package.mask)
- sys-libs/glibc-2.3.2-r11 (: profile) )


    ,     ,   .     ,    ,  ,    .   ,    : 

 ~arch:        .           ; 
 -arch   -*:      .   ,   ,     bugzilla;
 :       .       ,            bugzilla;
package.mask:   ,   - ,    ; 
profile:       .              . 

  

 22:    
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3.4.2-r4".

!!! Problem with ebuild sys-devel/gcc-3.4.2-r2
!!! Possibly a DEPEND/*DEPEND problem.

( emerge:  ,  ">=sys-devel/gcc-3.4.2-r4".

  !!!   ebuild sys-devel/gcc-3.4.2-r2
  !!! ,   DEPEND/*DEPEND. )


,    ,    ,   . , ,      bugzilla,   ,   .     ,    ,     . 




  

 23:     ebuild
!!! The short ebuild name "aterm" is ambiguous.  Please specify
!!! one of the following fully-qualified ebuild names instead:

    dev-libs/aterm
    x11-terms/aterm

( !!!   ebuild "aterm" . , 
  !!!        ebuild:

      dev-libs/aterm
      x11-terms/aterm )


 ,    ,     .     . Portage    . 

 

 24:  Portage   
!!! Error: circular dependencies:

ebuild / net-print/cups-1.1.15-r2 depends on ebuild /
app-text/ghostscript-7.05.3-r1
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild /
net-print/cups-1.1.15-r2

( !!! :  :

  ebuild / net-print/cups-1.1.15-r2   ebuild /
  app-text/ghostscript-7.05.3-r1
  ebuild / app-text/ghostscript-7.05.3-r1   ebuild /
  net-print/cups-1.1.15-r2   )


   ,    ,  ,      .  ,     . ,  ,   ,   .    ,      bugzilla,   ,   . 

 

 25:  Portage   
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing...
(...)
!!! Some fetch errors were encountered.  Please see above for details.

( !!!    sys-libs/ncurses-5.4-r5, ...
  (...)
!!!    .   . )


Portage              ( ).     -   ,  - ,  ebuild    . ,    ,   -  . 

   ,  ,    . 

  

 26:  Portage  ,  
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage'
!!! This could be damaging to your system.

( !!!      . 'sys-apps/portage'
  !!!     . )


   ,       .       ,       . 
2. USE-

2.a.   USE-?

 USE-

 Gentoo (   ,     ),          ,   .       ,        3D-. 

    ,   ,        .     OpenGL,         OpenGL   ?      KDE,      ,      ? 

     ,  /,    ,         .    ,       ,     Portage,    . 

 USE-

 USE-. USE-    ,          .   - USE-, Portage ,      . ,        . 

       kde.     USE   ,   ,   KDE  ,   .  ,    KDE  ,     KDE ( ).       kde,        KDE,  KDE     . 

   ,   ,     . 

 USE- ?

   USE-:   . 
 USE-      .  ,      USE-. 
 USE-         . 

   USE-        /usr/portage/profiles/use.desc. 

  USE-      /usr/portage/profiles/use.local.desc. 

 (JohnBat26):       USE   : Use Flag  Editor  ufed (emerge ufed)

2.b.  USE-

  USE-

 ,      USE-,   ,   . 

  ,  USE-    USE.       ,    USE  ,     USE-,   ,     Gentoo.      make.defaults  . 

,     ,    /etc/make.profile.     ,  ,      .     (/usr/portage/profiles/base). 

        2004.3: 

 1:   USE make.defaults   2004.3
(      base, default-linux,
default-linux/x86  default-linux/x86/2004.3)
USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
     foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad
     mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
     quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"


 ,        .    make.defaults    USE   :        Portage! 

    ,         USE.   ,   USE  /etc/make.conf.        USE-,   .   ,          (-). 

,    KDE  QT,    ldap,    /etc/make.conf  USE  : 

 2:   USE  /etc/make.conf
USE="-kde -qt ldap"


 USE-   

    USE-      ,    .      /etc/portage (   )    /etc/portage/package.use. 

,      berkdb,     mysql: 

 3:  /etc/portage/package.use
dev-db/mysql berkdb


,      USE-   . ,      java  PHP: 

 4:   /etc/portage/package.use
dev-php/php -java


  USE-

   - USE-    .  ,    /etc/make.conf (   USE,   ),    USE   . ,       (     )    ! 

,  java   USE    mozilla. 

 5:  USE    
# USE="-java" emerge mozilla




 ,      USE.      USE="-java"   ,  ,  java    -     .    USE    (   ) : 
 USE  ,    make.defaults    ; 
,    /etc/make.conf ;
,    /etc/portage/package.use ;
,     .

 ,    USE     Portage,  emerge --info.       ( USE),  Portage. 

 6:  emerge --info
# emerge --info


     USE-

    USE-           USE,  emerge   --newuse: 

 7:   
# emerge --update -deep --newuse world


   Portage depclean,    ,    ,        USE-. 
:  emerge --depclean   ,     .       ,     .       -p,  depclean   ,   . 


 8:   
# emerge -p --depclean


 depclean   ,  revdep-rebuild,   ,    ,     . revdep-rebuild    gentoolkit,       . 

 9:  revdep-rebuild
# revdep-rebuild


    ,        USE-. 

2.c. USE-  

  USE-

,  , mozilla   USE-   ?   ,  emerge   --pretend  --verbose: 

 10:   USE 
# emerge --pretend --verbose mozilla
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] www-client/mozilla-1.7.12-r2  USE="crypt gnome java mozsvg ssl
truetype xprint -debug -ipv6 -ldap -mozcalendar -mozdevelop -moznocompose
-moznoirc -moznomail -moznoxft -postgres -xinerama" 0 kB


emerge        .  ,       .   equery     gentoolkit.     : 


 11:  gentoolkit
# emerge gentoolkit


   USE- -   equery   uses.     gnumeric: 

 12:  equery    USE-
# equery uses =gnumeric-1.6.3 -a
[ Searching for packages matching =gnumeric-1.6.3... ]
[ Colour Code : set unset ]
[ Legend        : Left column  (U) - USE flags from make.conf  ]
[               : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/gnumeric-1.6.3 ]
 U I
- - debug   : Tells configure and the makefiles to build for debugging.
                     Effects vary across packages, but generally it will at
                     least add -g to CFLAGS.  Remember to set FEATURES=nostrip too 
- - gnome   : Adds GNOME support
+ + python   : Adds support/bindings for the Python language
- - static   : !!do not set this during bootstrap!! Causes binaries to be
                     statically linked instead of dynamically

3.  Portage

3.a.  Portage

 Portage     (features),       Gentoo.        ,  , ,   .. 

      Portage     /etc/make.conf  FEATURES,     ,  ,   .         . 

    ,  Portage.       make.conf: 

 1:    make.conf
$ man make.conf


 ,     ,  emerge --info    FEATURES (     grep): 

 2:    
$ emerge --info | grep FEATURES


3.b.  

 distcc

distcc  ,    ,   ,   .  distcc        distcc (   distccd),         .      . 

   distcc (      Gentoo)     distcc  Gentoo. 

 distcc

Distcc     ( ),   ,      .    Gnome,   gnome   USE.      Gnome,      ,  gtk   USE. 

 3:  distcc
# emerge distcc


  Portage

 distcc   FEATURES   /etc/make.conf.    MAKEOPTS,   .      -jX,  X    ,    distccd (  )  ;          . 

  distcc-config      distcc.   , ,    DistCC  192.168.1.102 ( ), 192.168.1.103  192.168.1.104 (  ): 

 4:  distcc      distcc
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"


     distccd: 

 5:   distccd
# rc-update add distccd default
# /etc/init.d/distccd start


3.c.  

  ccache

ccache     .    ,     ,   ,       ,    .          510 . 

    ccache, ,    ccache. 

 ccache

  ccache,  emerge ccache: 

 6:  ccache
# emerge ccache


  Portage

 /etc/make.conf   ccache   FEATURES.       CCACHE_SIZE ( ),   ţ  2G: 

 7:  CCACHE_SIZE  /etc/make.conf
CCACHE_SIZE="2G"


   ccache,   ccache. - ,  Portage     ccache,      CCACHE_DIR: 

 8:   ccache
# CCACHE_DIR="/var/tmp/ccache" ccache -s


  ccache    /var/tmp/ccache;    ,   CCACHE_DIR  /etc/make.conf. 

,   ccache    , ${HOME}/.ccache,      (Portage) ccache    CCACHE_DIR. 

 ccache      Portage

    ccache     Portage,  /usr/lib/ccache/bin     PATH ( /usr/bin).   ,  /etc/env.d/00basic,     ,    PATH: 

 9:  /etc/env.d/00basic
PATH="/usr/lib/ccache/bin:/opt/bin"

3.d.   

  ( ) 

Portage      .   ,    Gentoo      (   GRP), Portage       . 

   ,   quickpkg,       ,  emerge   --buildpkg  --buildpkgonly. 

  ,  Portage      ,    ,  buildpkg   FEATURES. 

        catalyst.      catalyst, ,     catalyst (.)     catalyst (.). 

  

  Gentoo   ,          .    ,   Portage       PORTAGE_BINHOST. ,      ftp://buildhost/gentoo: 

 10:  PORTAGE_BINHOST  /etc/make.conf
PORTAGE_BINHOST="ftp://buildhost/gentoo"


   ,    emerge  --getbinpkg    --usepkg.   emerge    c ,  ,    emerge,               . 

,   gnumeric   : 

 11:    gnumeric
# emerge --usepkg --getbinpkg gnumeric


            emerge: 

 12:    emerge
$ man emerge

4.  

4.a.  

  

        .  , ,         .              . 

-,      ,       .    .     ,        ,    init. 

  ,     (  /etc/fstab)     .     ,    /etc/init.d,   ,     . 

, ,    , init   (    ,     ALT+F1, ALT+F2  ..),         agetty.           login. 

 

  init     /etc/init.d     .  ,      /etc/init.d,   ,   .          /etc/runlevels. 

-, init     /etc/init.d,       /etc/runlevels/boot.      ,           ,       . 

  ,   /etc/runlevels/boot,  , init    ,       /etc/runlevels/default.       ,        ;        . 




  init

, init      .    ,    .    /etc/inittab. 

    ,   ,  ,    init      .     /etc/inittab,  : 


 1:     /etc/inittab
si::sysinit:/sbin/rc sysinit


   init   /sbin/rc sysinit   .     /sbin/rc,    ,  init              . 

-, init   ,       /etc/runlevels/boot.    : 

 2:  , 
rc::bootwait:/sbin/rc boot


       rc. ,  ,  rc (boot),       /etc/runlevels. 

 init    ,  ,    .    /etc/inittab  : 

 3:  initdefault
id:3:initdefault:


   (      Gentoo)     3.   , init ,        3: 

 4:   
l0:0:wait:/sbin/rc shutdown
l1:S1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot


 ,   3,       rc (     default). -,  ,  ,   rc,      /etc/runlevels. 

   rc, init    ,            : 

 5:   
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux


   ?

  , init      ,   .      ,     ,     (      [initscript]),   ,        . 

 Gentoo    :      .   sysinit, shutdown  reboot. ,  ,     :  ,     . 

     ,     /etc/runlevels: boot, default, nonetwork  single.  boot   ,       .        : default    , nonetwork    ,    ,  single     . 

   

,   rc,   .    /etc/init.d     start, stop, restart, pause, zap, status, ineed, iuse, needsme, usesme  broken. 

 ,     ( ,   )   start, stop  restart: 

 6:  postfix
# /etc/init.d/postfix start

:      ,    .    (,   ,     )    . 


    ,      ,    pause: 

 7:  postfix    
# /etc/init.d/postfix pause


     (, ,   ..),    status: 

 8:    postfix
# /etc/init.d/postfix status


 ,   ,   ,    ,     stopped (),   zap: 

 9:     postfix
# /etc/init.d/postfix zap


 ,    ,    iuse  ineed.   ineed    ,         .   , iuse   ,     ,      . 

 10:     ,    Postfix
# /etc/init.d/postfix ineed


   ,       (needsme)     (usesme): 

 11:    ,   Postfix
# /etc/init.d/postfix needsme


,    ,   ,    : 

 12:   ,  Postfix,  
# /etc/init.d/postfix broken


4.b.  rc-update

  rc-update?

  Gentoo      ,     . . .    ,    ,     ,   ,       . 

 rc-update,         .  rc-update    depscan.sh    . 

   

   Gentoo         default.    , ,   ,   default    ,      .  rc-update   ,  : add (), del ()  show (). 

 ,     ,   rc-update   add  del,      . : 


 13:  Postfix    default
# rc-update del postfix default


  rc-update show          : 

 14:     
# rc-update show


4.c.  

   ?

     .       , ..       . ,   ,    . ,      . 

 ,               ,      . 

 /etc/conf.d

 Gentoo      :   ,  ,   /etc/conf.d   . ,  ,  apache2 (  /etc/init.d/apache2)    /etc/conf.d/apache2,      ,   Apache 2  : 

 15: ,   /etc/conf.d/apache2
APACHE2_OPTS="-D PHP4"


      ( /etc/make.conf),   .          ( ). 

4.d.   

  ?..

,      , .. Gentoo       . ,    - ,    Portage;   , ,      . 


:   ,   ,       Gentoo:   Gentoo    ,    ! 



     . 

 16:   

#!/sbin/runscript

depend() {
  (  )
}

start() {
  (,    )
}

stop() {
  (,    )
}

restart() {
  (,    )
}


       start().    . 



    : use ()  need ().   , need-  ,  use-.       ,    ,     (virtual) . 

      ,  ,   -  .       ,     (metalogd, syslog-ng,   ..).        (         ),        . 

      postfix. 

 17:    Postfix
depend() {
  need net
  use logger dns
  provide mta
}




  , postfix: 
  (net):  , , , /etc/init.d/net.eth0; 
  (logger):  , , , /etc/init.d/syslog-ng;
   (dns):  , , , /etc/init.d/named); 
   (mta):  ,       . 

 

     ,      ( )  ,      (   :    )        ( :         ).    ,   before ()  after (). 

,     Portmap: 

 18:  depend()  Portmap
depend() {
  need net
  before inetd
  before xinetd
}


    *,       ,    . 

 19:      
depend() {
  before *
}


 

   depend()     start().     ,     .    ebegin  eend     ,  : 

 20:   start()
start() {
  ebegin " - _"
  start-stop-daemon --start --quiet --exec /path/to/my_service
  eend $?
}


      start(), ,     ,    /etc/init.d.    start-stop-daemon,   ,     ,    : 

 21:     start-stop-daemon
# man start-stop-daemon


 ,     stop()  restart().       !  ,  ,         ,    start-stop-daemon. 

  ,   Gentoo,     (Bourne Again Shell  bash),         bash- . 

  

       ,  ,     opts       ,  . ,    restartdelay: 

 22:    restartdelay
opts="${opts} restartdelay"

restartdelay() {
  stop
  sleep 3    #   3    
  start
}


   

      /etc/conf.d     :          (..,     ): 
/etc/conf.d/<  >
/etc/conf.d/basic
/etc/rc.conf

       (, net),    ,    (, /etc/conf.d/net). 

4.e.    

   ?

    :     net.eth0,  ,    net.eth0   (   ).  Gentoo        . 

         ,     .      ,       . 

   (softlevel)

 ,         . ,    offline: 

 23:    
# mkdir /etc/runlevels/offline


         . ,      default,   net.eth0: 

 24:    
(     default   offline)
# cd /etc/runlevels/default
# for service in *; do rc-update add $service offline; done
(     offline)
# rc-update del net.eth0 offline
( ,    offline)
# rc-update show offline
(  )
               acpid | offline
          domainname | offline
               local | offline
            net.eth0 |


    ,     offline. ,   /boot/grub/grub.conf: 

 25:     offline
title   Gentoo Linux
  root (hd0,0)
  kernel (hd0,0)/kernel-2.4.25 root=/dev/hda3 softlevel=offline


,  . ,        ,   default    offline. 



   (bootlevel)

       .     ,      boot  default. 
5.  

5.a.  

  ?

     ,   ,     . 

  (   Linux)       .    :   ,       . 

 

     ,    Linux.     . 

 1.   Linux



PATH
     ,    ,      .       , ls, rc-update  emerge),          ,     (, ,     , , /bin/ls). 
ROOTPATH
     ,    PATH,       ,          root.
LDPATH
     ,  ,      . 
MANPATH
     ,  ,    man   . 
INFODIR
     ,  ,    info  info-. 
PAGER
      ,     ,  less  more. 
EDITOR
      ,    ,  vi  nano. 
KDEDIRS
     ,  ,     KDE. 
CLASSPATH
     ,  ,     Java. 
CONFIG_PROTECT
     ,  Portage  ,  . 
CONFIG_PROTECT_MASK
     ,    Portage  ,   


      : 

 1:  
PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin"
ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
MANPATH="/usr/share/man:/usr/local/share/man"
INFODIR="/usr/share/info:/usr/local/share/info"
PAGER="/usr/bin/less"
EDITOR="/usr/bin/vim"
KDEDIRS="/usr"
CLASSPATH="/opt/blackdown-jre-1.4.1/lib/rt.jar:."
CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /opt/tomcat/conf \
                /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ \
                /usr/share/texmf/tex/platex/config/ /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf"


5.b.   

 /etc/env.d

 ,     ,  Gentoo   /etc/env.d.  Σ   , , 00basic, 05gcc   ,    ,  ,    . 

,   gcc ebuild   05gcc,    : 



 2: /etc/env.d/05gcc
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"
CC="gcc"
CXX="g++"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"


            /etc/profile  - . Gentoo,   ,   ( Portage)     ,       ,   . 

,   gcc,        /etc/env.d/05gcc. 

     Portage,   , .        - . ,  ,  http_proxy.  ,    /etc/profile,      (/etc/env.d/99local)     : 

 3: /etc/env.d/99local
http_proxy="proxy.server.com:8080"


         ,         . 

 env-update

 PATH      /etc/env.d. ,    :   env-update       ,   ( )    ,     . 

 env-update     ,   /etc/env.d,   .        . 

 4:  ,  env-update
         00basic        99kde-env       99local
     +-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"


:    ,     : KDEDIRS, PATH, CLASSPATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH  PRELINK_PATH_MASK.      ,      (    /etc/env.d). 

   env-update    ,    /etc/profile.env (  /etc/profile).  ,    LDPATH  /etc/ld.so.conf.    ldconfig,     /etc/ld.so.cache,   . 

  ,    env-update    ,      . ,   Gentoo, ,      : 

 5:  
# env-update && source /etc/profile

:        ,      .  ,     X11,    source /etc/profile    ,   X,        .       ,     root   /etc/init.d/xdm restart.  ,        ,  X  ,    . 


5.c.   

 

      . ,     /home/my_user/bin     (  )   PATH,     ,        PATH    .       ,  ~/.bashrc  ~/.bash_profile: 

 6:  PATH  ~/.bashrc   
(        )
PATH="${PATH}:/home/my_user/bin:"


   PATH ,        . 

 

     .                  ,     ~/.bashrc   . 

       PATH     export.        ,     . 

 7:    
# export PATH="${PATH}:/home/my_user/tmp/usr/bin"

C.   Portage
1.   

1.a.  Portage

 

 Portage     /etc/make.globals.     ,  ,      .     ,  . 

         ,  Portage    ,     .       /etc/make.profile.  Portage  c   make.defaults      .       /etc/make.profile   . 

       ,   /etc/make.globals  make.defaults.     /etc/make.conf,      .     /etc/make.conf.example.     ,     Portage    . 

 Portage      ,      . 

,  

     /etc/make.profile.      ,     ,    ,    /usr/portage/profiles,             . ,  ,  ,     . 

     Portage,   ,    ,   ,   ( ) ,  .. 

,  

     Portage    ,    ,   /etc/portage.        /etc/portage,       Portage   ! 

 /etc/portage     : 
package.mask,    ,  Portage    ; 
package.unmask,   ,       ,    Gentoo    ; 
package.keywords,   ,      ,   ,          (); 
package.use,    USE-,      ,     . 

    /etc/portage,     ,    ,     Portage: 

 1:    Portage
$ man portage


  Portage   

         Portage         .  Portage       :   ,     ,    Portage,  .. 

        ,       ,    /etc/make.conf.       ,    Portage    ,        . 

      .      , ,      Portage  make.conf: 

 2:    Portage  make.conf
$ man portage
$ man make.conf


1.b.  

 Portage

 Portage ,  ,  /usr/portage.     PORTDIR.     Portage -    (  ),       /etc/make.profile. 

    PORTDIR,       : PKGDIR, DISTDIR, RPMDIR,       PORTDIR.       Portage. 

 

  ,  Portage       ,      .    Portage    ,     /usr/portage/packages.     PKGDIR. 

 

     /usr/portage/distfiles  .    DISTDIR. 

 RPM

  ,  Portage    RPM-,      ebuild (.  Ebuild).   Portage  RPM    /usr/portage/rpm,    RPMDIR. 

  Portage

Portage     (  ,        . .)  /var/db/pkg.     !       Portage. 

 Portage

 Portage (    ,  ,     . .)   /var/cache/edb.     :       ,    ,   Portage. 

1.c.   

  Portage

  Portage     /var/tmp.     PORTAGE_TMPDIR. 

    PORTAGE_TMPDIR,       BUILD_PREFIX,       PORTAGE_TMPDIR.       Portage. 

 

Portage         /var/tmp/portage.     BUILD_PREFIX. 

   

  Portage        (/),    ,    ROOT.         . 

1.d.  

 Ebuild

Portage         ebuild,   ,   PORT_LOGDIR   ,     Portage ( portage).      . 
2.    

2.a.  Portage


  , Portage     ,     /etc/make.conf.            make.conf: 

 1:     make.conf
$ man make.conf


2.b.  

   

 Portage  ,        : 
CFLAGS  CXXFLAGS      C  C++; 
CHOST         ; 
MAKEOPTS   make        .       make      make. 

 USE      ,           . 





 

 Portage  (merge)    ,       . Portage   5-      .  5    CLEAN_DELAY. 

2.c.   

,  Portage

Portage  ,    ,  ,         .     CONFIG_PROTECT. ,     .     . 

,        , ,         ()  . 

   CONFIG_PROTECT    emerge --info: 

 2:   CONFIG_PROTECT
$ emerge --info | grep 'CONFIG_PROTECT='


      ,   Portage,    emerge: 

 3:      
$ emerge --help config


 

       ,    CONFIG_PROTECT_MASK. 

2.d.  

 

        , Portage     .          : 
GENTOO_MIRRORS    ,    (distfiles); 
PORTAGE_BINHOST    ,    (prebuilt packages)   ; 
     rsync,       : 
SYNC  ,   Portage   . 

 GENTOO_MIRRORS  SYNC     mirrorselect.  ,  ,   ,  emerge mirrorselect.        mirrorselect: 

 4:    mirrorselect
# mirrorselect --help


    -,       HTTP_PROXY, FTP_PROXY  RSYNC_PROXY. 

  

 Portage    ,    wget.        FETCHCOMMAND. 

Portage       .    wget,      RESUMECOMMAND. 

,    FETCHCOMMAND  RESUMECOMMAND      .      \${URI}  \${DISTDIR},       distfiles, . 

        ,  FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP,  .. 

 rsync

     rsync,  Portage     ,     ,   : 
RSYNC_EXCLUDEFROM   ,    / ,  rsync     . 
RSYNC_RETRIES ,   rsync     ,     SYNC.    3. 
RSYNC_TIMEOUT   ,    rsync   ,    rsync     .    180,            , ,       300  . 

2.e.  Gentoo

 

     ACCEPT_KEYWORDS.        .     Gento    . 



 Portage

     Portage    FEATURES.  Portage    . 

2.f.  Portage

 

   PORTAGE_NICENESS      nice,    Portage.  PORTAGE_NICENESS     nice. 

    nice    : 

 5:    nice
$ man nice


 

 NOCOLOR (  false) ,   Portage     . 
3.    

3.a.   

 

 ACCEPT_KEYWORDS ,       .        ,  x86 

     . ,           Gentoo,      http://bugs.gentoo.org,  . 

 

      ,     .  Portage    ,  ~    . 

     :  .      ,  ,   ,   ,     .    ,    - .         ,     . 

    ,      ,    ( / ),    (     )    .    ,   Gentoo     ,         . 

 ,       x86,  /etc/make.conf    : 

 1:    ACCEPT_KEYWORDS
ACCEPT_KEYWORDS="~x86"


    ,  ,      .  ,         ,  ,         (,    ). 

3.b.      

 package.keywords

  ,  Portage       ,       .       ,       ,   /etc/portage/package.keywords.      (   )     ,    . ,      gnumeric: 

 2:  /etc/portage/package.keywords  gnumeric,  
app-office/gnumeric ~x86


  

         ,   ,  Portage        ,     package.keywords   .        =.     ,   <=, <, >  >=. 

  ,    ,       .     ,    . 

     Portage   gnumeric-1.2.13: 

 3:     gnumeric
=app-office/gnumeric-1.2.13 ~x86


3.c.   

 package.unmask

 Gentoo      . ,       .   ,    package.unmask / package.mask,   .  . 

      Gentoo,         ,    package.mask (     /usr/portage/profiles),          /etc/portage/package.unmask (     ,   ). 

,  =net-mail/hotwayd-0.8 ,    ,   package.unmask    : 

 4: /etc/portage/package.unmask
=net-mail/hotwayd-0.8


 package.mask

   ,  Portage  -      ,     ,     /etc/portage/package.mask (        ). 

,  ,   ,  Portage     ,  gentoo-sources-2.6.8.1,      package.mask: 

 5:    /etc/portage/package.mask
>sys-kernel/gentoo-sources-2.6.8.1

4.   Portage

4.a. etc-update

etc-update   ,       ._cfg0000_<>.            .   ._cfg0000_<> Portage,      ,   CONFIG_PROTECT. 

 etc-update  : 

 1:  etc-update
# etc-update


   ,       ,  .     : 

 2:  etc-update
Please select a file to edit by entering the corresponding number.
              (-1 to exit) (-3 to auto merge all remaining files)
                           (-5 to auto-merge AND not use 'mv -i'):

(,    ,   .
         (-1 - ) (-3 -    )
                 (-5     'mv -i'): )


  -1, etc-update ,   .    -3  -5,        . ,     ,     .      ,    . 

,    /etc/pear.conf: 

 3:    
Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
[...]
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update 
2) Delete update, keeping original as is 
3) Interactively merge original with update 
4) Show differences again 


      .   ,        ,  1.   ,      ,       ,  2.         ,  3. 

       .   ,    ,        .     ( ,  )  ,          : 

 4: ,    
ed:         ,   
eb:         
el:         
er:         
e:        
l:        
r:        
s:         
v:        ,  
q:      


    ,       . etc-update ,     ,  . 

4.b. dispatch-conf

  dispatch-conf    ,     . dispatch-conf              RCS. 

   etc-update,        ,    ,      . ,  dispatch-conf     : 
  ,     ; 
  ,     . 

,     /etc/dispatch-conf.conf   ,   archive-dir. 

       dispatch-conf: 

 5:    dispatch-conf
$ man dispatch-conf


4.c. quickpkg

 quickpkg     ,    .        .  quickpkg :    ,   . 

,     curl, arts  procps: 

 6:   quickpkg
# quickpkg curl arts procps


     $PKGDIR/All (   /usr/portage/packages/All).  ,    ,   $PKGDIR/<>. 
5.    

5.a.    Portage

 /

     /,    /.      /  rsync    emerge --sync. 

    ,    ,   RSYNC_EXCLUDEFROM    /etc/make.conf. 

 1:      /etc/make.conf
RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes


 2:      /etc/portage/rsync_excludes
games-*/*


, ,        ,          ,     . 

5.b.     ebuild

   

   Portage   ,      Portage.    ( , /usr/local/portage),      ebuild  .       ,      ! 

   PORTDIR_OVERLAY  /etc/make.conf,       .    Portage,        ,    /    emerge --sync. 

    

  ,      ,                ebuild   ,   app-portage/gentoolkit-dev   gensync,         . 

 gensync,              .      /etc/gensync/    .syncsource,       ,  ,   .. 

,          java (   ,   java)  entapps (  ,    ).       : 



 3:  gensync    
# gensync java entapps


5.c. ,   Portage

 Portage    

    ,      ,     Portage,    ,    Portage.            nVidia.    Portage ,    ,     .    ,   Portage   /etc/portage/profile/package.provided. 

,     Portage,   vanilla-sources-2.6.11.6  ,      /etc/portage/profile/package.provided: 

 4:     package.provided
sys-kernel/vanilla-sources-2.6.11.6

6.  ebuild

6.a. Emerge  Ebuild

 ebuild      Portage.           ebuild. ,       . 

 ebuild     ,          (.). ,  ,   ebuild   Portage    ,    - ,    . 

6.b.   

      

 ,    ebuild  - ebuild-,            Manifest  files/digest-<>-<>.      . 

      ebuild, : 

 1:   
# ebuild //-ebuild fetch


   md5      ,     Manifest,             files/digest<>,     ,   : 

 2:    ebuild
!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
>>>  your file's digest: f10392b7c0b2bbc463ad09642606a7d6

(!!!    . (   ) )


     . 

   ,         ebuild  ,   ,    Manifest  digest-<e>,   digest  ebuild: 

 3:    Manifest  digest
# ebuild //-ebuild digest


  

     /var/tmp/portage (   ,   /etc/make.conf),   unpack  ebuild: 

 4:   
# ebuild //-ebuild unpack


    src_unpack()  ebuild (     ,   src_unpack()  ).        . 

  

        .     src_compile()   .  ,   . 

 5:   
# ebuild //-ebuild compile


     ,    src_compile(). ,     Portage,   ,   ebuild   .         .compile   . 

 6:  Portage    
# touch .compiled


    

         .     ,      .     ,     ebuild,    src_install()  . 

 7:  
# ebuild //-ebuild install


     

               Portage.  ebuild    qmerge,    : 
  pkg_preinst(),   ;
      ;
    Portage;
  pkg_postinst(),   ;

  qmerge  ebuild,    : 

 8:      
# ebuild //-ebuild qmerge


  

,    ,   clean  ebuild: 

 9:   
# ebuild //-ebuild clean


6.c.   Ebuild

   


   merge  ebuild,    , , ,      : 

 10:  
# ebuild //-ebuild merge


   

         .      , , ,   .    ,     config()  ,   config  ebuild: 

 11:  
# ebuild //-ebuild config


  (RPM)

   Portage      RPM    ,   package  rpm, .    : 
 package     merge,     (, , , )   ; 
 rpm   RPM        install  ebuild. 

 12:  
(c  ,   Portage)
# ebuild //-ebuild package

(  RPM)
# ebuild //-ebuild rpm


 RPM, ,          ebuild. 

6.d.  


     Portage,  ebuild   ebuild      man: 

 13:  
$ man portage    (  Portage)
$ man emerge     ( emerge)
$ man ebuild     ( ebuild)
$ man 5 ebuild   (  ebuild)


 ,  ,   ,      (.). 

D.    Gentoo
1.  
1.a.   
:   ,          ,      .   ,    eth0,        eth1, wlan0  .. 

: ,     baselayout-1.11.11   . 


     ,      Gentoo RC.       net.lo  net.eth0  /etc/init.d. 

 1:     net.lo  net.eth0
# cd /etc/init.d
# ln -s net.lo net.eth0


  Gentoo RC    .    ,    .       /etc/conf.d/net.      DHCP   . 

 2:   /etc/conf.d/net
#  DHCP
config_eth0=( "dhcp" )

#  IP-,   CIDR
config_eth0=( "192.168.0.7/24" )
routes_eth0=( "default via 192.168.0.1" )

#  IP-,    
config_eth0=( "192.168.0.7 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.0.1" )

:      ,   DHCP. 

: CIDR   Classless InterDomain Routing (  ). ,  IPv4     A, B  C.          ,        . CIDR    ,   IP-   IP-. IP- CIDR    IP-      ; , 192.168.0.0/16. CIDR   RFC 1519. 


,  ,        : 

 3:     
# /etc/init.d/net.eth0 start
# /etc/init.d/net.eth0 stop

:       RC_VERBOSE="yes"  /etc/conf.d/rc       . 


,      ,   ,       Gentoo.    .   rc  Gentoo,            . 

 4:      
# rc-update add net.eth0 default
# rc


2.  
2.a.  

 config_eth0    .         (  , eth0).     .   ,       . 

   : 



null
   
noop
     ,   . 
an IPv4 or IPv6 address
   
dhcp, adsl or apipa(     )
 ,  . , dhcp  ,  . , dhcp  ,  DHCP,    dhcpcd, udhcpc, dhclient  pump. 


        .       . 

  .    . 





 1:  
#    IPv4
config_eth0=(
  "192.168.0.2/24"
  "192.168.0.3/24"
  "192.168.0.4/24"
)

#    IPv4    IPv6
config_eth0=(
  "192.168.0.2/24"
  "4321:0:1:2:3:4:567:89ab"
  "4321:0:1:2:3:4:567:89ac"
)

#  ,  ,   .
#      DHCP.  DHCP  , 
#   ,  APIPA
config_eth0=(
  "noop"
  "dhcp"
)
fallback_eth0=(
  "null"
  "apipa"
)

:    ifconfig    ,       . ,   ,  ,   eth0, eth0:1  eth0:2.       ,    ,     eth0:1  eth0:2   eth0. 

:      !       null,   apipa        noop. 

: APIPA  DHCP  . 



2.b.  

   /etc/init.d              (net).   RC_NET_STRICT_CHECKING  /etc/conf.d/rc,  net    . 



none
 net   
no
   ,       net.*,  net.lo,  .     ,    WIFI    ,  ,           . 
lo
 ,   no,    net.lo.     ,   ,      .
yes
       ,   net  . 

 
   net.br0,   net.eth0  net.eth1? net.eth1     -,        .     /etc/init.d/net.br0,        net.lo. 

      depend()  /etc/conf.d/net. 

 2:  net.br0  /etc/conf.d/net
#     (use, after, before),
#     
depend_br0() {
  need net.eth0 net.eth1
}


           Gentoo. 
2.c.    

   .     variable_${interface|mac|essid|apmac}. ,   dhcpcd_eth0   dhcpcd  eth0,   dhcpcd_essid   dhcpcd,       ESSID essid. 

,     , ,     ethx.  ,      wlanx, rax  ethx.  ,   , , ,    , , foo.   ,        ,    -;   ,          ESSID. 

     ,      Gentoo   bash,  bash     -      .    ,    ,    -,   : _. 

  bash    :     ,     \.     : ", '  \. 

      ESSID,          .   ESSID My "\ NET: 

 3:   
#   ,    
dns_domain_My____NET="My \"\\ NET"

#     dns  My "\ NET  
#        ESSID My "\ NET.

3.   
3.a.  

C     .  ,             ,    . 

 ,     ,  , .   ,     ,     ,    .  ,     ,    ,      ,       . 

:      /etc/conf.d/net,     . 


 1:  
#  iproute2,   ifconfig
modules=( "iproute2" )

#        
#    udhcpc,   dhcpcd
modules_eth0=( "udhcpc" )

#   ,     : ,
# ,   supplicant  linux-wlan-ng  
#   ,      
#      ESSID
modules=( "!iwconfig" )

3.b.  

     : ifconfig  iproute2.         . 

ifconfig   Gentoo   ,     . 
iproute2      ,        . 

 2:  iproute2
# emerge sys-apps/iproute2

#  iproute2,   ifconfig,   
modules=( "iproute2" )


   ifconfig  iproute2    ,       . ,         ,   . 

 3:  ifconfig  iproute2
config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

#     
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )


3.c. DHCP

DHCP       ( IP,  DNS,   ..)  .  ,       DHCP,      ,    DHCP,     . ,      ( ,  -  ..),       DHCP. 

 DHCP  dhclient, dhcpcd, pump  udhcpc.    DHCP     :     .












  DHCP



dhclient
net-misc/dhcp
 ISC,   ,   BIND DNS.   . 
  ,   ,       NTP  DHCP,      . 
dhcpcd
net-misc/dhcpcd
  Gentoo  ,     . 
   ,    ,        .
pump
net-misc/pump
,     . 
   , ,   ,       NIS  DHCP.
udhcpc
net-misc/udhcp
;    DHCP,    .
           ;      3 . 


      DHCP ,   ,  ;     dhcpcd,  . 

     DHCP,  _eth0="..." (      DHCP, , dhcpcd_eth0). 

   DHCP  :  ,    ,    dhcp_eth0.        . 
release   IP-    
nodns    /etc/resolv.conf 
nontp    /etc/ntp.conf 
nonis    /etc/yp.conf 

 4:   DHCP  /etc/conf.d/net
#        DHCP
modules=( "dhcpcd" )

config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10" #   10 
dhcp_eth0="release nodns nontp nonis" #   

:  , dhcpcd, udhcpc  pump      DHCP,      . 


3.d.  ADSL

      ADSL. 

 5:   rp-pppoe
# emerge net-dialup/rp-pppoe

:  baselayout-1.11.x   PPPoE. ,       PPPoA. 


   ,   eth0  ADSL-,     ,  /etc/conf.d/net. 

 6:  eth0  ADSL  /etc/conf.d/net
                           	
config_eth0=( "adsl" )
adsl_user_eth0="-"


,        /etc/ppp/pap-secrets. 

 7:  /etc/ppp/pap-secrets
# * 
""  *  ""


3.e. APIPA (  IP-)

 2APIPA       169.254.0.0-169.254.255.255,            arp.   ,   . 

     ,    DHCP,     ,      APIPA. 

  APIPA  net-misc/iputils  net-analyzer/arping. 

 8:  APIPA  /etc/conf.d/net
#   DHCP,     APIPA
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )

#   APIPA
config_eth0=( "apipa" )


3.f.  

     (bonding)  net-misc/ifenslave. 

      .       ,       ,   ,        ,       . 

 9:    /etc/conf.d/net
#  
slaves_bond0="eth0 eth1 eth2"

#       IP  
config_bond0=( "null" )

#    eth0, eth1  eth2,     
#  
depend_bond0() {
need net.eth0 net.eth1 net.eth2
}


3.g.   ( 802.1d)

    net-misc/bridge-utils. 

    . ,     ,     ADSL-,           ADSL   .    ,   . 

 10:    /etc/conf.d/net
#  :   "man btctl"
brctl_br0=( "setfd 0" "sethello 0" "stp off" )

#     br0
bridge_br0="eth0 eth1"

#    "null",    dhcp
config_eth0=( "null" )
config_eth1=( "null" )

# ,   ;    DHCP
config_br0=( "192.168.0.1/24" )

#    eth0  eth1,     
#  
depend_br0() {
need net.eth0 net.eth1
}

:              . 


3.h. MAC-

  MAC-       ,    sys-apps/baselayout-1.11.14  ,     MAC-  - . ,     MAC-  ,   baselayout   ,        emerge net-analyzer/macchanger. 

 11:   MAC-
#  MAC- 
mac_eth0="00:11:22:33:44:55"

#    3  
mac_eth0="random-ending"

#        
#    (, , )  
mac_eth0="random-samekind"

#         
#  (, , )  
mac_eth0="random-anykind"

#  ; ,  MAC-, 
#  ,     ,  
mac_eth0="random-full"


3.i.  

       ,       . 

 12:    /etc/conf.d/net
#   GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

#   IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

#   
config_vpn0=( "192.168.0.2 peer 192.168.1.1" )


3.j.   ( 802.1q)

  VLAN,  net-misc/vconfig. 

   (VLAN)     ,   ,       ,     .  VLAN      VLAN         . 

 13: VLAN configuration in /etc/conf.d/net
#   VLAN  
# , ,    VLAN   
vlans_eth0="1 2"

#    VLAN
#     man vconfig
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

#    
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

:     VLAN         . 

4.  
4.a. 

          wireless-tools  wpa_supplicant.  ,       ,    ̣ . 

wpa_supplicant   ,      .       wpa_suppliant.  ,  wpa_supplicant      ,  SSID  . 

wireless-tools      ,       ,    WPA.
 
:  linux-wlan-ng       baselayout.  - ,   linux-wlan-ng      ,      .  linux-wlan-ng,  ,       wireless-tools;   ,    linux-wlan-ng  baselayout. 


4.b.  WPA

 WPA (WPA Supplicant)  ,        WPA.     ,     ,     -. 

 1:  wpa_supplicant
# emerge net-wireless/wpa_supplicant

:   wpa_supplicant       CONFIG_PACKET. 


    /etc/conf.d/net   wpa_supplicant    wireless-tools ( ,    ,  wireless-tools). 

 2:  /etc/conf.d/net  wpa_supplicant
#  wpa_supplicant
modules=( "wpa_supplicant" )

#   wpa_supplicant,    ,
#         

wpa_supplicant_eth0="-D-wifi"

:     host-ap,         (managed mode),        wpa_supplicant.     iwconfig_eth0="mode managed"  /etc/conf.d/net. 


  ,   ? ,     wpa_supplicant,   .       ,     .      /etc/wpa_supplicant.conf.example,    wpa_supplicant. 

 3:  /etc/wpa_supplicant.conf
#    ,     
ctrl_interface=/var/run/wpa_supplicant

#     WPA   root
ctrl_interface_group=0

#  wpa_supplicant       
ap_scan=1

#  : WPA-PSK,   -  ,
#    
network={
  ssid=""
  psk="  "
  #   ,   
  priority=5
}

#   ,       SSID
# (  ,   SSID)
network={
  ssid=" ssid"
  scan_ssid=1
  psk="  "
  priority=2
}

#   WPA-PSK;     

network={
  ssid=""
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
  priority=2
}

#     ( WPA,  IEEE #802.1X)

network={
  ssid="--"
  key_mgmt=NONE
}

#     WEP ( WPA,  IEEE #802.1X)
network={
  ssid="--wep"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
}

#     WEP ( WPA,  IEEE #802.1X),
#  c    IEEE 802.11
network={
  ssid="2--wep"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
  auth_alg=SHARED
}

#  IBSS/ad-hoc  WPA-None/TKIP
network={
  ssid=" adhoc"
  mode=1
  proto=WPA
  key_mgmt=WPA-NONE
  pairwise=NONE
  group=TKIP
  psk=" "
}


4.c.  Wireless tools

    

Wireless Tools       ,    WEP.  WEP    ,   . 

  Wireless Tools    .    ,  ,  ,   .  ,             .        -. 

 4:  wireless-tools
# emerge net-wireless/wireless-tools

:           /etc/conf.d/wireless,       /etc/conf.d/net. 

:        . 


 5:   iwconfig /etc/conf.d/net
#   iwconfig  wpa_supplicant
modules=( "iwconfig" )

#   WEP    ESSID1  ESSID2
#    4  WEP,   1    
# ,       [1],    [1],
#   ,      [1].
#  ,     ESSID   WEP-, 
#   [1].
#
#  s:   ,   ,  - 
# 
#
# enc open    ( )
# enc restricted    ( )
key_ESSID1="[1] s:-- key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"
#
#        .

#     ,   
#   
preferred_aps=( "ESSID1" "ESSID2" )


    

          ,     . 

 ,       ,  .  ,         ,         ,   .      associate_order.         :















any
  
preferredonly
       
forcepreferred
       ,       
forcepreferredonly
   ,        
forceany
 ,   forcepreferred +       




,    blacklist_aps  unique_ap. blacklist_aps   preferred_aps. unique_ap   yes  no, ,           ,   . 

 6:  blacklist_aps  unique_ap
#      
#    
blacklist_aps=( "ESSID3" "ESSID4" )

#      ,  ,   
#        
#  - "yes"  "no"
#   - "yes"
unique_ap="yes"


    

      (ad hoc),            ,   . 

 7:     
adhoc_essid_eth0="  "


     Ad-Hoc      (master),    ?      !     WEP-,   . 

 8:   ad-hoc/master
#  :  managed (,  ),
# ad-hoc ()   master ().     
#   
mode_eth0="ad-hoc"

#  ESSID 
#         
# ESSID,   
essid_eth0="  "

#   ,   3
channel_eth0="9"

:       BSD wavelan,    NetBSD.  14 .  ,     1  11     ,   1  13     ,   10  13   ,    14   .     ,         .          (     ad-hoc).    ,        ,   3;  ,      11;  ,      14. 


   wireless tools

  ,           ,  -      .     ,   :


  

iwconfig_eth0

     iwconfig     iwconfig. 
iwpriv_eth0

     iwpriv     iwpriv 
sleep_scan_eth0
0
      . ,            .
sleep_associate_eth0
5
       ( )     
associate_test_eth0
MAC
    MAC-,     ,     .            .  : MAC, quality  all. 
scan_mode_eth0

      ad-hoc.    ,    ad-hoc.
iwpriv_scan_pre_eth0

    iwpriv  .        iwpriv. 
iwpriv_scan_post_eth0

    iwpriv  .        iwpriv. 


4.d.     ESSID

   IP    ESSID1,  DHCP    ESSID2.  ,        ESSID.    : 

:     WPA Supplicant  Wireless Tools. 

:        . 


 9:     ESSID
config_ESSID1=( "192.168.0.3/24 brd 192.168.0.255" )
routes_ESSID1=( "default via 192.168.0.1" )

config_ESSID2=( "dhcp" )
fallback_ESSID2=( "192.168.3.4/24" )
fallback_route_ESSID2=( "default via 192.168.3.1" )

#       .
# : DHCP  ,    
dns_servers_ESSID1=( "192.168.0.1" "192.168.0.2" )
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"

#    -  ;
#  ,          ESSID
config_001122334455=( "dhcp" )
dhcpcd_001122334455="-t 10"
dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )

5.  
5.a.  -

   ,      (start)   (stop).      ,           . 

   ,       ,    preup()  predown()    ().  preup()   ,   .  predown()   ,     . 

   postup()  postdown() ,       . 

${IFACE}   / . 
${IFVAR}    ${IFACE},    ,   bash. 

 1:   / /
preup() {
  #      . 
  #         
  #   mii-diag.
  if mii-tool ${IFACE} 2> /dev/null | grep -q 'no link'; then
    ewarn " ${IFACE}  ,  "
    return 1
  fi

  #      . 
  #         
  #   ethtool.
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn " ${IFACE}  ,  "
    return 1
  fi

  #    0  
  return 0
}

predown() {
  #    -    NFS
  #       . , 
  #   predown(),    . 
  #  ,      ...
  if is_net_fs /; then
    eerror "     -  ${IFACE} "
    return 1
  fi

  #    0  
  return 0
}

postup() {
  #    , ,   
  #   DNS.   - /  
  #  .
       return 0
}

postdown() {
  #       ...   ,
  #       ;-)
  return 0
}






5.b. - wireless tools
:      WPA Supplicant,   ${ESSID}  ${ESSIDVAR}    postup(). 


   ,       (associate).       ,           . 

   ,       ,    preassociate()    ().  preassociate()   ,   . 

   postassociate() ,       . 

${ESSID}   ESSID  ,    . ${ESSIDVAR}   ${ESSID},    ,   bash. 

 2:  / 
preassociate() {
  #     , leap_user_ESSID
  #  leap_pass_ESSID.       ESSID,
  #    CISCO LEAP

  local user pass
  eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
  eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"

  if [[ -n ${user} && -n ${pass} ]]; then
    if [[ ! -x /opt/cisco/bin/leapscript ]]; then
      eend "  LEAP,  emerge net-misc/cisco-aironet-client-utils"
      return 1
    fi
    einfo "  LEAP  \"${ESSID//\\\\//}\""
    if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
      ewarn "  ${user}  "
      return 1
    fi
  fi

  return 0
}

postassociate() {
  #       ...   ,
  #       ;-)

  return 0
}

: ${ESSID}  ${ESSIDVAR}    predown()  postdown(). 


6.  
6.a.  

      ,            Ethernet     .    ,    ,       Ethernet     . 

    ,    . 

:       ifplugd,     , , quickswitch. 


6.b. ifplugd

ifplugd   ,             Ethernet.       c       . 

 1:  ifplugd
# emerge sys-apps/ifplugd


 ifplugd    .     : /etc/conf.d/ifplugd.       man ifplugd. 

 2:   ifplug
#    
INTERFACES="eth0"

AUTO="no"
BEEP="yes"
IGNORE_FAIL="yes"
IGNORE_FAIL_POSITIVE="no"
IGNORE_RETVAL="yes"
POLL_TIME="1"
DELAY_UP="0"
DELAY_DOWN="0"
API_MODE="auto"
SHUTDOWN="no"
WAIT_ON_FORK="no"
MONITOR="no"
ARGS=""

#   ifplugd   .
# ,    ,   
#   
MONITOR_wlan0="yes"
DELAY_UP_wlan0="5"
DELAY_DOWN_wlan0="5"

    Gentoo

  : http://www.gentoo.org/doc/ru/security/
C : 1.3

     ,  Gentoo Linux     ,       . 
           Gentoo,        Gentoo  Hardened Gentoo Project (.).

A.  
1.    
1.a.  
   , ,     ,    .   , -              .      ,          .      ,          .      ,            ,    BIOS          BIOS.       LILO  GRUB,          ,     .      ,    GRUB    LILO . 
1.b.  /
   ,     .                .  ,    ,        ,         .        ,  , , sshd. 
       .  , ,    ,       ,   -        .

1.c.   
  : 
  ,        (, /home, /tmp),         .        - . Portage  /var/tmp  ,       
  ,            ,     .     (.),  /opt  /usr/local.   ,       
         ,    .    ,    , , - 
1.d.  root
  ( root)    ,         .       ,         . 
   root 
     ,       ,     wheel.             su 
   X      root.        :     ,    ,      .       ,    . 
    ,     (    su -,       ,    PATH    ,  /bin  /sbin).           .  PATH        ,    ,     
         ,      root,    sudo.   ,       ! 
     ,       root 
 Gentoo        ,    su   .    PAM ,      wheel  ,    su. 
1.e.  
          . 
x         ,       . ,       telnet,       ,    FTP,    .     ,     ,     
  ,     ,    ,   ,        ,      .                         
           .   ,   ,     (,         ),         
        ,  ,  ,   ,          .     ,          ,           
,          . 
         ,      (,    ),    ,     ,  . .         ,    ,       .   ,     , ,    ,   ,       (        ).         ,      (    ). 
:  ,          . 
        : 
  
  
   
    
,     
   
    (   ,     ) 
         
    
   
    
      
      
        
         ,      ,    . 
       .    -   ,    .         , ,  ,  ,    ,   . 
         SANS (.).     ,   ,     ,        (Site Security Handbook) (.). 
2.  
2.a. USE-
 Gentoo Linux  make.conf  USE-,  ,  /etc/make.profile/make.defaults  USE-  .      pam (Pluggable Authentication Modules    ), tcpd ( TCP)  ssl (Secure Socket Layer).     USE-  . 
2.b.  GRUB 
 GRUB       .     ,        md5+salt. 

ǚ1: /boot/grub/grub.conf
timeout 5
password changeme
      changeme.       ,  GRUB     . 
   MD5           ,     /etc/shadow.      man crypt.  ,  changeme,    : $1$T7/dgdIJ$dJM.n2wZ8RG.oEiIOwJUs. 
      GRUB: 

ǚ2: md5crypt   grub
#/sbin/grub

GRUB version 0.92 (640K lower / 3072K upper memory)

   [ Minimal BASH-like line editing is supported. For the first word, TAB lists
     possible command completions. Anywhere else TAB lists the possible
     completions of a device/filename. ]

grub> md5crypt

Password: ********
(   changeme)
Encrypted: $1$T7/dgdIJ$dJM.n2wZ8RG.oEiIOwJUs.

grub> quit
     /boot/grub/grub.conf. 

ǚ3: /boot/grub/grub.conf
timeout 5
password --md5 $1$T7/dgdIJ$dJM.n2wZ8RG.oEiIOwJUs.
  5    ,    ,       .      GRUB   ,  info grub. 
2.c.  LILO 
 LILO        :     ,        . 
            : 

ǚ4: /etc/lilo.conf
password=changeme
restricted
delay=3
      : 

ǚ5: /etc/lilo.conf
image=/boot/bzImage
      read-only
      password=changeme
      restricted
  restricted  ,       . 
      lilo.conf,   /sbin/lilo. 
2.d.    
   /etc/securetty  ,     (tty)     . 
   ,  vc/1 (   devfs),   tty1 (   udev).                . 
: ,    wheel -   su -,   ,    . 

ǚ6: /etc/securetty
( devfs)
vc/1
( udev)
tty1
3. 
3.a. 
    ,         ,    .           . 
 ,        .  Gentoo Linux      3   . 
3.b. : Syslogd
Syslogd       Linux  Unix.     ,   /usr/sbin/logrotate     (logrotate     /etc/logrotate.conf)   ,    logrotate    .        . 
    syslog.conf   .    cron  tty,     .           . 

ǚ1: /etc/syslog.conf
#  /etc/syslog.conf       syslogd.
#
#                           
#                         syslog.conf(5).
#                         Debian,   
#                       Daniel Robbins, 5/15/99

#
#    .    .
#

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          /var/log/mail.log
user.*                          -/var/log/user.log
uucp.*                          -/var/log/uucp.log
local6.debug                    /var/log/imapd.log

#
#   .   , 
#       .
#
mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

#    INN
#
news.crit                       /var/log/news/news.crit
news.err                        /var/log/news/news.err
news.notice                     -/var/log/news/news.notice

#
# ,    " ".
#
*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages

#
#    ,   .
#
*.emerg                         *
*.=alert                        *

#
#      ,     
# ,     .
#
daemon,mail.*;\
       news.=crit;news.=err;news.=notice;\
       *.=debug;*.=info;\
       *.=notice;*.=warn       /dev/tty8

#    
*.*                        @logserver

#   /dev/xconsole -   `xconsole'.  ,
#   `xconsole'   `-file':
#
#    $ xconsole -file /dev/xconsole [...]
#
# :  ,  ,     , 
#          ..
#
#daemon.*,mail.*;\
#       news.crit;news.err;news.notice;\
#       *.=debug;*.=info;\
#       *.=notice;*.=warn       |/dev/xconsole

local2.*                --/var/log/ppp.log
,  ,      ,     .    ,         ,    .    syslogd ,  man syslog.

3.c. Metalog
Metalog,  Frank Dennis,       ,   ,       .       , ,  (  syslogd),     ,           .       . 
   .  ,         ,     . 
 postfix: 

ǚ2: /usr/local/sbin/mail_pwd_failures.sh  postfix
#! /bin/sh
echo "$3" | mail -s "Warning (program : $2)" root
 netqmail: 

ǚ3: /usr/local/sbin/mail_pwd_failures.sh for netqmail
#!/bin/sh
echo "To: root
Subject:Failure (Warning: $2)
$3
" | /var/qmail/bin/qmail-inject -f root
      /bin/chmod +x /usr/local/sbin/mail_pwd_failures.sh. 
   /etc/metalog/metalog.conf    Password failures: 

ǚ4: /etc/metalog/metalog.conf
command  = "/usr/local/sbin/mail_pwd_failures.sh"
3.d. Syslog-ng
Syslog-ng,   ,    ,   syslog  metalog.         ( metalog),   ,  syslog,  ,   syslogd (   Solaris),   TTY,  ,    .  ,           . 
      . 

ǚ5: /etc/syslog-ng/syslog-ng.conf
options { chain_hostnames(off); sync(0); };

#,   
source src { unix-stream("/dev/log"); internal(); };
source kernsrc { file("/proc/kmsg"); };

#
destination authlog { file("/var/log/auth.log"); };
destination syslog { file("/var/log/syslog"); };
destination cron { file("/var/log/cron.log"); };
destination daemon { file("/var/log/daemon.log"); };
destination kern { file("/var/log/kern.log"); };
destination lpr { file("/var/log/lpr.log"); };
destination user { file("/var/log/user.log"); };
destination mail { file("/var/log/mail.log"); };

destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };

destination newscrit { file("/var/log/news/news.crit"); };
destination newserr { file("/var/log/news/news.err"); };
destination newsnotice { file("/var/log/news/news.notice"); };

destination debug { file("/var/log/debug"); };
destination messages { file("/var/log/messages"); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12"); };
destination xconsole { pipe("/dev/xconsole"); };

# 
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, mail); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_lpr { facility(lpr); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn)
        and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
filter f_failed { match("failed"); };
filter f_denied { match("denied"); };

#   
log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_syslog); destination(syslog); };
log { source(src); filter(f_cron); destination(cron); };
log { source(src); filter(f_daemon); destination(daemon); };
log { source(kernsrc); filter(f_kern); destination(kern); };
log { source(src); filter(f_lpr); destination(lpr); };
log { source(src); filter(f_mail); destination(mail); };
log { source(src); filter(f_user); destination(user); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };

log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_emergency); destination(console); };

#  
log { source(src); destination(console_all); };
Syslog-ng   ,       -    ,     .     , , , ,       (MAC  mandatory access control).          ,       . 
    syslog-ng    :       ! 
3.e.     Logcheck
 ,      .   Logcheck      . Logcheck   ,      logtail,   cron          .             . 
Logcheck  logtail     app-admin/logsentry. 
Logcheck          .    logcheck.hacking,   ,   , logcheck.violations,  ,    , logcheck.violations.ignore,   ,      ,    ,  logcheck.ignore,  ,   . 
:   logcheck.violations.ignore .    Logcheck  grep,         (wildcard).       . 
4.  
4.a.  
      ext2, ext3  reiserfs       /etc/fstab.  : 
nosuid       SUID,     
noexec        
nodev     
 ,     ,   .   ,  noexec  /tmp      ,       /tmp. 

ǚ1: /etc/fstab
/dev/sda1 /boot ext2 noauto,noatime 1 1
/dev/sda2 none swap sw 0 0
/dev/sda3 / reiserfs notail,noatime 0 0
/dev/sda4 /tmp reiserfs notail,noatime,nodev,nosuid,noexec 0 0
/dev/sda5 /var reiserfs notail,noatime,nodev 0 0
/dev/sda6 /home reiserfs notail,noatime,nodev,nosuid 0 0
/dev/sda7 /usr reiserfs notail,noatime,nodev,ro 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
:  /tmp   noexec      . 
:         . 
:     /var  noexec  nosuid,          ,   netqmail   /var/qmail            SUID.   /usr     ,        ,    Gentoo.        -,          . 
:      netqmail, Gentoo        /var/tmp,    ebuild   .          /var   noexec,      . 
5.  /
5.a. /etc/security/limits.conf
                          .              ,     . 

ǚ1: /etc/security/limits.conf
*    soft core 0
*    hard core 0
*    hard nproc 15
*    hard rss 10000
*    -    maxlogins 2
@dev hard core 100000
@dev soft nproc 20
@dev hard nproc 35
@dev -    maxlogins 10
    nproc  maxlogins  0,  , ,     .       dev  ,    maxlogins.       . 
: /etc/security/limits.conf    PAM     ,  PAM. 
5.b. /etc/limits
/etc/limits      /etc/security/limits.conf.    ,        (   ).   : 

ǚ2: /etc/limits
*   L2 C0 U15 R10000
kn L10 C100000 U35
          kn. limits    sys-apps/shadow.    pam  make.conf,     -    . 
5.c. 
: ,      .     ReiserFS,     ,    Namesys.        Linux DiskQuota project.      ReiserFS    .   ! 
              .             /etc/fstab.         File systems->Quota support.   ,         . 
   ,  emerge quota.   /etc/fstab   usrquota  grpquota  ,     , ,     . 

ǚ3: /etc/fstab
/dev/sda1 /boot ext2 noauto,noatime 1 1
/dev/sda2 none swap sw 0 0
/dev/sda3 / reiserfs notail,noatime 0 0
/dev/sda4 /tmp ext3 noatime,nodev,nosuid,noexec,usrquota,grpquota 0 0
/dev/sda5 /var ext3 noatime,nodev,usrquota,grpquota 0 0
/dev/sda6 /home ext3 noatime,nodev,nosuid,usrquota,grpquota 0 0
/dev/sda7 /usr reiserfs notail,noatime,nodev,ro 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
   ,    ,   (aquota.user  aquota.group)        . 

ǚ4:   
# touch /tmp/aquota.user
# touch /tmp/aquota.group
# chmod 600 /tmp/aquota.user
# chmod 600 /tmp/aquota.group
     ,    .            quota    . 
: XFS    ,        quota    .    ,     ,   ,        ,  ,  ,     . 

ǚ5:      
# rc-update add quota boot
        ,     /etc/crontab: 

ǚ6:     crontab
0 3 * * 0 /usr/sbin/quotacheck -avug.
 ,       .    edquota -u kn  ,   $EDITOR (  nano)      kn. edquota -g      . 

ǚ7:     kn
Quotas for user kn:
/dev/sda4: blocks in use: 2594, limits (soft = 5000, hard = 6500)
         inodes in use: 356, limits (soft = 1000, hard = 1500)
     man edquota  Quota miniHOWTO. 
5.d. /etc/login.defs
  ,         ,    PASS_MAX_DAYS  14  PASS_WARN_AGE  7.    ,    ,          ,    .    LOG_OK_LOGINS   yes. 
5.e. /etc/login.access
 login.access     sys-apps/shadow,      .      ,   ,     ,    .           ,        .    ,        ,     ,  ,   ( ),      . 
:      . 

ǚ8: /etc/login.access
-:ALL EXCEPT wheel sync:console
-:wheel:ALL EXCEPT LOCAL .gentoo.org
:   ,  ,        ,        ,    . 
:      SSH,      SSH   /bin/login.        UseLogin yes   /etc/ssh/sshd_config. 
       ,     wheel         gentoo.org. ,  ,     ,    . 
6.    
6.a. ,     
          .         -            .        .   ,       ,     0600        chown. 
6.b. ,        

ǚ1:  ,    
# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; 2>/dev/null >writable.txt
# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; 2>/dev/null >>writable.txt
    ,   ,          .      ,     /bin/chmod o-w. 
6.c.  SUID/SGID
   SUID  SGID        ,       .     ,          .  ,   ,       .    ,           SUID  SGID.      ,     chmod 0   ,    (,     ,     equery;      , ,   ,   emerge gentoolkit).     SUID   chmod -s. 

ǚ2:    setuid
# find / -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \; 2>/dev/null >suidfiles.txt
   ,    SUID/SGID-. 

ǚ3:    setuid
/bin/su
/bin/ping
/bin/mount
/bin/umount
/var/qmail/bin/qmail-queue
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/crontab
/usr/bin/chage
/usr/bin/expiry
/usr/bin/sperl5.6.1
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/suidperl
/usr/lib/misc/pt_chown
/usr/sbin/unix_chkpwd
/usr/sbin/traceroute
/usr/sbin/pwdb_chkpwd
   Gentoo Linux       SUID (      ),      ,  .     .  SUID-  ping, mount, umount, chfn, chsh, newgrp, suidperl, pt_chown  traceroute,      chmod -s.     su, qmail-queue  unix_chkpwd.  setuid   ,        .   (,   ),      ( )       . 
      SUID-: su, passwd, gpasswd, qmail-queue, unix_chkpwd  pwdb_chkpwd.      X-,       ,   X   ,      SUID. 
6.d. SUID/SGID-   
       ,    ,   .    ,    ,   (, /usr/bin/perl)       inode,    .       ,        ,   . 
       ,      nosuid  noexec (,  /tmp, /home, /var/tmp    ),   ,           SUID-  SGID-,          . 
:        ,         ,     SUID/SGID-,       .        ,    .           SUID          (,    noexec),      . 
:        ,     ,         ,   . 
 ,    ,     stat. 

ǚ4:  stat
$ stat /bin/su
  File: `/bin/su'
  Size: 29350           Blocks: 64         IO Block: 131072 regular file
Device: 900h/2304d      Inode: 2057419     Links: 1
Access: (4711/-rws--x--x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-02-07 01:59:35.000000000 +0000
Modify: 2004-11-04 01:46:17.000000000 +0000
Change: 2004-11-04 01:46:17.000000000 +0000
    SUID  SGID   ,     find. 

ǚ5:  suid/sgid-   
$ find / -type f \( -perm -004000 -o -perm -002000 \) -links +1 -ls
7. PAM
7.a. PAM
PAM    ,       . USE- pam    .   PAM  Gentoo Linux  ,    - .    cracklib. 

ǚ1:  cracklib
# emerge cracklib

ǚ2: /etc/pam.d/passwd
auth     required pam_unix.so shadow nullok
account  required pam_unix.so
password required pam_cracklib.so difok=3 retry=3 minlen=8 dcredit=2 ocredit=2
password required pam_unix.so md5 use_authtok
session  required pam_unix.so
    cracklib    ,        8 ,       2 , 2      3 ,     .       .   PAM   . 

ǚ3: /etc/pam.d/sshd
auth     required pam_unix.so nullok
auth     required pam_shells.so
auth     required pam_nologin.so
auth     required pam_env.so
account  required pam_unix.so
password required pam_cracklib.so difok=3 retry=3 minlen=8 dcredit=2 ocredit=2 use_authtok
password required pam_unix.so shadow md5
session  required pam_unix.so
session  required pam_limits.so
 ,       PAM   /etc/pam.d,   ,   /etc/pam.d/other.     deny,    .    ,   pam_warn.so.     pam_limits,     /etc/security/limits.conf. .  /etc/security/limits.conf     . 

ǚ4: /etc/pam.d/other
auth     required pam_deny.so
auth     required pam_warn.so
account  required pam_deny.so
account  required pam_warn.so
password required pam_deny.so
password required pam_warn.so
session  required pam_deny.so
session  required pam_warn.so
8.  TCP
8.a.  TCP
       inetd (  Gentoo ),      xinetd   . 
:       tcpd     (  xinetd). .   xinetd   . 

ǚ1: /etc/hosts.deny
ALL:PARANOID

ǚ2: /etc/hosts.allow
ALL: LOCAL @wheel
time: LOCAL, .gentoo.org
  ,        /etc/login.access. Tcpd   ;      /etc/login.access.      ,   TCP. 
       (         ),    ,   ,   ,    . ,    ,      ,  -    ,      DoS-,    . -    -    ,    !  man 5 hosts_access   . 
9.  
9.a.  
        .      ,      ,        . 
     .     ,        ,       .

9.b.   proc
          /proc  sysctl. 
         ,      CONFIG_SYSCTL.        2.4. 

ǚ1:  IP-
# /bin/echo "0" > /proc/sys/net/ipv4/ip_forward
,   IP- .      ,     .            . 

ǚ2:   ping
# /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
       ping (ICMP-  0). IP-,  ICMP-,        ,      ,    .   ping       ,   ,       .   ,       ping,     ICMP  0    (       ). 

ǚ3:    ping
# /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
     ICMP-,   Smurf-. Smurf-    ICMP-  0 (ping)    .       .       ping,       ,    . 

ǚ4:    .
# /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
    .        ,    ,       ,     .       ,     . 

ǚ5:   
# /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
# /bin/echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects
  ICMP- . ICMP-        . 

ǚ6:      
# /bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
       . 

ǚ7:    
# for i in /proc/sys/net/ipv4/conf/*; do
        /bin/echo "1" > $i/rp_filter
done
   .    ,      ,       ,             ,    .     IP-.       net/ipv4/conf/*,        . 
:               (       )        IP-   . 

ǚ8:   ,     
# /bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
  ,       . 
      .     /etc/sysctl.conf,       /etc/init.d/bootmisc. 
 /etc/sysctl.conf  .     /proc/sys/   /  .: 

ǚ9:    sysctl.conf
(    echo:)
/bin/echo "0" > /proc/sys/net/ipv4/ip_forward

(   sysctl.conf:)
net.ipv4.ip_forward = 0
9.c. Grsecurity
  Grsecurity   sys-kernel/hardened-sources,    .   ,     Grsecurity.     Grsecurity       Gentoo. 
  hardened-sources  Grsecurity  2.*.       Grsecurity   ,     Grsecurity. 
9.d. Kerneli
Kerneli   ,       .     ,     ,   ,      . 
:     kerneli    ,      . 
9.e.    
 OpenWall 
Linux Intrusion Detection System 
Rule Set Based Access Control 
NSA's security enhanced kernel 
Wolk 
  . 
10.  
10.a. Apache
Apache        ,       , ,   Apache   .   ,       . 
     ssl  /etc/make.conf   Apache,           SSL.   ,    . 

ǚ1: /etc/conf.d/apache
HTTPD_OPTS="-D SSL"

ǚ2: /etc/apache/conf/apache.conf
#  IP  
Listen 127.0.0.1
BindAddress 127.0.0.1
#   nobody  nogroup   , 
#  
#(   apache   apache)
User apache
Group apache
#     
ServerSignature Off
ServerTokens Prod
Apache    --enable-shared=max  --enable-module=all.      ,          LoadModule (LoadModule  AddModule).   ,  /etc/init.d/apache restart. 
    http://www.apache.org. 
10.b. Bind
     Internet Software Consortium.   BIND 9    doc/arm. 
   BIND      .   bind    : 

ǚ3:   BIND
# emerge --config bind
(        
chroot   /etc/conf.d/named.    /chroot/dns.)
10.c. Djbdns
Djbdns    DNS,         .      Bind 9,   .        http://www.djbdns.org. 
10.d. FTP
    FTP (File Transfer Protocol,   )   .      (    ),  2  (   20  21),         .       ,    sftp  HTTP.   ,        . 
10.e. Mysql
        mysql  ,     /etc/mysql/my.cnf. 

ǚ4:    
skip-networking
     LOAD DATA LOCAL INFILE.      .     SQL-  PHP-. 

ǚ5:  LOAD DATA LOCAL INFILE   [mysqld]
set-variable=local-infile=0
      (test)       root. 

ǚ6:        
mysql> drop database test;
mysql> use mysql;
mysql> delete from db;
mysql> delete from user where not (host="localhost" and user="root");
mysql> flush privileges;
:       ,      . 
:        MySQL,    ~/.mysql_history  /var/log/mysql/mysql.log,       SQL-   . 
10.f. Proftpd
 proftpd     ,      .   ,    : 

ǚ7: /etc/proftpd/proftpd.conf
ServerName "My ftp daemon"
#   ident 
ServerIdent on "Go away"

#    
RequireValidShell off

#       (  passwd)
AuthUserFile "/etc/proftpd/passwd"
AuthGroupFile "/etc/proftpd/group"

# 
Umask 077

#   
MaxInstances 30
MaxClients 10 "Only 10 connections allowed"
MaxClientsPerHost 1 "You have already logged on once"
MaxClientsPerUser 1 "You have already logged on once"
TimeoutStalled 10
TimeoutNoTransfer 20
TimeoutLogin 20

#     
DefaultRoot ~

#     
User  nobody
Group nogroup

#   
TransferLog /var/log/transferlog

#     
DenyFilter \*.*/
      http://www.proftpd.org. 
10.g. Pure-ftpd
Pure-ftpd    trollftpd         . 
   (      ),   AUTH.    -lpuredb:/etc/pureftpd.pdb       /usr/bin/pure-pw. 

ǚ8: /etc/conf.d/pure-ftpd
AUTH="-lpuredb:/etc/pureftpd.pdb"

## Misc. Others ##
MISC_OTHER="-A -E -X -U 177:077 -d -4 -L100:5 -I 15"
   MISC_OTHER       (-E),      (-A),     ,    (-X),    (-I),   (-L)   umask. 
:    -w  -W!    ,       ,     ! 
      http://www.pureftpd.org. 
10.h. Vsftpd
Vsftpd (  very secure ftp)    FTP-,       .       ,  pureftp  proftp. 

ǚ9: /etc/vsftpd
anonymous_enable=NO
local_enable=YES

#read only
write_enable=NO

#enable logging of transfers
xferlog_std_format=YES

idle_session_timeout=20
data_connection_timeout=20
nopriv_user=nobody

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chrootlist

ls_recurse_enable=NO
   ,        ,       ,       .     FTP- (    ),  vsftpd     . 
10.i. Netqmail
Netqmail      .       ( ).       ,   1996 ,     .   emerge netqmail   ! 
10.j. Samba
Samba   ,     Microsoft/Novell,       .   . 

ǚ10: /etc/samba/smb.conf
[global]
  #  
  interfaces = eth0 10.0.0.1/32

  #  
  encrypt passwords = yes
  directory security mask = 0700

  #    10.0.0.*
  hosts allow = 10.0.0.

  # 
  #(   share)
  security = user

  #   
  invalid users = root @wheel

  #    (  )
  max disk size = 102400

  #  
  min password length = 8
  null passwords = no

  # PAM (   )
  obey pam restrictions = yes
  pam password change = yes
,            . 
     ,      .       /usr/bin/smbpasswd   -a. 
10.k. ssh
 OpenSSH          ,       .    (, http://www.sourceforge.net, http://www.php.net  http://www.apache.org)     -    . 

ǚ11: /etc/ssh/sshd_config
#   2
Protocol 2

#  .    su  
PermitRootLogin no

#    
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

# .rhost     
HostbasedAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no

#      wheel  admin
AllowGroups wheel admin

#       
#@<domainname>  ,    
#AllowHosts
AllowUsers kn@gentoo.org bs@gentoo.org

#  
SyslogFacility AUTH
LogLevel INFO

(   )
ListenAddress 127.0.0.1
 ,       UsePAM yes,        . 
      ( ,     )    : 

ǚ12:    DSA
# /usr/bin/ssh-keygen -t dsa
  . 

ǚ13:  ssh-keygen
Generating public/private dsa key pair.
Enter file in which to save the key (/home/kn/.ssh/id_dsa):[Press enter]
Created directory '/home/kn/.ssh'.
Enter passphrase (empty for no passphrase): [Enter passphrase]
Enter same passphrase again: [Enter passphrase again]
Your identification has been saved in /home/kn/.ssh/id_dsa.
Your public key has been saved in /home/kn/.ssh/id_dsa.pub.
The key fingerprint is:
07:24:a9:12:7f:83:7e:af:b8:1f:89:a3:48:29:e2:a4 kn@knielsen
    ~/.ssh/      id_dsa  id_dsa.pub.  id_dsa        .  , id_dsa.pub,      ,    .      ~/.ssh/authorized_keys    .       : 

ǚ14: Adding the id_dsa.pub file to the authorized_keys file
$ scp id_dsa.pub other-host:/var/tmp/currenthostname.pub
$ ssh other-host
password:
$ cat /var/tmp/currenthostname.pub >> ~/.ssh/authorized_keys
        .     ,       ,        (    ). 
    - OpenSSH. 
10.l.  xinetd
xinetd   inetd (  Gentoo ),   .    ,        .       ,    ,   ,   ,      . 
     ,      .    xinetd       ,       ,    .        ,      : 

ǚ15:  xinetd
# emerge xinetd tcp-wrappers
   : 

ǚ16: /etc/xinetd.conf
defaults
{
 only_from = localhost
 instances = 10
 log_type = SYSLOG authpriv info
 log_on_success = HOST PID
 log_on_failure = HOST
 cps = 25 30
}

#    pserver (cvs)  xinetd  :
# :
#  10  (10  )
#   TCP
#   cvs   
#   1 IP
#    10.0.0.*
#    cvs   8  17 
#   tpcd (  
# /etc/hosts.allow  /etc/hosts.deny)
# max_load   1.0
#      ,  ,
#    
service cvspserver
{
 socket_type = stream
 protocol = tcp
 instances = 10
 protocol = tcp
 wait = no
 user = cvs
 bind = 10.0.0.2
 only_from = 10.0.0.0
 access_times = 8:00-17:00
 server = /usr/sbin/tcpd
 server_args = /usr/bin/cvs --allow-root=/mnt/cvsdisk/cvsroot pserver
 max_load = 1.0
 log_on_failure += RECORD
 disable = no
}
   . man 5 xinetd.conf. 
10.m. X
  Xorg     Xserver.    ,   X   TCP-    xclient. 
:      ,  ! 
         X-,   /usr/X11R6/bin/xhost   .          .         X   ,      ,       .     /usr/X11R6/bin/xhost +hostname. 
:    xhost +!        X-     .       X,      ,        .      ,    . 
          X-   startx -- -nolisten tcp       . 

ǚ17: /usr/X11R6/bin/startx
defaultserverargs="-nolisten tcp"
   startx,          Xorg.     /etc/make.conf: 

ǚ18: /etc/make.conf
CONFIG_PROTECT_MASK="/usr/X11R6/bin/startx"
       ,    . 
 gdm (Gnome Display Manager) 

ǚ19: /etc/X11/gdm/gdm.conf
[server-Standard]
command=/usr/X11R6/bin/X -nolisten tcp
 xdm (X Display Manager)  kdm (Kde Display Manager) 

ǚ20: /etc/X11/xdm/Xservers
:0 local /usr/bin/X11/X -nolisten tcp
11.      
11.a.   
          ( ),         .    ,    (nobody, apache, named)        ,     ,     .  ,       root,      . 
 ,  pure-ftpd  bind,     chroot.     ,  ,       .     chroot.     chroot,     bash (   ). 
  /chroot,   mkdir /chroot.  ,       bash (     -static,    ): 
    ,   bash. 

ǚ1:    
# ldd /bin/bash
  libncurses.so.5 => /lib/libncurses.so.5 (0x4001b000)
  libdl.so.2 => /lib/libdl.so.2 (0x40060000)
  libc.so.6 => /lib/libc.so.6 (0x40063000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
     bash. 

ǚ2:     bash
# mkdir /chroot/bash
# mkdir /chroot/bash/bin
# mkdir /chroot/bash/lib
  ,  bash (/lib)   lib    bash    bin.       ,    .      chroot /chroot/bash /bin/bash.     ,  /,     !   ,    .       . 
   ,    ,  echo,  .       chroot  bash    ,  echo   . 
        .    ,              /etc.    (       cp -a)   ,     ,     .    ,       .     strace.     /usr/bin/strace     open, read, stat , , connect.   ,   .         passwd ( ,     ,     ), /dev/zero, /dev/log  /dev/random. 
11.b.   Linux
        .     ,          ,      .    ,   ,    ,  ,      ,    . 
       Linux,       Linux. 
12.  
12.a.  
  ,       ,   .           ,   .    ,       ,     ,      . 
      !     ?  ,     ,   ,        .     . 
     : 
   (/) 
   (/) 
      : 
  
 
  
           (    sshd)    ,     . 
12.b.  
      .     ,   ,     .            .       .   : 
      IP- / 
       / 
       
      ,      
 ,      ,    . 
: 
       IP (  ) 
         ,          ,        
   
: 
  
       ,    (    ) 
   SYN- 
      Linux: 
Iptables 
Ipchains 
SmoothWall 
:   iptables. ipchains . 
12.c. 
     ,      .  ,             ,          ,     .   : 
IP- / 
 / 
 
 
 
 
    ,      . 
: 
        ,   . 
12.d.  
    -  ,       .         ( ,   ,    )       .   : 
     IP- / 
   
          
: 
  ,    
    
  (       ) 
    
      
: 
   
      ,        ,         . 
  : 
Squid 
12.e. Iptables
   iptables     .    iptables  ( iptables     )    (       ,       ,   ).       iptables      Iptables Tutorial Chapter 5: Preparations.     (   )     iptables.     emerge iptables. 
   ,  iptables -L.    , , -  ,     . 
iptables          Linux 2.4.x.    ipchains   Linux 2.2.x.      ,  iptables     .          TCP-. 
TCP-     ,   IP-     ,    ,        . TCP  ,   ,    UDP,    . 
  TCP-,     ,          ,   ,     . 
   ,   ,          TCP-  ,   .        SYN     TCP    ,        (       ).    ,  ,    ,        .    stealth-,  ,          ,        , ,     SYN-. 
 iptables    ,   NAT (Network Address Translation,   )    .        DoS- (Denial of Service,   ),  SYN-. 
TCP-      .   TCP-        SYN.         SYN+ACK.         ACK   . 
SYN-    SYN-      SYN+ACK.       IP- ,       - .      ,     ACK,  ,     .    ,    ,      .    ACK        ,       .     ,       3060    .   ,   SYN-   IP-         ,                . 
       .      SYN-   -m limit --limit 1/s,     SYN-          SYN-. 
:  ,  SYN-   SYN cookies,       SYN-    . SYN cookies       Linux,        . 
    ! 
   , iptables  5 ,       .   INPUT, OUTPUT, FORWARD, PREROUTING  POSTROUTING.         .   ,       ,       -  -.      ,        . 
     5              ,     . Iptables   . 
:
:
-A

-D

-I

-R

-L

-F
       
-Z
    
-C
    
-N
   
-X
  
-P
    
-E
  
-p

-s
/ 
-d
/ 
-i
  ( ethernet)
-o
  ( ethernet)
-j
 (  )
-m
  (   )
-n
    
-t
  
-v
 
-x
  (  )
-f
     
-V
 
--line-numbers
    
    ICMP-,    ,   ,    iptables . 

ǚ1:    ICMP
# iptables -A INPUT -p icmp -j DROP
   ,     ,        .             ACCEPT, DROP, REJECT, LOG, QUEUE  MASQUERADE.  ,    DROP,       . 
: LOG   .        LOG,        ,      .         . 
   ping localhost.     ,   iptables     ICMP-.        ,    ICMP-   .  ,    ICMP,  . 

ǚ2:   
# iptables -F
        iptables.         eth0,    : 

ǚ3:      
# iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
             INPUT.     ,    ,   iptables -A INPUT -i eth0 -m state --state INVALID -j DROP    .        ,    state.        ,      --state NEW. Iptables     .    : 
/

 
mac
   MAC-  .
--mac-source
state
   
--state (   ESTABLISHED,RELATED, INVALID, NEW)
limit
 
--limit, --limit-burst
owner
     
--uid-owner userid --gid-owner groupid --pid-owner processid --sid-owner sessionid 
unclean
     

           : 

ǚ4:   
(     )
# iptables -X mychain
# iptables -N mychain
# iptables -A mychain -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
(       .   .)
# iptables -P OUTPUT ACCEPT
# iptables -P INPUT DROP
(     INPUT)
# iptables -A INPUT -j mychain
    ,    :     ,     . 
      Netfilter/iptables documentation. 
    .     /  : 
       SSH ( 22) 
      HTTP, HTTPS  SSH (    DNS) 
ICMP         .  ,    ICMP-. 
       
SYN-    
        

ǚ5: /etc/init.d/firewall
#!/sbin/runscript
IPTABLES=/sbin/iptables
IPTABLESSAVE=/sbin/iptables-save
IPTABLESRESTORE=/sbin/iptables-restore
FIREWALL=/etc/firewall.rules
DNS1=212.242.40.3
DNS2=212.242.40.51
#inside
IIP=10.0.0.2
IINTERFACE=eth0
LOCAL_NETWORK=10.0.0.0/24
#outside
OIP=217.157.156.144
OINTERFACE=eth1

opts="${opts} showstatus panic save restore showoptions rules"

depend() {
  need net
}

rules() {
  stop
  ebegin "Setting internal rules"

  einfo "Setting default rule to drop"
  $IPTABLES -P FORWARD DROP
  $IPTABLES -P INPUT   DROP
  $IPTABLES -P OUTPUT  DROP

  #default rule
  einfo "Creating states chain"
  $IPTABLES -N allowed-connection
  $IPTABLES -F allowed-connection
  $IPTABLES -A allowed-connection -m state --state ESTABLISHED,RELATED -j ACCEPT
  $IPTABLES -A allowed-connection -i $IINTERFACE -m limit -j LOG --log-prefix \
      "Bad packet from ${IINTERFACE}:"
  $IPTABLES -A allowed-connection -j DROP

  #ICMP traffic
  einfo "Creating icmp chain"
  $IPTABLES -N icmp_allowed
  $IPTABLES -F icmp_allowed
  $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type \
      time-exceeded -j ACCEPT
  $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type \
      destination-unreachable -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp -j LOG --log-prefix "Bad ICMP traffic:"
  $IPTABLES -A icmp_allowed -p icmp -j DROP

  #Incoming traffic
  einfo "Creating incoming ssh traffic chain"
  $IPTABLES -N allow-ssh-traffic-in
  $IPTABLES -F allow-ssh-traffic-in
  #Flood protection
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \
      ALL RST --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \
      ALL FIN --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \
      ALL SYN --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT

  #outgoing traffic
  einfo "Creating outgoing ssh traffic chain"
  $IPTABLES -N allow-ssh-traffic-out
  $IPTABLES -F allow-ssh-traffic-out
  $IPTABLES -A allow-ssh-traffic-out -p tcp --dport ssh -j ACCEPT

  einfo "Creating outgoing dns traffic chain"
  $IPTABLES -N allow-dns-traffic-out
  $IPTABLES -F allow-dns-traffic-out
  $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS1 --dport domain \
      -j ACCEPT
  $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS2 --dport domain \
     -j ACCEPT

  einfo "Creating outgoing http/https traffic chain"
  $IPTABLES -N allow-www-traffic-out
  $IPTABLES -F allow-www-traffic-out
  $IPTABLES -A allow-www-traffic-out -p tcp --dport www -j ACCEPT
  $IPTABLES -A allow-www-traffic-out -p tcp --dport https -j ACCEPT

  #Catch portscanners
  einfo "Creating portscan detection chain"
  $IPTABLES -N check-flags
  $IPTABLES -F check-flags
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit \
      --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP-XMAS:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit \
      5/minute -j LOG --log-level 1 --log-prefix "XMAS:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG \
      -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -m limit \
      --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit \
      --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:"
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit \
      --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:"
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

  # Apply and add invalid states to the chains
  einfo "Applying chains to INPUT"
  $IPTABLES -A INPUT -m state --state INVALID -j DROP
  $IPTABLES -A INPUT -p icmp -j icmp_allowed
  $IPTABLES -A INPUT -j check-flags
  $IPTABLES -A INPUT -i lo -j ACCEPT
  $IPTABLES -A INPUT -j allow-ssh-traffic-in
  $IPTABLES -A INPUT -j allowed-connection

  einfo "Applying chains to FORWARD"
  $IPTABLES -A FORWARD -m state --state INVALID -j DROP
  $IPTABLES -A FORWARD -p icmp -j icmp_allowed
  $IPTABLES -A FORWARD -j check-flags
  $IPTABLES -A FORWARD -o lo -j ACCEPT
  $IPTABLES -A FORWARD -j allow-ssh-traffic-in
  $IPTABLES -A FORWARD -j allow-www-traffic-out
  $IPTABLES -A FORWARD -j allowed-connection

  einfo "Applying chains to OUTPUT"
  $IPTABLES -A OUTPUT -m state --state INVALID -j DROP
  $IPTABLES -A OUTPUT -p icmp -j icmp_allowed
  $IPTABLES -A OUTPUT -j check-flags
  $IPTABLES -A OUTPUT -o lo -j ACCEPT
  $IPTABLES -A OUTPUT -j allow-ssh-traffic-out
  $IPTABLES -A OUTPUT -j allow-dns-traffic-out
  $IPTABLES -A OUTPUT -j allow-www-traffic-out
  $IPTABLES -A OUTPUT -j allowed-connection

  #Allow client to route through via NAT (Network Address Translation)
  $IPTABLES -t nat -A POSTROUTING -o $OINTERFACE -j MASQUERADE
  eend $?
}

start() {
  ebegin "Starting firewall"
  if [ -e "${FIREWALL}" ]; then
    restore
  else
    einfo "${FIREWALL} does not exists. Using default rules."
    rules
  fi
  eend $?
}

stop() {
  ebegin "Stopping firewall"
  $IPTABLES -F
  $IPTABLES -t nat -F
  $IPTABLES -X
  $IPTABLES -P FORWARD ACCEPT
  $IPTABLES -P INPUT   ACCEPT
  $IPTABLES -P OUTPUT  ACCEPT
  eend $?
}

showstatus() {
  ebegin "Status"
  $IPTABLES -L -n -v --line-numbers
  einfo "NAT status"
  $IPTABLES -L -n -v --line-numbers -t nat
  eend $?
}

panic() {
  ebegin "Setting panic rules"
  $IPTABLES -F
  $IPTABLES -X
  $IPTABLES -t nat -F
  $IPTABLES -P FORWARD DROP
  $IPTABLES -P INPUT   DROP
  $IPTABLES -P OUTPUT  DROP
  $IPTABLES -A INPUT -i lo -j ACCEPT
  $IPTABLES -A OUTPUT -o lo -j ACCEPT
  eend $?
}

save() {
  ebegin "Saving Firewall rules"
  $IPTABLESSAVE > $FIREWALL
  eend $?
}

restore() {
  ebegin "Restoring Firewall rules"
  $IPTABLESRESTORE < $FIREWALL
  eend $?
}

restart() {
  svc_stop; svc_start
}

showoptions() {
  echo "Usage: $0 {start|save|restore|panic|stop|restart|showstatus}"
  echo "start)      will restore setting if exists else force rules"
  echo "stop)       delete all rules and set all to accept"
  echo "rules)      force settings of new rules"
  echo "save)       will store settings in ${FIREWALL}"
  echo "restore)    will restore settings from ${FIREWALL}"
  echo "showstatus) Shows the status"
}
        : 
1.     ,    
2.   
3.     (  RFC) 
4. ,       ,    . 
5.    
  ,  iptables            ,     Shorewall.        iptables,        . 
12.f. Squid
Squid    -.       ,    /URI, IP-   , , ,   ,  MIME    ().    ,     . 
        ,    .    gentoo.org       .             . 
  ,   : 
- (HTTP/HTTPS)      (     8  17      8  13 ),    ,    ,     . 
    (.exe, .com, .arj, .zip, .asf, .avi, .mpg, .mpeg   ) 
   ,         GIF (   !). 
   /  . 
    4  . 

ǚ6: /etc/squid/squid.conf
#  IP  
http_port 10.0.2.1:3128

#  
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#     
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

#  ,    
acl localnet src 10.0.0.0/255.255.0.0

#  
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
acl purge method PURGE

#    ,   
# ,   URL
acl archives urlpath_regex "/etc/squid/files.acl"
acl url_ads url_regex "/etc/squid/banner-ads.acl"

#    ,     
acl restricted_weekdays time MTWHF 8:00-17:00
acl restricted_weekends time A 8:00-13:00

acl CONNECT method CONNECT

#     localhost
http_access allow manager localhost
http_access deny manager

#      localhost
http_access allow purge localhost
http_access deny purge

#     
http_access deny !Safe_ports

#    ,    SSL
http_access deny CONNECT !SSL_ports

#   

#  ,   
#  
deny_info NOTE_ADS_FILTERED url_ads

#  
http_access deny url_ads

#   
http_access deny archives

#     
http_access allow localnet restricted_weekdays
http_access allow localnet restricted_weekends

#   
http_access deny all
      .   zip, viv, exe, mp3, rar, ace, avi, mov, mpg, mpeg, au, ra, arj, tar, gz  z . 

ǚ7: /etc/squid/files.acl
\.[Zz][Ii][pP]$
\.[Vv][Ii][Vv].*
\.[Ee][Xx][Ee]$
\.[Mm][Pp]3$
\.[Rr][Aa][Rr]$
\.[Aa][Cc][Ee]$
\.[Aa][Ss][Ff]$
\.[Aa][Vv][Ii]$
\.[Mm][Oo][Vv]$
\.[Mm][Pp][Gg]$
\.[Mm][Pp][Ee][Gg]$
\.[Aa][Uu]$
\.[Rr][Aa]$
\.[Aa][Rr][Jj]$
\.[Tt][Aa][Rr]$
\.[Gg][Zz]$
\.[Zz]$
:    []     .    ,       ,      AvI  avi. 
      . , ,    : 

ǚ8: /etc/squid/banner-ads.acl
/adv/.*\.gif$
/[Aa]ds/.*\.gif$
/[Aa]d[Pp]ix/
/[Aa]d[Ss]erver
/[Aa][Dd]/.*\.[GgJj][IiPp][FfGg]$
/[Bb]annerads/
/adbanner.*\.[GgJj][IiPp][FfGg]$
/images/ad/
/reklame/
/RealMedia/ads/.*
^http://www\.submit-it.*
^http://www\.eads.*
^http://ads\.
^http://ad\.
^http://ads02\.
^http://adaver.*\.
^http://adforce\.
adbot\.com
/ads/.*\.gif.*
_ad\..*cgi
/Banners/
/SmartBanner/
/Ads/Media/Images/
^http://static\.wired\.com/advertising/
^http://*\.dejanews\.com/ads/
^http://adfu\.blockstackers\.com/
^http://ads2\.zdnet\.com/adverts
^http://www2\.burstnet\.com/gifs/
^http://www.\.valueclick\.com/cgi-bin/cycle
^http://www\.altavista\.com/av/gifs/ie_horiz\.gif
    ,       .    HTML-   GIF-  44. 

ǚ9: /etc/squid/errors/NOTE_ADS_FILTERED
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://localhost/images/4x4.gif">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
</HEAD>
<BODY>
<H1>Add filtered!</H1>
:    <HTML>  <BODY>. Squid   . 
  ,  Squid         .     - Squid     .        120 . 
    (iptables)    (Squid), ,  ,   Squid  -   ,         .        . 
        -.           . 
:  Mozilla      Edit->Preferences->Advanced->Proxies. 
     ,  iptables       Squid.   ,     : 

ǚ10:      -
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to proxyhost:3128
# iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to proxyhost:3128
:  -     ,     (   ,    -   ),    REDIRECT  DNAT (REDIRECT    localhost). 

12.g. 
 : 
1.      .     ,   . 
2.      -. 
3.        ,    . 
4.IP-     ,   ICMP,     . 
5.  SYN-. 
6. HTTP-      . 
7.        . 
,     ,      ,   . 
13.  
13.a. AIDE (Advanced Intrusion Detection Environment)
AIDE     ,    (Host-Based Intrusion Detection System, HIDS),   Tripwire (     Tripwire,         AIDE). HIDS                   ,         .   :             ,       . HIDS         ,   ,   ,    . 
      ,       .   : 



ifdef
 
@@ifdef "name"
ifndef
  
@@ifndef "name"
define
  
@@define "name" "value"
undef
 
@@undef "name"
ifhost
 "hostname"
@@ifhost "hostname"
ifnhost
  "hostname"
@@ifnhost "hostname"
endif
endif    ,      ,   define  undef 
@@endif
       Gentoo       AIDE,     .                  . 
        .    ,      ( ). 


p
 
i
inode
n
 
u

g

s

b
 
m
  
a
  
c
 
S
  
md5
  MD5
sha1
  SHA1
rmd160
  RMD160
tiger
  Tiger
R
p+i+n+u+g+s+m+c+md5
L
p+i+n+u+g
E
 
>
 - p+u+g+i+n+S
  AIDE    mhash,    : 


haval
  HAVAL
gost
  
crc32
  CRC32
     ,     , : 

ǚ1:     AIDE
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160
 ,        ,         .   ,      . AIDE    ,        . 


!
     .
=
  ,   .
     : 

ǚ2: /etc/aide/aide.conf
@@ifndef TOPDIR
@@define TOPDIR /
@@endif

@@ifndef AIDEDIR
@@define AIDEDIR /etc/aide
@@endif

@@ifhost smbserv
@@define smbactive
@@endif

#     .
database=file:@@{AIDEDIR}/aide.db

#     .
database_out=file:aide.db.new

verbose=20
report_url=stdout

#  
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160

@@{TOPDIR} Norm
!@@{TOPDIR}etc/aide
!@@{TOPDIR}dev
!@@{TOPDIR}media
!@@{TOPDIR}mnt
!@@{TOPDIR}proc
!@@{TOPDIR}root
!@@{TOPDIR}sys
!@@{TOPDIR}tmp
!@@{TOPDIR}var/log
!@@{TOPDIR}var/run
!@@{TOPDIR}usr/portage
@@ifdef smbactive
!@@{TOPDIR}etc/smb/private/secrets.tdb
@@endif
=@@{TOPDIR}home Norm
      ,  ,       AIDE,  ,    AIDE. AIDE   /etc/aide/aide.db    .            /etc/aide/aide.db.new.    ,      .  report_URL   , ,  ,         . 
    AIDE      , -     crontab. -          .     ,  aide --help.    ,  ,   aide -i,    crontab           .      /etc/aide/aide.conf  ,      . 
:    ,        ,     . 
:    ,   ,  .     ,       AIDE. 
    ,   ,    (    AIDE)     ,     /usr/bin/aide.     -          .db    AIDE. 
        AIDE 
13.b. Snort
Snort      (Network Intrusion Detection System, NIDS).     ,   . 

ǚ3: /etc/conf.d/snort
PIDFILE=/var/run/snort_eth0.pid
MODE="full"
NETWORK="10.0.0.0/24"
LOGDIR="/var/log/snort"
CONF=/etc/snort/snort.conf
SNORT_OPTS="-D -s -u snort -dev -l $LOGDIR -h $NETWORK -c $CONF"

ǚ4: /etc/snort/snort.conf
( 1)
var HOME_NET 10.0.0.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS [10.0.0.2/32,212.242.40.51/32]
var RULE_PATH ./

( 2)
preprocessor frag2
preprocessor stream4: detect_scans detect_state_problems detect_scans disable_evasion_alerts
preprocessor stream4_reassemble: ports all
preprocessor http_decode: 80 8080 unicode iis_alt_unicode double_encode iis_flip_slash full_whitespace
preprocessor rpc_decode: 111 32771
preprocessor bo: -nobrute
preprocessor telnet_decode

( 3)
include classification.config

( 4)
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/finger.rules
include $RULE_PATH/ftp.rules
include $RULE_PATH/telnet.rules
include $RULE_PATH/smtp.rules
include $RULE_PATH/rpc.rules
include $RULE_PATH/rservices.rules
include $RULE_PATH/dos.rules
include $RULE_PATH/ddos.rules
include $RULE_PATH/dns.rules
include $RULE_PATH/tftp.rules
include $RULE_PATH/web-cgi.rules
include $RULE_PATH/web-coldfusion.rules
include $RULE_PATH/web-iis.rules
include $RULE_PATH/web-frontpage.rules
include $RULE_PATH/web-misc.rules
include $RULE_PATH/web-attacks.rules
include $RULE_PATH/sql.rules
include $RULE_PATH/x11.rules
include $RULE_PATH/icmp.rules
include $RULE_PATH/netbios.rules
include $RULE_PATH/misc.rules
include $RULE_PATH/attack-responses.rules
include $RULE_PATH/backdoor.rules
include $RULE_PATH/shellcode.rules
include $RULE_PATH/policy.rules
include $RULE_PATH/porn.rules
include $RULE_PATH/info.rules
include $RULE_PATH/icmp-info.rules
include $RULE_PATH/virus.rules
# include $RULE_PATH/experimental.rules
include $RULE_PATH/local.rules

ǚ5: /etc/snort/classification.config
config classification: not-suspicious,Not Suspicious Traffic,3
config classification: unknown,Unknown Traffic,3
config classification: bad-unknown,Potentially Bad Traffic, 2
config classification: attempted-recon,Attempted Information Leak,2
config classification: successful-recon-limited,Information Leak,2
config classification: successful-recon-largescale,Large Scale Information Leak,2
config classification: attempted-dos,Attempted Denial of Service,2
config classification: successful-dos,Denial of Service,2
config classification: attempted-user,Attempted User Privilege Gain,1
config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1
config classification: successful-user,Successful User Privilege Gain,1
config classification: attempted-admin,Attempted Administrator Privilege Gain,1
config classification: successful-admin,Successful Administrator Privilege Gain,1

# NEW CLASSIFICATIONS
config classification: rpc-portmap-decode,Decode of an RPC Query,2
config classification: shellcode-detect,Executable code was detected,1
config classification: string-detect,A suspicious string was detected,3
config classification: suspicious-filename-detect,A suspicious filename was detected,2
config classification: suspicious-login,An attempted login using a suspicious username was detected,2
config classification: system-call-detect,A system call was detected,2
config classification: tcp-connection,A TCP connection was detected,4
config classification: trojan-activity,A Network Trojan was detected, 1
config classification: unusual-client-port-connection,A client was using an unusual port,2
config classification: network-scan,Detection of a Network Scan,3
config classification: denial-of-service,Detection of a Denial of Service Attack,2
config classification: non-standard-protocol,Detection of a non-standard protocol or event,2
config classification: protocol-command-decode,Generic Protocol Command Decode,3
config classification: web-application-activity,access to a potentially vulnerable web application,2
config classification: web-application-attack,Web Application Attack,1
config classification: misc-activity,Misc activity,3
config classification: misc-attack,Misc Attack,2
config classification: icmp-event,Generic ICMP event,3
config classification: kickass-porn,SCORE! Get the lotion!,1
       Snort. 
13.c.      chkrootkit
 HIDS,  AIDE,         ,    ,       . chkrootkit   ,         ,          ,          .  chkrootkit (  ,  rkhunter)   ,    ,      ,     ,     . 
   chkrootkit         cron.   app-admin/chkrootkit. chkrootkit            cron  : 

ǚ6:   chrootkit  crontab
0 3 * * * /usr/sbin/chkrootkit
14.  
14.a.  
       ,   ,   .       ,            .       ,        . 
      portage, ,       emerge --sync,     glsa-check --list,        . glsa-check    app-portage/gentoolkit. 

ǚ1:   glsa-check -l
# glsa-check -l
WARNING: This tool is completely new and not very tested, so it should not be
used on production systems. It's mainly a test tool for the new GLSA release
and distribution system, it's functionality will later be merged into emerge
and equery.
Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml
before using this tool AND before reporting a bug.

[A] means this GLSA was already applied,
[U] means the system is not affected and
[N] indicates that the system might be affected.

200406-03 [N] sitecopy: Multiple vulnerabilities in included libneon ( net-misc/sitecopy )
200406-04 [U] Mailman: Member password disclosure vulnerability ( net-mail/mailman )
.......
:  glsa-check    , ,       ,       . 
 ,  [A]  [U],   ,       . 
:  ,   emerge -vpuD world      .  glsa-check,    ,   GLSA    . 

ǚ2:   GLSA
(    GLSA?)
# glsa-check -t all
WARNING: This tool is completely new and not very tested, so it should not be
used on production systems. It's mainly a test tool for the new GLSA release
and distribution system, it's functionality will later be merged into emerge
and equery.
Please read http://www.gentoo.org/proj/en/portage/glsa-integration.xml
before using this tool AND before reporting a bug.

This system is affected by the following GLSA:
200504-06
200510-08
200506-14
200501-35
200508-12
200507-16

(  ,  )
# glsa-check -p $(glsa-check -t all)
     ( )
Checking GLSA 200504-06
The following updates will be performed for this GLSA:
     app-arch/sharutils-4.2.1-r11 (4.2.1-r10)

     **********************************************************************

     Checking GLSA 200510-08
     The following updates will be performed for this GLSA:
          media-libs/xine-lib-1.1.0-r5 (1.1.0-r4)

(  )
# glsa-check -f $(glsa-check -t all)
    ,    . 
    . 
       gentoo-announce,    GLSA   .             Gentoo Linux. 
         Bugtraq. 





 Gentoo Linux

   Gentoo

  :  http://www.gentoo.org/doc/en/gentoo-upgrading.xml
 : 1.2
:  vnp,  ,  ,  ., a.k.a JohnBat26 
:   ޣ     !
1. Gentoo  



,   Gentoo,     ,      Linux. , ,  ,            :   ,  , ,     , ,   . 
  (     Gentoo),      ,      .       apt  apt-rpm,     ,  ,          .             Gentoo,  Gentoo         . 
 ,    ,       :       Portage    Gentoo,  ,    .     ,      ,   . 

  

    Gentoo   :      ,         ?".    : 
         . 
      GRP,   ,     (stage3 +   ),    . 
,        ,    . 
    ,   ,       ,    ,  ,     . 

     ,    /usr/portage/profiles,   ebuild  ,   (USE)  ,     ,   ,    . 

     /etc/make.profile,      /usr/portage/profiles,   .  ,  x86 2007.0     /usr/portage/profiles/default-linux/x86/2007.0.          (,  ,    ).       . 
,    ,   /usr/portage/profiles   ,       .        deprecated.    ,    . Portage            . 
      :       (,  baselayout, gcc,  glibc),   USE-      , , ,   . 

2.    

    

    Gentoo,      ,    ,      :). 
          ,           Gentoo. 

    
      (, ,  2007.0  x86),       . 
,     ,      ,    ,      Gentoo. 
, Gentoo    ,      .   ,  ,       .       ,      . 
      .         ,     ,    . 
  ,       /etc/make.profile,        ,     .        .  ,      . 

 
       ,   Gentoo    eselect (emerge eselect)     :
 2.1   
# eselect profile list

3.    

 .
:    ,           !

,  emerge eselect.  eselect               .

 3.1:      eselect
(  )
# eselect profile list
(      )
# eselect profile set < >

     ,    :





 3.2    .
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/< > /etc/make.profile

:       : desktop  server.    ,        ,      .

  2007.0  2006.1
       ,     ,            Unicode.   ,      UNICODE="yes"    /etc/rc.conf.       Unicode    . ,  UTF-8 guide      .
,      ,     UNICODE="no"    /etc/rc.conf.   (re-emerge)   baselayout  (     )  USE : -unicode.    -unicode   baselayout          ,    USE   
/etc/make.conf.
 3.3 :   Unicode.
(   Unicode   baselayout)
# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout

(   Unicode   )
# nano -w /etc/make.conf
USE="-unicode"
# emerge -a baselayout


:      2007.0   SPARC,      GCC Upgrading Guide


HOWTO   
  :
http://ru.gentoo-wiki.com/HOWTO___
 : 1.2
   /var/lib/portage/world 

 world    ,     ,     "system" (..   ). 
 world     ,  ..,      ,      -  (   / ,        - ) ;
,     "system",     world 
 world     ,     /etc/portage/package.mask ;
 regenworld    world   /var/log/emerge.log       world (   world!) ;
 dep -p -w (    udept)      world( ӣ-     world    system);
 أ    /etc/portage/*, ..          . 
 profile 
  Gentoo release     profile (, 2004.1   profile). 
   profile ,       (   ,     "" (deprecated)  emerge      ). 
   profile   : http://www.gentoo.org/doc/ru/gentoo-upgrading.xml        /etc/make.profile 
 USE- 
 emerge -uDpv --newuse world    USE-     ,     
USE-   /etc/make.conf  /etc/portage/package.use 
   (    toolchain) 
 
	emerge -puDav --newuse world 
       toolchain (linux-headers, glibc, binutils  gcc),        - .   -        : 
	emerge -uDav --newuse world 
    emerge -U  -u 
 1:   SLOT 
,  ,  ,     gimp-2  gimp-1.2.  ,  gimp-1.2  stable    SLOT 1, gimp-2  unstable    SLOT 2.    ACCEPT_KEYWORDS=~x86 emerge gimp  gimp-2. 
,   ,       -   "emerge -U world",    gimp-1.2, ,  gimp   world-,   "-U"   SLOT  . 
 2: ,    ebuild-  Portage-. 
,  Portage  2   foo, foo-1.4 (  stable)  foo-1.6 (  unstable).    unstable   emerge,    gimp.   world    ,          foo-1.6 - foo-1.6.1.     . 
1.foo-1.6    Portage.   foo-1.4,   ""    "-U" 
2.   ,  foo-1.6   ̣  Portage  - : foo-1.6 (,    )        ,     stable -   foo-1.6. 
:    ACCEPT_KEYWORDS=~x86 emerge foo      http://www.gentoo.org/doc/ru/gentoo-amd64-faq.xml#keyword 
      toolchain 
  -   linux-headers, glibc, binutils  gcc,     ,    system,    world. 
:    toolchain -      toolchain    .  system/world   ֣  ,         (      toolchain - .    ). 
  system/world -          toolchain. system   world  - , ..     world    system. 
       gcc,           gcc-config -   gcc       " ",      . 
  system    toolchain     toolchain   system.    world  system       system   world.      ,    [1],      `emerge -k` (   ). 
,   : 

 1.   
#  ,    `emerge -k`  
#     
# (.,    /tmp/portage-packages)

pkgdir=$(portageq pkgdir)
mv $pkgdir /tmp/portage-packages1
install -d -o portage -g portage $pkgdir

#   toolchain
emerge linux-headers glibc binutils gcc-config gcc

#   gcc      
gcc-config ____gcc
# . `gcc-config -l`
source /etc/profile

#  toolchain    
emerge -b glibc binutils gcc portage

#   glibc, binutils  gcc
emerge -bke system 

#     ( system)
emerge -bke world
:     binutils-config,  -     gcc-config. 
 . 
:   `emerge -uDav --newuse world`           -  ! 
glsa-check -l | grep '\[N\]'
emerge ... #  
   . 
       ,    .    , ..        `emerge -uDav --newuse world`. 
emerge -a depclean #  !!!
      ,    : 

:  glsa-check, revdep-rebuild    gentoolkit 
rm /root/.revdep-rebuild*.?_*
revdep-rebuild -p
revdep-rebuild
  . 
dispatch-conf
  runit-init    baselayout,    /sbin/init: 
ls -l /sbin/*init*
if (/sbin/init  ,   ) {
mv /sbin/init /sbin/init-sysv
ln -s runit-init /sbin/init
}
     . 
  emerge world    , ޣ      ,         . 
       log-    emerge world.      enotice,  portlog-info. 


 Gentoo Linux   GCC

  : http://www.gentoo.org/doc/ru/gcc-upgrading.xml
 : 1.0
1. 

 GCC

  ? , GCC         ,    . GCC    ,      -   ,    ,        .          ,    ,    GCC   Gentoo. 

     GCC,       .     ,          .     ,  Portage      ,             . 

     ,     ,    Gentoo.      GCC 3.3  3.4        libstdc++.     ,   Gentoo     (stage3),     GCC. 
:  ,    GCC-3.4  GCC-4.0         ,   GCC-3.4  GCC-4.0      (ABI).   ,   gcc-config,    . 


2.    



:         GCC-3.3  GCC-3.4   ,    . 

:        GCC    ,    . 


 ,       (bugfix release),   3.3.5  3.3.6,    :     ,          libtool. ,    GCC   ,          ,        ,   . 

        ,  ,     .   ,           (  3.3.5  3.3.6),     multislot,       .     ,       c. 

 2.1:  GCC
# emerge -uav gcc

( "i686-pc-linux-gnu-3.4.5"  
  GCC   CHOST)
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile

( libtool)
# emerge --oneshot -av libtool


     ,  world,   . 

 2.2:  
# emerge -eav system
# emerge -eav world


       GCC.     ,    ( ,  =sys-devel/gcc-3.3*  ,   ): 

 2.3:     GCC
# emerge -aC =sys-devel/gcc-3.3*


3.   GCC-3.3  3.4   



  GCC-3.3  3.4       ,         C++ (ABI).         libstdc++. 



:    GCC   SPARC,        -      (ABI) GCC     . 


      .        revdep-rebuild   gentoolkit,        ,     GCC.  ,    .      . 

 revdep-rebuild

    ,    gentoolkit,      .   GCC      .    libtool,      . 

 3.1:  gentoolkit   GCC
# emerge -an gentoolkit
# emerge -uav gcc
( "i686-pc-linux-gnu-3.4.5"  
  GCC   CHOST)
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile

( libtool)
# emerge --oneshot -av libtool


 ,     revdep-rebuild.   revdep-rebuild   .    ,   . 

 3.2:  revdep-rebuild
# revdep-rebuild --library libstdc++.so.5 -- -p -v
# revdep-rebuild --library libstdc++.so.5

: ,         - ,     .       revdep-rebuild   --package-names.    ,    ,     . 


        C++   ,  revdep-rebuild  ,    sys-libs/libstdc++-v3  ,   GCC 3.3   . 

 3.3:  libstdc++-v3   GCC
# emerge --oneshot sys-libs/libstdc++-v3
# emerge -aC =sys-devel/gcc-3.3*


 emerge -e

       , ,     , ,  ,  .    GCC  libtool,      . 

 3.4:  GCC
# emerge -uav gcc
( "i686-pc-linux-gnu-3.4.5"  
  GCC   CHOST)
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile

( libtool)
# emerge --oneshot -av libtool


        C++,      sys-libs/libstdc++-v3. 

 3.5:  libstdc++-v3
# emerge --oneshot sys-libs/libstdc++-v3


     system,   world.     ,     :          ,    ,    .  ,           ,    . 

 3.6:  system  world
# emerge -e system
# emerge -e world


     GCC,   : 

 3.7: 
# emerge -aC =sys-devel/gcc-3.3*


4.  GCC   



 GCC         (stage3)    .    ,      GCC    ,    .       GCC-3.3  3.4    .      GCC  - . ,  ,    revdep-rebuild,    GCC 3.3, ,     libstdc++-v3. 

    -   ,       GCC    . ,      GCC-3.3  3.4,     . ,      GCC-3.3  3.4,   ,      .   ,    revdep-rebuild   gentoolkit,    .  revdep-rebuild     ,      GCC,            GCC,     .     ,      . 

      ,      . 

 4.1:  GCC
# emerge -uav gcc
( "i686-pc-linux-gnu-3.4.5"  
  GCC   CHOST)
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile

( libtool)
# emerge --oneshot -av libtool


        C++,      sys-libs/libstdc++-v3. 

 4.2:  libstdc++-v3
# emerge --oneshot sys-libs/libstdc++-v3


 revdep-rebuild

  ,      gentoolkit,     .    revdep-rebuild,    ,    . 

 4.3:  gentoolkit   revdep-rebuild
# emerge -an gentoolkit
# revdep-rebuild --library libstdc++.so.5 -- -p -v
# revdep-rebuild --library libstdc++.so.5

: ,         - ,     .       revdep-rebuild   --package-names.    ,    ,     . 


 emerge -e

 ,   ,   , ,     .  ,  ,       CFLAGS    make.conf,     . 

        ,    world,           . ,     ,    ,     world  system. 

 4.4:  system
# emerge -e system




     GCC,   .  ---GCC   ,    : 

 4.5: 
# emerge -aC "<sys-devel/gcc----GCC"


5.  

     distcc.          .     ccache,          . 

       GCC       .     world   GCC,   (, app-emulation/qemu-softmmu)   . ,   ,      GCC. 

   GCC   SPARC,     silo -f   world,    . 

   

     -  libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.la' is not a valid libtool archive,  /sbin/fix_libtool_files.sh 3.3.6 ( 3.3.6       ). 

   error: /usr/bin/gcc-config: line 632: /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5: No such file or directory,    /etc/env.d/gcc/config-i686-pc-linux-gnu    gcc-config,   source /etc/profile.    ,       -. 

  emerge -e system  emerge -e world   ,     emerge --resume.      ,  ,  emerge --resume --skipfirst.      emerge,    ,   . 

       spec failure: unrecognized spec option,       ,   GCC_SPECS    : 

 5.1:    
# gcc-config 1
# source /etc/profile
# unset GCC_SPECS
# emerge -uav gcc


Gentoo   X.Org

   X-  6.X

   ( 13.06.07):
http://www.gentoo.org/doc/ru/xorg-config.xml
 : 1.0

1.   X Window Server?

    

          .            Gentoo ( Linux ),   ? , * *, ,     :-).  Linux       ,        . 

     ,    :         ,   .      Linux  -   .    ,       . 

    ,        ,      ,      ,      X Window System, ݣ X11   X.    Unix, Linux   Unix-     . 

,    Linux         X11,  Xorg-X11,   XFree86.  XFree86    , ,    GPL,    Xorg.  XFree86       . 

 X.org

 X.org        X11    .     ,   X11. 

Xorg           .  , Xorg   ,         ,      . 

2.  Xorg

 emerge

 ,      ?   Xorg,     emerge xorg-x11.  Xorg ͣ  ,     ,   . 

 ,   Xorg,   /etc/make.conf       . 

    VIDEO_CARDS,         ,       .      nvidia   nVidia  fglrx   ATI Radeon.    ,  nVidia  ATI.         ,  nv  nvidia,  ,     3D-. ,  radeon    ATI.  VIDEO_CARDS    ,  . 

 , INPUT_DEVICES,      .     keyboard mouse . 

  ,   ,       /etc/make.conf: 

 2.1:    make.conf
(    )
INPUT_DEVICES="keyboard mouse"
(  nVidia)
VIDEO_CARDS="nvidia"
(   ATI Radeon)
VIDEO_CARDS="fglrx"


     nVidia  ATI      nVidia  Gentoo Linux  Gentoo Linux ATI FAQ.    ,   ,    . 
:       ,   emerge -pv xorg-x11,         .    Xorg         emerge -pv xorg-server   . ,   x86  xorg-x11-7.0: 


 2.2:     
# emerge -pv xorg-x11

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-base/xorg-x11-7.0-r1  USE="-3dfx" INPUT_DEVICES="keyboard
mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300
-elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -magictouch
-microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957
-ur98 -vmmouse -void -wacom" VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix
-dummy -fbdev -fglrx -glint -i128 -i740 -i810 -imstt -mach64 -mga -neomagic -nsc
-nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb
-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB


          Xorg. 

 2.3:  Xorg
# emerge xorg-x11


  ,  ,   ģ    .      env-update,    source /etc/profile. 



 2.4:   
# env-update
# source /etc/profile


3.  Xorg

 xorg.conf

  Xorg  xorg.conf     /etc/X11.   Xorg-X11      /etc/X11/xorg.conf.example,        .   ,        ,      : 

 3.1:    xorg.conf
# man 5 xorg.conf


   . ,  ,    ,    ,     . 

 :   xorg.conf

Xorg       .  ,       ,     .       ,   ,     .     (, )   Xorg. 

 3.2:   xorg.conf
# Xorg -configure


   ,      Xorg.   ,  - Xorg     ,   ģ   xorg.conf .   ӣ  , Xorg   ,         /root/xorg.conf.new.    :) 

 3.3:   xorg.conf.new
# X -config /root/xorg.conf.new


 ӣ  ,   ޣ- . ,   ,     .      ,  ӣ    .     ,    Ctrl+Alt+Backspace. 

:   xorg.conf

 Xorg   xorgconfig,       (  ,   ..).    ,    xorg.conf. 

 3.4:   xorg.conf
# xorgconfig


 ,     Xorg  xorgcfg,     Xorg -configure,    X-    . 

 3.5:  xorgcfg
# xorgcfg
( X  ,    , :)
# xorgcfg -textmode


  xorg.conf

   xorg.conf.new  /etc/X11/xorg.conf,      Xorg -config:   X  startx   :) 

 3.6:   xorg.conf
# cp /root/xorg.conf.new /etc/X11/xorg.conf


 startx

   startx,    X-. startx   ,   X,    X,       .  ,   ,    : 
        .xinitrc,   ,   Σ 
      XSESSION       /etc/X11/Sessions/  (  XSESSION  ,    ,    /etc/rc.conf) 
   ,      ,  twm. 




 3.7:  X
# startx


   , , ,   ,    twm.    twm,  exit   Ctrl-D     xterm.   X  ,    Ctrl+Alt+Backspace,       ,     .     ֣  :) 

4.  xorg.conf

  

  ,    ,      .  ,  Screen,     ,     X-.              .    Xorg         : Monitor. 

  Xorg        HorizSync ( )  VertRefresh ( )   Monitor.       .    ,     Screen (    )  ,            .    ,     , , sys-apps/ddcxinfo-knoppix. 

:           ,       .          ,        . 


    .   ,   /etc/X11/xorg.conf,    Modes ()  DefaultDepth (),  X-      24   1024x768  .           ,  ,       . 

 4.1:   Screen /etc/X11/xorg.conf
Section "Screen"
  Identifier  "Default Screen"
  Device    "S3 Inc. ProSavage KN133 [Twister K]"
  Monitor   "Generic Monitor"
  DefaultDepth  24
  #     
  SubSection "Display"
    Depth   24
    Modes   "1024x768"
  EndSubSection
EndSection


 X (startx),  ,      :) 

 

  X    ,   InputDevice ( ),   ,    XkbLayout    .  , ,    .      : 

 4.2: Changing the keyboard layout
Section "InputDevice"
  Identifier  "Generic Keyboard"
  Driver    "keyboard"
  Option    "CoreKeyboard"
  Option    "XkbRules"  "xorg"
  Option    "XkbModel"  "pc105"
  Option    "XkbLayout" "be"
EndSection


 

    ,  ģ ,     .  (  )   /dev/input/mouse0 ( /dev/input/mice,      ).      /dev/psaux.   ,   ,     ,     ,   .        .     Ctrl-C. 

 4.3:   
# cat /dev/input/mouse0
(   Ctrl-C  )


    , ,     . 

    ,      InputDevice.    ,      : Protocol ( ,  ;     PS/2  IMPS/2)  ZAxisMapping (  ,  ). 

 4.4:     Xorg
Section "InputDevice"
  Identifier  "TouchPad Mouse"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse0"
  Option    "Protocol"    "IMPS/2"
  Option    "ZAxisMapping"    "4 5"
EndSection




 startx    :). ,  ()     Xorg.         ,       (   ),   KDE  GNOME,         :) 

5. 

    xorg.conf

 ,  man 5 xorg.conf  ,      .             ! 

        /usr/X11R6/lib/X11/doc,     README    . 

        xorg.conf.      ;  ,    :).      xorg.conf  XF86Config (   XFree86)   ,    XFree86 ,      . 
The XFree Local Multi-User HOWTO 
An Introduction to XFree 4.x   (Chris Houser) 

 

         Xorg    Xorg 7,       X (.) 

     ,     X      Gentoo  .



   X-  7.X (.)

  :
http://gentoo-wiki.com/HOWTO_Modular_Xorg
 : 1.0

Introduction

This is a guide to Modular Xorg, mainly dealing with special circumstances and troubleshooting. 
This article is currently being maintained by AllenJB. If you have suggestions for additions or fixes, please post them to the discussion and bugs page. 
Please see also the official Modular Xorg Upgrade Guide. 

Preparation 

Firstly it'll be useful to know what version of Xorg you're going to be emerging. If you don't know, run emerge -p xorg-x11 to find out. 

Nvidia Drivers 

The old nvidia-glx and nvidia-kernel packages have been replaced by a single nvidia-drivers package. If you're still using the old packages, you'll want to upgrade to the new package first, as the old ones will not work with modular Xorg, by running: 

 # emerge -Ca nvidia-glx nvidia-kernel
 # emerge nvidia-drivers
 # eselect opengl set nvidia

Masking Xorg 7.1 (optional)

If your system is going to install xorg-x11-7.1 and you wish to use xorg-x11-7.0 instead you'll need to add the following to /etc/portage/package.mask (create it if it doesn't exist):
 
# Mask xorg 7.1
>=x11-base/xorg-x11-7.1
>=x11-base/xorg-server-1.1.0
>=x11-drivers/xf86-input-evdev-1.1.2-r1
>=x11-drivers/xf86-video-vesa-1.2.0
>=x11-drivers/xf86-input-mouse-1.1.1
>=x11-drivers/xf86-input-keyboard-1.1.0
>=x11-drivers/xf86-video-tdfx-1.2.0

Backup 

Because Xorg is such a key part of a desktop system, you'll want to backup your current install before continuing. To do this we're going to use the quickpkg command from the gentoolkit package: 

 emerge -a gentoolkit
 quickpkg xorg-x11

If you want to find out more about the quickpkg tool, run: man quickpkg 

Additionally, create a list of packages that have files in the Xorg specific directories by running: 

  if [[ ! -L /usr/X11R6 ]]; \
  then equery belongs /usr/X11R6 > ~/usr-x11r6-packages \
  && rm -rf /usr/X11R6; fi


Restoring the backup 

To restore your backed-up package run: emerge --usepkgonly -a xorg-x11-6.8.2-r8 

If you can't remember the exact version you can find it out by running: ls /usr/portage/packages/All/xorg-x11* 

You then want to re-emerge all the packages listed in ~/usr-x11r6-packages. 

Uninstall old X.org 

Warning: If you are reading this from the same machine you will be upgrading X on, keep in mind two things: 

After cleaning out the old X, and before the new X is installed, you will not be able to start any X applications as X is not technically installed. The applications depending on X currently running are just running off the memory of X. Closing them will not enable you to re-open them until the new X is installed. 
Programs currently running in X may become unstable during the install. For example, firefox may unexpectedly crash due to not being able to find fonts which are no longer there, or other similar reasons. 
It is hence highly recommended that you print out a copy of this guide (or save a tree and open this guide on a console (not in X)) before you begin. Your programs should go back to behaving normally once the install is complete, however you may want to restart X as soon as possible afterwards.

Uninstall your current xorg install by running: emerge -Ca xorg-x11 

/usr/X11R6 symlink 

Run ls -l /usr/X11* and check that /usr/X11R6 is a symlink to /usr. It should look something like this
: 
lrwxrwxrwx 1 root root 6 Mar 27  2005 /usr/X11R6 -> ../usr

If it doesn't, delete it and recreate it by running: cd /usr && ln -s ../usr X11R6 

Remove /usr/lib/X11/xkb 

The following is a requirement of the xkeyboard-config package. 

32-bit Users: Run ls -l /usr/lib/X11/xkb and if it exists, delete it with rm -r /usr/lib/X11/xkb 

Emerge Modular X.org 

Device Drivers 

Modular Xorg introduces a new system for managing the driver packages for your devices. You need to set the appropriate VIDEO_CARDS and INPUT_DEVICES flags in /etc/make.conf. To see what flags are available, run emerge -upv xorg-x11. On a typical machine with an Nvidia video card, it might look like this: 
File: /etc/make.conf:

INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nv nvidia vesa"


The nv driver is the open source unofficial driver that lacks 3D acceleration. The nvidia driver is the official nvidia-drivers package. 

On an ATI System, the VIDEO_CARDS line should be like this (unless you don't wish to use proprietary drivers fglrx):

File: /etc/make.conf 
VIDEO_CARDS="radeon fglrx vesa"


Add the dri USE flag to /etc/make.conf to enable Direct Rendering support, which most graphics drivers use. 

Installation 

Now run emerge -Dvat xorg-x11 to install modular Xorg. 

A few useful X11 tools that used to be included in the 6.8 build are now their own packages, you can emerge all of them now by running: emerge -DuNav xev xdpyinfo xvinfo xset xdriinfo xprop 

If you would like some extra fonts, you can emerge them now also: 


emerge -DuNav font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi \
font-adobe-utopia-75dpi font-bh-100dpi font-bh-75dpi font-bh-type1 \
font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi \
font-bitstream-100dpi font-bitstream-75dpi ttf-bitstream-vera \
corefonts sharefonts freefonts font-ibm-type1


Keyboard Mappings

There may be people who will search for the ca_enhanced keyboard mapping in Xorg 7.0. It has not disappeared, it just changed names to ca(fr), as with this keyboard configuration:

File: /etc/X11/xorg.conf: 
Section "InputDevice"
    Identifier  "Keyboard1"
    Driver      "kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbRules"   "xorg"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "ca(fr)"
EndSection


Notice that Option "XkbRules" "xfree86" won't work for modular xorg-x11. You have to change it to "xorg", or many keys will not produce the desired effect. 

In case you defined a custom xkb model (e.g. if you added a diNovo keyboard), check if you modified /usr/share/X11/xkb and not /usr/lib/X11/xkb. 

If your X server is restarting each time you pressed a non dead key, add the following link: 
# ln -s /usr/share/X11/XKeysymDB /usr/lib/X11/XKeysymDB


OpenMotif fails to emerge

If building of openmotif fails run: emerge -DuNav --oneshot printproto xbitmaps libXp 

Then restart the emerge using: emerge --resume 


GL Issues

Problems building xorg-server, glx, and other GL-related packages in modular X may be due to a multilib issue. 

The first thing to try is to update eselect-opengl to at least 1.0.3. 

Next check your opengl implementation with eselect opengl list. If xorg-x11 isn't the only option, you probably want the alternate option, so change it with: eselect opengl set <implementation> 



xorg-server tries to build every single input driver

Solution: You need to specify which drivers you want by modifying /etc/make.conf to reflect your hardware. If nothing is specified, it will build them all! 

Example: File: /etc/make.conf 
INPUT_DEVICES="keyboard mouse synaptics evdev"


Mouse Speed Uncontrollable with evdev Driver 

Please see TIP Setting Mouse Speed Through Command Line for more information. 

Mouse Wheel No Longer Works 

Please see the Modular XOrg section of HOWTO Advanced Mouse for more extensive information. 


Xorg won't start due to fglrx or nvidia module missing

Re-emerge the appropriate drivers (ati-drivers or nvidia-drivers) to get X running again after the install. Make sure you recompile the the drivers with same compiler you used for the kernel, otherwise you'll get message about the module format being incompatible when you try to load the fglrx kernel module. 


Matrox G550, Xinerama and mga driver 

The install script of the binary drivers available from Matrox (v4.4 at the time of writing) copies the driver files to 
/usr/lib/modules/drivers

instead of 
/usr/lib/xorg/modules/drivers

Copy the correct files (mga_drv.so/mga_hal_drv.so) manually to get Xinerama working again. 


Problems with the keyboard 

The AltGr key and/or other national special keys may stop working after an update to modular X. To fix this, unmerge the new xkeyboard-config and re-emerge the xkbdata package which contains correct translations for that key. 

If the above fix doesn't work, you can also try running: xmodmap -e "keycode 113 = Mode_switch" 


Sometimes it can happen that GNOME / KDE keyboard layout switching doesn't work. To correct this, create xkb as a symbolic link in the /usr/lib64/X11 lib directory with: 
 cd /usr/lib64/X11
 ln -s /usr/share/X11/xkb/ xkb

Missing fonts 

There are X11 fonts that may be in use but not available. See the Xorg and fonts HOWTO and install the listed fonts. 


Configuration file locations have changed 

All of the configuration files and scripts in Xorg-6.8 were stored in /etc/X11, which was not standard. In modular Xorg, all of the configuration files are in the same place but configuration scripts and default files have moved to /usr/lib/X11/ and /usr/share/X11. 

When upgrading, since /etc is config-protected, your old configuration files would not have been removed -- this means you'll have some extra files in there that look right but don't do anything. 

Also, these new locations are NOT config-protected, so when making changes to say, app-defaults/XTerm-color, be sure to add CONFIG_PROTECT="/usr/share/X11/app-defaults" to /etc/make.conf. Or when updating the init for xdm, it would be a good idea to copy that file from /usr/lib/X11/xdm/Xsetup_0 to /etc/X11/xdm/ and update /etc/X11/xdm/xdm-config accordingly. 

Other problems and solutions 

Please see Gentoo's bug tracker and the official modular X howto. 

If none of the above helps generating a new xorg.conf may solve your problems. 
X -configure

XkbOptions
  : http://ru.gentoo-wiki.com/XkbOptions
 : 1.0
 "XkbOptions" 
      /etc/X11/xorg.conf 
1.grp:toggle -   Alt; 
2.grp:shift_toggle -   shift; 
3.grp:ctrl_shift_toggle - ctrl+shift; 
4.grp:alt_shift_toggle - alt+shift; 
5.grp:ctrl_alt_toggle - ctrl+alt; 
6.grp:caps_toggle -   CapsLock; 
7.grp:lwin_toggle -    "Win"   Windows  ( X Window  4.2); 
8.grp:rwin_toggle -    "Win"   Windows  ( X Window  4.2); 
9.grp:menu_toggle -    " "  Windows  ( X Window  4.2); 
10.grp:lctrl_toggle     Control 
11.grp:rctrl_toggle     Control 
12.grp:switch -    Alt     
13.grp:lwin_switch -     Windows     
14.grp:rwin_switch -     Windows     
15.grp:win_switch -     Windows     
  grp_led: 
1.grp_led -         
2.grp_led:num -  Num_Lock    
3.grp_led:caps -  Caps_Lock    
4.grp_led:scroll -  Scroll_Lock    
 
: /etc/X11/xorg.conf 
...
Section "InputDevice"
  ...
  Option "XkbOptions" "grp:switch,grp:caps_toggle,grp_led:scroll"
  ...
EndSection
...
  
/etc/X11/xkb/rules/xorg.lst


HOWTO Xorg and Fonts (.)

  : http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts
:  .. a.k.a. JohnBat26
 : 1.3
  : 27.10.2007

   HOWTO

   X   Xfree  X.org,   ( )   ,      ,    ,   LCD  TFT .  HOWTO     .     ,  HOWTO     .


  

   ,   Linux (X11)  ,    .     ,         Truetype.  ,         (    Apple,  ,    ).      ,     .

 ,  ghostscript, mozilla, openoffice,  tex,          .  ,     how-to      ,    .

: X11     ,  !  "core X font subsystem"   : -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1.   ,     "fontconfig",     Xft  ,  ,    .   ,  ݣ   ,  "xfs".

   DPI
    ,   ,           Linux,   LCD/CRT      ,   96 dpi (  ).  ޣ  ,         TFT/LCD   .    ,  96 dpi        . CRT        ,  LCD  ,             .
      Windows/Mac  Linux

   Windows (clear type)   Mac OS     ,    Linux,  LCD   dpi ,  96.  dpi  96  ,    Linux     ,   Windows  Mac OS. ,   ,      libXft,   'xeffects' overlay.

  

 ,      X.org (X.org  6.8.0-r4        USE : truetype  type1).   ,     X-    , , USE : font-server ,    -    .

 :
    * x11-base/xorg-x11
    * media-libs/freetype
    * media-fonts/corefonts
    * media-fonts/freefonts 

          
(: media-fonts/unifont  dev-util/eclipse-sdk):

    * media-fonts/ttf-bitstream-vera
    * media-fonts/artwiz-fonts
    * media-fonts/sharefonts
    * media-fonts/terminus-font
    * media-fonts/unifont
    * media-fonts/dejavu 

: f28:   : media-fonts/liberation-fonts-ttf, "A GPL-2 Helvetica/Times/Courier  TrueType font set,    Red Hat"

 USE     :

# euse --enable truetype type1
# emerge --newuse --noreplace freetype corefonts freefonts artwiz-fonts sharefonts \
        terminus-font ttf-bitstream-vera unifont dejavu xorg-x11

 ,    Xorg      ,   ,     /etc/make.conf   USE :

USE="truetype type1"

          :

# emerge -avuDN world

  Xorg 7.0:     ݣ   
 "intlfonts".

# emerge intlfonts

      :
http://forums.gentoo.org/viewtopic.php?p=3643250#3643250 


   (Hinting)

     ,  ,   
 ,    ,      (    ).

     , FreeType       TrueType's Byte Code Interpreter ( BCI)  .

 BCI ( ), FreeType            .   ݣ          FreeType.     . ,  ,   TrueType BCI   ,  , ..       ,   .

    ,        ,     BCI,  USE : bindist.    freetype    : http://freetype.sourceforge.net/patents.html.

#echo "media-libs/freetype -bindist" >> /etc/portage/package.use
#emerge -av freetype

  ,       LCD ,    bindist   ,        .



 
  

  ,          .   :

1./etc/fonts/local.conf;
2./etc/X11/xorg.conf;
3.~/.fonts.conf .

  ,   ,    fc-list  xlsfonts.   ,    gfontview.

 ,       fc-list,         xlsfonts,         OpenOffice. , ,  ,      ghostscript /  tex:

 : /etc/fonts/local.conf  ~/.fonts.conf

     : Xft.    /etc/fonts/local.conf   ;       ~/.fonts.conf         .  ,             (anti-aliasing setting).

  /etc/fonts/local.conf        ,   ,      .  /etc/fonts/fonts.conf  /usr/share/fonts    .  ,      , .. Xorg     ~/.fonts.conf,    .

 ,   /etc/fonts/local.conf  ~/.fonts.conf,  XML-.      ,    XML . 
    ,     :

: /etc/fonts/local.conf  ~/.fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file to configure system font access -->

<fontconfig>

<!-- Enable sub-pixel rendering -->

<!--
        <match target="font">
                <test qual="all" name="rgba">
                        <const>unknown</const>
                </test>
                <edit name="rgba" mode="assign"><const>rgb</const></edit>
        </match>
-->

 
<!-- Use the Autohinter -->

	<match target="font">
       	<edit name="autohint" mode="assign"><bool>true</bool></edit>
       </match>

<!-- Disable Autohinting for bold fonts -->

	<match target="font">
   		<test name="weight" compare="more">
			<const>medium</const>
		</test>
   		<edit name="autohint" mode="assign"><bool>false</bool></edit>
	</match>
 
<!-- Exclude/Include a range of fonts for Anti Aliasing -->

<!--

<match target="font">
	<test qual="any" name="size" compare="more">
                <double>9</double>
        </test>
        <test qual="any" name="size" compare="less">
                <double>14</double>
        </test>
        <edit name="antialias" mode="assign">
                <bool>true</bool>
        </edit>
</match>

-->


<!-- And/Or disable Anti Aliasing for a range on pixel-based size.
     Disabling this using both methods seems to fix Firefox. -->

<!--

<match target="font">
        <test compare="less" name="pixelsize" qual="any">
                <double>20</double>
        </test>
        <edit mode="assign" name="antialias">
                <bool>false</bool>
        </edit>
</match>

-->


        <dir>/home/johnbat26/extrafonts</dir>

</fontconfig>



    : "sub-pixel rendering"  ,      LCD .  ţ   CRT ,    Xorg      .  : "none", "rgb", "bgr", "vrgb"  "vbgr".   LCD     :"rgb",      .

    -  . Gentoo  2  :

AutoHinter
 	   auto hinter   FreeType,             .   ,   ,          ,      .       .

TrueType Byte Code Interpreter (BCI)
     FreeType    - (TrueType Byte Code Interpreter) (. ),    BCI,   auto hinter . (,  <edit name="autohint" mode="assign"><bool>true</bool></edit>  "false"  "true".      TrueType BCI;      ,    BCI.

 KDE  GNOME    ,       : "", "", "" ('light,' 'medium,' and 'strong').     FreeType 'auto hinter',    BCI.      ',' ','  '' ,     ,  BCI    (auto hinter). 

    ,  ,                   .   ,             Windows(R).    ,  ,    "sub-pixel rendering", -      .

,  ,   ,   (pixel-based font sizes)... ,     !

     ,      (/usr/share/fonts/)   .       ,  ,     ţ.

,              ~/.fonts.conf,     anti-aliasing setting,      ,    .  ,   : /etc/fonts/local.conf      : ~/.fonts.conf, , ,     ,    .





/etc/X11/xorg.conf
   X (""),  ,       ,    ,    LCD     ,        DPI     GTK+          . 

           .          ,      .    ,     Firefox.     CSS,    ,     HTML,             DPI.   ,  DPI 96   .

     ( )   :

DisplaySize <width> <height>

  Monitor :  /etc/X11/xorg.conf,   .

File: /etc/X11/xorg.conf 

Section "Monitor"
    Identifier          "Monitor0"
    :
    DisplaySize         340 270
    :
EndSection


         
,   15     340 x 270 ,  19   380 x 305 .

  DisplaySize       25.4  width / dpi ,  , 25.4  height / dpi, 25,4    . ,   
DPI  75   1600x1200,    : 25.4  1600 / 75 = 542  25.4  1200 / 75 = 406,     DisplaySize 542 406. 

   ޣ  ,   X     .     startx -- -dpi 96,   96      DPI,   :

 #xdpyinfo | grep dimension
 dimensions:    1400x1050 pixels (XXXxYYY millimeters)

  : XXX  YYY   DisplaySize.

ݣ     ,        (    emerge -tav xrandr )  : 

# xrandr --query
 SZ:    Pixels          Physical       Refresh
*0   1680 x 1050   ( 431mm x 272mm )  *60  
Current rotation - normal
Current reflection - none
Rotations possible - normal 
Reflections possible - none

   ,  ,     : http://www.raydreams.com/prog/dpi.aspx

    nVidia,           device.        : 
: /etc/X11/xorg.conf 
   ....
   Option   "UseEdidDpi"   "FALSE"
   Option   "DPI"   "96 x 96"
   ....

,            /etc/X11/xorg.conf.   
      ,      ,      .

       ,   Gnome  KDE   fontconfig,     ,    X  (  )   fixed   cursor.

/usr/share/fonts/misc:unscaled

 ,       , : /usr/share/fonts/misc.      fixed  cursor .       Xorg.      ,            
,      (artwiz)

: :unscaled  X   unscaled     ,    pixelation.       bitmap  

/usr/share/fonts/75dpi:unscaled
/usr/share/fonts/100dpi:unscaled

  bitmap .       75dpi  100dpi,      .   ,        dpi,          ,           

/usr/share/fonts/Type1
/usr/share/fonts/TTF

Type1  TrueType .      ,       Luxi Sans/Serif/Mono . 

/usr/share/fonts/corefonts
/usr/share/fonts/freefonts
/usr/share/fonts/sharefonts

 Microsoft's TrueType core fonts,   TrueType      Type1 Fonts, . 

/usr/share/fonts/artwiz
/usr/share/fonts/terminus
/usr/share/fonts/ttf-bitstream-vera
/usr/share/fonts/unifont

     ,          .

/usr/share/fonts/local
/usr/share/fonts/cyrillic

          .  ,   font.dir   .    ,            .

/usr/share/fonts/*everythingelse*  

   ,   .    .     -  ,    .       ,   fonts.dir,    .

           . ͣ  bitmap     .   ,       TTF  Type1         .   media-fonts/corefonts     core fonts        .
     :
: /etc/X11/xorg.conf (   )
...
Section "Files"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/Type1/" 
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/corefonts"
    FontPath     "/usr/share/fonts/freefonts"
    FontPath     "/usr/share/fonts/sharefonts"	
    FontPath     "/usr/share/fonts/terminus"
    FontPath     "/usr/share/fonts/ttf-bitstream-vera"
    FontPath     "/usr/share/fonts/unifont"
    FontPath     "/usr/share/fonts/75dpi:unscaled" 
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/artwiz"
    FontPath     "/usr/share/fonts/cyrillic"
EndSection
...
     ,    freetype 

: /etc/X11/xorg.conf 

Load "freetype"

 

   ,    Xorg.     X display manager,   GDM, KDM, XDM  ..          X,  "Ctrl+Alt+Backspace",      .    ,   Xorg      xdm.

-    ,     Xorg,         ,   "CTRL + ALT + F1"    . ( ALT + F7     X  .)

# /etc/init.d/xdm restart

   ,  X display manager  .    ,       (anti-aliased).


Mozilla Firefox and Thunderbird
Mozilla Firefox 1.0+

      Firefox 1.0. ,    Firefox c  USE : moznoxft.    ufed   (   ţ: emerge ufed).

:

#emerge mozilla-firefox

      Firefox,      : ~/.mozilla/firefox/default.xxx/.

  about:config    ,  ,   user.js  ~/.mozilla/firefox/default.xxx/,  xxx    .

Firefox 1.0.4  :  prefs.js  ~/.mozilla/firefox/xxx.default/,  xxx      .

     about:config,    user.js     ,   :


:  "font.FreeType2.printing"  true,     Firefox    .




: ~/.mozilla/firefox/___.default/prefs.js

// TrueType
user_pref ("font.FreeType2.enable", true);
user_pref ("font.freetype2.shared-library", "libfreetype.so.6");
// if libfreetype was built without hinting compiled in
// it is best to leave hinting off
user_pref ("font.FreeType2.autohinted", true);
user_pref ("font.FreeType2.unhinted", true);
// below a certain pixel size anti-aliased fonts produce poor results
user_pref ("font.antialias.min",        0);
user_pref ("font.embedded_bitmaps.max", 1000000);
// sample user_pref s for TrueType font dirs
user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
user_pref ("font.directory.truetype.4", "/usr/share/fonts/freefont");
user_pref ("font.FreeType2.printing", true);

    HOWTO,         ,     .

 Firefox 1.0,   Edit  Preferences  General  Fonts & Colors.

 Firefox 1.5,   Edit  Preferences  Content  Fonts & Colors  Advanced.

,   :

    * Proportional: Serif (Size: 16)
    * Serif: Bitstream vera serif
    * Sans-serif: Bitstream vera sans
    * Monospace: Bitstream vera sans mono (Size: 12)
    * Display Resolution: System setting 

 ,  : "  : "  . 

  Firefox    www.gentoo.org   !

 ,  KDE  Firefox,      ,      KDE /      / ,  ,  ,       .
Mozilla Thunderbird 0.7, 1.0.2   
     Thunderbird,    ,         user.js.      ~/.thunderbird/default/xxxxxxxx.slt/ (,   , ~/.thunderbird/xxxxxxxx.default/).   user.js      ,    Mozilla Firefox:  ,       prefs.js ?

: ~/.thunderbird/default/xxxxxxxx.slt/user.js

// TrueType
user_pref ("font.FreeType2.enable", true);
user_pref ("font.freetype2.shared-library", "libfreetype.so.6");
// if libfreetype was built without hinting compiled in
// it is best to leave hinting off
user_pref ("font.FreeType2.autohinted", true);
user_pref ("font.FreeType2.unhinted", true);
// below a certain pixel size anti-aliased fonts produce poor results
user_pref ("font.antialias.min",        0);
user_pref ("font.embedded_bitmaps.max", 1000000);
user_pref ("font.scale.tt_bitmap.dark_text.min", 0);
user_pref ("font.scale.tt_bitmap.dark_text.gain", "0.0");
// sample user_pref s for TrueType font dirs
user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
user_pref ("font.directory.truetype.4", "/usr/share/fonts/freetype");
user_pref ("font.FreeType2.printing", true);

,   Thunderbird 1.0.2,   : Edit  Preferences  Fonts Or (on 0.7) Tools  Options  Fonts    :

Proportional: Serif (Size: 16)
Serif: Bits-bitstream vera serif
Sans-serif: Bits-bitstream vera sans
Monospace: Bits-bitstream vera sans mono (Size: 12)
Minimum font size: 9

 ,   : "    ".

  Thunderbird       !

   

     KDE    ,   , KDE    (..   KDE  :( ),        ~/.kde/share/config/kdeglobals  :

: ~/.kde/share/config/kdeglobals

[General]
 StandardFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 activeFont=Bitstream Vera Sans,7,-1,5,75,0,0,0,0,0
 fixed=Bitstream Vera Sans Mono,7,-1,5,50,0,0,0,0,0
 font=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 menuFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 taskbarFont=Bitstream Vera Sans,7,-1,5,50,1,0,0,0,0
 toolBarFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0

       (  ,    )

 ,     Firefox  .         :






: ~/.mozilla/firefox/<yourprofile>/chrome/userChrome.css

* {
    font-family: Sans-Serif !important;
    font-size: 8pt !important;
}

     Thunderbird (~/.thunderbird/<profile>/chrome/userChrome.css)

  ,     ,      (,     )     Google  Amazon         .   ,   userContent.css (     userChrome.css,     ),   :

: ~/.mozilla/firefox/<yourprofile>/chrome/userContent.css

input, textarea, select, button,
input[type="button"], input[type="reset"], input[type="submit"] {
   font-size: 8pt !important;
   font-family: Verdana !important;
}

 ,  Linux    Konsole  .
 KDE    Konsole    KDE.           Linux : Font `-misc-console-medium-r-normal--16-160-72-72-c-80-iso10646-1' not found
      :

1.    kdesu kcmshell kcmfontinst,     KDE.
2.     root.
3.       "add fonts icon" (an @-sign with a +-sign on it)
4.     /usr/kde/3.2/share/fonts/     (files ending in .pcf.gz). 

,        
         Gnome 2.12

   (AntiAliasing) (      : /etc/fonts/local.conf  ~/.fonts.conf,      )    .
         media-video/nvidia-kernel-1.0.8178-r3,
     render acceleration   Device    xorg.conf:

Option "RenderAccel"



   startx

   : "Fontconfig error"   startx:

"Fontconfig warning: no <cachedir> elements found. Check configuration." 
"Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>" 
"Fontconfig warning: adding <cachedir>~/.fontconfig</cachedir>

  ţ  :

emerge --noconfmem --oneshot fontconfig && dispatch-conf

XEmacs

    ,  ,        XEmacs (   ),   :

    * x11fonts-jmk 

 emerge x11fonts-jmk

   ݣ   FontPath   : xorg.conf:

 FontPath    "/usr/share/fonts/jmk"

   (   X).     Xemacs    "Neep Alt".      ,  ,    .

 
      ,    HOWTO:

    * How to enable AA in Fluxbox,GKrellM,Abiword,Phoenix etc...
    * X.Org & Fonts
    * [xfree] caratteri sfocati
    * Moz Firefox 0.9 (all versions) general discussion thread. 
 
    * Control Font DPI in X
    * Forum Post
    * XFree86 Font De-uglification HOWTO
    * Optimal Use of Fonts on Linux
    * Mini HOWTO: Getting Perfect Fonts on Mandrake 10.1 



 ( JohnBat26),  : ~/.fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Info at http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts --><!-- Replace Courier with a better-looking font --> 
  <match target="pattern" name="family" >
  <test name="family" qual="any" >
   <string>Verdana</string>
  </test>
  <edit mode="assign" name="family" >
<!-- Other choices - Courier New, Luxi Mono   <string>Bitstream Vera Sans Mono</string> --><!-- Other choices - Courier New, Luxi Mono --> 
  <string>Verdana</string>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
  <edit mode="assign" name="autohint" >
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="antialias" >
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
  <edit mode="assign" name="hintstyle" >
   <const>hintmedium</const>
  </edit>
 </match>
<!-- Disable autohint for bold fonts, otherwise they look *too* bold --> <match target="font" >
  <test compare="more" name="weight" >
   <const>medium</const>
  </test>
  <edit mode="assign" name="autohint" >
   <bool>false</bool>
  </edit>
 </match>
<!-- Reject bitmap fonts in favour of Truetype, Postscript, etc. --> <selectfont>
  <rejectfont>
   <pattern>
    <patelt name="scalable" >
     <bool>false</bool>
    </patelt>
   </pattern>
  </rejectfont>
 </selectfont>
 <match target="font" >
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hintstyle" >
   <const>hintmedium</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="antialias" >
   <bool>true</bool>
  </edit>
 </match>
</fontconfig>

 

   nVidia  Gentoo Linux
  :
http://www.gentoo.org/doc/ru/nvidia-guide.xml
 : 1.0

1. 

 nVidia      Linux,       .   Portage     nvidia-drivers    nVidia  nvidia-legacy-drivers  .  



:   Gentoo         nVidia(nvidia-kernel)    GLX X11 (nvidia-glx).       Portage    nvidia-drivers  nvidia-legacy-drivers.       nvidia-kernel  nvidia-glx,        . 


2.  

 

   ,  nVidia      .     ,      .    genkernel   ,    .   ,           : 

 2.1:    
Loadable module support --->
  [*] Enable loadable module support


      Memory Type Range Register: 

 2.2:  MTRR
Processor and Features --->
  [*] MTRR (Memory Type Range Register) support


,    AGP-,     agpgart      .      agpgart,       agpgart   NvAGP.       ,  ,    .        ,       .     ,      agpgart: 

 2.3:  agpgart
Device Drivers --->
Character devices --->
<*> /dev/agpgart (AGP Support)


  
:    x86  AMD64,        ,  nVidia.       ,      ,   : 





 2.4:   
Device Drivers --->
Graphics Support --->
< >   nVidia Framebuffer Support
< >   nVidia Riva support


     VESA: 

 2.5:   VESA
Device Drivers --->
Graphics Support --->
<*>   VESA VGA graphics support


   VESA driver type   vesafb,  vesafb-tng.     AMD64,    vesafb,   vesafb-tng: 

 2.6:    
(X) vesafb
( ) vesafb-tng


   vesafb,        /usr/src/linux/Documentation/fb/vesafb.txt,           /usr/src/linux/Documentation/fb/. 

  

The nvidia-drivers and nvidia-legacy-drivers ebuilds         /usr/src/linux.              .            . 

   gentoo-sources-2.6.11-r6,  /usr/src    : 

 2.7:    /usr/src/linux
# cd /usr/src
# ls -l
(,   linux    )
lrwxrwxrwx   1 root root   22 Apr 23 18:33 linux -> linux-2.6.11-gentoo-r6
drwxr-xr-x   4 root root  120 Apr  8 18:56 linux-2.4.26-gentoo-r4
drwxr-xr-x  18 root root  664 Dec 31 16:09 linux-2.6.10
drwxr-xr-x  18 root root  632 Mar  3 12:27 linux-2.6.11
drwxr-xr-x  19 root root 4096 Mar 16 22:00 linux-2.6.11-gentoo-r6


    ,    linux    linux-2.6.11-gentoo-r6. 

      ,    : 



 2.8:      /usr/src/linux
# cd /usr/src
# ln -snf linux-2.6.11-gentoo-r6 linux


 :    
:  ,          nvidia-drivers.  nVidia    .   ,     . 


      : 

 2.9:  
TNT2
TNT2 Pro
TNT2 Ultra
TNT2 Model 64 (M64)
TNT2 Model 64 (M64) Pro
Vanta
Vanta LT
GeForce 256
GeForce DDR
GeForce2 GTS
GeForce2 Pro
GeForce2 Ti
GeForce2 Ultra
GeForce2 MX Integrated graphics
Quadro
Quadro2 Pro
Quadro2 EX


       ,    3D    nvidia-legacy-drivers. 

  

   . 

 2.10:   nVidia
(       )
# emerge nvidia-drivers
(       )
# emerge nvidia-legacy-drivers

:  ,        ,    emerge nvidia-drivers  emerge nvidia-legacy-drivers     nVidia. 


    modprobe nvidia     . 





 2.11:  
# lsmod | grep nvidia && rmmod nvidia
# modprobe nvidia


        , ,  ,      ,   /etc/modules.autoload.d/kernel-2.6 ( kernel-2.4      )    nvidia  .      modules-update. 
:    agpgart   ,       /etc/modules.autoload.d/kernel-2.6 ( kernel-2.4,     ). 


 2.12:  modules-update
# modules-update


 X-

    ,    X-,    nvidia     nv. 

  /etc/X11/xorg.conf     ( nano  vim)    Device.      Driver: 

 2.13:  nv  nvidia    X-
Section "Device"
  Identifier "nVidia Inc. GeForce2"
  Driver     "nvidia"
  VideoRam   65536
EndSection


    Module  ,     glx,  dri   : 

 2.14:   Module
Section "Module"
  (...)
  # Load  "dri"
  Load  "glx"
  (...)
EndSection


,   Screen ,     DefaultDepth   16  24,        Display   Depth  16  24.    nVidia GLX   . 



 2.15:   Screen
Section "Screen"
  (...)
  DefaultDepth 16
  Subsection "Display"
  (...)
EndSection


 eselect,  X-  GLX- nVidia: 

 2.16:  eselect
# eselect opengl set nvidia


    video

     video,         nvidia: 

 2.17:     video
# gpasswd -a youruser video


      udev, ,  ,    ,    ,           . 

 

   nVidia  X   glxinfo | grep direct.   ,    (direct rendering) : 

 2.18:    
$ glxinfo | grep direct
direct rendering: Yes


    FPS (  ),   glxgears. 

  nvidia

 , , mplayer  xine-lib,   USE- nvidia,       Mpeg (XvMCNVIDIA),     .  nvidia   USE   /etc/make.conf      USE-  media-video/mplayer / media-libs/xine-lib  /etc/portage/package.use. 

  emerge -uD --newuse world,   ,    USE-. 

  nVidia Settings

   1.0.6106,  nVidia   .         X-     Portage   media-video/nvidia-settings. 

3. 

 2D     4   

      2D- nVidia,  ,        (write-combining range)  MTRR.   ,   /proc/mtrr: 

 3.1:    write-combining
# cat /proc/mtrr


    write-back  write-combining.    ,  uncachable,      BIOS,   . 

    BIOS,    MTRR (  CPU Settings).    continuous  discrete     Linux.         uncachable,  2D-    - . 

   ,     no such device 

  ,      . ,       nVidia (    lspci). 

  ,     nVidia,  BIOS  ,    Assign IRQ to VGA. 

4.   



  nVidia    .    /usr/share/doc,     : 

 4.1:   NVIDIA
( nvidia-drivers)
$ less /usr/share/doc/nvidia-drivers-*/README.gz
( nvidia-legacy-drivers)
$ less /usr/share/doc/nvidia-legacy-drivers-*/README.gz


  

  nvidia    ,        .      .      ,   /etc/modules.d/nvidia.    modules-update        ,      nvidia,    . 

 4.2:   nvidia
( /etc/modules.d/nvidia   )
# nano -w /etc/modules.d/nvidia
(   )
# modules-update
(  nvidia...)
# modprobe -r nvidia
(...   )
# modprobe nvidia


  X-

GLX-     .    TV-,  ,     ..  ,       . 

       ,         Device   X- ( /etc/X11/xorg.conf). ,      nVidia   X-: 

 4.3:   nvidia   X-
Section "Device"
  Identifier "nVidia Inc. GeForce2"
  Driver     "nvidia"
  Option     "NoLogo" "true"
  VideoRam   65536
EndSection







   ATI  Gentoo Linux

  :
http://www.gentoo.org/doc/ru/ati-faq.xml
 : 1.0

1.  

    ATI?

 xorg-x11   (  )  ATI,   ,      .       DRI,    xorg-x11,      ,   ATI. 
   	
Rage128	                       Rage128	                                            xorg DRI
R100	Radeon 7xxx,            Radeon 64	                                            xorg DRI
R200, R250, R280	Radeon 8500, Radeon 9000, Radeon 9200	xorg DRI, ATI DRI
R300, R400, R500	Radeon 9500x800	xorg 2D, ATI DRI


    All-In-Wonder/Vivo.     ? 

      GATOS.           xorg. 

    x86.    ?

 X11   PPC  Alpha    X11  x86. ,   ATI        PPC  Alpha,          () R300.      ,   ,     X11,   ATI  ,      .  AMD64    ,    AMD64      ,    x86. 
:    agpgart     AMD64     K8 IOMMU. 


   .     ATI Mobility?

,         -  OEM PCI ID,  .   ,           xorgconfig. 

2. 


  xorg-x11   X11
  2.6.x  DRI         x11-drm 
  2.4.x    x11-drm 
  ati-drivers    ATI  X        2.4,   2.6 

      agpgart  ATI     Linux,   agpgart     (   )         . 

 2.1:  
(    X11     Rage128)
# VIDEO_CARDS="r128" emerge x11-drm

(    Radeon)
(R100, R200, R250, R280,   R300)
# VIDEO_CARDS="radeon" emerge x11-drm

(    ATI    )
(R200, R250, R280  R300)
# emerge ati-drivers

(  X11  -  )
# emerge xorg-x11




    xorg.conf   xorgcfg  xorgconfig.         Xorg: 

 2.2:   X
# X -configure


    ,      xorg.conf,      X-  Gentoo. 

:     ati-drivers,     fglrxconfig. 

:   PPC      Xorgautoconfig,   Xorgautoconfig,   . 


  OpenGL

  X ,   ,     ATI OpenGL: 

 2.3:  eselect
# eselect opengl set ati


3.  

 Hardware Acceleration Guide          ATI. 

   Gentoo Linux    ATI    Wedge Unofficial Gentoo ATI Radeon FAQ.



HOWTO fbsplash
  :
http://ru.gentoo-wiki.com/HOWTO_fbsplash

 : 1.2

 
      gentoo- Spock   gensplash (fbsplash and splashutils)  vesafb-tng.    how-to,    Spock's Gensplash-in-5-easy-steps How-to. 
  gensplash?
Gensplash -    Spock`,      ,  ""   Gentoo ( , ,  ,  . .). 
  fbsplash (framebuffer splash)?
Fbsplash -   gensplash .    fbsplash, "framebuffer splash -                     (silent mode),     //.    fbsplash     /dev/fbsplash.    fbsplash,    framebuffer. 
   frame buffer?
 frame buffer      ,              , . .         ,   . .       ,     /dev  ,   /dev/fb*. 
   frame buffer . 
1.  ,     : 
vesafb (vesa frame buffer); 
vesafb-tng (vesa frame buffer  ). 
2. ,      : 
rivafb (   nvidia ); 
radeonfb (   ati ). 
,  Fbsplash      frame buffer  (       8/15/16/24/32     directcolor/pseudocolor ). 
 fbsplash  splashutils
     vesafb-tng frame buffer .      Gentoo . 
Code: Emerging splashutils & themes 
# emerge -va splashutils splash-themes-gentoo splash-themes-livecd
  
    fbsplash  vesafb-tng     .    2.6.10 (     ) ӣ    gentoo-sources.            Spock's homepage 
 
     vesafb-tng frame buffer    (          framebuffer    vesa-tng,  i810fb): 
Device Drivers ---> Graphics support--->:
 <*> Support for frame buffer devices
 <*>   VESA VGA graphics support
       VESA driver type (vesafb-tng)
 (1280x1024@60) VESA default mode
    fbsplash   . 
Device Drivers > Graphics support > Console display driver support:
 <*> Framebuffer Console support
 <*> Support for the framebuffer splash
    initramfs      (  " initramfs     "   howto),       .   ݣ     ,  ţ   (   Ԛ:) 
Device Drivers > Block devices:
 <*> RAM disk support
 (4096) Default RAM disk size (kbytes) (NEW)
 [*]   Initial RAM disk (initrd) support
Initial RAM disk (initrd) support  (  2.6.22)   General setup. 
  ()
# cd /usr/src/linux
             : 
# make mrproper
  . 
# make menuconfig
      ,  (:       splashutils). "make"     ('make bzImage')   ('make modules'). 
# make
 /   (  genkernel)
  genkernel   : 
# genkernel --gensplash=livecd-2006.0 --gensplash-res=1280x1024 --menuconfig all
   : 
--gensplash=livecd-2006.0 -   livecd-2006.0 (  splash-themes-livecd), 
--gensplash-res=1280x1024 -      1280x1024, 
--menuconfig -   ncurses  , 
all -  ,   initrd . 
 splashutils
     splashutils. Splashutils       (   jpg, png). 
# emerge splashutils
, /usr/src/linux       .. 
 /   ( )
          splash screen.           . 
 /boot      . 
1.mount /boot 
     . 
1.make modules_install 
2.make install 
  initramfs 
   (     howto, Configuring your bootloader) ,   splash screen      .              (   - vesafb-tng),   initramfs. 
  initramfs?
( Spock'): "Initramfs (initial ramfs)       cpio     . 
  initramfs    . initramfs  : 
1.,    ; 
2.  ; 
3.  (splash_helper). 
       gensplash. 
     initramfs image: 
1. initramfs image   ; 
2. initramfs image      (  'initial ram disk' - initrd). 
    ,   . . 
  initramfs   
    initramfs: 
# rm /usr/src/linux/usr/initramfs_data.cpio.gz
    initramfs,  ,    userspace helper.        splash_geninitramfs (   splashutils).      'splash'   bootsplash. 
# splash_geninitramfs -v -g /usr/src/linux/usr/initramfs_data.cpio.gz -r 1024x768 emergence
   initramfs   ,     (      initrd): 
# cd /usr/src/linux
# touch usr/initramfs_data.cpio.gz
# make bzImage
# mount /boot
# make install
  initramfs 
      initramfs   .    ,       (     'make'      /boot   'make install'),    initramfs   (initrd)       . ,        (    initrd ).        howto 
   splash_geninitramfs  initrd  (  ,   userspace helper): 
# mount /boot
# cd /etc/splash
# splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768  -r 1024x768 emergence
       ( ) /boot. 
 ,   Spock',"     initramfs   initrd ".  ,        genkernel , . . genkernel    initrd   . 
solshark [solshark_at_rambler_dot_ru]: genkernel 3.3.6   : 
1.genkernel --gensplash=DangerGirl initrd 
      genkernel     . 

    ,      initrd  grub.conf : 
root=/dev/ram0 real_root=/dev/$ROOT
initrd (hd0,0)/boot/initrd
: 
root=/dev/$ROOT
initrd (hd0,0)/boot/fbsplash-emergence-1024x768
    gensplash
  'emergence'  ţ     /etc/splash/emergence. 
    (   'newtheme'),  : 
1.   ţ   /etc/splash: 
# mkdir /etc/splash/newtheme
2.   'images'  /etc/splash/newtheme: 
# mkdir /etc/splash/newtheme/images
    (  png/jpg)     . 
3.    .     *.cfg      (/etc/splash/newtheme).        ('emergence'): 
# ls -l /etc/splash/emergence/
images/
1024x768.cfg
1280x1024.cfg
800x600.cfg
       'jpeg='  'silentjpeg=' ( *.cfg )        ( /etc/splash/newtheme/images).     jpeg   ,    'pic='  'silentpic='. 
       fbsplash,    splashutils: 
# less /usr/doc/splashutils-version/theme_format.gz
  bootsplash   gensplash
  Spock    bootsplash2fbsplash (      splashutils) ,     bootsplash  gensplash. 
      'gentoo-highquality' ,  /etc/bootsplash ,   ( ): 
# bootsplash2fbsplash gentoo-highquality
   gensplash-    /etc/splash (/etc/splash/gentoo-highquality)    . 
   gensplash
          (   'newtheme',  1280x1024),    splash_geninitramfs. 
      ( ): 
# splash_geninitramfs -v -g /usr/src/linux/usr/initramfs_data.cpio.gz -r 1280x1024 newtheme
# cd /usr/src/linux
# touch usr/initramfs_data.cpio.gz
# make bzImage
# mount /boot
# make install
   initrd ( ): 
# mount /boot
# splash_geninitramfs -v -g /boot/fbsplash-newtheme-1280x1024 -r 1280x1024 newtheme
    splash_geninitramfs: 
-v  splash_geninitramfs   
-g  splash_geninitramfs   initramfs
 (/usr/src/linux/usr/initramfs_data.cpio.gz
  /boot/fbsplash-newtheme-1280x1024)
-r  splash_geninitramfs   1280x1024
-'newtheme' splash_geninitramfs  .cfg 
   /etc/splash/newtheme
     splash_geninitramfs' : 
# splash_geninitramfs --help
     how-to,    splashutils': 
          
      .cfg 
      ,  .
      . 
  
 
 ,      grub(lilo): 
1.    frame buffer.        vesafb-tng: 
video=vesafb:ywrap,mtrr,1024x768-16@85
    ,     1024x768, 16      85Hz.    vesafb-tng,      'vga='     (    '' vesafb frame buffer ): 
#    'vga='  vesafb-tng (  ,  ):
vga=791
vga=0x517
2. fbsplash'   : 
splash=verbose,theme:emergence
 fbsplash   (    'verbose' ).      fbsplash "fbsplash     : verbose  silent.        .  silent     bootsplash.    ,     .  ,   .          ,    .  ,   , ,   . 
   fbsplash       (     'emergence'). 
  fbsplash    :   . 
3.     initrd (   -   initramfs),       : 
initrd /boot/fbsplash-emergence-1024x768     # Grub
initrd = /boot/fbsplash-emergence-1024x768   # Lilo
   ?   fbsplash-emergence-1024x768 (       /boot). 
     grub  lilo.   'newtheme',  1280x1024, 32     70Hz.   fbsplash 'silent'   initrd . 
  Grub
title  Gentoo
root (hd0,0)
kernel (hd0,0)/kernel-2.6.8-gentoo-r1 root=/dev/hda3 video=vesafb:ywrap,mtrr,1280x1024-32@70 splash=silent,theme:newtheme
initrd (hd0,0)/fbsplash-newtheme-1280x1024
 (hd0,0)    (, /boot    ,    '/boot'      initrd) 
 genkernel   -  (   ): 
kernel (hd0,0)/kernel-2.6.8-gentoo-r1 init=/linuxrc root=/dev/hda3 video=vesafb:ywrap,mtrr,1280x1024-32@70 splash=silent,theme:newtheme

  Lilo
image=/boot/kernel-2.6.8-gentoo-r1
label = "Gentoo"
root = /dev/hda3
append="video=vesa:ywrap,mtrr,1280x1024-32@70 splash=silent,theme:newtheme" 
read-only
initrd = /boot/fbsplash-newtheme-1280x1024
   lilo   lilo.conf: 
# mount /boot
# lilo -v
      . 
     
         (   'verbose'),    ,  /etc/conf.d/splash       splash     : 
 # rc-update add splash default
   bootsplash,     : 
 # rc-update del bootsplash
Gensplash    
(Jakub)         : 
: Gensplash    . 
1.   - (    ) -   -  emerge.       Gentoo. 
2.     -    .    Gentoo . 
3.      . 
 
1.    - .    gentoo-dev-sources (  ) 
2./  - -   genkerel. 
3. splashutils -  package.keywords,  emerge. :).  .    Gentoo   . 
4. splash screen   (  bootpslash) -     .   Gentoo      (). 
 
       .  : 
  bootsplash () 
  bootsplash ( ) 
     3
  Debian  Spock'  forums.gentoo.org. 
  
 /usr   
   splashutils  0.9-pre08     /usr    , gensplash   " " ( ). ,       splashutils ,  - ,       . 
  ,   splash_util'   fbset       /usr/bin  /usr/lib.         (   RAID  LVM2 ),     ( ) ,    splash_utils        . 
 ؚ?           ( aslocum   Gentoo) Gensplash-How-to with progressbar!!!!! : 
# cp /usr/bin/fbset /sbin
# cp /usr/lib/libjpeg.so.62 /lib
# cp /usr/lib/libpng.so.3 /lib
 /sbin/splash (   nano,  nano -w /sbin/splash)    31  : 
res=`/sbin/fbset | grep "^mode" | sed -r 's/mode "([0-9]+x[0-9]+).*/\1/'`
    /sbin/  fbset.      ,     . 
    
  ,      ,     initramfs .     640x480  -  . 
   .  (     )    vesafb  vesafb-tng.   Spock'   : " initramfs ,    ,      ,      .  ,    ,   .       .         ,   .    -    .   ,  vesafb     .   .  vesafb ,   (      ) .    (vesafb-tng, rivafb, radeonfb)   fbdev". 

  Spock' 
Spock's Gensplash-in-5-easy-steps 
  Gentoo: 
Gensplash-How-to  !!!!! 
 : 
  Fbsplash (/usr/src/linux/Documentation/fb/splash.txt). 
    (/usr/src/linux/Documentation/fb/framebuffer.txt). 
  splashutils (/usr/share/doc/splashutils-0.9_pre07/). 



Hardware 3D Acceleration Guide (.)
  : http://www.gentoo.org/doc/en/dri-howto.xml

 : 1.0

1. Introduction

What is hardware 3D acceleration and why do I want it?

With hardware 3D acceleration, three-dimensional rendering uses the graphics processor on your video card instead of taking up valuable CPU resources drawing 3D images. It's also referred to as "hardware acceleration" instead of "software acceleration" because without this 3D acceleration your CPU is forced to draw everything itself using the Mesa software rendering libraries, which takes up quite a bit of processing power. While Xorg typically supports 2D hardware acceleration, it often lacks hardware 3D acceleration. Three-dimensional hardware acceleration is valuable in situations requiring rendering of 3D objects such as games, 3D CAD and modeling. 

How do I get hardware 3D acceleration?

In many cases, both binary and open-source drivers exist. Open-source drivers are preferable since we're using Linux and open source is one of its underlying principles. Sometimes, binary drivers are the only option, like with nVidia's cards. Binary drivers include x11-drivers/nvidia-drivers and x11-drivers/nvidia-legacy-drivers for nVidia cards and media-video/ati-drivers for ATI cards. Other open-source drivers include media-video/kyro-kernel for KyroII cards and media-video/ati-gatos for ATI cards, which aim to support ATI's video capabilities more fully. 

What is DRI?

The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware in a safe and efficient manner. It includes changes to the X server, to several client libraries and to the kernel. The first major use for the DRI is to create fast OpenGL implementations. 

What is X11-DRM and how does it relate to regular Xorg?

X11-DRM is an enhancement to Xorg that adds 3D acceleration for cards by adding the kernel module necessary for direct rendering. 

Purpose

This guide is for people who can't get direct rendering working with just Xorg. X11-DRM works for 3dfx, gamma, i8x0, matrox, rage128, radeon, mach64 and sis300 series drivers. VIA card owners should not use x11-drm, but should instead use the DRI provided in recent kernels (>2.6.13). See the DRI homepage for more info and documentation. 

Feedback

With suggestions, questions, etc., e-mail Donnie Berkholz. 

2. Install Xorg and configure your kernel

Install Xorg

Please read our Xorg Configuration Guide to get Xorg up and running. 

Configure your kernel

Probe for your chipset and enable just that one. 

Code Listing 2.1: Checking your AGP chipset
# emerge pciutils; lspci | grep AGP
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
(Your output may not match the above due to different hardware.)


If your chipset is not supported by the kernel you might have some succes by passing agp=try_unsupported as a kernel parameter. This will use Intel's generic routines for AGP support. To add this parameter, edit your bootloader configuration file! 

Most, if not all, kernels should have these options. This was configured using gentoo-sources-2.4.20-r5. 

Code Listing 2.2: Configuring the kernel
# ls -l /usr/src/linux 
lrwxrwxrwx    1 root     root           22 May 29 18:20 /usr/src/linux -> linux-2.4.20-gentoo-r5
(Make sure /usr/src/linux links to your current kernel.)
# cd /usr/src/linux
# make menuconfig


Code Listing 2.3: make menuconfig options
Processor type and features --->
<*> MTRR (Memory Type Range Register) support
Character devices --->
<M> /dev/agpgart (AGP Support)
[M] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support
(Enable your chipset instead of the above.)
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)


Make sure the Direct Rendering Manager (DRM) is off. The X11-DRM package will provide its own. 

Compile and install your kernel

Code Listing 2.4: Compiling and installing kernel
(This example is for a 2.4 kernel)
# make dep && make clean bzImage modules modules_install
# mount /boot
# cp arch/i386/boot/bzImage /boot


If you want your kernel to be named something other than bzImage, be sure to copy to /boot/yourname instead. Don't forget to set up grub.conf or lilo.conf and run /sbin/lilo if you use LILO. 

3. Install X11-DRM and configure direct rendering

Install X11-DRM

Code Listing 3.1: Installing X11-DRM
# emerge x11-drm


Configure Xorg.conf

Some chipsets require you to rebuild xorg-x11 with USE="insecure-drivers". This applies to mach64, unichrome and savage chipsets on xorg-x11-6.8.2, and to mach64 and unichrome on xorg-x11-6.8.99.x. Savage users should not try xorg-x11-6.8.99.x as support for the savage there is broken. 

Code Listing 3.2: Rebuilding xorg-x11
(Add the insecure-drivers USE flag if you use one of the aforementioned chipsets)
# echo "x11-base/xorg-x11 insecure-drivers" >> /etc/portage/package.use

# emerge xorg-x11


Open /etc/X11/xorg.conf with your favorite text editor and edit it to enable DRI and GLX. 

Code Listing 3.3: xorg.conf
...
Section "Module"
  Load "dri"
  Load "glx"
  ...
EndSection
...
Section "Device"
  Driver "radeon"
  ...
EndSection
...
Section "dri"
  Mode 0666
EndSection


If you are using a different driver, replace "radeon" with yours. 

Changes to modules.autoload.d

You will need to add the module name that your card uses to /etc/modules.autoload.d/kernel-2.6 to ensure that the module is loaded automatically when the system starts up. 

Code Listing 3.4: Editing /etc/modules.autoload.d/kernel-2.6
(Change module name as required.)
intel-agp

Note: If you compiled agpgart as a module, you will also need to add it to /etc/modules.autoload.d/kernel-2.6. 


4. Test 3D acceleration

Reboot to the new kernel

Reboot your computer to your new kernel and login as a normal user. It's time to see if you have direct rendering and how good it is. 

Code Listing 4.1: Testing rendering
$ startx
(No need to load modules for your driver or agpgart, even if you compiled them as a module.)
(They will be loaded automatically.)
$ glxinfo | grep rendering
direct rendering: Yes
(If it says "No", you don't have 3D acceleration.)
$ glxgears

(Test your frames per second (FPS) at the default size. The number should be )
(significantly higher than before installing x11-drm. Do this while the CPU is as idle as possible.)


5. Using the CVS sources
Warning: Don't do this if the package worked. 


Do you need the CVS?

First you have to check whether the x11-drm package works. If it doesn't and you have checked your logs to verify it's not a configuration error, you might want to consider the CVS sources. There are also daily driver snapshots available if you do not wish to build the full CVS. 

Do the CVS sources support your card?

Check the DRI supported cards list to see if the CVS supports your card. Even if it doesn't, but it supports a similar card, try it. 

Follow the CVS Instructions

The DRI project has a document about CVS compiling themselves. Please read the document and follow the instructions up to the Installing for X.org part. 

Install the CVS

Verify that the DRI kernel module(s) for your system were built: 

Code Listing 5.1: Verification
# cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel; ls


For the 3dfx Voodoo, you should see tdfx.o. For the Matrox G200/G400, you should see mga.o. For the ATI Rage 128, you should see r128.o. For the ATI Radeon, you should see radeon.o. For the Intel i810, you should see i810.o. If the DRI kernel module(s) failed to build, you should verify that you're using the right version of the Linux kernel. The most recent kernels are not always supported. 

Install over your X.org installation. You may wish to back up xorg-x11. 

Code Listing 5.2: Backing up Xorg
# quickpkg xorg-x11
(This backs up your Xorg-X11 package.)
# make install


Follow the "Configure Xorg" section above. 

To load the appropriate DRM module in your running kernel, copy the kernel module to /lib/modules/`uname -r`/kernel/drivers/char/drm/ then run modules-update and restart your X server. If you're not running the kernel you'll be using it in, instead of `uname -r`, use that kernel's name. 
Warning: Make sure you first unload any older DRI kernel modules that might be already loaded. Note that some DRM modules require that the agpgart module be loaded first. 


6. Tweak your performance

Get the most out of direct rendering

A few options may increase performance by up to 30 percent (or more) over the default. Set them in /etc/X11/xorg.conf. However, you will first need to check that your motherboard and video card support these options. 

First, let's see if your video card can support fast writes. We'll do this by closely inspecting the output from lspci. Specifically, we are looking at the "VGA compatible controller" information. 

Code Listing 6.1: Video card check
# lspci -vv
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY (prog-if 00 [VGA])
. . .
Capabilities: [58] AGP version 2.0
    Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4


While quite a lot of information is produced, we are looking for FW in the "Status" subsection of the AGP "Capabilities" section. If FW+ is present in the "Status" line, it means the card supports fast writes. We can now check if the motherboard supports fast writes. 
Important: If you do not see FW+, but instead see FW-, you cannot enable fast writes in xorg.conf. Your card does not support fast writes. 


Now let's make sure the motherboard supports fast writes as well. This time, look at the "Host bridge" section of your lspci output. 

Code Listing 6.2: Motherboard check
# lspci -vv
00:00.0 Host bridge: Intel Corporation 82830 830 Chipset Host Bridge (rev 02)
. . .
Capabilities: [a0] AGP version 2.0
    Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4


Again, examine the "Status" subsection of your AGP "Capabilities" section. Look for FW. If you see FW+, your motherboard supports fast writes. 
Important: Remember, both your video card information and your motherboard information must show the same FW capability. If either device shows FW- in "Status", you cannot enable fast writes in xorg.conf. 


Assuming that all has gone well and both your motherboard and video card support fast writes, let's enable this option in /etc/X11/xorg.conf and get the best performance out of your hardware. 

Code Listing 6.3: xorg.conf
Section "Device"
  Option     "AGPMode" "4"
  (This increased FPS from 609 to 618.)
  Option     "AGPFastWrite" "True"
  (This had no measurable effect, but it may increase instability of your computer.)
  (You may also need to set it in your BIOS.)
  Option     "EnablePageFlip" "True"
  (This improved FPS from 618 to 702. It also is "risky" but few people have reported problems.)
  ...
EndSection

Warning: Enabling AGPFastWrite on a VIA chipset will very likely cause your machine to lock up. VIA chipsets do not play nicely with fast writes, so use this setting at your own risk. 

Note: Remember, if you want fast writes to work properly, you will have to first enable the appropriate option in your BIOS. 


If you want to set even more features, check out the feature matrix on the DRI web site or the features listing on Sourceforge. 

7. Troubleshooting

It doesn't work. I just recompiled my kernel or switched to a new one.

Whenever you rebuild your kernel or switch to another kernel, you'll have to rebuild the kernel module. Note that you don't need to remerge xorg-x11, but you will need to remerge x11-drm. 

It doesn't work. I don't have rendering, and I can't tell why.

Try insmod radeon before you start the X server. Also, try building agpgart into the kernel instead of as a module. 

When I startx, I get this error: "[drm] failed to load kernel module agpgart"

That's because you compiled agpgart into the kernel instead of as a module. Ignore it unless you're having problems. 

Direct rendering doesn't work, and in /var/log/Xorg.0.log I have an error about driver version too low.

You aren't using the x11-drm driver. Check if you compiled DRM and the driver into the kernel; you shouldn't have. 

I have a Radeon, and I want TV-Out.

Check out ati-gatos drivers. emerge -s gatos. 

It doesn't work. My card is so incredibly new and cool that it isn't supported at all.

Try out the binary drivers. For ati-drivers, a listing is at http://www.schneider-digital.de/html/download_ati.php. If those don't support it, use fbdev. It's slow, but it works. 

I have a PCI card and it doesn't work. Help!

In section "Device" enable ForcePCIMode. 

Code Listing 7.1: Enabling ForcePCIMode
Option "ForcePCIMode" "True"


8. Acknowledgments
Christopher Webber for suggesting a troubleshooting question about changing or recompiling kernels 
Steve, for suggesting consistency between the cases of dri and DRI in XF86Config 

9. References
http://forums.gentoo.org/viewtopic.php?t=46681
http://forums.gentoo.org/viewtopic.php?t=29264
http://dri.freedesktop.org/
http://www.retinalburn.net/linux/dri_status.html





HOWTO   KDE

  :
http://www.gentoo.org/doc/ru/kde-config.xml

 : 1.0


1.    K Desktop Environment?



 KDE -     ݣ  KDE,       Linux  Unix.        ,     .        KDE. 



 

K Desktop Environment -           (application framework),    , drag 'n drop   .   , KDE         :  , -,  , email-  ..  ӣ    KDE . 

KDE     70      .  ,  ,   .     KDE,     KDE?  KDE.org. 



   KDE .  KDEnews.org  ģ    KDE . KDEdevelopers.org    KDE,  KDE-     .        KDE. 

2.  KDE

  ?

 ,      KDE (  kde),  ģ ,   USE  kde  qt .  ,   , Qt -     (graphical widget library),   KDE. 

-,     ,       KDE.   , KDE         .         --   :) 

 2.1:    KDE
# emerge --pretend kde | less


        ,       . ,    kdebase,        .     ,    .


:  KDE.


kdeaccessibility
        KDE Accessibility
kdeadmin
 ,   KCron ( ), KUser ( )  KDat (  ) 
kdeartwork
 ,   ,     .   artist.kde.org. 
kdeedu
 KDE     3  18 .    KDE Edu. 
kdegames
KDE .       KDE  .
kdegraphics
   KDE,  KSnapshot (   ), KPain (  ), Kpdf (  PDF), KIconEdit (Icon Editor)  KPovModeler ( 3D ). 
kde-i18n
       ( ,    , ...)  .      KDE i18n. 
kdemultimedia
 ,   CD, MP3, DVD, ,    .      KDE Multimedia website. 
kdenetwork
 ,   kppp (Dial-In)  lisa (networking). ,  konqueror (   -)   kdebase! 
kdepim
    ,   KOrganizer (), KAddressbook ( ), Kontact (    )  KMail (E-mail).      KDE PIM. 
kdesdk
  ,  KBabel (  ), KBugBuster (Front end    KDE)  Kompare (GUI     ). 
kdetoys
 ,   ,  ,    .     ģ  ,  eyesapplet  fifteenapplet,      amor,    ,     :)
kdeutils
    kcalc (), kdessh (SSH ), kfloppy (    floppy),  . 




 


 ,   KDE      : 

 2.2:     KDE
# emerge kdebase kdenetwork kdeadmin


   :  KDE     :) 

 

    .          root-.   ,      KDE  .         ,   KDE    startx.       exec startkde  ~/.xinitrc: 

 2.3:   
$ echo "exec startkde" > ~/.xinitrc


   startx     . 

 2.4:  KDE
$ startx


     KPersonalizer. ,   ,    KDE... 





3.  KDE

KPersonalizer

KPersonalizer - ,   KDE  .    ,     KDE   . KPersonalizer      KDE. 

,  ޣ   KPersonalizer       .        ,     --      .  ,     (    ). 

     System Behaviour.       ,  ,  .   ̣ ,    .      ,   --     . 

 KPersonalizer     .     ,    KDE,      . ,     -  --      600 Mhz  128 Mb           . 

,   .    , ,  ,  .   ,   ,   .  ݣ   ,  KDE  ? 

      --  KDE    ,      . 

  

           KDE   ,   .      ,   . 

      kde-i18n .     ,   ,     LINGUAS.     /etc/make.conf. 

 3.1:   LINGUAS  /etc/make.conf
# nano -w /etc/make.conf
( ,       (ru) 
   (fr))
LINGUAS="ru fr"


   emerge kde-i18n.   ,  KDE  KDE   (Control Center) (K-menu > Settings > Control Center).  ,       KDE,   KPersonalizer. 

  ,   Regional & Accessibility, Country/Region & Languages.         KDE. 

   

    kdm       ( ,    ģ       startx)    /etc/X11/Sessions,  ,   KDE : 

 3.2:   KDE 
# ls /etc/X11/Sessions
Xsession  fluxbox  kde-3.2.1


  , KDE   kde-3.2.1.   ţ  /etc/rc.conf   XSESSION.     DISPLAYMANAGER  kdm. 

 3.3:    XSESSION  /etc/rc.conf
# nano -w /etc/rc.conf
(   )
XSESSION="kde-3.2.1"
DISPLAYMANAGER="kdm"


  xdm  default runlevel: 

 3.4:  xdm  default runlevel
# rc-update add xdm default


  ,        KDM.



   GNOME

  :
http://www.gentoo.org/doc/ru/gnome-config.xml

 : 1.2
1.  GNOME?
 
GNOME -   .    GNOME -       Unix/Linux . GNOME Foundation       GNOME. 
  
GNOME         .  " "        ,   .    ,    ,     . 

     ,  Gnome    ,     . Footnotes     GNOME Desktop; GnomePlanet   /,  Developer.Gnome.Org  . 
2. GNOME
  ?
    GNOME,       USE.   gtk  gnome    USE  /etc/make.conf.      KDE (   ) ,  qt  kde. 
ǚ2.1:    USE  /etc/make.conf
USE="-qt -kde gtk gnome"


 ,   GNOME   emerging gnome  xscreensaver: 
ǚ2.2:  GNOME
# emerge gnome xscreensaver



  - ,              ,        . ? ,       . 
ǚ2.3:    
# env-update && source /etc/profile


   ,      emerge,    famd  ,  nautilus  gnome-vfs    : 
ǚ2.4:  famd  
# /etc/init.d/famd start
# rc-update add famd default


 
       .   root shell       .     GNOME    startx: 
ǚ2.5:    GNOME  
$ echo "exec gnome-session" > ~/.xinitrc


  ,   startx: 

ǚ2.6:  GNOME
$ startx


   , GNOME  . .       GNOME. 
3. GNOME
  GNOME   
  ,  GNOME Display Manager (GDM)     (          ),     xdm  default runlevel. 
ǚ3.1:   xdm   
# rc-update add xdm default


  /etc/X11/Sessions: 
ǚ3.2:   /etc/X11/Sessions /etc/X11/Sessions
# ls /etc/X11/Sessions
Xsession Gnome

 ,    gnome.   /etc/rc.conf   2 : DISPLAYMANAGER (  gdm)  XSESSION (  Gnome): 
ǚ3.3:  /etc/rc.conf
DISPLAYMANAGER="gdm"
XSESSION="Gnome"

 , GNOME Display Manager     . GNOME      (     ). 



 UTF-8  Gentoo

  :
http://www.gentoo.org/doc/ru/utf-8.xml

 : 1.0
1.    

    Gentoo- .               UTF-8. 

 ӣ   .          UTF-8.          .  ӣ ,          Gentoo,        (    :))   : 

  gentoo-wiki    
   Gentoo 
     Gentoo 

        ,        . 

2. 

  ?

   .        .    ,     (     ),       . 

  

  (   )   ASCII (     , American Standard Code for Information Interchange).     ,  ASCII      .  ASCII   1986  (ANSI X3.4, RFC 20, ISO/IEC 646:1991, ECMA-6)      (American National Standards Institute, ANSI). 

ASCII    ,   ,      ,     0  127. ASCII   32    (   0  31)     DEL ( delete)   127.     32  126    ,  ,    . 

   ASCII           .    ,    0.  ,   ASCII     . 

 ASCII       ,    ,    ,     .       ISO 8859.      ASCII,          127    .  ISO 8859  ,    .     15   ISO 8859 ( 8859-1  8859-15).      ASCII-      .        ,     Microsoft    Windows-1252,     Windows.     ISO 8859-1,   .         ASCII. 

     ASCII     ,   EUC (Extended Unix Coding),      (    ) ,      , -                ,   Shift-JIS  ISO-2022-JP.  ,   ,     KOI8-R (    )  KOI8-U (  ),  ISO 8859-5   Windows-1251.         ASCII (  KOI8       ,   ,            ASCII-   ). 

         ,      .   . 

  ?

     .   17 ,   65 536  .  ,      1 114 112.     (Basic Multilingual Plane  BMP)   ӣ,    ,   ,     16-  . 

   ,      UTF (Unicode Transformation Format)  UCS (Universal Character Set).   UTF      ,     UCS   . UTF-8        -  ()    ,        . 

UTF-8

UTF-8     .  ,            .   UTF-8    ASCII,   UTF-8     ASCII. UTF-8 ,  ASCII         ,      .    (, ),    ,   ,         50 %. 

 UTF-8    

UTF-8               ,       . UTF-8       -ASCII   ,    , IRC-  - .   ,     UTF-8      .   ,    ,  Usenet    UTF-8  ,     -ASCII  UTF-8. 

3.  UTF-8  Gentoo Linux

    UTF-8

,     ,     UTF-8   . 

   UTF-8     glibc    .      /etc/locale.gen.    , ,     .        Gentoo. 

,  ,     UTF-8     ģ ţ . 

 3.1:    UTF-8
( "ru_RU"  )
# locale -a | grep 'ru_RU'
ru_RU
ru_RU.UTF-8


          ,   .UTF-8.   ,   ģ  ,   UTF-8. 
:   ,     UTF-8    . 


 3.2:   UTF-8
( "ru_RU"  )
# localedef -i ru_RU -f UTF-8 ru_RU.UTF-8


    UTF-8   ţ   /etc/locale.gen      locale-gen. 

 3.3:     /etc/locale.gen
ru_RU.UTF-8/UTF-8


 

   ,   ,   UTF-8 : LANG (      LC_ALL).     .     UTF-8    ,       ϣ ~/.profile (  /bin/sh), ~/.bash_profile  ~/.bashrc (  /bin/bash). 

    .              /etc/init.d/xdm,         ,       . 

        /etc/env.d/02locale.     : 

 3.4:  /etc/env.d/02locale
(  ,  "ru_RU.UTF-8"  )
LANG="ru_RU.UTF-8"

:     LC_ALL  LANG.      ,     .         . ,     LC_ALL  .     ,   LC_ALL, ,     GNU. 


   . 

 3.5:  
# env-update
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies ...
# source /etc/profile


  locale  ,  ,      : 




 3.6:   Σ 
# locale
LANG=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8


  ӣ.     UTF-8,         . 

4.  

        ,         ,  C,     .         UTF-8  .  ,    ! 

 , NTFS  FAT

     Linux    NLS,     !    ӣ,       UTF-8 NLS      NLS    utf8. 

 4.1:    UTF-8 NLS
File Systems -->
  Native Language Support -->
    (utf8) Default NLS Option
    <*> NLS UTF8
    ( <*>   ,    FAT  Joilet CD-ROM)


     NTFS,        nls=.      FAT,       codepage=.      FAT       . ,   codepage,   ,      . 

 4.2:  FAT   
File Systems -->
  DOS/FAT/NT Filesystems  -->
    (866) Default codepage for fat


  Default iocharset for fat  UTF-8,     .     utf8=true    FAT.    ,  man mount     /usr/src/linux/Documentation/filesystems/vfat.txt. 

    ,  app-text/convmv. 

 4.3:   convmv
# emerge --ask app-text/convmv
( )
# convmv -f <current-encoding> -t utf-8 <filename>
( koi8-r ,    )
# convmv -f koi8-r -t utf-8 filename


   ,   iconv,    glibc: 

 4.4:   iconv
( koi8-r ,    )
(  )
# iconv -f koi8-r -t utf-8 filename
( ,      )
# iconv -f koi8-r -t utf-8 filename > newfile


        app-text/recode. 

 

:   >=sys-apps/baselayout-1.11.9     . 


  UTF-8      /etc/rc.conf    UNICODE="yes".        ,          (      ӣ). 

  /etc/conf.d/keymaps  KEYMAP    Unicode. 

 4.5:   /etc/conf.d/keymaps
( "ru4"    )
(     -u  . )
KEYMAP="-u ru4"
(      . )
DUMPKEYS_CHARSET="koi8-r"

: ,          .    X11    . 


    ,  . 




 4.6:  /etc/conf.d/consolefont
(  CONSOLEFONT)
CONSOLEFONT="ter-k14n" #    terminus-font)


ncurses  slang

:        slang,       Σ   . 


    unicode   USE-   /etc/make.conf,      sys-libs/ncurses  sys-libs/slang. Portage      : 

 4.7:  
# emerge --update --deep --newuse world


   ,   ,   USE   .   (revdep-rebuild)    gentoolkit. 

 4.8:  ,   ncurses  slang
# revdep-rebuild --soname libncurses.so.5
# revdep-rebuild --soname libslang.so.1


KDE, GNOME  Xfce

            ,  ,     .    ,   (Qt  GTK+2)   UTF-8. ,  ,     ,    UTF-8   . 

     Xlib  GTK+1. GTK+1  iso-10646-1 FontSpec  ~/.gtkrc,  -misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1.  ,  Xlib  Xaw,    FontSpec,     . 
:       gnome1,  .      iso10646-1. 


 4.9:  ~/.gtkrc ( GTK+1),  - 
style "user-font"
{
    fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"

:  Xorg 6.8.2         .      Fantoo  Gentoo-wiki       Xorg   6.8.0. 


    Qt  GTK+2,   GTK+2 GUI       . 

X11  
:    XFree86 x11-base/xorg-x11   ,       . 


 TrueType    ,   ,   Xorg,    ,           .        (  Bitstream Vera)  X-,  USE- cjk.     ,        . 

     Portage   . 

 4.10: :   - 
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts


    

 ,   GTK  Qt,     ,          Xft.       Xft,       FontSpec,        . 

 ,  Xft,     .  Konsole  gnome-terminal,    Portage  x11-terms/rxvt-unicode, xfce-extra/terminal, gnustep-apps/terminal, x11-terms/mlterm   x11-terms/xterm,   USE- unicode    uxterm. app-misc/screen   UTF-8,     screen -U,      ~/.screenrc: 

 4.11: ~/.screenrc  UTF-8
defutf8 on


Vim, Emacs, Xemacs  Nano

Vim   UTF-8         UTF-8.       Vim :help mbyte.txt. 

Emacs 22.x     UTF-8. Xemacs 22.x ݣ    . 

   Emacs / Xemacs   app-emacs/mule-ucs / app-xemacs/mule-ucs       ~/.emacs   CJK-  UTF-8: 

 4.12: Emacs   CJK UTF-8
(require 'un-define)
(require 'jisx0213)
(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)


Nano   UTF-8    1.3.6. 

 

    bash      GNU readline.   Z              ,           . 

 C, tcsh  ksh   UTF-8. 

Irssi

Irssi   UTF-8,       . 

 4.13:  UTF-8  Irssi
/set term_charset UTF-8


 ,  -ASCII      -UTF-8 ,    /recode   .  /help recode   . 

Mutt

  Mutt     .   UTF-8  Mutt,    -    . Mutt      ,  ,      ( )   UTF-8. 
:  ӣ ݣ          Mutt.   - ,      ,     .      ,        . 


.Mutt Wiki   . 

Man

Man-      Linux.  ,     ,  /etc/man.conf    . 

 4.14:  man.conf   
(  )
NROFF           /usr/bin/nroff -Tascii -c -mandoc
(  )
NROFF           /usr/bin/nroff -mandoc -c


elinks  links

    ,   ,    UTF-8  .  elinks  links         Setup ()     .      ,  -    elinks  links   Alt+S.      (Setup Menu),      (Terminal options),   T.        UTF-8 I/O,   Enter.      .  links      ,  Alt+S,   S  .     . 

 4.15:  UTF-8  elinks/links
( elinks   /etc/elinks/elinks.conf  ~/.elinks/elinks.conf  )
set terminal.linux.utf_8_io = 1

( links  ~/.links/links.cfg  )
terminal "xterm" 0 1 0 us-ascii utf-8


Samba

Samba    ,   SMB (Server Message Block)  UNIX- (Mac, Linux  FreeBSD).       Common Internet File System (CIFS). Samba    NetBIOS,        Windows-. 

 4.16:  UTF-8  Samba
( /etc/samba/smb.conf      [global])
dos charset = 866
unix charset = UTF-8
display charset = UTF-8


 

  ,  UTF-8. net-www/w3m, net-www/links, net-www/elinks, net-www/lynx,  ,    Mozilla ( Firefox)  UTF-8. Konqueror  Opera    UTF-8. 

   , ,      . 

   ,        ,   ,         .  ,        UTF-8. 

  W3C  UTF-8 
    




 

Dead keys      ,    ,  X-.   ,   Alt (     AltGr),       ,      (),      . Dead key  .        Shift   AltGr  . 

  dead keys  X,   ,  .      dead keys  .   ,      .       ,      en_US   us.    /etc/X11/xorg.conf: 

 4.17:   /etc/X11/xorg.conf
Section "InputDevice"
    Identifier "Keyboard0"
    Driver     "kbd"
    Option     "XkbLayout" "en_US" #   "us"
    (  Xkb)
EndSection

:       ,        ,   dead keys  .     - . 


       X-.    ,   setxkbmap, , setxkbmap en_US. 

  dead keys  .      ,          .    ,   ,      . 

    AltGr  [,    a   a.    AltGr  [,    e,  e.   AltGr  ;,   a,   AltGr  ;,    e,  e. 

  AltGr, Shift  [,     a,    a.    AltGr, Shift  [,   [        ?.    (U+02DA)      (U+00B0),       .         AltGr and [,  [     ?. 

AltGr         . ,  AltGr  m     : . AltGr  s    : ?.      AltGr  4 ( E     ),   , ? (      ). 



    Gentoo Linux
  :
http://www.gentoo.org/doc/ru/guide-localization.xml

 : 1.0
1. 

   

           (    ,    )    ,   ,     (    locale).    ,  ,    ,      ,   ,     . 

           (  Linux-)   (  X) . 

  

              (charsets),    ,   . ޣ  Unix-      ,    :    Unix- (    Linux)  KOI8-R,  ISO-8859-5 (  ),    Unix-,   CP1251 (  Windows).  ,       CP866 (  DOS). ,    ӣ     UTF-8. 

 Gentoo Linux  ( ,  )   KOI8-R,  ӣ      .    ISO-8859-5  CP1251    ,       .     UTF-8,     ,       ,   ţ  . 

2.   



,               .             PC      ,  ,  .                 ,   ţ     . 

  

 ,      ,    /etc/rc.conf  

 2.1: ,   
CONSOLEFONT="default8x16"


    ""      -     , , cp866-8x16    DOS  koi8r-8x16    KOI8-R. , 

 2.2:      cp866
CONSOLEFONT="cp866-8x16"


  

 2.3:      KOI8-R
CONSOLEFONT="koi8r-8x16"

:   (   )    /usr/share/consolefonts/    *.gz, *.psf.gz  *.psfu.gz.         ,  ""    . 

:   Linux'   ,  ,   cp866 (   ,       ).           ,      ,   (, Midnight Commander)    . 


  ,   Gentoo Linux,     (  ,       Unix-).           console-tools-cyrillic  .             

 2.4:       
CONSOLEFONT="UniCyr-sans"


  

         /etc/rc.conf  

 2.5: ,   
KEYMAP="us"


      ,   us      -  (      KOI8-R) .    (  *.map.gz)    /usr/share/keymaps/i386/qwerty,     KOI8-R   , , ru1-ru4.          (DOS  Windows      )    /.        ru4   Windows- ,     CapsLock (         Shift+CapsLock).     : 

 2.6:      
KEYMAP="ru4"

:       ,            ""   . 

:           cp1251 (, ru_win).     ģ       (mapscreen) cp1251->cp866. 

:    ,  ,  ,      cp1251. 


   (mapscreen)

        (KOI8-R)   (cp866),       (mapscreen).       /etc/rc.conf.   Σ,    ,     : 

 2.7: ,   
#CONSOLETRANSLATION="cp437_to_iso01"


,   ţ   (#),  ""    ,       /usr/share/consoletrans   koi2alt: 

 2.8:    cp866->KOI8-R
CONSOLETRANSLATION="koi2alt"

: ,        CONSOLETRANSLATION            :-) 

:    -         KOI8-R,     , ,  . 


  

    ,            (   KOI8-R),      (.. ) .          (  Gentoo Linux     5),               Escape- \033(K ( \    ,        ).     . ,    /etc/init.d/  consoletrans          : 

 2.9:   mapscreen
for i in 1 2 3 4 5 6; do
echo -ne '\033(K' > /dev/vc/$i
done

:     6-   .     ,  in, ,       . 

:  ,    baselayout-1.8.x    ,       /etc/init.d/consolefont. 


  chmod a+x /etc/init.d/consoletrans      ,          (default runlevel): 

 2.10:   mapscreen
# rc-update add consoletrans default

:           . 


         . 
:  ,    ,        (final steps)  Gentoo Linux,        . 


3.   locale

 locale ru_RU.KOI8-R

 -    ,          .   Gentoo Linux            env-update,      . 

       /etc/env.d/02locale   

 3.1:   LANG
LANG="ru_RU.KOI8-R"

     locale,     - .    env-update,     /etc/profile,        source /etc/profile.      locale   

 3.2:   locale    LANG
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=


,           (ru),   (_RU)    KOI8-R.            ,       env-update. 
:  env-update     ,    (login shell)  /bin/bash.          . ,    login shell   zsh,      ~/.zshenv    . 

:  LANG=ru_RU.KOI8-R      ,         :       (    XFree86)   , ,   . 


  ,   LANG      - .       . ,     ,        ,   locale POSIX,   ,     locale ru_*.   ,     /etc/env.d/02locale,   LANG,   : 

 3.3:   LC_NUMERIC
LC_NUMERIC="POSIX"


    ,         : 

 3.4:   LC_NUMERIC
LC_MESSAGES="POSIX"


4.   

   

     BIOS Setup      (UTC),         /etc/localtime  ,    . ,        : 

 4.1:   
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

:           /usr/share/zoneinfo/Europe (      )  /usr/share/zoneinfo/Asia (   ). ,   -      : 


 4.2:    -
ln -sf /usr/share/zoneinfo/Asia/Kamchatka /etc/localtime




    

        ,            /etc/rc.conf,  :  CLOCK="UTC"   CLOCK="local". 

5.    X



   X (  ţ   XFree86)     :      (  xf86config,      )      /etc/X11/XF86Config. 

    xf86config

 xf86config         XFree86     ţ .     (  )       ,    - ,       . 

       (Enter a number to choose the country),   ,   ,    .    8 Belarusian    70 Ukrainian  ,       : 53 Russian  54 Russian (cyrillic phonetic).      qwerty,      ywerti,         .          .         53 Russian  . 

       (Please enter a variant name for 'ru' layout). ,   Enter,   ,     DOS-  (,  );        ,  ,  winkeys,  Windows- (     Windows-,    cp1251). 

,  y,           XKB (Do you want to select additional XKB options (group switcher, group indicator, etc.)?):     / (        XFree86      ). 

             .   : 

 5.1:    /
  1  R-Alt switches group while pressed                
  2  Left Win-key switches group while pressed         
  3  Right Win-key switches group while pressed        
  4  Both Win-keys switch group while pressed          
  5  Right Alt key changes group                       
  6  Caps Lock key changes group                       
  7  Menu key changes group                            
  8  Left Win-key changes group                        
  9  Right Win-key changes group                       
 10  Both Shift keys together change group             
 11  Control+Shift changes group                       
 12  Alt+Control changes group                         
 13  Alt+Shift changes group                           


   ,   .       ,        ()   . ,        CapsLock (        ru4).       (  ),    ,     Shift+CapsLock 
:          -  .. Windows-,     .            XFree86         console-tools-cyrillic. 


         ,     Control,    (,  CapsLock  ScrollLock)  ݣ  .             ,   Enter. 

   ,    XFree86 (  )     xf86config      /etc/X11/XF86Config. 

  

 xf86config    ,               /etc/X11/XF86Config.           Section "Files"     . 
:    /etc/X11/XF86Config        . 


      : 

 5.2:     
FontPath   "/usr/X11R6/lib/X11/fonts/local/"
FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"


           .       XFree86       Cronyx,    /usr/X11R6/lib/X11/fonts/cyrillic/.          

 5.3:      
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/"

:          ,                   ,    . 

:   Cronyx    .  ,         .       ( )    .        (TTF  ATM)     ,     OpenOffice      Altlinux. 


     

  XFree86   xf86config        .      Gentoo Linux     (,    ),       /etc/X11/XF86Config. 

    Σ  Section "InputDevice".  ,     (   X   ,    ,    )  ţ ,   ..  (rules),   .     : 

 5.4:   
Option "XkbRules"   "xfree86"
Option "XkbModel"   "pc105"
Option "XkbLayout"  "ru"
Option "XkbVariant" "winkeys"
Option "XkbOptions" "grp:caps_toggle,grp_led:caps"


, ,   ӣ,  .            Option "XkbOptions". ,   ,    CapsLock (grp:caps_toggle)   Capslock      (grp_led:caps).  ,    ,   .    (    )   ! option  /usr/X11R6/lib/X11/xkb/rules/xfree86.lst


 Gentoo Linux ALSA

  :
http://www.gentoo.org/doc/ru/alsa-guide.xml

 : 1.0 (  1.2 !)
1. 

  ALSA?

ALSA,  Advanced Linux Sound Architecture     Linux,     MIDI (Musical Instrument Digital Interface     )    Linux. ALSA       2.6,   OSS (Open Sound System    ),     2.4. 
  ALSA       ,    Σ       ,   ,      ,    OSS,     alsa-lib,    ̣. 


ALSA  Gentoo

    Gentoo        ,   /. ALSA  Gentoo   .   ,         ALSA   .       .

2.  ALSA



: ,  ,   .      ALSA     media-sound/alsa-driver.   . 

   ALSA : 
1. ALSA ,   .     . 
2.  media-sound/alsa-driver. 
,  ,       alsa-driver;       ӣ ݣ  ޣ  .  ALSA  ,           ALSA;   .   ,    - ,         ,  !         . 
    ALSA ,  : 
 ALSA  	  
+	   ݣ  ;    	
+	 ,    emerge
-	    alsa-driver


    alsa-driver, : 

 ALSA	  

+             ALSA
+        ,        
-	      alsa-driver
-	      


...

  ,      alsa-driver  ALSA ,   ,  .       ,   ALSA ,  ,     .       ,   ,  Gentoo Bugzilla, ,  ţ ,  alsa-driver,         .

    


    .      (  )   PCI,  lspci     . ,   ݣ   lspci,   emerge sys-apps/pciutils.    USB  ,    lsusb  sys-apps/usbutils.   ISA  sys-apps/isapnptools.  ,      ISA  : 
 ISAPNPTOOLS 
  PnP  LinuxJournal 
TLDP Sound HOWTO 

:        ,     ,   PCI. 
       . 


       . 

 2.1:   
# lspci -v | grep -i audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)

  ,   ,   ,  Sound Blaster Live!,    Creative Labs. ģ       ALSA   Creative Labs  .    ģ  ,    Creative Labs,     ,  SB Live!   emu10k1.   ,    .      ,       Details  , ݣ emu10k1. 
    MIDI,      ALSA   midi  USE-   /etc/make.conf.     ,   MIDI. 

 ALSA ,  


       ,     .

:    2005.0, Gentoo Linux        2.6. , ,      2.6.        2.4. 


     ,    Σ ALSA.

:  genkernel   genkernel --menuconfig all         ALSA.

 2.2:    
# cd /usr/src/linux
# make menuconfig

:    ģ  ,    /usr/src/linux       . ,    , ,       . 


      2.6,    ALSA    . 
 ,       ALSA .      ,        alsaconf,    . ,    .   ӣ     , ,       . 


 2.3:    ALSA
Device Drivers  --->
   Sound  --->

(  )
<M> Sound card support

(,  OSS )
Open Sound System   --->
   < > Open Sound System (DEPRECATED)

(        ALSA)
Advanced Linux Sound Architecture  --->
   <M> Advanced Linux Sound Architecture
   (,    MIDI sequencing  routing)
   <M> Sequencer support
   (  /dev/mixer*  /dev/dsp*. .)
   <M> OSS Mixer API
   <M> OSS PCM (digital audio) API

(    ,    .
       .     ,
   .)

(   ,     ,
   ,  ...)
Generic devices  --->

(   ISA)
ISA devices   --->
(   Gravis,   )
   <M> Gravis UltraSound Extreme

(         PCI-.
     )
PCI devices   --->
   (   emu10k1   )
   <M> Emu10k1 (SB Live!, Audigy, E-mu APS)
   (   Intel)
   <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
   (       VIA?)
   <M> VIA 82C686A/B, 8233/8235 AC97 Controller

(     ,      USB, )
USB Devices   --->


    ,     .  ALSA      ,        .    ,      . ,  ,  ӣ   ,     ALSA.

   ALSA


,     alsa-driver.  Σ.       ,         .     ,     ,       . 
   ,        ,   , ݣ lspci  .       (emu10k1   ),   ALSA_CARDS   /etc/make.conf. 

 2.4:  ALSA_CARDS  make.conf
(   )
ALSA_CARDS="emu10k1"
(     )
ALSA_CARDS="emu10k1 via82xx"


    ϣ     alsa-driver, ,   ,    ,  alsa-driver,  ,  .      .

:  genkernel     alsa-driver,     ̣     ģ. 

1.CONFIG_SOUND ޣ. (   )
2.CONFIG_SOUND_PRIME . (  OSS ) 
3.CONFIG_SND . (  ALSA ) 
4.  /usr/src/linux    ,   ALSA  . 



 2.5: .config checks
(,       .)
# cd /usr/src/linux
# grep SOUND .config
(  )
CONFIG_SOUND=y
(  )
CONFIG_SOUND_PRIME is not set
# grep SND .config
(  )
CONFIG_SND is not set



 ӣ,    ,    ... ,  . 



 2.6:  alsa-driver
# emerge alsa-driver

: ,   ģ  emerge alsa-driver    () ,      .    ,     module-rebuild,    ޣ          . ,    ,  module-rebuild populate,    ()    module-rebuild rebuild,       .


3. / ALSA

 ALSA

 alsa-utils    ALSA      ,       ALSA.       alsa-utils.

 3.1:  alsa-utils
# emerge alsa-utils

: E    ALSA   ,    ţ   , ,      ALSA. ӣ,     ,   ALSA.      ,    alsa-utils  alsaconf. 




  udev (>=udev-103)            .              .   ,   ,  alsaconf,    .

: ,   ,          alsaconf.

       alsaconf      root. 

 3.2:  alsaconf
# alsaconf


        ,           .        .     ,         /etc/modules.d/alsa.         ,  update-modules    /etc/init.d/alsasound.   alsaconf  ,        ALSA.

  ALSA

   .        ALSA,   -,       ALSA       .   ALSA,  alsasound,  ӣ   .      .

 3.3:  ALSA    
# rc-update add alsasound boot
 * alsasound added to runlevel boot
 * rc-update complete.


   /etc/conf.d/alsasound  ,   SAVE_ON_STOP    yes,         .

 audio

     ,      .      *nix :      root,    .         ;)  ? ,        ޣ  ,          .     ,      audio.         ,           .   gpasswd,       root,   . 
 
 3.4:     audio
( <_>   )
# gpasswd -a <_> audio 
Adding user <_> to group audio


 !


      ,     ALSA .     alsaconf,     ,   alsaconf  ӣ   .

ǚ3.5:  
/etc/init.d/alsasound start


    ӣ,    ,    ,    ̣   .     alsamixer.

 3.6:  alsamixer
(  .     )
# alsamixer

:       alsamixer    ,  : alsamixer: function snd_ctl_open failed for default: No such file or directory, ,  ,   ,   udev  .  killall udevd; udevstart     /dev    alsamixer.    .


     ALSA   .  ,    Master  PCM       MM.  ,   .    - ,     alsamixer   ,        .



        .

:   Master  PCM         ,     -   . 

        . (<-  ->). 
   / ,  Master,      m. 
     ,     . 
:       Bass  Treble.      50.    Bass        .



    ӣ ,   ALSA  , ,    . ,   MM  00      .


 !

-. - .  ӣ  ,      .        ,  media-sound/madplay.     -  , , mpg123.     OGG,   ogg123   media-sound/vorbis-tools.      .  , emerge  ӣ   .

 3.7:  
(  )
# emerge madplay mpg123
(  ogg-)
# emerge vorbis-tools


     ... 

 3.8:  
# madplay -v /mnt/shyam/Music/Paul\ Oakenfold\ -\ Dread\ Rock.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: Dread Rock
         Artist: Paul Oakenfold
          Album: Matrix Reloaded
           Year: 2003
          Genre: Soundtrack
                 Soundtrack
 00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC

# ogg123 Paul\ Oakenfold\ -\ Dread\ Rock.ogg
Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: Paul Oakenfold - Dread Rock.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Genre: Soundtrack
Transcoded: mp3;160
Title: Dread Rock
Artist: Paul Oakenfold
Date: 2003
Album: Matrix Reloaded
Time: 00:11.31 [04:28.75] of 04:40.06  (200.6 kbps)  Output Buffer  96.9%


ALSA  USE

,    ,  ALSA,     ,    USE- alsa   /etc/make.conf.  , , x86  amd64,     .

?

  -     , -   alsamixer. 80%         .  ,        ,       . 
/proc   .   , /proc/asound    .   ,      . 


 3.9:   /proc/asound
( ,  /proc/asound/cards   ,  ALSA
   .)
# cat /proc/asound/cards
0 [Live           ]: EMU10K1 - Sound Blaster Live!
                     Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

(     ALSA)
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).

(  OSS  ALSA)
# cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code)
Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

Audio devices:
0: EMU10K1 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: EMU10K1 MPU-401 (UART)

Timers:
7: system timer

Mixers:



  Σ       Unknown symbol in module (   ).  ţ   .

ǚ3.10: :    
# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 *   Loading: snd-card-0 ...                                              [ ok ]
 *   Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-seq ...                                                 [ ok ]
 *   Loading: snd-emu10k1-synth ...                                       [ ok ]
 *   Loading: snd-seq-midi ...                                            [ ok ]
 * Restoring Mixer Levels ...                                             [ ok ]
                                       

 ,  ,   dmesg, ,  ,   :

 3.11:  dmesg
(      )
# dmesg | less
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
snd_pcm_oss: Unknown symbol snd_unregister_oss_device
snd_pcm_oss: Unknown symbol snd_register_oss_device
snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
snd_pcm_oss: Unknown symbol snd_oss_info_register
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register



     alsa-driver  ,  ,      alsa-driver,       .  ,        ,  modprobe      alsa-driver    ,  ģ  . 
  .       alsa-driver. ,    ,     ! 


 3.12:   alsa-driver
# rm -rf /lib/modules/$(uname -r)/alsa-driver


        /etc/modules.d,   device_mode,       . ,   ,  ,     .

 3.13:     device_mode
(  dmesg   )
# dmesg | grep device_mode
snd: Unknown parameter `device_mode'
(  ģ  )
# grep device_mode /etc/modules.d/*


     alsa,     options snd device_mode=0666.       alsasound.    .

4.   ALSA

  MIDI

 ,    ޣ USE- midi   /etc/make.conf.        ,    .        ALSA,   midi: alsa-lib, alsa-utils  alsa-driver. 
     MIDI      *.mid ,  ģ   awesfx,        AWE32.     .     ,    .        .

 4.1:  awesfx
# emerge awesfx

:       (SoundFont: SF2)  -          Windows   /usr/share/sounds/sf2/. ,      Creative SBLive!   8MBGMSFX.SF2.


        midi-. ,           ,     asfxload  /etc/conf.d/local.start.

:   ,   /mnt,     .   . ,         .


 4.2:  
(     )
# cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/
( ң   - SoundBlaster)
# cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/
( ̣  )
# asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2

    midi-,  ,  aplaymidi.  aplaymidi -l,     ,         .

 4.3:  MIDI
(  )
# aplaymidi -l
 Port    Client name                      Port name
 64:0    EMU10K1 MPU-401 (UART)           EMU10K1 MPU-401 (UART)
 65:0    Emu10k1 WaveTable                Emu10k1 Port 0
 65:1    Emu10k1 WaveTable                Emu10k1 Port 1
 65:2    Emu10k1 WaveTable                Emu10k1 Port 2
 65:3    Emu10k1 WaveTable                Emu10k1 Port 3
(    mid-)
#  aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid



 

      ,    , , timidity++.     .

 4.4:  timidity++
# emerge timidity++


 timidity  ,     (  ).  ,       .  ݣ       Portage, , timidity-freepats  timidity-eawpatches.      ,          /usr/share/timidity/.   timidity      eselect. 
ǚ4.5:  
# eselect timidity list
# eselect timidity set eawpatches





   timidity    .

 4.6:  timidity    
# rc-update add timidity default
# /etc/init.d/timidity start


     MIDI .

  Firmware

          alsa-tools  alsa-firmware.       ,   emerge. 
ǚ4.7:   ALSA
# emerge alsa-tools

  
      ,      ALSA    (   alsa-driver).    /etc/modules.d/alsa    ,       .         . 0   , 1  ,   .    ,      . 
ǚ4.8:     /etc/modules.d/alsa
options snd-emu10k1 index=0
options snd-via82xx index=1


     ,      ,       ,   .  ģ  ,      ,      Intel High Definition Audio. 
ǚ4.9:     /etc/modules.d/alsa
options snd-ymfpci index=0
options snd-hda-intel index=1,2



 
   ALSA     .  alsa-plugins     ,  :   PulseAudio,   , jack (     )  ,        S/PDIF- (  ).     ,    ,   USE-  /etc/portage/package.use. 
ǚ4.10:  alsa-plugins
# emerge -avt alsa-plugins


   ...
,         ALSA  Gentoo: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft  Erwin.   Dr][aM        . 

   ALSA 
Linux Sound/MIDI Software 







   Java  Gentoo
  :
http://www.gentoo.org/doc/ru/java.xml

 : 1.0.


1.  JDK/JRE



Gentoo   JDK  JRE.    Blackdown JDK/JRE,       . 
:   kaffe    JRE/JDK, ,   ţ  . 


 Sun JDK/JRE,  IBM JDK/JRE -  ,       ,           (IBM  ,   ). 

 ebuild-  Sun  IBM JDK/JRE    ,  ӣ   . 

 Sun/IBM JDK/JRE

   emerge sun-jdk-1.3.1  emerge ibm-jdk-1.3.1,     ,  ,      .   -   Sun JDK/JRE (online click-wrap license)     IBM JDK/JRE. 
:   sun-jdk-1.4.0,        Java 1.4, ,     :  1.4.0 JDK  . 


    ()  /usr/portage/distfiles.       emerge, JDK/JRE      /opt. 

2.   JDK/JRE

 

Gentoo     JDK  JRE   .   ޣ   ,  . 

  java-config   root-,       .     java-config       ,    . 

  JDK/JRE

  java-config --list-available-vms     JRE/JDK   . - : 

 2.1:   VM
[%1 ~] java-config --list-available-vms
[blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1)
[blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1)
[ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0)
[ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
[ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1)
[sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0)


   "[]"      VM.    java-config --set-system-vm,  : 

 2.2:   VM
[#1 ~] java-config --set-system-vm=ibm-jdk-1.3.1
Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)

:     root   --set-system-vm


  java-config --set-system-vm  VM ,    /etc/profile.env, : 

 2.3:  /etc/profile.env
[#1 ~] env-update


      ,      /etc/profile. 

  ,    java-config --set-user-vm,   $HOME/.gentoo/java-env    env .    -      ($HOME/.zshenv  ϣ ). 

  CLASSPATH

java-config         CLASSPATH,     CLASSPATH. 

,    -     Java,       CLASSPATH.    : 

 2.4:  
[%1 ~] java-config --list-available-packages
[ant] No description (/usr/share/ant/classpath.env)
[java-gnome] No description (/usr/share/java-gnome/classpath.env)
[java-gtk] No description (/usr/share/java-gtk/classpath.env)
[log4j] "" (/usr/share/log4j/package.env)

:         .      .


    "[]"  ,      java-config --set-system-classpath,  : 

 2.5:  classpath
java-config --set-system-classpath=log4j,java-gtk,java-gnome

:   (.)     classpath,      profile  root.


     env-update,     ,      /etc/profile. 

  java-config --set-user-classpath  $HOME/.gentoo/java-env-classpath,    ޣ  $HOME/.gentoo/java-env. 

3.  

Off-line 
     man java-config
     java-config --help
        /usr/bin/java-config 

Online 
              gentoo-dev, gentoo-user 
           #gentoo  irc.openprojects.net

4. 



   JRE VM  ,  javac,            . 

Jikes       .       java    Jikes,     JDK      JRE. 

   Portage   emerge --world update   JDK,   ,       .  -  ,      Portage.


Gentoo  GPRS
GPRS  USB ()
  : http://linuxforum.ru/
: Nikoli (Linuxforum.ru)
 : 1.3

   GPRS    .    USB.     ,       .   Gentoo    ,  ϣ  .   ,    FAQ.

1)     :

Device Drivers--->
USB support---> 
 <M> USB Modem (CDC ACM) support

2)    ppp

3)  /etc/conf.d/net  :

#**********/-------Nokia with Megafon
config_ppp1=( "ppp" )
link_ppp1="ttyACM0"
pppd_ppp1=(
"debug" # Comment this off, if you don't need more info
#460800 # Serial port line speed
"crtscts" # hardware flow control for cable
"local" # Ignore carrier detect signal from the modem:
"lcp-echo-failure 0"
"lcp-echo-interval 0"
# IP addresses:
":0.0.0.0"
# - accept peers idea of our local address and set address peer as 10.6.6.6
# (any address would do, since IPCP gives 0.0.0.0 to it)
# - if you use the 10. network at home or something and pppd rejects it,
# change the address 
"noipdefault" # pppd must not propose any IP address to the peer!
"ipcp-accept-local" # Accept peers idea of our local address
"defaultroute" # Add the ppp interface as default route to the IP routing table
#replacedefaultroute # New route should be our default route to Internet
"usepeerdns" # User DNS returned by server
"noauth" # The phone is not required to authenticate
# Most phone do not support compression, so turn it off.
#noipv6
#novj
#nobsdcomp
#novjccomp
#nopcomp
#noaccomp
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
'user "internet"' # Change this
"persist" # Persistent connection
"maxfail 99999" # Retry and retry and retry if failed...
)
chat_ppp1=(
'TIMEOUT' '45'
'ABORT' 'BUSY'
'ABORT' 'NO CARRIER'
'ABORT' 'ERROR'
'' 'ATE1'
'OK' 'AT+CGDCONT=1,"IP","internet"'
'OK' 'ATD*99***1#'
'CONNECT' 'c'
)

#**********/-------Motorola with Beeline
config_ppp2=( "ppp" )
link_ppp2="ttyACM0"
pppd_ppp2=(
"debug" # Comment this off, if you don't need more info
#460800 # Serial port line speed
"crtscts" # hardware flow control for cable
"local" # Ignore carrier detect signal from the modem:
"lcp-echo-failure 0"
"lcp-echo-interval 0"
# IP addresses:
":0.0.0.0"
# - accept peers idea of our local address and set address peer as 10.6.6.6
# (any address would do, since IPCP gives 0.0.0.0 to it)
# - if you use the 10. network at home or something and pppd rejects it,
# change the address 
"noipdefault" # pppd must not propose any IP address to the peer!
"ipcp-accept-local" # Accept peers idea of our local address
"defaultroute" # Add the ppp interface as default route to the IP routing table
#replacedefaultroute # New route should be our default route to Internet
"usepeerdns" # User DNS returned by server
"noauth" # The phone is not required to authenticate
# Most phone do not support compression, so turn it off.
#noipv6
#novj
#nobsdcomp
#novjccomp
#nopcomp
#noaccomp
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
'user "internet.beeline.ru"' # Change this
"persist" # Persistent connection
"maxfail 99999" # Retry and retry and retry if failed...
)
chat_ppp2=(
'TIMEOUT' '45'
'ABORT' 'BUSY'
'ABORT' 'NO CARRIER'
'ABORT' 'ERROR'
'' 'ATE1'
'OK' 'AT+CGDCONT=1,"IP","INTERNET.MSK"'
'OK' 'ATD*99***1#'
'CONNECT' 'c'
)


4)    net.lo

ln -s /etc/init.d/net.lo /etc/init.d/net.ppp1
ln -s /etc/init.d/net.lo /etc/init.d/net.ppp2


5)     USB,  /dev/ttyACM0
6) 

/etc/init.d/net.ppp1 start

      .
   tail -f /var/log/messages :

Oct 27 01:18:03 kompyc pppd[9874]: pppd 2.4.4 started by root, uid 0
Oct 27 01:18:03 kompyc chat[9877]: timeout set to 45 seconds
Oct 27 01:18:03 kompyc chat[9877]: abort on (BUSY)
Oct 27 01:18:03 kompyc chat[9877]: abort on (NO CARRIER)
Oct 27 01:18:03 kompyc chat[9877]: abort on (ERROR)
Oct 27 01:18:03 kompyc chat[9877]: send (ATE1^M)
Oct 27 01:18:03 kompyc chat[9877]: expect (OK)
Oct 27 01:18:03 kompyc chat[9877]: ATE1^M^M
Oct 27 01:18:03 kompyc chat[9877]: OK
Oct 27 01:18:03 kompyc chat[9877]: -- got it
Oct 27 01:18:03 kompyc chat[9877]: send (AT+CGDCONT=1,"IP","internet"^M)
Oct 27 01:18:04 kompyc chat[9877]: expect (OK)
Oct 27 01:18:04 kompyc chat[9877]: ^M
Oct 27 01:18:04 kompyc chat[9877]: AT+CGDCONT=1,"IP","internet"^M^M
Oct 27 01:18:04 kompyc chat[9877]: OK
Oct 27 01:18:04 kompyc chat[9877]: -- got it
Oct 27 01:18:04 kompyc chat[9877]: send (ATD*99***1#^M)
Oct 27 01:18:04 kompyc chat[9877]: expect (CONNECT)
Oct 27 01:18:04 kompyc chat[9877]: ^M
Oct 27 01:18:05 kompyc chat[9877]: ATD*99***1#^M^M
Oct 27 01:18:05 kompyc chat[9877]: CONNECT
Oct 27 01:18:05 kompyc chat[9877]: -- got it
Oct 27 01:18:05 kompyc chat[9877]: send (c^M)
Oct 27 01:18:05 kompyc pppd[9874]: Serial connection established.
Oct 27 01:18:05 kompyc pppd[9874]: Using interface ppp1
Oct 27 01:18:05 kompyc pppd[9874]: Connect: ppp1 <--> /dev/ttyACM0
Oct 27 01:18:06 kompyc pppd[9874]: local IP address 10.205.145.43
Oct 27 01:18:06 kompyc pppd[9874]: remote IP address 10.6.6.6
Oct 27 01:18:06 kompyc pppd[9874]: primary DNS address 10.77.48.2
Oct 27 01:18:06 kompyc pppd[9874]: secondary DNS address 10.77.48.3


  ,  .  ޣ    ,      .       ,  .
 :

http://gentoo-wiki.com/Nokia_S60_and_N_series
http://gentoo-wiki.com/HOWTO_Phone_sync
http://www.opennet.ru/base/modem/gprs_linux.txt.html







 GPRS  Linux
  : http://ru.gentoo-wiki.com
 : 1.3



           GPRS (  beeline).  ,        GPRS,        GPRS.  Mini-USB .   -         portage. 


        .
   gentoo-sources-2.4.28-gentoo-r5  portage, 
 wvdial  
 ppp-2.4.3-r1    portage. 

 : 
 /etc/make.conf   nano -w /etc/make.conf 

 mppe-mppc (     Microsoft MS-CHAPv2)  USE : /etc/make.conf 

USE="mppe-mppc" 

 

 pppd: 
emerge /usr/portage/net-dialup/ppp/ppp-2.4.3-r1.ebuild 

 wvdial: 
emerge wvdial 

  

cd /usr/src/linux && make menuconfig 

(  linux      ) 

: 

Network Device Support ---> 
<M>   (PPP point-to-point protocol) support
[ ]   PPP multilink support (EXPEREMRNTAL) (         )
[M]   PPP filtering
<M>   PPP support for async serial ports
<M>   PPP support for sync tty ports
<M>   PPP Deflate compression
<M>   PPP BSD-Compress compression
<M>   PPP over Ethernet (EXPEREMENTAL)

 - ..    2.6.12-gentoo-r6,         ,        .    . 

ISDN Subsystem ---> 
<*>   ISDN Support
[*]   Support asynchronus PPP
[*]   PPP filtering for ISDN
[*]   Use VJ-compression with asynchronus PPP

USB supprot ---> 
[*]   Support for USB
--- USB Host Controller Driver
<*>   ECHI HCD (USB2.0) support (EXPEREMENTAL)

(       Intel ) 
<*>   UHCI (Intel PIIX4, VIA, ...) support
--- USB Device Class drivers
<M>   USB Modem (CDC ACM) support

 -   2.6.12-gentoo-r6  : 

Device Drivers ---> ISDN subsystem ---> 
ISDN subsystem  --->
[*]     CAPI2.0 Middleware support (   ,    )

 C380       . 
     C380   : 
Device Drivers ---> USB support ---> USB Serial Converter support ---> 
<*> USB Serial Converter support
[*]   USB Serial Console device support



     .     
(           ) 
  . 


     
       /dev  ttyACM0,        ()     Fedore Core 2.0   ttyUSB0(1,2,3,4,5)       /dev "mknod ttyACM0 c 160 0" ( Pooh)    ,        ttyACM0 (Yuri . Barnaul) 
  PPP modprobe ppp_generic 
    modprobe ppp_async 
    modprobe acm 

   lsmod 

     ---> 
ppp_async               6848   0  (unused)
ppp_generic            22628   0  [ppp_async]
slhc                    4624   0  [ppp_generic]
acm                    45353   0  [xxxxxxxxxxx] (     )

   wvdial 
cd /etc && wvdialconf wvdial.conf 

   /etc/wvdial.conf 
nano -w wvdial.conf : /etc/wvdial.conf 
    

Init2 = AT+CGDCONT=1,"IP","internet.beeline.ru"
Phone = *99***1#
Username = beeline
Password = beeline


  .   Init2   ( C380     ),    Init3 (Init3 = AT+CGDCONT=1,"IP","internet.beeline.ru"). 

       ,    C380   2.6.12-r6    : : /etc/wvdial.conf 

Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.usi.ru"
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
Username = ""
Password = ""
 

 wvdial 

wvdial 

    GPRS  Linux 

  

   udev,     GPRS     USB. 
     : : /etc/udev/rules.d/90-gprs-autodial.rules 

KERNEL=="ttyACM0", RUN="/usr/bin/wvdial" 

( ,    ) 
..     ף    .. 


:  ,         kppp,         ,      wvdial. 



                  GPRS.        .       .                          email darkman@rusgate.org

 ,   Toonel. (Linux)

  : http://doc.3dn.ru/publ/9-1-0-12
:  a.k.a. doc (http://doc.3dn.ru)
 : 1.3

  toonel.net.    java,     java.
.: www.toonel.net

,       JAVA.   /usr/lib/jre- (   ),        (    JAVA  ),   j2re-xxxxx (   ),  Java ,      toonel.
    toonel,        .
   :

$ java -jar / /toonel.jar
  .
 
 Stats   , 
 Mapping   , 
 About   .
   ,  Mapping.
       127.0.0.1
  hostname: 127.0.0.1
localport: 8080
web interface port: 7999
    JPEG.
   ,   ,  .
:    :
HTPP-: 127.0.0.1 :8080
SSL-: 127.0.0.1 :8080
FTP-: 127.0.0.1 :8080
Gopher-:127.0.0.1 :8080 

      .
   .

 Toonel   Mapping    new port mapping   hostname  pop3   ,  pop3.yandex.ru ,  local port     ,  8111   remote port       110,    Apply.
       ,      smtp.
 

 toonel    ,     .
  ,  ,    :
HTTP-: 127.0.0.1 :8080
SSL-: 127.0.0.1 :8080
 
  ,         :  127.0.0.1   110,      toonel 8111.
 
      .
    :  127.0.0.1   25,      toonel 8026.
 
 
             .


GPRS  KPPP

  : http://www.linuxcenter.ru/lib/articles/networking/kppp_gprs_hints.phtml
:  
 : 1.3

   GPRS     .    GPRS-  Linux  ,                 mini-HOWTO.          ,    "GPRS  Linux"         " "   KPPP
         GPRS         14400 (,     ). ,    " "     PPP-     . ,   -        .
    "", GPRS-       /dev.            :  -    /dev/ttyUSB0 (     USB-to-Serial, ,  ,   -.     pl2303,    -           Linux    .     udev,  ,       ,   ,     ),  IrDA  /dev/ircomm0,  Bluetooth  /dev/rfcomm0.        ,             HOWTO.
 GPRS-,    ,    .          ,          KPPP. 
 KPPP     (Confugure->Modems->New).     (      ,    .       udev) 
   "Modem"    "Modem commands".      AT+CGDCONT=1,"IP","APN_NAME".           . 
 ,    Query Modem.       , ,  ,  . 
  .     *99***1#   ,  ,    . 
     pppd.   "debug"    ,  -   .         "" nodeflate + nobsdcomp;       TCP/IP   nojv + novjccomp. 
   : "     ".   ,  KPPP        ,   PAP-,       ,   .    :   /etc/ppp/options (  root)      privgroup <_>.          pppd,  , noauth.    . 
  .      ( ,   " ",      )    "Connect".    ,     KPPP      ,   .           . 


GPRS   Bluetooth

 "HOWTO   Internet !"

HOWTO   Internet

      : http://ru.gentoo-wiki.com/
C : 1.0
: 1.3

 VPN
    >=2.6.15 
   
    mppe-mppc  : 
Linux Kernel Configuration:   
  Device Drivers --->
    Network support --->
      <M>   PPP (point-to-point protocol) support
        <M>   PPP MPPE compression (encryption) (EXPERIMENTAL)  
 Cryptographic options ---> 
<M>   SHA1 and RC4 algorithms
    .  ,     .         .      : 
libcrc32c 
ip_gre 
crc_ccitt 
ppp_async 
  ppp_mppe_mppc. 
   modules-config. 
  
    >=2.6.15 
  : 
Code:  
emerge sys-kernel/gentoo-dev-sources
emerge ppp 
 ppp     pam,atp,dhcp ( ,     atp  dhcp)
emerge pptpclient 

 
  ,      .    /etc/ppp/peers/myvpn: 
pty            "/usr/sbin/pptp xxx.xxx.xxx.xxx --nolaunchpppd" #xxx...  
name           myname
remotename     myvpn
lock
dump
noipx
#debug  #  ,    (    )
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 4
lcp-echo-interval 30
asyncmap 0
crtscts
require-mppe
refuse-eap
nobsdcomp
nodeflate
proxyarp
ipparam myvpn

    : pon myvpn         : pon myvpn debug dump logfd 2 
    .    : route add default dev ppp0 
   pptpconfig
  (GTK+)  PPTP  
net-dialup/pptpconfig 
    "~x86" 
Code:  pptpconfig 
ACCEPT_KEYWORDS="~x86" emerge pptpconfig 
     /etc/portage/package.keywords   : 
net-dialup/pptpconfig ~x86 

dev-php4/php-gtk ~x86 

  
Code:  pptpconfig 
emerge pptpconfig 
:      USE=cli pcntl pcre posix session 
  ,   xterm: pptpconfig & 
          ,     . 
       Routing ,     All to tunnel.
     Start. Ś:) 
:        "Miscellanyous"    pppd  
noipdefault 50 
  

  .   Gentoo-Wiki;) 
   : 
# ifconfig ppp0
ppp0  Link encap:Point-to-Point Protocol
      inet addr:xxx.xxx.xxx.xxx  P-t-P:xxx.xxx.xxx.xxx  Mask:xxx.xxx.xxx.xxx.xxx
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:6 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:3
      RX bytes:72 (72.0 b)  TX bytes:78 (78.0 b)
 VPN-  Gentoo 
   VPN-

 (JohnBat26):   perl : pptp-command    VPN.    Webmin.     2Com:
/usr/sbin/pptp-command (   pptp-client) 

       root.
 :
Setup -> Manage CHAP secrets -> Add a New CHAP secret
Local Name:         _
Remote Name [PPTP]: 2Com
Password:           _

  Quit

 :
Add a NEW PPTP Tunnel -> Other 
Tunnel Name:         2Com
Server IP:           192.168.X.2        (  -   )
route:               add default ppp0
route:          
Local Name:          _
Remote Name [PPTP]:  2Com
        
  Quit

!!!!
   /etc/ppp/options.pptp 
 /etc/ppp/options.pptp   . :
lock
noauth
nobsdcomp
nodeflate
novj
novjccomp
nopcomp
noaccomp

  VPN     /usr/sbin/pptp-command
 :
 start -> 2Com

  VPN     /usr/sbin/pptp-command
 :
 stop 

 pppoe
Code:  pppoe 
emerge pppoe 
 /etc/conf.d/net 

modules=( "ifconfig" )
config_eth0=( "null" )
config_ppp0=( "ppp" )
link_ppp0="eth0"
plugins_ppp0=("pppoe")
username_ppp0='login'
password_ppp0='passwd'
pppd_ppp0=(
       "defaultroute"  # Make this PPP interface the default route
       "usepeerdns"    # Use the DNS settings provided by PPP
       "lcp-echo-interval 15"  # Send a LCP echo every 15 seconds
       "lcp-echo-failure 3"    # Make peer dead after 3 consective
       )
#               IPTABLES:
#iptables -I FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Code:   
ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0 

Code:  
/etc/inet.d/net.ppp0 start 
   DIAL-UP

 
 
       ""    COM    ,          .        .        /dev/ttySx ( x -  , /dev/ttyS0 = COM1  ..)          "  "...        ,     .  /dev/ttyS0,  /dev/ttyS1.
         . 
  USB
Linux Kernel Configuration:   
   "USB support" >>
     <*>"USB Modem (CDC ADCM)support" 
   /dev/ttyACM0 
Win 
  Win-   .   win-       .     http://www.linmodems.org/        scanModem       (  ) URL   . . .  INSTALL. .     : linmodems 
   
      /dev/modem    : 
ln -s /dev/ttyS0 /dev/modem
       ( /dev/modem )...          /dev/tyySx 
 ,  
           .    :   minicom    AT.    ,     ,     -  .    ,   ,    -    minicom.    "",    :

ATDP 554554 -   

ATDT 554554 -   

                 ({{{{{{),         ,    . 
  
  PPP  
        ppp: 
Linux Kernel Configuration:   
Device Drivers--------->
  Networking support--------->
     <*>PPP (point-to-point protocol) support
     <*>PPP support for async serial ports
     <*>PPP Deflate compression
     <*>PPP BSD compression
  
-        - (point-to-point protocol) 
emerge ppp
-         . 
      ...
    chat-script
   ,   pppd:
 /etc/ppp/pap-secrets   / 
Code: /etc/ppp/pap-secrets 
login * password * 
 login  password        ... 
 /etc/ppp/options : 
Code: /etc/ppp/options 
nodetach
defaultroute
lock
crtscts 
 /etc/resolv.conf     ip- DNS  (     ) 
Code: /etc/resolv.conf 
nameserver xx.xx.xx.xx
xx.xx.xx.xx -   ip- DNS  
  /usr/share/doc/ppp-*/scripts   ,  :
ppp-on
ppp-off
ppp-on-dialer
   ,  , ... ...ppp-on  , ppp-off  ,  ppp-on-dialer -    . 
       AT- ATDT,    - ATDP. 
 
       ,    pppd,      

chestnut-dialer
          gentoo. ebuild    
  
  
    
   GUI ( GTK+  Qt ) 
 call back 
   
" " -       ,    . 
  
      
 Call back
pppd      CALLBACK.  gentoo    ,       pppd  . 
    CALLBACK    /usr/doc/ppp-2.4.2/README.cbcp: 
#!/bin/sh
pppd debug nodetach /dev/modem 115200 crtscts modem \
callback _ name  \
connect 'chat -v "" atz OK atdt_ CONNECT "~--"'
sleep 1
pppd debug nodetach /dev/modem 115200 crtscts modem \
name  defaultroute \
connect 'chat -v RING ATA CONNECT "\c"'
     /etc/ppp/chap-secrets (/etc/ppp/pap-secrets).  /etc/resolv.conf    DNS- (   usepeerdns  /etc/ppp/options    DNS   ). 
   kppp  chestnut-dialer   callback .    . 
         .   CallerID.      ,       (           ),     AT    . 
  Lucent: 
ats0=1s38=0s37=17-v90=0
ats0=1s38=0s37=17-v90=0+vcid=0
  s37    14 
  GVC Vector K2D: 
ATS0=1+VCID=0&U1
     ,      ... 
   GPRS
    GPRS    (kppp, chestnut-dialer),      pppd - noipdefault!!! 
 
   GPRS  : 
 ,   GPRS 
 COM  USB     ("data-")  IrDA-. 
   USB-
,         : 
"Device Drivers" >>
  [*]"Networking support" >>
    [*] "Network device support"
    <M> "PPP (point-to-point protocol) support"
    <M> "PPP support for async serial ports"
    <M> "PPP support for sync tty ports"
    <M> "PPP Deflate compression"
    <M> "PPP BSD-Compress compression"
 data-    Profilic 2303 (    ,    Siemens, Motorola, Nokia  .)  : 
  "USB support" >>
    "USB Serial Converter support" >>
      <M> "USB Prolific 2303 Single Port Serial Driver"
    : 
modprobe pl2303
       /dev/usb/tts/0 ( /dev/ttyUSB0),        . 
  Motorola,    mini-USB ( 380,390)   
   "USB support" >>
     <*>"USB Modem (CDC ADCM)support" 
   /dev/ttyACM0 
   COM-
  , ""  ...     . 
  Bluetooth
          bluetooth,   Ś:     bluetooth.  .      .     bluetooth- 1(  Dial-Up)   /dev/rfcomm0.  . 
  
#hcitool scan
Scanning ...
       00:60:57:D5:3B:BE       Gtbear
   rfcomm0 
#rfcomm bind 0 00:60:57:D5:3B:BE 1
     rfcomm0  1.     .     pppd. 
  /etc/ppp/peers/gprs.   : 
lcp-echo-failure 0
lcp-echo-interval 0
/dev/rfcomm0
connect /etc/ppp/peers/suct-connect #   ,      :
115200                              #-  Κ:)
crtscts
local
ipcp-accept-local
noauth
usepeerdns
user suct
defaultroute
noipdefault
   : 
#!/bin/bash
exec chat -vS  \
'' \rAT \
TIMEOUT 12 \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","internet.usi.ru"' \
OK ATD*99***1# \
TIMEOUT 22 \
SAY "\nWaiting for connect...\n" \
CONNECT "" \
SAY "\nGPRS connected.Enjoy.."
  .      pppd call gprs nodetach 
  IrDA
: 
emerge irda-utils
Linux Kernel Configuration:  2.6 
Device Drivers --->
[*] Networking support
  <*> IrDA (infrared) subsystem support --->
  <*> IrCOMM protocol
  Infrared-port device drivers --->
    <*> IrDA USB dongles
    <*> SigmaTel STIr4200 bridge (EXPERIMENTAL)
      : 
irattach irda0 -s
         ...    ppp    

   CDMA (SKYLINK)
 
 AnyDATA ADU-E100A 
  
      - (point-to-point protocol) 
# emerge ppp 
  /etc/ppp/chap-secrets 
Code: /etc/ppp/chap-secrets 
# Secrets for authentication using CHAP
# client server secret IPaddresses
"mobile" * "internet" * 
  /etc/ppp/peers/cdma 
Code: /etc/ppp/peers/cdma 
debug
/dev/ttyUSB0
921600
noipdefault
defaultroute
ipcp-accept-local
lcp-echo-interval 60
lcp-echo-failure 5
usepeerdns
nopcomp
noauth
noaccomp
nodetach
user "mobile"
connect "/usr/sbin/chat -s -S -V -t 5 -f /etc/ppp/cdma.chat" 
  /etc/ppp/cdma.chat 
Code: /etc/ppp/cdma.chat 
'' '' # "  ,   ,      
'' 'ATZ' # "  ,   ,      
'OK' 'ATI'
'OK' 'ATDT#777'
'CONNECT' 'ATO' 
 
# pon cdma 



Power Management Guide (.)

  :
http://www.gentoo.org/doc/ru/kde-config.xml

 : 1.0.
1. Introduction

Capacity and lifetime of laptop batteries have improved much in the last years. Nevertheless modern processors consume much more energy than older ones and each laptop generation introduces more devices hungry for energy. That's why Power Management is more important than ever. Increasing battery run time doesn't necessarily mean buying another battery. Much can be achieved applying intelligent Power Management policies. 

A Quick Overview

Please notice that this guide describes Power Management for laptops. While some sections might also suite for servers, others do not and may even cause harm. Please do not apply anything from this guide to a server unless you really know what you are doing. 

As this guide has become rather long, here's a short overview helping you to find your way through it. 

The Prerequisites chapter talks about some requirements that should be met before any of the following device individual sections will work. This includes BIOS settings, kernel configuration and some simplifications in user land. The following three chapters focus on devices that typically consume most energy - processor, display and hard drive. Each can be configured seperately. CPU Power Management shows how to adjust the processor's frequency to save a maximum of energy without losing too much performance. A few different tricks prevent your hard drive from working unnecessarily often in Disk Power Management (decreasing noise level as a nice side effect). Some notes on graphics cards, Wireless LAN and USB finish the device section in Power Management For Other Devices while another chapter is dedicated to the (rather experimental) sleep states. Last not least Troubleshooting lists common pitfalls. 

Power Budget For Each Component

Nearly every component can operate in different states - off, sleep, idle, active to name a few - consuming a different amount of energy. Major parts are consumed by the LCD display, CPU, chipset and hard drives. Often one is able to activate OS-independent Power Management in the BIOS, but an intelligent setup in the operating system adapting to different situations can achieve much more. 

2. Prerequisites

Before discussing the details of making individual devices Power Management aware, make sure certain requirements are met. After controlling BIOS settings, some kernel options want to be enabled - these are in short ACPI, sleep states and CPU frequency scaling. As power saving most of the time comes along with performance loss or increased latency, it should only be enabled when running on batteries. That's where a new runlevel battery comes in handy. 

The BIOS Part

First have a look into your BIOS Power Management settings. The best way is to combine BIOS and operating system policies, but for the moment it's better to disable most of the BIOS part. This makes sure it doesn't interfere with your policies. Don't forget to re-check BIOS settings after you configured everything else. 

Setting USE Flags

Please check that the acpi USE flag is set in /etc/make.conf. Other USE flags that might be interesting for your system are apm, lm_sensors, nforce2, nvidia, pmu. See /usr/portage/profiles/use*.desc for details. If you forgot to set one of these flags, you can recompile affected packages using the --newuse flag in emerge, see man emerge. 

Configuring The Kernel

ACPI (Advanced Configuration and Power Interface) support in the kernel is still work in progress. Using a recent kernel will make sure you'll get the most out of it. 

There are different kernel sources in Portage. I'd recommend using gentoo-sources or suspend2-sources. The latter contains patches for Software Suspend 2, see the chapter about sleep states for more details. When configuring the kernel, activate at least these options: 

Code Listing 2.1: Minimum kernel setup for Power Management (Kernel 2.6)

Power Management Options --->
  [*] Power Management Support
  [ ] Software Suspend

  ACPI( Advanced Configuration and Power Interface ) Support --->
    [*] ACPI Support
    [ ]   Sleep States
    [ ]     /proc/acpi/sleep (deprecated)
    [*]   AC Adapter
    [*]   Battery
    <M>   Button
    <M>   Video
    [ ]   Generic Hotkey
    <M>   Fan
    <M>   Processor
    <M>     Thermal Zone
    < >   ASUS/Medion Laptop Extras
    < >   IBM ThinkPad Laptop Extras
    < >   Toshiba Laptop Extras
    (0)   Disable ACPI for systems before Jan 1st this year
    [ ]   Debug Statements
    [*]   Power Management Timer Support
    < >   ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)

  CPU Frequency Scaling --->
    [*] CPU Frequency scaling
    [ ]   Enable CPUfreq debugging
    < >   CPU frequency translation statistics
    [ ]     CPU frequency translation statistics details
          Default CPUFreq governor (userspace)
    <*>   'performance' governor
    <*>   'powersave' governor
    <*>   'ondemand' cpufreq policy governor
    <*>   'conservative' cpufreq governor
    <*>   CPU frequency table helpers
    <M> ACPI Processor P-States driver
    <*> CPUFreq driver for your processor


Decide yourself whether you want to enable Software Suspend, and Sleep States (see below). If you own an ASUS, Medion, IBM Thinkpad or Toshiba laptop, enable the appropriate section. 

The kernel has to know how to enable CPU frequency scaling on your processor. As each type of CPU has a different interface, you've got to choose the right driver for your processor. Be careful here - enabling Intel Pentium 4 clock modulation on a Pentium M system will lead to strange results for example. Consult the kernel documentation if you're unsure which one to take. 

Compile your kernel, make sure the right modules get loaded at startup and boot into your new ACPI-enabled kernel. Next run emerge sys-power/acpid to get the acpi daemon. This one informs you about events like switching from AC to battery or closing the lid. Make sure the modules are loaded if you didn't compile them into the kernel and start acpid by executing /etc/init.d/acpid start. Run rc-update add acpid default to load it on startup. You'll soon see how to use it. 

Code Listing 2.2: Installing acpid

# emerge sys-power/acpid
# /etc/init.d/acpid start
# rc-update add acpid default


Creating A "battery" Runlevel

The default policy will be to enable Power Management only when needed - running on batteries. To make the switch between AC and battery convenient, create a runlevel battery that holds all the scripts starting and stopping Power Management. 
Note: You can safely skip this section if you don't like the idea of having another runlevel. However, skipping this step will make the rest a bit trickier to set up. The next sections assume a runlevel battery exists. 


Code Listing 2.3: Creating a battery runlevel

# cd /etc/runlevels
# cp -a default battery


Finished. Your new runlevel battery contains everything like default, but there is no automatic switch between both yet. Time to change it. 

Reacting On ACPI Events

Typical ACPI events are closing the lid, changing the power source or pressing the sleep button. An important event is changing the power source, which should cause a runlevel switch. A small script will take care of it. 

First you need a script which changes the runlevel to default respectively battery depending on the power source. The script uses the on_ac_power command from sys-power/powermgmt-base - make sure the package is installed on your system. 

Code Listing 2.4: Installing powermgt-base
# emerge powermgmt-base


You are now able to determine the power source by executing on_ac_power && echo AC available || echo Running on batteries in a shell. The script below is responsible for changing runlevels. Save it as /etc/acpi/actions/pmg_switch_runlevel.sh. 

Code Listing 2.5: /etc/acpi/actions/pmg_switch_runlevel.sh

#!/bin/bash

# BEGIN configuration
RUNLEVEL_AC="default"
RUNLEVEL_BATTERY="battery"
# END configuration


if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
then
    logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
    exit 1
fi

if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
then
    logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
    exit 1
fi

if on_ac_power
then
    if [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
    then
        logger "Switching to ${RUNLEVEL_AC} runlevel"
         /sbin/rc ${RUNLEVEL_AC}
    fi
elif [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
then
    logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
    /sbin/rc ${RUNLEVEL_BATTERY}
fi


Dont forget to run chmod +x /etc/acpi/actions/pmg_switch_runlevel.sh to make the script executable. The last thing that needs to be done is calling the script whenever the power source changes. That's done by catching ACPI events with the help of acpid. First you need to know which events are generated when the power source changes. The events are called ac_adapter and battery on most laptops, but it might be different on yours. 

Code Listing 2.6: Determining ACPI events for changing the power source
# tail -f /var/log/acpid | grep "received event"


Run the command above and pull the power cable. You should see something like this: 

Code Listing 2.7: Sample output for power source changes
[Tue Sep 20 17:39:06 2005] received event "ac_adapter AC 00000080 00000000"
[Tue Sep 20 17:39:06 2005] received event "battery BAT0 00000080 00000001"


The interesting part is the quoted string after received event. It will be matched by the event line in the files you are going to create below. Don't worry if your system generates multiple events or always the same. As long as any event is generated, runlevel changing will work. 

Code Listing 2.8: /etc/acpi/events/pmg_ac_adapter
# replace "ac_adapter" below with the event generated on your laptop
# For example, ac_adapter.* will match ac_adapter AC 00000080 00000000
event=ac_adapter.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e


Code Listing 2.9: /etc/acpi/events/pmg_battery
# replace "battery" below with the event generated on your laptop
# For example, battery.* will match battery BAT0 00000080 00000001
event=battery.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e


Finally acpid has to be restarted to recognize the changes. 

Code Listing 2.10: Finishing runlevel switching with acpid
# /etc/init.d/acpid restart


Give it a try: Plug AC in and out and watch syslog for the "Switching to AC mode" or "Switching to battery mode" messages. See the Troubleshooting section if the script is not able to detect the power source correctly. 

Due to the nature of the event mechanism, your laptop will boot into runlevel default regardless of the AC/battery state. This is fine when running from AC, but we'd like to boot into the battery runlevel otherwise. One solution would be to add another entry to the boot loader with the parameter softlevel=battery, but it's likely to forget choosing it. A better way is faking an ACPI event in the end of the boot process and letting pmg_switch_runlevel.sh script decide whether a runlevel change is necessary. Open /etc/conf.d/local.start in your favourite editor and add these lines: 

Code Listing 2.11: Runlevel adjustment at boot time by editing local.start
# Fake acpi event to switch runlevel if running on batteries
/etc/acpi/actions/pmg_switch_runlevel.sh "battery/battery"


Prepared like this you can activate Power Management policies for individual devices. 


3. CPU Power Management

Mobile processors can operate at different frequencies. Some allow changing voltage as well. Most of the time your CPU doesn't need to run at full speed and scaling it down will save much energy - often without any performance decrease. 

Some Technical Terms

CPU frequency scaling brings up some technical terms that might be unknown to you. Here's a quick introduction. 

First of all, the kernel has to be able to change the processor's frequency. The CPUfreq processor driver knows the commands to do it on your CPU. Thus it's important to choose the right one in your kernel. You should already have done it above. Once the kernel knows how to change frequencies, it has to know which frequency it should set. This is done according to the policy which consists of a CPUfreq policy and a governor. A CPUfreq policy are just two numbers which define a range the frequency has to stay between - minimal and maximal frequency. The governor now decides which of the available frequencies in between minimal and maximal frequency to choose. For example, the powersave governor always chooses the lowest frequency available, the performance governor the highest one. The userspace governor makes no decision but chooses whatever the user (or a program in userspace) wants - which means it reads the frequency from /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed. 

This doesn't sound like dynamic frequency changes yet and in fact it isn't. Dynamics however can be accomplished with various approaches. For example, the ondemand governor makes its decisions depending on the current CPU load. The same is done by various userland tools like cpudyn, cpufreqd, powernowd and many more. ACPI events can be used to enable or disable dynamic frequency changes depending on power source. 

Setting The Frequency Manually

Decreasing CPU speed and voltage has two advantages: On the one hand less energy is consumed, on the other hand there is thermal improvement as your system doesn't get as hot as running on full speed. The main disadvantage is obviously the loss of performance. Decreasing processor speed is a trade off between performance loss and energy saving. 
Note: Not every laptop supports frequency scaling. If unsure, have a look at the list of supported processors in the Troubleshooting section to verify yours is supported. 


It's time to test whether CPU frequency changing works. Let's install another tool which is very handy for debugging purposes: sys-power/cpufrequtils 

Code Listing 3.1: Checking CPU frequency
# emerge cpufrequtils
# cpufreq-info


Here is an example output: 



Code Listing 3.2: Sample output from cpufreq-info

cpufrequtils 0.3: cpufreq-info (C) Dominik Brodowski 2004
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: centrino
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 600 MHz - 1.40 GHz
  available frequency steps: 600 MHz, 800 MHz, 1000 MHz, 1.20 GHz, 1.40 GHz
  available cpufreq governors: conservative, ondemand, powersave, userspace, performance
  current policy: frequency should be within 924 MHz and 1.40 GHz.
    The governor "performance" may decide which speed to use
    within this range.
  current CPU frequency is 1.40 GHz.


Now play around with cpufreq-set to make sure frequency switching works. Run cpufreq-set -g ondemand for example to activate the ondemand governor and verify the change with cpufreq-info. If it doesn't work as expected, you might find help in the Troubleshooting section in the end of this guide. 

While adjusting the frequency to the current load looks simple at a first glance, it's not such a trivial task. A bad algorithm can cause switching between two frequencies all the time or wasting energy when setting frequency to an unnecessary high level. 

Which one to choose? If you have no idea about it, try cpufreqd: 

Code Listing 3.3: Installing cpufreqd
# emerge cpufreqd

cpufreqd can be configured by editing /etc/cpufreqd.conf. The default one that ships with cpufreqd may look a bit confusing. I recommend replacing it with the one from former Gentoo developer Henrik Brix Andersen (see below). Please notice that you need cpufreqd-2.0.0 or later. Earlier versions have a different syntax for the config file. 

Code Listing 3.4: /etc/cpufreqd.conf (cpufreqd-2.0.0 and later)
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=3
enable_plugins=acpi_ac, acpi_battery
enable_remote=1
remote_group=wheel
verbosity=5
[/General]

[Profile]
name=ondemand
minfreq=0%
maxfreq=100%
policy=ondemand
[/Profile]

[Profile]
name=conservative
minfreq=0%
maxfreq=100%
policy=conservative
[/Profile]

[Profile]
name=powersave
minfreq=0%
maxfreq=100%
policy=powersave
[/Profile]

[Profile]
name=performance
minfreq=0%
maxfreq=100%
policy=performance
[/Profile]

[Rule]
name=battery
ac=off
profile=conservative
[/Rule]

[Rule]
name=battery_low
ac=off
battery_interval=0-10
profile=powersave
[/Rule]

[Rule]
name=ac
ac=on
profile=ondemand
[/Rule]


Now you can start the cpufreqd daemon. Add it to the default and battery runlevel as well. 

Code Listing 3.5: Starting cpufreqd
# rc-update add cpufreqd default battery
# rc


Sometimes it can be desirable to select another policy than the daemon chooses, for example when battery power is low, but you know that AC will be available soon. In that case you can turn on cpufreqd's manual mode with cpufreqd-set manual and select one of your configured policies (as listed by cpufreqd-get). You can leave manual mode by executing cpufreqd-set dynamic. 
Warning: Do not run more than one of the above programs at the same time. It may cause confusion like switching between two frequencies all the time. 


Verifying the result

The last thing to check is that your new policies do a good job. An easy way to do so is monitoring CPU speed while working with your laptop: 

Code Listing 3.6: Monitoring CPU speed
# watch grep \"cpu MHz\" /proc/cpuinfo


If /proc/cpuinfo doesn't get updated (see Troubleshooting), monitor the CPU frequency with: 

Code Listing 3.7: Alternative CPU speed monitoring
# watch x86info -mhz


Depending on your setup, CPU speed should increase on heavy load, decrease on no activity or just stay at the same level. When using cpufreqd and verbosity set to 5 or higher in cpufreqd.conf you'll get additional information about what's happening reported to syslog. 

4. LCD Power Management

As you can see in figure 1.1, the LCD display consumes the biggest part of energy (might not be the case for non-mobile CPU's). Thus it's quite important not only to shut the display off when not needed, but also to reduce it's backlight if possible. Most laptops offer the possibility to control the backlight dimming. 

Standby settings

The first thing to check is the standby/suspend/off timings of the display. As this depends heavily on your windowmanager, I'll let you figure it out yourself. Just two common places: Blanking the terminal can be done with setterm -blank <number-of-minutesM>, setterm -powersave on and setterm -powerdown <number-of-minutesM>. For X.org, modify /etc/X11/xorg.conf similar to this: 

Code Listing 4.1: LCD suspend settings in X.org and Xfree86

Section "ServerLayout"
  Identifier  [...]
  [...]
  Option  "BlankTime"  "5"  # Blank the screen after 5 minutes (Fake)
  Option  "StandbyTime"  "10"  # Turn off screen after 10 minutes (DPMS)
  Option  "SuspendTime"  "20"  # Full suspend after 20 minutes
  Option  "OffTime"  "30"  # Turn off after half an hour
  [...]
EndSection

[...]

Section "Monitor"
  Identifier  [...]
  Option  "DPMS"  "true"
  [...]
EndSection


This is the same for XFree86 and /etc/X11/XF86Config. 

Backlight dimming

Probably more important is the backlight dimming. If you have access to the dimming settings via a tool, write a small script that dims the backlight in battery mode and place it in your battery runlevel. The following script should work on most IBM Thinkpads and Toshiba laptops. You've got to enable the appropriate option in your kernel (IBM Thinkpads only). For Toshiba laptops, install app-laptop/acpitool and skip configuration of ibm_acpi as described below. 
Warning: Support for setting brightness is marked experimental in ibm-acpi. It accesses hardware directly and may cause severe harm to your system. Please read the ibm-acpi website 


To be able to set the brightness level, the ibm_acpi module has to be loaded with the experimental parameter. 

Code Listing 4.2: automatically loading the ibm_acpi module
(Please read the warnings above before doing this!)
# echo "options ibm_acpi experimental=1" >> /etc/modules.d/ibm_acpi
# /sbin/modules-update
# echo ibm_acpi >> /etc/modules.autoload.d/kernel-2.6
# modprobe ibm_acpi


This should work without error messages and a file /proc/acpi/ibm/brightness should be created after loading the module. An init script will take care of choosing the brightness according to the power source. 

Code Listing 4.3: /etc/conf.d/lcd-brightness

# See /proc/acpi/ibm/brightness for available values
# Please read /usr/src/linux/Documentation/ibm-acpi.txt

# brigthness level in ac mode. Default is 7.
BRIGHTNESS_AC=7

# brightness level in battery mode. Default is 4.
BRIGHTNESS_BATTERY=4


Code Listing 4.4: /etc/init.d/lcd-brightness

#!/sbin/runscript

set_brightness() {
    if on_ac_power
    then
        LEVEL=${BRIGHTNESS_AC:-7}
    else
        LEVEL=${BRIGHTNESS_BATTERY:-4}
    fi

    if [ -f /proc/acpi/ibm/brightness ]
    then
        ebegin "Setting LCD brightness"
        echo "level ${LEVEL}" > /proc/acpi/ibm/brightness
        eend $?
    elif [[ -e /usr/bin/acpitool && -n $(acpitool -T | grep "LCD brightness") ]]
    then
        ebegin "Setting LCD brightness"
        acpitool -l $LEVEL >/dev/null || ewarn "Unable to set lcd brightness"
        eend $?
    else
        ewarn "Setting LCD brightness is not supported."
        ewarn "For IBM Thinkpads, check that ibm_acpi is loaded into the kernel"
        ewarn "For Toshiba laptops, you've got to install app-laptop/acpitool"
    fi
}

start() {
    set_brightness
}

stop () {
    set_brightness
}


When done, make sure brightness is adjusted automatically by adding it to the battery runlevel. 

Code Listing 4.5: Enabling automatic brightness adjustment
# chmod +x /etc/init.d/lcd-brightness
# rc-update add lcd-brightness battery
# rc


5. Disk Power Management

Hard disks consume less energy in sleep mode. Therefore it makes sense to activate power saving features whenever the hard disk is not used for a certain amount of time. I'll show you two alternative possibilities to do it. First, laptop-mode will save most energy due to several measures which prevent or at least delay write accesses. The drawback is that due to the delayed write accesses a power outage or kernel crash will be more dangerous for data loss. If you don't like this, you have to make sure that there are no processes which write to your hard disk frequently. Afterwards you can enable power saving features of your hard disk with hdparm as the second alternative. 

Increasing idle time - laptop-mode

Recent kernels (2.6.6 and greater, recent 2.4 ones and others with patches) include the so-called laptop-mode. When activated, dirty buffers are written to disk on read calls or after 10 minutes (instead of 30 seconds). This minimizes the time the hard disk needs to be spun up. 

Code Listing 5.1: Automated start of laptop-mode
# emerge laptop-mode-tools


laptop-mode-tools has its configuration file in /etc/laptop-mode/laptop-mode.conf. Adjust it the way you like it, it's well commented. Run rc-update add laptop_mode battery to start it automatically. 

Recent versions (1.11 and later) of laptop-mode-tools include a new tool lm-profiler. It will monitor your system's disk usage and running network services and suggests to disable unneeded ones. You can either disable them through laptop-mode-tools builtin runlevel support (which will be reverted by Gentoo's /sbin/rc) or use your default/battery runlevels (recommended). 

Code Listing 5.2: Sample output from running lm-profiler
# lm-profiler

Profiling session started.
Time remaining: 600 seconds
[4296896.602000] amarokapp
Time remaining: 599 seconds
[4296897.714000] sort
[4296897.970000] mv
Time remaining: 598 seconds
Time remaining: 597 seconds
[4296900.482000] reiserfs/0


After profiling your system for ten minutes, lm-profiler will present a list of services which might have caused disk accesses during that time. 

Code Listing 5.3: lm-profiler suggests to disable some services
Program:     "atd"
Reason:      standard recommendation (program may not be running)
Init script: /etc/init.d/atd (GUESSED)

Do you want to disable this service in battery mode? [y/N]: n


To disable atd as suggested in the example above, you would run rc-update del atd battery. Be careful not to disable services that are needed for your system to run properly - lm-profiler is likely to generate some false positives. Do not disable a service if you are unsure whether it's needed. 

Limiting Write Accesses

If you don't want to use laptop-mode, you must take special care to disable services that write to your disk frequently - syslogd is a good candidate, for example. You probably don't want to shut it down completely, but it's possible to modify the config file so that "unnecessary" things don't get logged and thus don't create disk traffic. Cups writes to disk periodically, so consider shutting it down and only enable it manually when needed. 

Code Listing 5.4: Disabling cups in battery mode
# rc-update del cupsd battery


You can also use lm-profiler from laptop-mode-tools (see above) to find services to disable. Once you eliminated all of them, go on with configuring hdparm. 

hdparm

The second possibility is using a small script and hdparm. Skip this if you are using laptop-mode. Otherwise, create /etc/init.d/pmg_hda: 

Code Listing 5.5: Using hdparm for disk standby
#!/sbin/runscript

depend() {
after hdparm
}

start() {
ebegin "Activating Power Management for Hard Drives"
hdparm -q -S12 /dev/hda
eend $?
}

stop () {
ebegin "Deactivating Power Management for Hard Drives"
hdparm -q -S253 /dev/hda
eend $?
}


See man hdparm for the options. If your script is ready, add it to the battery runlevel. 

Code Listing 5.6: Automate disk standby settings
# chmod +x /etc/init.d/pmg_hda
# /sbin/depscan.sh
# rc-update add pmg_hda battery

Important: Be careful with sleep/spin down settings of your hard drive. Setting it to small values might wear out your drive and lose warranty. 


Other tricks

Another possibility is to deactivate swap in battery mode. Before writing a swapon/swapoff switcher, make sure there is enough RAM and swap isn't used heavily, otherwise you'll be in big problems. 

If you don't want to use laptop-mode, it's still possible to minimize disk access by mounting certain directories as tmpfs - write accesses are not stored on a disk, but in main memory and get lost with unmounting. Often it's useful to mount /tmp like this - you don't have to pay special attention as it gets cleared on every reboot regardless whether it was mounted on disk or in RAM. Just make sure you have enough RAM and no program (like a download client or compress utility) needs extraordinary much space in /tmp. To activate this, enable tmpfs support in your kernel and add a line to /etc/fstab like this: 

Code Listing 5.7: Editing /etc/fstab to make /tmp even more volatile
none  /tmp  tmpfs  size=32m  0 0

Warning: Pay attention to the size parameter and modify it for your system. If you're unsure, don't try this at all, it can become a performance bottleneck easily. In case you want to mount /var/log like this, make sure to merge the log files to disk before unmounting. They are essential. Don't attempt to mount /var/tmp like this. Portage uses it for compiling... 


6. Power Management For Other Devices

Graphics Cards

In case you own an ATI graphics card supporting PowerPlay (dynamic clock scaling for the the graphics processing unit GPU), you can activate this feature in X.org. Open /etc/X11/xorg.conf and add (or enable) the DynamicClocks option in the Device section. Please notice that this feature will lead to crashes on some systems. 

Code Listing 6.1: Enabling ATI PowerPlay support in X.org
Section "Device"
[...]
Option      "DynamicClocks" "on"
EndSection


Wireless Power Management

Wireless LAN cards consume quite a bit of energy. Put them in Power Management mode in analogy to the pmg_hda script. 
Note: This script assumes your wireless interface is called wlan0; replace this with the actual name of your interface. 


Code Listing 6.2: WLAN Power Management automated
#!/sbin/runscript
start() {
  ebegin "Activating Power Management for Wireless LAN"
  iwconfig wlan0 power on
  eend $?
}

stop () {
  ebegin "Deactivating Power Management for Wireless LAN"
  iwconfig wlan0 power off
  eend $?
}


Starting this script will activate power saving features for wlan0. Save it as /etc/init.d/pmg_wlan0 and add it to the battery runlevel like the disk script above. See man iwconfig for details and more options like the period between wakeups or timeout settings. If your driver and access point support changing the beacon time, this is a good starting point to save even more energy. 

Code Listing 6.3: Power Management for WLAN
# chmod +x /etc/init.d/pmg_wlan0
# /sbin/depscan.sh
# rc-update add pmg_wlan0 battery


USB Power Management

There are two problems with USB devices regarding energy consumption: First, devices like USB mice, digital cameras or USB sticks consume energy while plugged in. You cannot avoid this (nevertheless remove them in case they're not needed). Second, when there are USB devices plugged in, the USB host controller periodically accesses the bus which in turn prevents the CPU from going into sleep mode. The kernel offers an experimental option to enable suspension of USB devices through driver calls or one of the power/state files in /sys. 

Code Listing 6.4: Enabling USB suspend support in the kernel
Device Drivers
  USB support
    [*]   Support for Host-side USB
      [*]   USB suspend/resume (EXPERIMENTAL)



7. Sleep States: sleep, standby, and suspend to disk

ACPI defines different sleep states. The more important ones are 
S1 aka Standby
S3 aka Suspend to RAM aka Sleep
S4 aka Suspend to Disk aka Hibernate

They can be called whenever the system is not in use, but a shutdown is not wanted due to the long boot time. 

Sleep (S3)

The ACPI support for these sleep states is marked experimental for good reason. APM sleep states seem to be more stable, however you can't use APM and ACPI together. 

Code Listing 7.1: Kernel configuration for the various suspend types
  Power Management Options --->
    [*]  Power Management support
      ACPI (Advanced Configuration and Power Interface) Support --->
        [*]  ACPI Support
          [*]   Sleep States


Once your kernel is properly configured, you can use the hibernate-script to activate suspend or sleep mode. Let's install that first. 

Code Listing 7.2: Installing the hibernate-script
# emerge hibernate-script


Some configuration has to be done in /etc/hibernate The default package introduces two configuration files hibernate.conf and ram.conf. 

To configure sleep, edit ram.conf in /etc/hibernate. UseSysfsPowerState mem is already setup correctly, but you have to go through the rest of the configuration file and set it up for your system. The comments and option names will guide you. If you use nfs or samba shares over the network, make sure to shutdown the appropriate init scripts to avoid timeouts. 

Ready? Now is the last chance to backup any data you want to keep after executing the next command. Notice that you probably have to hit a special key like Fn to resume from sleep. 

Code Listing 7.3: Calling sleep
# hibernate-ram


If you're still reading, it seems to work. You can also setup standby (S1) in a similar way by copying ram.conf to standby.conf and creating a symlink /usr/sbin/hibernate-standby pointing to /usr/sbin/hibernate. S3 and S4 are the more interesting sleep states due to greater energy savings however. 

Hibernate (S4)

This section introduces hibernation, where a snapshot of the running system is written to disk before powering off. On resume, the snapshot is loaded and you can go on working at exactly the point you called hibernate before. 
Warning: Don't exchange non hot-pluggable hardware when suspended. Don't attempt to load a snapshot with a different kernel image than the one it was created with. Shutdown any NFS or samba server/client before hibernating. 


There are two different implementations for S4. The original one is swsusp, then there is the newer suspend2 with a nicer interface (including fbsplash support). A feature comparison is available at the suspend2 Homepage. There used to be Suspend-to-Disk (pmdisk), a fork of swsusp, but it has been merged back. 

Suspend2 is not included in the mainline kernel yet, therefore you either have to patch your kernel sources with the patches provided by suspend2.net or use sys-kernel/suspend2-sources. 

The kernel part for both swusp and suspend2 is as follows: 

Code Listing 7.4: Kernel configuration for the various suspend types

Power Management Options --->
  (hibernate with swsusp)
  [*] Software Suspend
      (replace /dev/SWAP with your swap partition)
      (/dev/SWAP)      Default resume partition

  (hibernate with suspend2)
  Software Suspend 2
    --- Image Storage (you need at least one writer)
    [*]     File Writer
    [*]    Swap Writer
    ---   General Options
    [*]    LZF image compression
    (replace /dev/SWAP with your swap partition)
    (swap:/dev/SWAP)   Default resume device name
    [ ]     Allow Keep Image Mode


The configuration for swsusp is rather easy. If you didn't store the location of your swap partition in the kernel config, you can also pass it as a parameter with the resume=/dev/SWAP directive. If booting is not possible due to a broken image, use the noresume kernel parameter. The hibernate-cleanup init script invalidates swsusp images during the boot process. 

Code Listing 7.5: Invalidating swsusp images during the boot process

# rc-update add hibernate-cleanup boot


To activate hibernate with swsusp, use the hibernate script and set UseSysfsPowerState disk in /etc/hibernate/hibernate.conf. 
Warning: Backup your data before doing this. Run sync before executing one of the commands to have cached data written to disk. First try it outside of X, then with X running, but not logged in. 


If you experience kernel panics due to uhci or similar, try to compile USB support as module and unload the modules before sending your laptop to sleep mode. There are configuration options for this in hibernate.conf 

Code Listing 7.6: Hibernating with swsusp
# nano -w /etc/hibernate.conf
(Make sure you have a backup of your data)
# hibernate


The following section discusses the setup of suspend2 including fbsplash support for a nice graphical progress bar during suspend and resume. 

The first part of the configuration is similar to the configuration of swsusp. In case you didn't store the location of your swap partition in the kernel config, you have to pass it as a kernel parameter with the resume2=swap:/dev/SWAP directive. If booting is not possible due to a broken image, append the noresume2 parameter. Additionally, the hibernate-cleanup init script invalidates suspend2 images during the boot process. 

Code Listing 7.7: Invalidating suspend2 images during the boot process
# rc-update add hibernate-cleanup boot


Now edit /etc/hibernate/hibernate.conf, enable the suspend2 section and comment everything in the sysfs_power_state and acpi_sleep sections. Do not enable the fbsplash part in global options yet. 

Code Listing 7.8: Hibernating with suspend2
# nano -w /etc/hibernate.conf
(Make sure you have a backup of your data)
# hibernate


Please configure fbsplash now if you didn't do already. To enable fbsplash support during hibernation, the sys-apps/suspend2-userui package is needed. Additionally, you've got to enable the fbsplash USE flag. 

Code Listing 7.9: Installing suspend2-userui
# mkdir -p /etc/portage
# echo "sys-apps/suspend2-userui fbsplash" >> /etc/portage/package.use
# emerge suspend2-userui


The ebuild tells you to make a symlink to the theme you want to use. For example, to use the livecd-2005.1 theme, run the following command: 

Code Listing 7.10: Using the livecd-2005.1 theme during hibernation
# ln -sfn /etc/splash/livecd-2005.1 /etc/splash/suspend2


If you don't want a black screen in the first part of the resume process, you have to add the suspend2ui_fbsplash tool to your initrd image. Assuming you created the initrd image with splash_geninitramfs and saved it as /boot/fbsplash-emergence-1024x768, here's how to do that. 

Code Listing 7.11: Adding suspend2ui_fbsplash to an initrd image
# mount /boot
# mkdir ~/initrd.d
# cp /boot/fbsplash-emergence-1024x768 ~/initrd.d/
# cd ~/initrd.d
# gunzip -c fbsplash-emergence-1024x768 | cpio -idm --quiet -H newc
# rm fbsplash-emergence-1024x768
# cp /usr/sbin/suspend2ui_fbsplash sbin/
# find . | cpio --quiet --dereference -o -H newc | gzip -9 > /boot/fbsplash-suspend2-emergence-1024x768


Afterwards adjust grub.conf respectively lilo.conf so that your suspend2 kernel uses /boot/fbsplash-suspend2-emergence-1024x768 as initrd image. You can now test a dry run to see if everything is setup correctly. 

Code Listing 7.12: Test run for fbsplash hibernation
# suspend2ui_fbsplash -t


Afterwards open /etc/hibernate/hibernate.conf again and activate the fbsplash options. Execute hibernate and enjoy. 

8. Troubleshooting

Q: I'm trying to change the CPU frequency, but /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor does not exist. 

A: Make sure your processor supports CPU frequency scaling and you chose the right CPUFreq driver for your processor. Here is a list of processors that are supported by cpufreq (kernel 2.6.7): ARM Integrator, ARM-SA1100, ARM-SA1110, AMD Elan - SC400, SC410, AMD mobile K6-2+, AMD mobile K6-3+, AMD mobile Duron, AMD mobile Athlon, AMD Opteron, AMD Athlon 64, Cyrix Media GXm, Intel mobile PIII and Intel mobile PIII-M on certain chipsets, Intel Pentium 4, Intel Xeon, Intel Pentium M (Centrino), National Semiconductors Geode GX, Transmeta Crusoe, VIA Cyrix 3 / C3, UltraSPARC-III, SuperH SH-3, SH-4, several "PowerBook" and "iBook2" and various processors on some ACPI 2.0-compatible systems (only if "ACPI Processor Performance States" are available to the ACPI/BIOS interface). 

Q: My laptop supports frequency scaling, but /sys/devices/system/cpu/cpu0/cpufreq/ is empty. 

A: Look for ACPI related error messages with dmesg | grep ACPI. Try to update the BIOS, especially if a broken DSDT is reported. You can also try to fix it yourself (which is beyond the scope of this guide). 

Q: My laptop supports frequency scaling, but according to /proc/cpuinfo the speed never changes. 

A: Probably you have activated symmetric multiprocessing support (CONFIG_SMP) in your kernel. Deactivate it and it should work. Some older kernels had a bug causing this. In that case, run emerge x86info, update your kernel as asked and check the current frequency with x86info -mhz. 

Q: I can change the CPU frequency, but the range is not as wide as in another OS. 

A: You can combine frequency scaling with ACPI throttling to get a lower minimum frequency. Notice that throttling doesn't save much energy and is mainly used for thermal management (keeping your laptop cool and quiet). You can read the current throttling state with cat /proc/acpi/processor/CPU/throttling and change it with echo -n "0:x" > /proc/acpi/processor/CPU/limit, where x is one of the Tx states listed in /proc/acpi/processor/CPU/throttling. 

Q: When configuring the kernel, powersave, performance and userspace governors show up, but that ondemand thing is missing. Where do I get it? 

A: The ondemand governor is only included in recent kernel sources. Try updating them. 

Q: Battery life time seems to be worse than before. 

A: Check your BIOS settings. Maybe you forgot to re-enable some of the settings. 

Q: My battery is charged, but KDE reports there would be 0% left and immediately shuts down. 

A: Check that battery support is compiled into your kernel. If you use it as a module, make sure the module is loaded. 

Q: My system logger reports things like "logger: ACPI group battery / action battery is not defined". 

A: This message is generated by the /etc/acpi/default.sh script that is shipped with acpid. You can safely ignore it. If you like to get rid of it, you can comment the appropriate line in /etc/acpi/default.sh as shown below: 

Code Listing 8.1: Disabling warnings about unknown acpi events
        *)      # logger "ACPI action $action is not defined"


Q: I have a Dell Inspiron 51XX and I don't get any ACPI events. 

A: This seems to be a kernel bug. Read on here. 

Q: I activated the DynamicClocks option in xorg.conf and now X.org crashes / the screen stays black / my laptop doesn't shutdown properly. 

A: This happens on some systems. You have to disable DynamicClocks. 

Q: I want to use suspend2, but it tells me my swap partition is too small. Resizing is not an option. 

A: If there is enough free space on your system, you can use the filewriter instead of the swapwriter. The hibernate-script supports it as well. More information can be found in /usr/src/linux/Documentation/power/suspend2.txt. 

Q: I just bought a brand new battery, but it only lasts for some minutes! What am I doing wrong? 

A: First follow your manufacturer's advice on how to charge the battery correctly. 

Q: The above didn't help. What should I do then? 

A: Some batteries sold as "new" are in fact old ones. Try the following: 

Code Listing 8.2: Querying battery state
$ grep capacity /proc/acpi/battery/BAT0/info
design capacity:     47520 mWh
last full capacity:  41830 mWh


If the "last full capacity" differs significantly from the design capacity, your battery is probably broken. Try to claim your warranty. 

Q: My problem is not listed above. Where should I go next? 

A: Don't fear to contact me, Dennis Nienhser, directly. The Gentoo Forums are a good place to get help as well. If you prefer IRC, try the #gentoo-laptop channel at irc.freenode.net.



  udev  Gentoo

  : http://www.gentoo.org/doc/ru/udev-guide.xml
C : 1.0

1.   udev?

 /dev

  Linux       , ,  Linux   -     ,        (/dev/foo),     .    (,  ), /dev/hda1          IDE   .  ? 

  ,    .   ,       ,     ls -l,    /dev.     ,     IDE  /dev/hda.       ,     . 

      USB, IEEE1394,  PCI  ..       ?  ?     ,   ?      ?   ,                 - ,        ,      ,   ? 

  udev.   udev  ,   : 
    
     
   
   (API)    

 udev     : namedev, libsysfs , , udev. 

namedev

Namedev       udev.         ,  .     ,    udev. 

,  namedev     ,  LANANA.     Linux,        Linux. 

 namedev          .       ,   .   : 
1.    
2.   
3.  
4. 
5.,   

      ,      . ,   USB     USB,    SCSI   UUID.  namedev        ,  ,    . 

       ,   .  ,     ,       (,    PCI      ).  ,  namedev         ,  ,    . 

 ,     , ,    ,    ,      .      ,  ,   . 

ף ,       .   ,  ,    ( )     . 

  (,   )    :   ң   ,   .     ,       Linux-. 

libsysfs

udev       sysfs.  libsysfs        ,    sysfs.           . 

udev

 ,      ,    /sbin/hotplug. Hotplug,   ,  ,    /etc/hotplug.d/default,        udev. Hotplug  ,  ,   udev,       /dev (    ). 

2.   udev  Gentoo

  

  udev       2.6 ( vanilla-sources  gentoo-sources,   2005.0).     , ,        sys-apps/baselayout.   ӣ,  . 

 2.1:  udev
# emerge udev


udev   hotplug-base,    .     hotplug   ,   ,       . hotplug          . 

 2.2:    hotplug
# emerge hotplug


 ,     ,   ,   coldplug: 

 2.3:   coldplug
# emerge coldplug


    coldplug     (boot): 

 2.4:  coldplug    
# rc-update add coldplug boot


   ,     : 

 2.5:   
General setup --->
  [*] Support for hot-pluggable devices

File systems --->
  Pseudo filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)


  ,      /dev file system support (OBSOLETE) ,     ,   Automatically mount at boot : 

 2.6:    devfsd
File systems --->
  Pseudo Filesystems --->
    [*] /dev file system support (OBSOLETE)
      [ ]   Automatically mount at boot


   genkernel,    ţ   --udev,       .   ,     genkernel, . 



     udev,  Gentoo    ,   . Gentoo   udev,    /dev,         .   Gentoo     devfsd   devfs  . 

             udev   ,      udev (     , ,  udev  ݣ  ),    :) 

  ,     :   RC_DEVICE_TARBALL  /etc/conf.d/rc   ţ   no: 

 2.7: /etc/conf.d/rc
RC_DEVICE_TARBALL="no"


    devfs   ,    ţ   :  gentoo=nodevfs   .     devfs   udev,  gentoo=noudev. 

3.  

     

           ,   /dev/null      ,    ,     ,      ,  /dev    udev.     ,  Gentoo    . 

   sys-apps/baselayout-1.8.12    ,   ,         . ,      ,      ,   . 

    ,  ,       udev  /dev: 

 3.1:     ,   
# mkdir test
# mount --bind / test
# cd test/dev
# ls


 /dev/null  /dev/console    .        ,     .      test/dev/: 

 3.2:     
# mknod -m 660 console c 5 1
# mknod -m 660 null c 1 3


 ,     test/: 

 3.3:   test/
# cd ../..
# umount test
# rmdir test


udev  nvidia

      nVidia   X       udev,    : 
  nvidia    /etc/modules.autoload.d/kernel-2.6 
 nvidia-kernel    media-video/nvidia-kernel-1.0.5336-r2 
 baselayout   sys-apps/baselayout-1.8.12 

 xorg-x11  , ,    /dev/nvidia.     /sbin/NVmakedevices.sh,     . 

   LVM2

    udev  Logical Volume Manager 2 (LVM  ),   ,         .  ,    ,  ,  ,  /dev/dm-#,  # 0,1, ...  .. 

  ,   /etc/udev/rules.d/50-udev.rules      : 

 3.4:        /etc/udev/rules.d/50-udev.rules
KERNEL="dm-[0-9]*",     PROGRAM="/sbin/devmap_name %M %m", NAME="%k",
SYMLINK="%c"


,   sys-fs/multipath-tools,    devmap_name. 

 3.5:   multipath-tools
(  ,  multipath-tools    
   Portage)
# echo "=sys-fs/multipath-tools-0.4.2 ~x86" >>
/etc/portage/package.keywords
# emerge multipath-tools


   DevFS  udev

            ,     . 

      HP Smart Array 5i (  -   cciss).   udev,    /dev/cciss/cXdYpZ,  X, Y  Z - .   devfs,   /dev/hostX/targetY/partZ      /dev/ccisss/cXdY. 

  ,     /etc/fstab     . 

       ,     /dev,   /dev/mouse,  udev   .      X    Device,         . 

        devfs  udev.   devfs   tty,   udev   vc.         root      /etc/securetty.     root  ,    tty1  vc/1  /etc/securetty. 

 

    ,      /etc/modules.autoload.d/kernel-2.6,           modprobe,       sys-apps/baselayout-1.8.12    . 

    (/dev/fb/*)      2.6.6-rc2. 

  ,  2.6.4,         /dev/pts. 

 3.6:     /dev/pts
File systems --->
  Pseudo filesystems --->
    [*] /dev/pts file system for Unix98 PTYs


4.     

  udev     Linux    2003  (Linux Symposium, Ottawa, Ontario Canada - 2003)  - (Greg Kroah-Hartman)   IBM,       udev. 

Decibel's UDEV Primer -   udev  Gentoo. 

   udev    Gentoo   (Daniel Drake) -    ,     udev.



Gentoo LDAP-DNS Guide  (.)

  : http://www.gentoo.org/doc/en/ldapdns-guide.xml
C : 1.0

1. Introduction

LDAPDNS is a small server that provides DNS services to your network. With DNS services, you can manage your hostnames in a central manner deprecating the tedious /etc/hosts updates every time a system is added/removed or has changed its host name. 

The LDAPDNS package uses an LDAP service to store all DNS records (which is, simply explained, a line that contains the mapping between a hostname and an IP address). LDAP is a standard protocol to obtain information from a hierarchically represented knowledge base (directories). The most well-known LDAP service for Linux is OpenLDAP, a free LDAP implementation. 

With this small guide at hand, you should be able to set up DNS services on your network with as little effort as possible. 

2. Configuring LDAP-DNS

First, install net-dns/ldapdns. 

Code Listing 2.1: Installing ldapdns
# emerge net-dns/ldapdns


Next, configure ldapdns to host the DNS records for your network. We use ldapdns-conf which uses the following syntax: 

Code Listing 2.2: Syntax for ldapdns-conf
ldapdns-conf acct logacct /path yourip ldaphost dn [suffix]
Keyword	Explanation	Example
acct	Username as which ldapdns will run	ldapdns
logacct	Username as which the ldapdns logging will run	dnslog
/path	Chrooted home directory for ldapdns	/var/lib/ldapdns
yourip	IP address to listen to	127.0.0.1
ldaphost	Address of the LDAP service	ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock
dn	LDAP login credentials	cn=Manager,dc=yourdomain 
suffix	Optional default ldap path to add on all queries	ou=Machines,dc=yourdomain 


You should substitute the 127.0.0.1 IP address with an IP address that all hosts can reach and don't forget to use the domain name you want instead of yourdomain. 

Code Listing 2.3: Example ldapdns-conf run
# ldapdns-conf ldapdns dnslog /var/lib/ldapdns 127.0.0.1 ldapi://%2fvar%2frun%2fopenldap%2fsldapd.sock cn=Manager,dc=yourdomain ou=Machines,dc=yourdomain


Now set the LDAP login password: 

Code Listing 2.4: Setting the LDAP login password
# echo YourSecretPassword > /var/lib/ldapdns/root/password
# chmod 0400 /var/lib/ldapdns/root/password


Now configure ldapdns to use the simple authentication method and the cosine LDAP schemas: 

Code Listing 2.5: Configuring ldapdns
# echo simple > /var/lib/ldapdns/env/LDAP_AUTH
# echo cosine > /var/lib/ldapdns/env/SCHEMA


You can optionally set an e-mail address for the service: 

Code Listing 2.6: Setting a host master e-mail address
# echo YourMail@address > /var/lib/ldapdns/env/HOSTMASTER


Add the service to the supervise scan and run the service supervisor if you haven't started it already: 

Code Listing 2.7: Managing supervise services
# ln -s /var/lib/ldapdns /service
# /etc/init.d/svscan start
# rc-update add svscan default


3. Configuring OpenLDAP

Now we need to configure OpenLDAP with the DNS schema. Open up /etc/openldap/sldap.conf with your favorite editor and make sure the following three lines are listed: 

Code Listing 3.1: Editing /etc/openldap/sldap.conf
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema


Bootstrap LDAP with the base dn you defined previously with ldapdns-conf. To accomplish this, we first create a file called bootstrap.ldif (it is just a name) which we fill up with DNS information. 

As an example, we provide a bootstrap.ldif file for the fictitious domain cherchetoujours.org. 

Now bootstrap your LDAP with this information: 

Code Listing 3.2: Bootstrapping LDAP
# ldapadd -x -D "cn=Manager,dc=yourdomain" -W -f bootstrap.ldif


4. Testing the Installation

Now you are all set. Test your setup using nslookup (part of net-dns/bind-tools): 

Code Listing 4.1: Testing the ldapdns configuration
# nslookup ns1.yourdomain
 Note:  nslookup is deprecated and may be removed from future releases.
 Consider using the `dig' or `host' programs instead.  Run nslookup with
 the `-sil[ent]' option to prevent this message from appearing.
 Server:         127.0.0.1
 Address:        127.0.0.1#53

 Name:   ns1.example.com
 Address: (Your server IP address)



   Samba   PDC   LDAP

  : 

http://ru.gentoo-wiki.com/Samba_PDC_LDAP

 : 1.2

 :
         LDAP.


  
  : 
# USE="ldap acl ldapsam pam gdbm samba ssl tcpd winbind" emerge samba openldap acl nss_ldap pam_ldap 

:  nss_ldap     250-r1 (>=sys-auth/nss_ldap-250-r1) 
OpenLDAP
 OpenLDAP
    amber.global.com      global.com,     Win2003 Server. 

:             amber   global.com 
: /etc/openldap/slapd.conf 
include /etc/openldap/schema/core.schema
 include /etc/openldap/schema/cosine.schema
 include /etc/openldap/schema/inetorgperson.schema
 include /etc/openldap/schema/misc.schema
 include /etc/openldap/schema/nis.schema
 include /etc/openldap/schema/openldap.schema
 include /etc/openldap/schema/samba.schema
 pidfile                        /var/run/openldap/slapd.pid
 argsfile               /var/run/openldap/slapd.args

 access to dn.base=""
                by self write
                by * auth
 access to attr=userPassword
                by self write
                by * auth
 access to attr=shadowLastChange
                by self write
                by * read
 access to *
                by * read
                by anonymous auth
 #loglevel 1
 database        ldbm
 suffix          "dc=amber,dc=global,dc=com"
 rootdn          "cn=Manager,dc=amber,dc=global,dc=com"
 #  rootpw      .
 #       slappasswd
 # : slappasswd -h {MD5}
 # rootpw = secret
 rootpw         {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
 directory      /var/lib/openldap-ldbm

 index objectClass           eq
 index cn                    eq,subinitial
 index sn                    eq,subinitial
 index uid                   eq,subinitial
 index displayName           eq,subinitial
 index uidNumber             eq
 index gidNumber             eq
 index memberUID             eq
 index sambaSID              eq
 index sambaPrimaryGroupSID  eq
 index sambaDomainName       eq
: /etc/openldap/ldap.conf 
HOST 127.0.0.1
BASE dc=sanaa,dc=global,dc=com

    /var/lib/openldap-*
ls -la /var/lib/ 
: 
drwx------   2 ldap     ldap      104   8 18:31 openldap-data
drwx------   2 ldap     ldap       72   8 18:31 openldap-ldbm
drwx------   2 ldap     ldap       72   8 18:31 openldap-slurp
   OpenLDAP
    ,    LDAP  SAMBA    ,    LDAP  389    localhost. 
: /etc/conf.d/slapd 
# conf.d file for the openldap-2.1 series
#
# To enable both the standard unciphered server and the ssl encrypted
# one uncomment this line or set any other server starting options
# you may desire.
#
# OPTS="-h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
OPTS="-h 'ldap://127.0.0.1'"
  OpenLDAP 
/etc/init.d/slapd start 
SAMBA
 OpenLDAP
 2     :       .         BDC,    ,    PDC,     PDC.      ,      PDC          smbldap-tools. 

emerge smbldap-tools

/etc/init.d/samba start

Code: configure.pl 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
       smbldap-tools script configuration
       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
 . if your samba controller is up and running.
 . if the domain SID is defined (you can get it with the 'net getlocalsid')

 . you can leave the configuration using the Crtl-c key combination
 . empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...

Samba Configuration File Path [/etc/samba/smb.conf] > 
The default directory in which the smbldap configuration files are stored is shown.
If you need to change this, enter the full directory path, then press enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] > 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...

. workgroup name: name of the domain Samba act as a PDC
  workgroup name [amber] > 
. netbios name: netbios name of the samba controler
  netbios name [neptun] > 
. logon drive: local path to which the home directory will be connected 
 (for NT Workstations). Ex: 'H:'
  logon drive [U:] > 
. logon home: home directory location (for Win95/98 or NT Workstation).
  (use %U as username) Ex:'\\neptun\%U'
  logon home (press the "." character if you don't want homeDirectory) [\\%L\users\%U] > 
. logon path: directory where roaming profiles are stored. Ex:'\\neptun\profiles\%U'
  logon path (press the "." character if you don't 
  want roaming profile) [\\%L\Profiles\%a\%U] > 
. home directory prefix (use %U as username) [/home/%U] > 
. default users' homeDirectory mode [700] > 
. default user netlogon script (use %U as username) [] >
   default password validation time (time in days) [45] > 900
. ldap suffix [dc=amber,dc=global,dc=com] > 
. ldap group suffix [ou=Groups] > 
. ldap user suffix [ou=Users] > 
. ldap machine suffix [ou=Users] > 
. Idmap suffix [ou=Idmap] > 
. sambaUnixIdPooldn: object where you want to store the next uidNumber
  and gidNumber available for new users and groups
  sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=amber] > 
. ldap master server: IP adress or DNS name of the master (writable) ldap server
  ldap master server [127.0.0.1] > 
. ldap master port [389] > 
. ldap master bind dn [cn=Manager,dc=amber,dc=global,dc=com] > 
. ldap master bind password [] >  
. ldap slave server: IP adress or DNS name of the slave ldap server: can also 
  be the master one
  ldap slave server [127.0.0.1] > 
. ldap slave port [389] > 
. ldap slave bind dn [cn=Manager,dc=amber,dc=global,dc=com] > 
. ldap slave bind password [] >  
. ldap tls support (1/0) [0] > 
. SID for domain amber: SID of the domain (can be obtained with 'net getlocalsid neptun')
  SID for domain amber [S-1-5-21-1918777035-593721947-2697221154] > 
. unix password encryption: encryption used for unix passwords
  unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > MD5
. default user gidNumber [513] > 
. default computer gidNumber [515] > 
. default login shell [/bin/bash] > 
. default skeleton directory [/etc/skel] > 
. default domain name to append to mail adress [] > 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
  /etc/smbldap-tools/smbldap.conf->/etc/smbldap-tools/smbldap.conf.old
  /etc/smbldap-tools/smbldap_bind.conf->/etc/smbldap-tools/smbldap_bind.conf.old
writing new configuration file:
  /etc/smbldap-tools/smbldap.conf done.
  /etc/smbldap-tools/smbldap_bind.conf done.

   ,        ,    /etc/smbldap-tools/smbldap.conf   : 
: /etc/smbldap-tools/smbldap.conf 
 ...
 userProfile=""
 ...
 

    LDAP: 

smbldap-populate -a Administrator -k 0 -m 0
 SAMBA
: /etc/samba/smb.conf 
[global]
        workgroup = amber
        netbios name = neptun
        realm = amber.global.com
        nt acl support = yes
        acl compatibility = win2k
        map acl inherit = yes
        server string = Samba Server %v
        interfaces = eth0
        bind interfaces only = yes
        hosts allow = 192.168.7. 127.
        log file = /var/log/samba/log.%m
        debug level = 9
        max log size = 500
        socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
        security = user
        os level = 250
        passdb backend = ldapsam:"ldap://127.0.0.1/"
        enable privileges = yes
        
        passwd program = /usr/sbin/smbldap-passwd "%u"
        passwd chat = *new*password* %n\n *new*password* %n\n *successfully*
        passdb expand explicit = no
        unix password sync = no
        ldap passwd sync = no
        
        ldap suffix = dc=amber,dc=global,dc=com
        ldap admin dn = cn=Manager,dc=amber,dc=global,dc=com
        ldap user suffix = ou=Users
        ldap group suffix = ou=Groups
# ..      -    ,
#          ,
#         
#      
#
#       ldap machine suffix = ou=Computers
#
#  :
        ldap machine suffix = ou=Users
        ldap idmap suffix = ou=Idmap
        idmap backend = ldapsam:ldap://127.0.0.1/
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        
        ldap delete dn = Yes
        ldap ssl = no
        
        
        add user script = /usr/sbin/smbldap-useradd -n -a "%u"
        delete user script = /usr/sbin/smbldap-userdel "%u"
        
        add group script = /usr/sbin/smbldap-groupadd -p "%g"
        delete group script = /usr/sbin/smbldap-userdel "%g"
        
        add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
        delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
        set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
        
        
        add machine script = /usr/sbin/smbldap-useradd -w "%u"
        
        #PDC
        domain master = yes
        preferred master = yes
        #BDC
#       domain master = no
#       preferred master = no
        domain logons = Yes
        

        logon script = 
#  ,       
#     (      )
#      :
#
#       logon path = \\%L\Profiles\%a\%U
#
#        ,   , 
# (        ,    
#   ),  :
        logon path =
        logon drive = U: 
        logon home = \\%L\users\%U
        
        
#============================ Share Definitions ==============================
[netlogon]
    comment = Network Logon Service
    path = /var/lib/samba/netlogon
    browseable = yes
    guest ok = yes
    writable = no
    share modes = no

[Profiles]
    admin users = admin
    create mode = 600
    directory mode = 700
    path = /var/lib/samba/profiles
    browseable = yes
    guest ok = yes
    writable = yes

[homes]
  comment = Home Directories
  browseable = no
  read only = no

[public]
  path = /pub
  guest ok = yes
  read only = no

[users]
  path = /home/users
  writable = yes
  printable = no
 
  winbind   ( ): 
: /etc/conf.d/samba 
 ...
 daemon_list="smbd nmbd winbind"
 ...
 
ģ   : 
smbpasswd -w secret 

ģ ̣ ,    
net rpc join -S neptun -U Administrator 
     LDAP
--ladserg 14:05, 28  2006 (UTC)          samba  LDAP        LDAP,    . 
   /etc/ldap.conf,      : 

: /etc/ldap.conf 
 host 127.0.0.1
 base dc=amber,dc=global,dc=com
 ldap_version 3
 rootbinddn cn=Manager,dc=amber,dc=global,dc=com
 bind_timelimit 10
 bind_policy soft
 pam_filter objectClass=posixAccount
 pam_password exop
 nss_base_passwd         ou=Users,dc=tty,dc=perm,dc=ru?one
 nss_base_shadow         ou=Users,dc=tty,dc=perm,dc=ru?one
 nss_base_group          ou=Groups,dc=tty,dc=perm,dc=ru?one
 nss_base_hosts          ou=Hosts,dc=tty,dc=perm,dc=ru?one
 nss_base_services       ou=Services,dc=tty,dc=perm,dc=ru?one
 nss_base_networks       ou=Networks,dc=tty,dc=perm,dc=ru?one
 nss_base_protocols      ou=Protocols,dc=tty,dc=perm,dc=ru?one
 nss_base_rpc            ou=Rpc,dc=tty,dc=perm,dc=ru?one
 nss_base_ethers         ou=Ethers,dc=tty,dc=perm,dc=ru?one
 nss_base_netmasks       ou=Networks,dc=tty,dc=perm,dc=ru?one
 nss_base_bootparams     ou=Ethers,dc=tty,dc=perm,dc=ru?one
 nss_base_aliases        ou=Aliases,dc=tty,dc=perm,dc=ru?one
 nss_base_netgroup       ou=Netgroup,dc=tty,dc=perm,dc=ru?one
 ssl off
 nss_reconnect_tries 4
 nss_reconnect_sleeptime 1
 nss_reconnect_maxsleeptime 16
 nss_reconnect_maxconntries 2
 
   nss_ldap        . 
   /etc/ldap.secret        plain/text  ӣ   ,        rootbinddn,   secret: 
: /etc/ldap.secret 
secret 
      : 
Code:     /etc/ldap.secret 
 #chmod 600 /etc/ldap.secret
 #chown root:wheel /etc/ldap.secret
 ģ  /etc/pam.d/system-auth   : 
: /etc/pam.d/system-auth 
 auth       required     pam_env.so
 auth       sufficient   pam_unix.so likeauth nullok
 auth       sufficient   pam_ldap.so use_first_pass
 auth       required     pam_deny.so

 account    sufficient   pam_ldap.so
 account    required     pam_unix.so

 password   required     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
 password   sufficient   pam_unix.so nullok md5 shadow use_authtok
 password   sufficient   pam_ldap.so use_authtok
 password   required     pam_deny.so

 session    required     pam_limits.so
 session    required     pam_unix.so
 session    required     pam_mkhomedir.so skel=/etc/skel/ umask=077
 session    optional     pam_ldap.so
 
   : 
session required pam_mkhomedir.so skel=/etc/skel/ umask=077 
            ݣ  ,         /etc/skel/     0x700 
    /etc/nsswitch.conf,     : 
: /etc/nsswitch.conf 
 passwd:      files ldap
 shadow:      files ldap
 group:       files ldap

 hosts:       files dns
 networks:    files dns

 services:    db files
 protocols:   db files
 rpc:         ldap [NOTFOUND=return] db files
 ethers:      ldap [NOTFOUND=return] db files
 netmasks:    files
 netgroup:    ldap [NOTFOUND=return] files
 bootparams:  files

 automount:   files
 aliases:     files 
:        ldap   : hosts, networks, protocols, services.        . 
ӣ,          ,    LDAP. 
  ,      .      udev,      /etc/nsswitch.conf,     ldap    . 
 
    smbldap-tools,        . 
 
smbldap-useradd [-o] [-a] [-b] [-w] [-i] [-u uid] [-g gid ] [-G groups,,,] 
 [-n] [-d home] [-s shell] [-c gecos] [-m [-k]] [-t] [-P] [-A 0|1] [-B 0|1] 
 [-C sambaHomePath] [-D sambaHomeDrive] [-E sambaLogonScript] [-F sambaProfilePath] 
 [-H sambaAcctFlags] [-N surname] [-S family name] [-M local mailAddress,,,] 
 [-T mailToAddress] [-?] user
: 
 user -    
 -o   - add the user in the organizational unit (relative to the user suffix)
 -a   - is a Windows User (otherwise, Posix stuff only)
 -b   - is a AIX User
 -w   - is a Windows Workstation (otherwise, Posix stuff only)
 -i   - is a trust account (Windows Workstation)
 -u   - uid
 -g   - gid
 -G   -   , ̣ .
 -n   - do not create a group
 -d   -    (  /home/_)
 -s   -   (  /bin/false)
 -c   -   Windows  
 -m   -          /etc/skel
 -k   -   ,       
            (  ޣ -m)
 -t   - time. Wait 'time' seconds before exiting (when adding Windows Workstation)
 -P   - ends by invoking smbldap-passwd
 -A   -    ,  0  , 1  
 -B   -    ,  0  , 1  
 -C   -   samba ( '\\PDC-SRV\homes')
 -D   -       samba ( 'H:')
 -E   - ,     
 -F   -    ( '\\PDC-SRV\profiles\foo')
 -H   - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
 -N   -    (  ݣ  )
 -S   -  
 -M   - local mailAddress (comma seperated)
 -T   - mailToAddress (forward address) (comma seperated)
 -?   -  
   ladserg: 
smbldap-useradd -a -c 'Serg Alex Lad' -N 'Serg Alex' -S 'Lad' -s /bin/bash ladserg 
   smbldap-tools     ,     UTF-8. 
,  ģ         ladserg,  Lad,  Serg Alex,  /bin/bash,   /home/ladserg.  -a ,       . 
  
smbldap-passwd [-s] [-u] [-h] username
: 
 username       -  
 -h, -?, --help -  
 -s             -   samba 
 -u             -   UNIX 

: 
smbldap-passwd ladserg 
     . 
       ޣ     . 
 
smbldap-usermod [-a] [-c comment] [-d home_dir] [-e expiration_date] 
 [-g initial_group] [-r new_login_name] [-p passwd] [-s shell] [-u uid [ -o]] [-x] 
 [-A canchange] [-B mustchange] [-C smbhome] [-D homedrive] [-E scriptpath] 
 [-F profilepath] [-G group[,...]] [-H acctflags] [-N canonical_name] 
 [-S surname] [-P] login
: 
 -c    -  
 -d    -  
 -r    -    (cn, sn  dn  )
 -u    - uid
 -o    - uid    
 -g    - gid
 -G    -   , ̣ .
 -s    - 
 -N    -    (  ݣ  )
 -S    -  
 -P    - ends by invoking smbldap-passwd
For samba users:
 -a    - add sambaSAMAccount objectclass
 -e    - expire date ("YYYY-MM-DD HH:MM:SS")
 -A    -    ,  0  , 1  
 -B    -    ,  0  , 1  
 -C    -   samba ( '\\PDC-SRV\homes')
 -D    -       samba ( 'H:')
 -E    - ,     
 -F    -    ( '\\PDC-SRV\profiles\foo')
 -H    - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
 -I    - disable an user. Can't be used with -H or -J
 -J    - enable an user. Can't be used with -H or -I
 -M    - mailAddresses (comma seperated)
 -T    - mailToAddress (forward address) (comma seperated)
 -?|-h -  

 : 
smbldap-usermod -A 1 ladserg
  ladserg  .  : 
smbldap-usermod -a slad-adm
  ޣ   slad-adm  sambaSAMAccount,     samba. 
 
smbldap-userdel [-r|-R|-?] username
: 
 -r      
 -R            
 -?     
 : 
smbldap-userdel -r slad-adm 
  slad-adm,    . 
   
        Windows,     ,     : 
ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE 

http://us4.samba.org/samba/docs/man/Samba-Guide/happy.html 
http://www.opennet.ru/base/net/ldap_spama_pdc.txt.html 



   

  : http://www.gentoo.org/doc/ru/virt-mail-howto.xml
C : 1.0
1. 

   gentoo     fetchmail (  ) . ,       ,    MTA (Mail Transfer Agent).         ,     -       .         . 

                .     ,   .  ,         ,     ?     imap  smtp-,         ?        ?     ? 

 howto  ,         ,    ,          ,    ,     , imap, smtp  pop3      ,  ssl-  ,         ,         mysql. 

       .        .       http://www.qmail.org/  http://www.exim.org/ 

    : apache, courier-imap, pam_mysql, postfix, mod_php, phpmyadmin, squirrelmail, cyrus-sasl, mysql, php,  mailman. 

      /etc/make.conf   USE  : USE="mysql imap libwww maildir sasl ssl". , ,  e  ,     . ,              ,  IPv6. 
:  howto   postfix-2.0.x.    postfix  < 2        .      postfix.         .   ,      ,   . 

:       apache-1.3.x.   Apache-2   stable,             php.  php-  apache-2.0.x    stable,       apache-1.3.x. 

:         ,      -  .         ,        . 

:    /etc/hostname    ,     /etc/hosts   . 

:          ,     .         ,  troubleshooting guide    .      ,  ,  ,  .  ,     -,      squirrelmail. 


2.   postfix

 2.1:  postfix
# emerge postfix

:          MTA,  ssmtp, exim  qmail,       . 


  postfix,   .     /etc/postfix/main.cf: 

 2.2: /etc/postfix/main.cf

myhostname = $host.domain.name
mydomain = $domain.name
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks = my.ip.net.work/24, 127.0.0.0/8
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10 


    /etc/postfix/master.cf.       : 

 2.3: /etc/postfix/master.cf

# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
#
==========================================================================
smtp      inet  n       -       n       -       -       smtpd -v

(  -v  smtpd)


  /etc/mail/aliases    .         root : root: your@email.address. 

 2.4:  postfix'   
# /usr/bin/newaliases
(   .   )
(      .)
# /etc/init.d/postfix start


 postfix ,           .   mutt     . 
:   ,  postfix    ,       . 


3. Courier-imap

 3.1:  courier-imap
# emerge courier-imap


 3.2:  courier-imap
# cd /etc/courier-imap
(     ssl  courier-imap  pop3, )
(   )
(     ssl,     )

# nano -w pop3d.cnf
# nano -w imapd.cnf
(  C, ST, L, CN   e-mail)

# mkpop3dcert
# mkimapdcert


 3.3:     courier
# /etc/init.d/courier-imapd start
# /etc/init.d/courier-imapd-ssl start
# /etc/init.d/courier-pop3d start
# /etc/init.d/courier-pop3d-ssl start


              .     ,     ,     . , ,      ,       . 

4. Cyrus-sasl

    cyrus-sasl. Sasl          pam (Pluggable Authentication Modules),     mysql,   smtp .      sasl,    mysql,     .   ,      mysql. 
:   , sasl    pam  shadow.        .  -   sasl     /etc/shadow    gentoo,     ,        . E-mail. 


 4.1:    cyrus-sasl
# USE='-ldap -mysql' emerge cyrus-sasl
(   ldap      sasl-mysql,
    )


  /usr/lib/sasl2/smtp.conf. 

 4.2:  sasl
# nano -w /usr/lib/sasl2/smtp.conf
pwcheck_method: saslauthd
mech_list: LOGIN PLAIN
(       .
        )
# /etc/init.d/saslauthd start


5. SSL-  Postfix  Apache

  ssl-  posfix  apache. 

 5.1: 
# cd /etc/ssl/
# nano -w openssl.cnf
(     :)
countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
commonName_default
emailAddress_default.

( -  ,       )

# cd misc
# nano -w CA.pl
(   -nodes    "# create a certificate" 
"# create a certificate request"      ssl-
  .     ssl-  
  )
(       :)

# create a certificate
system ("$REQ -new -nodes -x509 -keyout newreq.pem -out newreq.pem $DAYS");

# create a certificate request
system ("$REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS");

(    postfix)

# ./CA.pl -newca
# ./CA.pl -newreq
# ./CA.pl -sign
# cp newcert.pem /etc/postfix
# cp newreq.pem /etc/postfix
# cp demoCA/cacert.pem /etc/postfix
(     apache)

# openssl req -new > new.cert.csr
# openssl rsa -in privkey.pem -out new.cert.key
# openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 365
(  ,       apache )


6.  SSL  SASL   Postfix

   postfix     sasl  ssl.      ,       . 

 6.1: /etc/postfix/main.cf
# nano -w /etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =

( broken_sasl_auth_clients     
 outlook  outlook express,   .  smtpd_sasl_local_domain 
      smtp-.   
postfix      ,      )

smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination


smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/newreq.pem
smtpd_tls_cert_file = /etc/postfix/newcert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

( smtpd_tls_auth_only    ,
    ,  )

# postfix reload


     postfix',       . 

 6.2:   sasl  tls
# telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.domain.com ESMTP Postfix
EHLO domain.com
250-mail.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-XVERP
250 8BITMIME
^]
telnet> quit


,   postfix'   AUTH  STARTTLS.    , AUTH    ,   sasl    sasldb,  shadow   .         mysql         . 

7. MySQL

  mysql   dump- genericmailsql.sql genericmailsql.sql 

 7.1:    MySQL
# emerge mysql
# /usr/bin/mysql_install_db
(    ,    root  
mysql,  mysqladmin,        )

# /etc/init.d/mysql start
# mysqladmin -u root -p create mailsql
# mysql -u root -p mailsql < genericmailsql.sql

# mysql -u root -p mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE
        ->     ON mailsql.*
        ->     TO mailsql@localhost
        ->     IDENTIFIED BY '$password';

        ->     quit
(,   mailsql ,    mysql  )

# mysql -u mailsql -p mailsql


           .   : 

alias   e-mail      mailman
relocated      
transport            
users     
virtual       

 7.2:   
id   alias    destination
1    root     foo@bar.com
2  postmaster foo@bar.com


 7.3:   
(   )
id email            clear     name     uid     gid     homedir     \
        maildir                                quota  postfix
10 foo@virt-bar.org $password realname virtid  virtid  /home/vmail \
        /home/vmail/virt-bar.org/foo/.maildir/        y
13 foo@bar.com      $password realname localid localid /home/foo   \
        /home/foo/.maildir/                           y


 7.4:   
id   domain       destination
1    bar.com      local:
2    virt-bar.org virtual:


 7.5:      
id   email            destination
3   root@virt-bar.org other@email.address


8. Apache  phpMyAdmin

,     apache           . 

 8.1:  apache  phpmyadmin
# emerge apache mod_php phpmyadmin


     apache   php. , http://www.linuxguruz.org/z.php?id=31.     http://forums.gentoo.org         (  "apache php"). ,       .  apache  php,    .    : .htaccess     phpmyadmin.     ,     phpmyadmin          google,    ,    .   howto   . http://docs.csoft.net/micro/black-htaccess.html. 

       apache,   .  apache      : 
SSLCertificateFile /path/to/certs/new.cert.cert
SSLCertificateKeyFile /path/to/certs/new.cert.key

 8.2:  Apache SSL 
# cp /etc/ssl/misc/new.cert.cert /etc/apache/conf/ssl/
# cp /etc/ssl/misc/new.cert.key /etc/apache/conf/ssl/
# nano -w /etc/apache/conf/vhosts/ssl.default-vhost.conf
(  )

ServerName host.domain.name
ServerAdmin your@email.address
SSLCertificateFile /etc/apache/conf/ssl/new.cert.cert
SSLCertificateKeyFile /etc/apache/conf/ssl/new.cert.key

# /etc/init.d/apache restart

:    apache  ,      .        apache. 


  phpMyAdmin. 

 8.3:  phpMyAdmin
# nano -w /home/httpd/htdocs/phpmyadmin/config.inc.php
(  )

$cfg['Servers'][$i]['host'] = 'localhost';          // MySQL hostname
$cfg['Servers'][$i]['controluser'] = 'mailsql';     // MySQL   
                                                    // (    read-only
$cfg['Servers'][$i]['controlpass'] = '$password';   //    "mysql/user"
                                                    //  "mysql/db" tables)
$cfg['Servers'][$i]['user'] = 'mailsql';            // MySQL 
$cfg['Servers'][$i]['password'] = '$password';      // MySQL 


   phpmyadmin       .     ,       ,         .        dump-     ,     .       .  ,          uid/gid.   ,    postfix,      .  ,    " !",  ,  .maildir . 

9. Vmail-

    , ,    ,    ,   . 

 9.1: Adding the vmail user
# adduser -d /home/vmail -s /bin/false vmail
# uid=`cat /etc/passwd | grep vmail | cut -f 3 -d :`
# groupadd -g $uid vmail
# mkdir /home/vmail
# chown vmail. /home/vmail


,     ,  vmail uid, gid ,    .     ,  uid, gid     ,   vmail.   ,      php-   ,  ,  phpmyadmin        . 

10.  MySQL    

    ,   mailsql   courier-imap  postfix.    ,  $paasword ,     mailsql  mysql. 

 10.1: 
# emerge /usr/portage/sys-libs/pam_mysql/pam_mysql-$currentversion.ebuild
(    ,       
 .       portage )

# nano -w /etc/pam.d/imap
(    ,   
 )

#auth       required     pam_nologin.so
#auth       required     pam_stack.so service=system-auth
#account    required     pam_stack.so service=system-auth
#session    required     pam_stack.so service=system-auth

auth     optional       pam_mysql.so host=localhost db=mailsql user=mailsql \
  passwd=$password table=users usercolumn=email passwdcolumn=clear crypt=0
account  required       pam_mysql.so host=localhost db=mailsql user=mailsql \
  passwd=$password table=users usercolumn=email passwdcolumn=clear crypt=0

# nano -w /etc/pam.d/pop3
# nano -w /etc/pam.d/smtp
(     pop3  smtp )


      courier. 

 10.2: 
# nano -w /etc/courier-imap/authdaemonrc
authmodulelist="authmysql authpam"

# nano -w /etc/courier-imap/authdaemond.conf
AUTHDAEMOND="authdaemond.mysql"

# nano -w /etc/courier-imap/authmysqlrc
MYSQL_SERVER            localhost
MYSQL_USERNAME       mailsql
MYSQL_PASSWORD      $password
MYSQL_DATABASE          mailsql
MYSQL_USER_TABLE        users
#MYSQL_CRYPT_PWFIELD    crypt (    )
MYSQL_CLEAR_PWFIELD     clear
MYSQL_UID_FIELD         uid
MYSQL_GID_FIELD         gid
MYSQL_LOGIN_FIELD       email
MYSQL_HOME_FIELD        homedir
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir

# /etc/init.d/authdaemond restart
# /etc/init.d/saslauthd restart


        .      postfix'a          . 

 10.3: /etc/postfix/mysql-aliases.cf
# nano -w /etc/postfix/mysql-aliases.cf
# mysql-aliases.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = alias
select_field    = destination
where_field     = alias
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.4: /etc/postfix/mysql-relocated.cf
# nano -w /etc/postfix/mysql-relocated.cf
# mysql-relocated.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = relocated
select_field    = destination
where_field     = email
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.5: /etc/postfix/mysql-transport.cf ()
# nano -w /etc/postfix/mysql-transport.cf
# mysql-transport.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = transport
select_field    = destination
where_field     = domain
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.6: /etc/postfix/mysql-virtual-gid.cf ()
# nano -w /etc/postfix/mysql-virtual-gid.cf
#myql-virtual-gid.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = users
select_field    = gid
where_field     = email
additional_conditions = and postfix = 'y'
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.7: /etc/postfix/mysql-virtual-maps.cf
#nano -w /etc/postfix/mysql-virtual-maps.cf
#myql-virtual-maps.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = users
select_field    = maildir
where_field     = email
additional_conditions = and postfix = 'y'
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.8: /etc/postfix/mysql-virtual-uid.cf ()
# nano -w /etc/postfix/mysql-virtual-uid.cf
# mysql-virtual-uid.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = users
select_field    = uid
where_field     = email
additional_conditions = and postfix = 'y'
hosts           = unix:/var/run/mysqld/mysqld.sock


 10.9: /etc/postfix/mysql-virtual.cf
# nano -w /etc/postfix/mysql-virtual.cf
# mysql-virtual.cf

user            = mailsql
password        = $password
dbname          = mailsql
table           = virtual
select_field    = destination
where_field     = email
hosts           = unix:/var/run/mysqld/mysqld.sock


 ,  /etc/postfix/main.cf   . 

 10.10: /etc/postfix/main.cf
# nano -w /etc/postfix/main.cf
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
relocated_maps = mysql:/etc/postfix/mysql-relocated.cf

local_transport = local
local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname

virtual_transport = virtual
virtual_mailbox_domains =
        virt-bar.com,
        $other-virtual-domain.com

virtual_minimum_uid = 1000
virtual_gid_maps = static:$vmail-gid
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
virtual_uid_maps = static:$vmail-uid
virtual_mailbox_base = /
#virtual_mailbox_limit =


     postfix 2.0.x  1.1.x.        , virtual-gid  virtual-uid,     ,       . 
:   VIRTUAL_README   postfix,    . 


 10.11: 
# postfix reload


,    ,      .       sql ,       pop3, imap,  smtp.    ,  ӣ   .     ,   troubleshooting   . 

11. Squirrelmail

 11.1: 
# emerge squirrelmail
(   htdocs    )
# ln -s /home/httpd/htdocs/squirrelmail/ /home/httpd/htdocs/mail
# cd /home/httpd/htdocs/mail/conf
# ./conf.pl

(  Organization, Server,  Folder  squirrelmail)
(      squirrelmail,    
 email ,     webmail setup)


12. Mailman

   mailman.       ,    ,          .     mailman,  README.POSTFIX.gz,    . 

 ,   mailman   /usr/local/mailman.      ,     ebuild   INSTALLDIR. 

 12.1: /usr/portage/net-mail/mailman/mailman-$ver.ebuild
# nano -w /usr/portage/net-mail/mailman/mailman-$ver.ebuild
MAILGID="280"
( MAILGID   mailman  nobody)
(     postfix)


 12.2: 
# emerge mailman
(   ,     emerge   
ebuild.  ,    README.gentoo.gz **  
    /etc/mail/aliases.  ,   postfix 
   )

# zless /usr/share/doc/mailman-$ver/README.gentoo.gz


 12.3:   : Mailman/Defaults.py
#  nano -w /var/mailman/Mailman/Defaults.py
(     ,    
 )
DEFAULT_EMAIL_HOST = 'domain.com'
DEFAULT_URL_HOST = 'www.domain.com'


 12.4:  mailman: mm_cfg.py
# nano -w /var/mailman/Mailman/mm_cfg.py
MTA = "Postfix"
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt-domain.com', 'virt.domain2.com']
add_virtualhost('www.virt.domain.com', 'virt.domain.com')
add_virtualhost('www.virt.domain2.com', 'virt.domain2.com')
(    mailman   )


 12.5: 
(    )

# su mailman
# cd ~
# bin/newlist test
Enter the email of the person running the list: your@email.address
Initial test password:
Hit enter to continue with test owner notification...
(        list@domain.com)
# bin/genaliases
(   , ,    )

# nano -w data/aliases
# STANZA START: test
# CREATED:
test:             "|/var/mailman/mail/mailman post test"
test-admin:       "|/var/mailman/mail/mailman admin test"
test-bounces:     "|/var/mailman/mail/mailman bounces test"
test-confirm:     "|/var/mailman/mail/mailman confirm test"
test-join:        "|/var/mailman/mail/mailman join test"
test-leave:       "|/var/mailman/mail/mailman leave test"
test-owner:       "|/var/mailman/mail/mailman owner test"
test-request:     "|/var/mailman/mail/mailman request test"
test-subscribe:   "|/var/mailman/mail/mailman subscribe test"
test-unsubscribe: "|/var/mailman/mail/mailman unsubscribe test"
# STANZA END: test

# /etc/init.d/mailman start
# rc-update add mailman default
(  mailman   )


 12.6:    mailman  postfix
# nano -w /etc/postfix/main.cf
owner_request_special = no
recipient_delimiter = +
( README.POSTFIX.gz    )

alias_maps     =
        hash:/var/mailman/data/aliases,
        mysql:/etc/postfix/mysql-aliases.cf

virtual_alias_maps =
        hash:/var/mailman/data/virtual-mailman,
        mysql:/etc/postfix/mysql-virtual.cf
(     mailman'a  postfix, 
     mysql  ,      . 
      ,  , 
  )


           .  , ,  mailman     mailman (su mailman)       .   mailman        . 

13.    Anti-Virus

 ,...   ,        perl'e   .      ,   . 

14. 

,.   ,   /etc/postfix/master.cf    verbose.       .           - apache, mysql, saslauthd, postfix, courier-imapd, courier-imapd-ssl, courier-pop3d,  courier-pop3d-ssl,        .     . 

 14.1: 
# postfix reload
# rc-update add $service default


    ! 

15. Troubleshooting



Troubleshooting:      ,      .    ,        .         ,          .      .     ,    ,      . 

 1:    . 

   ,       .          .       , ,    ,     . 

 15.1: 
# /etc/init.d/service restart


 2:      ?

  , .        .   ,   . ,             .     netstat.    ,   ,     . 

 15.2: 
# /etc/init.d/$service status
# netstat -a | grep $service ( $port)


 3:      ?

       ,      .  ,  postfix     . 

 15.3: 
# apachectl fullstatus  ( lynx)
# apachectl configtest (  )
# postconf -n (    postfix)
# /etc/init.d/$service restart


 4:  .

    ,     ,      .   ,     ,  . 

 15.4: 
# kill -USR1 `ps -C metalog -o pid=`(  metalog buffering)
# nano -w /var/log/mail/current
# cat /var/log/mysql/mysql.log
# tail /var/log/apache/error_log


     debug_peer  main.cf    .   ,      . 

 15.5:   debug_peer
# nano -w /etc/postfix/main.cf
debug_peer_level = 5
debug_peer_list = $host.domain.name
(    )


 5:    .

SMTP, IMAP,  POP3   telnet ,        postfix.    telnet   ,      . 

 15.6: 
# telnet localhost $port
(SMTP  25-, IMAP,  143-, POP3  110- .    
   .       ,    .)

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.


 6:        : strace.

       .      .       starce        .      ,         ,      ,     ,    . 

 15.7: 
# emerge strace
# strace $command
# strace -p `ps -C $service -o pid=`



     qmail/vpopmail.

  : http://www.gentoo.org/doc/ru/qmail-howto.xml
C : 1.0

1. 

         ,    ,   ,     , qmail        .        qmail,          ,       . 

     qmail, courier-imap, vpopmail,  horde/imp.         "" daemontools, ucspi-tcp, mysql, apache,  mod_php. qmail   MTA (Mail Transfer Agent), courier-imap -    , (pop3/imap . ..) vpopmail     ,  horde/imp -   -. 

  (emerging) -,      USE.       -   , , ,    . USE="maildir ssl imap mysql". ,     horde/imp  web-,      USE="nls"   mod_php.

:    "-"   -      ,   ,    . 


C  ,        .          qmail.          Postfix,      exim.    ,    ,   qmail. 

2. qmail ("  ")

 2.1: Emerge qmail
# emerge qmail

:     qmail-1.03-r13  .       ?  .    ? ,     ,   . 

:     the virtual/mta package conflicts with another package         MTA.      ,   emerge qmail -p. 


 qmail   ""    ucspi-tcp  daemontools.  ,  ,     ucspi-tcp   daemontools. , daemontools    qmail'  ,   ucspi-tcp     TCP    qmail. 

    - . :) 

 2.2:  qmail
(   )
# nano /var/qmail/control/servercert.cnf
# ebuild /var/db/pkg/mail-mta/qmail-1.03-r*/qmail-1.03-r*.ebuild config


Qmail  ,     .      'root'.       ,      'root'.     ,    'vapier'. 

 2.3:  -root   e-mail.
# cd /var/qmail/alias
# echo vapier > .qmail-root
# echo vapier > .qmail-postmaster
# echo vapier > .qmail-mailer-daemon


,    qmail. 

 2.4:  qmail delivery service
# rc-update add svscan default
# /etc/init.d/svscan start
# cd /service
# ln -s /var/qmail/supervise/qmail-send qmail-send


 ,  qmail  ,   . 

 2.5: Test delivery service
# ssh vapier@localhost
# maildirmake .maildir
# qmail-inject root << EOF
test root e-mail!
EOF
# qmail-inject postmaster << EOF
test postmaster e-mail!
EOF
# qmail-inject vapier << EOF
test vapier e-mail!
EOF
# mutt

(      3 )


  !        ,      /. 
:            - ( /var/log/qmail/)  'localhost.localhost',     domain/dns   .  , qmail    hostname --fqdn.    ,    'localhost',     /etc/hostname, /etc/hosts,   dns     .      /var/qmail/control/.   , ( )    . 


 2.6:  /var/qmail/control/     
# hostname --fqdn
wh0rd.org
# cat me
wh0rd.org
# cat defaultdomain
wh0rd.org
# cat plusdomain
wh0rd.org
# cat locals
wh0rd.org
# cat rcpthosts
wh0rd.org


 2.7:  /var/qmail/control/     
# hostname --fqdn
mail.wh0rd.org
# cat me
mail.wh0rd.org
# cat defaultdomain
wh0rd.org
# cat plusdomain
wh0rd.org
# cat locals
mail.wh0rd.org
# cat rcpthosts
mail.wh0rd.org


3. vpopmail

 3.1: Emerge vpopmail
# emerge vpopmail

:     vpopmail-5.4.6  .       ?  .    ? ,        . 


vpopmail      ,   .         ( mysql).       vpopmail.       ,    mysql  . ,     vpopmail  'vpoppw',     . 

 3.2:  vpopmail  mysql
# rc-update add mysql default
   mysql   ,      
ebuild <mysql.ebuild> config   mysql .
# /etc/init.d/mysql start
# nano /etc/vpopmail.conf 
(   'secret'  'vpoppw')
# mysql -p << EOF
create database vpopmail;
use mysql;
grant select, insert, update, delete, create, drop on vpopmail.* to vpopmail@localhost identified by 'vpoppw';
flush privileges;
EOF
(   ,    ,        )
# chown root:vpopmail /etc/vpopmail.conf
# chmod 640 /etc/vpopmail.conf
# chown root:vpopmail /var/vpopmail/bin/vchkpw
# chmod 4711 /var/vpopmail/bin/vchkpw

:        mysql/vpopmail,  mysql.  /etc/init.d/mysql restart. 


, vpopmail   .   ,       'wh0rd.org'.      "" vpopmail   . ,    'vapier'. 

 3.3:  
(        vadddomain  "command not found" (. ))
# source /etc/profile
(  vpopmail,     )
# mysql -u vpopmail -p
mysql> select * from vpopmail.vlog;
# vadddomain wh0rd.org postpass
( ,    )
# printf "postmaster@wh0rd.org\0postpass\0blah\0" | vchkpw `which id` 3<&0
uid=89(vpopmail) gid=89(vpopmail) groups=0(root)
(    - ,    -  )
# vadduser vapier@wh0rd.org vappw


    vpopmail   'postmaster'.    postmaster'  'postpass'.  vpopmail    ,      courier     qmail  SMTP. 

4. Courier POP/IMAP

 4.1: Emerge courier-imap
# emerge net-mail/courier-imap

:   vpopmail    courier-imap  authvchkpw  .(?) 

:     net-mail/courier-imap-3.0.7  .       ?  .    ? ,        . 


   - :).           SSL   (!).      2 ,   ,  '-ssl'    . 

 4.2:  POP3/SSL
# nano /etc/courier/authlib/authdaemonrc
(   authmodulelist  "authvchkpw")
# cd /etc/courier-imap
# nano pop3d.cnf 
(  [ req_dn ] )
# mkpop3dcert
# rc-update add courier-pop3d-ssl default
# /etc/init.d/courier-pop3d-ssl start


 4.3:  IMAP/SSL
# cd /etc/courier-imap
# nano imapd.cnf 
(  [ req_dn ] )
# mkimapdcert
# rc-update add courier-imapd-ssl default
# /etc/init.d/courier-imapd-ssl start


        (    courier)       .   ,      'vapier@wh0rd.org'   'vappw'. 

5. qmail (  )

  SMTP ,    ,   -. 

 5.1:  qmail SMTP service
# cd /var/qmail/control/
# nano conf-smtpd
( SMTP-AUTH    QMAIL_SMTP_CHECKPASSWORD
  /var/vpopmail/bin/vchkpw)
# nano servercert.cnf 
(  [ req_dn ] )
# mkservercert
# cd /service
# ln -s /var/qmail/supervise/qmail-smtpd qmail-smtpd
# /etc/init.d/svscan restart


     qmail,         wh0rd.org     .  , qmail       127.0.0.1         vpopmail.        ,       'Server requires authentication'.   ,      'vapier@wh0rd.org'   - 'vappw'.    -     SSL/TLS  SMTP   . Qmail         . 

6.   Horde / IMP

      -   (      ),   IMP Webmail Client    " Horde".       Horde    web   ,        ,    , , ,  .         ,     Horde. 

On to the good stuff!   IMP. 

 6.1: Emerge IMP
# emerge horde-imp

:     horde-2.2.x and horde-imp-3.2.x. CVS  (  )  ,     .     php-5.x,  ,   horde-2.x. 


Horde          .    ,     ,    . :) 

 6.2:  Horde
# cd /var/www/localhost/htdocs/horde/config/
# for f in *.dist ; do mv ${f} ${f/.dist} ; done
# nano horde.php
( 'Horde Authentication':)
$conf['auth']['driver'] = 'imap';
$conf['auth']['params']['dsn'] = '{localhost:993/imap/ssl/novalidate-cert}';

( 'Horde Logging':)
$conf['log']['name'] = '/var/log/apache2/horde.log';

( 'Problem Reporting':)
$conf['problems']['enabled'] = true;
$conf['problems']['email'] = 'webmaster@wh0rd.org';

# nano registry.php
( 'Handlers':)
$this->registry['auth']['login'] = 'imp';
$this->registry['auth']['logout'] = 'imp';

( 'Application registry':)   'status', 
 applications['imp'],  'inactive'  'active'

# touch /var/log/apache2/horde.log
# chown apache:apache /var/log/apache2/horde.log

:     'webmaster'  - .      e-mail ,        vpopmail. (    qmailadmin). 


    IMP. 

 6.3:  IMP
# cd /var/www/localhost/htdocs/horde/imp/config/
# for f in *.dist ; do mv ${f} ${f/.dist} ; done
# nano servers.php

(  $servers['imap'] 
$servers['imap'] = array(
	'name' => 'wh0rd.org',
	'server' => 'localhost',
	'protocol' => 'imap/ssl/novalidate-cert',
	'port' => 993,
	'folders' => '',
            'namespace' => 'INBOX.',
	'maildomain' => 'wh0rd.org',
	'smtphost' => 'localhost',
	'realm' => '',
	'preferred' => ''
);


,  apache,    webmail. 

 6.4:  apache
# nano /etc/conf.d/apache2 
( APACHE2_OPTS="-D SSL -D PHP4")
# rc-update add apache2 default
# /etc/init.d/apache2 start

:     ,    Horde  https.    ,      . 


   IMP,     http://localhost/horde/ ( localhost   )      Horde    .  ,        'vapier@wh0rd.org'  'vappw'     . 

  , Horde  IMP . ,                . 

7.  

qmailadmin

         qmailadmin.       .  emerge net-mail/qmailadmin       http://localhost/cgi-bin/qmailadmin    . qmailadmin    . 

qmHandle

       qmail      , ,     qmHandle.             qmail.        emerge net-mail/qmhandle. 

  horde

       Horde. Turba, Kronolith,  Nag      IMP   .      IMP,         .     registry.php    horde,       Horde. 

ucspi-tcp

qmail  ucspi-tcp    .      ,     /etc/tcprules.d/ (   qmail     /etc).         ,   (tcp.qmail-smtp)    ,     ucspi-tcp (tcp.qmail-smtp.cdb).      ,     .  tcprules tcp.qmail-smtp.cdb tcp.qmail-smtp.tmp < tcp.qmail-smtp.      qmail,     ,  ,    . 

qmail-scanner

        mail  (, ),         .      qmail-scanner.  emerge qmail-scanner   /etc/tcprules.d/tcp.qmail-smtp. 
:   qmail-scanner  .   ,       .       SpamAssassin / Clam AntiVirus  qmail-scanner'.    . 


 7.1:    .
# cd /etc/tcprules.d/
# nano tcp.qmail-smtp
( QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"   catchall)
# tcprules tcp.qmail-smtp.cdb tcp.qmail-smtp.tmp < tcp.qmail-smtp


       .       /var/qmail/bin/qmail-scanner-queue.pl. 

SpamAssassin

      SpamAssassin.   emerge mail-filter/spamassassin.   ,        /.        ,       .          / . 

 7.2:  SpamAssassin
# nano /etc/mail/spamassassin/local.cf
(   ,   :)
required_hits 6
skip_rbl_checks 1

# rc-update add spamd default
# /etc/init.d/spamd start
# nano /var/qmail/bin/qmail-scanner-queue.pl
(  $spamc_binary variable   '/usr/bin/spamc'.)
(    '',   .)

:       SpamAssassin   qmail-scanner',     qmail-scanner.     ,     ,      . 


        qmail-scanner        SpamAssassin. 

Clam AntiVirus

  SpamAssassin, Clam AntiVirus    .      / . -, emerge app-antivirus/clamav. 

 7.3:  Clam AntiVirus
# nano /etc/conf.d/clamd 
( START_CLAMD=yes)
# nano /etc/clamav.conf
(   )
# rc-update add clamd default
# /etc/init.d/clamd start
# nano /var/qmail/bin/qmail-scanner-queue.pl
(  $clamscan_binary  
  '/usr/bin/clamscan'.  ,  .)
# nano /var/qmail/control/conf-common
( ClamAV       
   (softlimit))

:       Clam AntiVirus   qmail-scanner',     qmail-scanner.     ,     ,      . 


        qmail-scanner        Clam AntiVirus. 

8.  

    ,        , ,           Gentoo.         ,    ,      .   qmail     ,        mta



      Mutt

  : http://www.gentoo.org/doc/ru/guide-to-mutt.xml
C : 1.0
1.   E-Mail

    e-mail     ,         ,     ,           : 

fetchmail->procmail->mutt->smtp 

       ,     . ,       e-mail ,     ,     ţ . 

   ,        (Mail Transfer Agent),   sendmail, postfix  exim.      25    . 

    ,   fetchmail         (MDA)     ţ  25 .         (MTA)    . 

   e-mail       . 

 1.1:   
# emerge fetchmail procmail mutt nbsmtp


    e-mail          . 
:        .    ,  ӣ       . 


2. Fetchmail

Fetchmail         .       .fetchmailrc    ,  :



 2.1:  .fetchmailrc
poll mail.myisp.net  protocol pop3 user "myname" password "mypassword" 


   ,       (      ).     : 

 2.2:   
# chmod 710 .fetchmailrc


    ,   -v.    ,  -a.  ݣ     -m  ,     procmail.

:       -k,     -   ,           ţ  . 


   fetchmail  ! 

 2.3:  Fetchmail #1
# fetchmail -akv -m "/usr/bin/procmail -d %T" 


   أ  ,      cron  -   gkrellm. Fetchmail          . 

3. Procmail

Procmail -       fetchmail.  ,    MDA,        ,  ţ     mutt (  ,    ). 

  procmail,     .procmailrc  ϣ  .    " "     .procmailrc,        gentoo    : gentoo-dev, gentoo-user  gentoo-announce. 
:    .      ,    . 


 3.1:  .procmailrc
MAILDIR=$HOME/MuttMail                ##  
LOGFILE=$HOME/.procmaillog
LOGABSTRACT=no
#VERBOSE=on...    
VERBOSE=off
FORMAIL=/usr/bin/formail
NL="
"
##    :0
##     
##  !
##    *,      
##   *    egrep
##   ,       

# ,  formail
:0 Whc: .msgid.lock
| $FORMAIL -D 16384 .msgid.cache

:0 a
$MAILDIR/duplicates

#       
:0 
* ^From:.*(craig\@hotmail|renee\@local.com)
$MAILDIR/friends 

#  
:0  
* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)
$MAILDIR/spam

# html 
:0
* ^Content-Type:.*html
$MAILDIR/junk

#        
:0 
* ^List-Id:.*gentoo-user
gentoo-user

:0 
* ^List-Id:.*gentoo-dev
gentoo-dev

:0 
* ^List-Id:.*gentoo-announce
gentoo-announce

#     gentoo
:0 
* ^From:.*gentoo.org
gentoo

:0 
* ^From:.*@freshmeat\.net
freshmeat

###########################################
#  :   #
#            # 
###########################################
:0 
* .*
default

#  

:           $HOME/MuttMail,   Procmail         ,     .     http://www.procmail.org/


   .procmailrc,   fetchmail (   ).  ,   -k     ,  ţ     . 

 3.2:  Procmail #1
# fetchmail -akv -m "/usr/bin/procmail -d %T" 


 ӣ,   fetchmail  procmail ,     $HOME/MuttMail     less     . 

4.   Mutt

Mutt      .   , -,    . 

Mutt         : mbox, MMDF, MH  Maildir.     .       mbox,         . 

Mutt      ,    IMAP . .  IMAP   4.11   Mutt   Mutt http://www.mutt.org/. 

  mutt     /etc/mutt/Muttrc.      .muttrc  ϣ  . 

 4.1:  .muttrc

(,     Mutt  /usr/share/doc/mutt*)
(        /etc/mutt/Muttrc)

# cp /etc/mutt/Muttrc ~/.muttrc
# nano -w .muttrc
set pager_context=1
set pager_index_lines=6                 #    
set menu_scroll
set pgp_verify_sig=no                   #  pgp  
set status_on_top                       #   
set sort=threads                        #   

set status_format=" %r %b %f %n      Del %d      Msgs %m %l %> (%P)"
set pager_format="%-10.10i %[!%a %b %d %R]"
set date_format="!%H:%M %a %d %b     "
set index_format="%4C %Z %[%b%d] %-15.15F %s"
set folder_format="%2C %t %8s %d %N %f"

#set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f yourname@isp.net"

#set from="default-mailaddress"         #     "from"
#set realname="myname"

set record="$HOME/MuttMail/sent"        #   
set delete=yes                          #  
set include=yes				#   
set fast_reply=yes			#  
set beep=no				# 
set markers=no				#  +  
set confirmappend=no			#    =keep
set to_chars=" +TCF"                    # L  mail_list

set folder = $HOME/MuttMail
mailboxes =gentoo-user
mailboxes =gentoo-dev
mailboxes =gentoo-announce
mailboxes =gentoo
mailboxes =freshmeat
mailboxes =duplicates
mailboxes =default
mailboxes =sent
mailboxes =friends
mailboxes =junk
mailboxes =spam
mailboxes =keep

save-hook .* =keep                      #mbox    (s)   =keep
subscribe gentoo-user gentoo-dev        # 

bind pager h display-toggle-weed	#   h

#   url 
macro index \cb |urlview\n 'call urlview to extract URLs out of a message'
macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'

# fetchmail   G
macro index G "!fetchmail -a -m 'procmail -d %T'\r"
macro pager G "!fetchmail -a -m 'procmail -d %T'\r"

# .muttrc...   

macro generic ,sm ":source $HOME/.muttrc\r"
macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"

#         
# ӣ,  ,   
ignore *
unignore  Date To From: Subject X-Mailer Organization User-Agent
hdr_order Date From To Subject X-Mailer User-Agent Organization

## Mutt    
##     
##       /etc/mutt/Muttrc

#color quoted green  default
color quoted1 magenta blue
#color quoted2 yellow default
#color quoted3 red default
#color signature cyan cyan


#     /etc/mutt/Muttrc.color
# ţ,         /etc/mutt/Muttrc
# Je vois la vie en rose :-)
color	hdrdefault	brightcyan	blue
color	header		brightwhite	blue "^from:"
color   header          brightwhite    	blue   "^subject:"

color   quoted          brightgreen     blue
color   signature       brightwhite	blue

color   indicator       blue	        green

color   error           red             black
mono    error           bold
color   status          black cyan
mono	status		bold
color   tree            yellow   	blue

color   tilde           brightmagenta   blue
color	body	brightwhite		blue	"[-a-z_0-9.]+@[-a-z_0-9.]+"
mono    body    bold                    "[-a-z_0-9.]+@[-a-z_0-9.]+"
color   body            brightyellow    black   "^Good signature"
mono    body            bold                    "^Good signature"
color   body            brightwhite     red     "^Bad signature from.*"
mono    body            bold                    "^Bad signature from.*"
color   normal          white		blue
color	message		green	black
color	attachment	brightgreen	blue

#  ...       ... :)


     .muttrc.         , ,    gpg.      http://mutt.netliberte.org/. 

     .muttrc 

 4.2:  .muttrc
# mutt -y


     Mutt   ,   ,   fetchmail. 

 ?          Mutt. 

5. SMTP

 ,   nbsmtp ('No-Brainer SMTP'),        SMTP.              .muttrc 

domain: ,  nbsmtp.          . 

from@addr:   ,    nbsmtp   "from".  ,       ,     "From:"    (MUA). 

host:  smtp, , ,    .



 5.1:   smtp
# nano -w .muttrc
set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f urname@isp.net"


 ӣ    .   Mutt  m,           . Mutt   EDITOR  VISUAL,     editor=  .muttrc.  ,    ,  y   .  ӣ  ,    'sending mail',   'New mail in =sent'. 

,  .muttrc           :set record="$HOME/MuttMail/sent" 

,   ,   fetchmail        ,    .       ,  h  ,           (mail transfer path). 
:  ݣ  , , ,  ,   urlview.            . 


 5.2:  urlview
# emerge urlview 


   ~/.urlview     /usr/share/doc/urlview*/,       . 

,       .     ,        'google'    muttrc  procmailrc.

     Gentoo Linux
  : http://www.gentoo.org/doc/ru/prelink-howto.xml
C : 1.0

1. 

    (Prelink)      ? 

    .            ,       .         .   ,   C++,    ,      . 

  ,        ,    ,   .     ,        ,   .  ,   ld-linux.so  glibc;      glibc   >= 2.3.1-r2 

      . ,   KDE    50% .              ,    . 

   ,  ,   , prelink.      ,    . 
        ,      ,      ,       . 
    ,   prelink   undo. 
  portage  ,    prelink,    MD5   mtime  . 
    glibc-2.3.1-r2   ,        binutils-2.13.90.0.xx  . 

2.   

 
:  ,     Gentoo-1.4,      gcc-3.2      binutils-2.13.90.0.xx.    ,        . 

:    glibc 2.3.1   ,   prelink      ! 


     ,             . 

 2.1:    
# emerge sync

, ,     portage-2.0.26   .    ,   portage            . ..      MD5  . 

 2.2:    
# emerge ">=portage-2.0.46"

    emerge    .  emerge  ,        . 

 2.3:   
# emerge prelink

 ,    ,    emerge   prelink.       ,    ,   .       ,   binutils, gcc  glib.      emerge   .


:    ,      prelink  (./configure ; make ; make check ).       *.log      .       . 


    ,      ,     Stefan Jones. 



Portage    /etc/prelink.conf,    prelink     . 
 ,      ,       binutils.      ,    ,     /opt.   ,  ,     prelink      . 

 2.4: /etc/env.d/99prelink
PRELINK_PATH_MASK="/opt"

:       ,  ,  . 


3.  
  

           ,    /etc/prelink.conf. 

 3.1:    
# prelink -afmR

: ,              ,     .     .   file  readelf     .          df -h 
 :
-a	All,       . 
-f	     ,    .   ..  prelink      ,     . 
-m	   .  ,     ,   . 
-R	Random, --    ,      . 

:      ,  man prelink 



4.      

"      ,    PIC" 

       ,    gcc -fPIC. 

       ,      emerge,     . 

 4.1: 
(  ORBit /usr/lib/libIIOP.so.0.5.17)
emerge ">=sys-apps/tcp-wrappers-7.6-r4" ORBit
(  zlib  /usr/lib/libz.so.1.1.4)
emerge ">=sys-libs/zlib-1.1.4"
( svgalib, /usr/lib/libsvga.so.xx)
emerge ">=media-libs/svgalib-1.9.16"
(  XFree openGL, libGLU.so.1)
emerge ">=x11-base/xfree-4.2.1-r2"
( libpcap.so.0.6)
emerge ">=net-libs/libpcap-0.7.1-r2"
(  lcms, /usr/lib/liblcms.so.1)
emerge ">=media-libs/lcms-1.09"

:      zlib / tcp-wrappers,      emerge  ,  ,   emerge   . 

       QT/KDE,     x11-base/xfree   4.2.1-r2     x11-libs/qt   3.1.0-r1   .  QT    ,       xinerama,   myconf="-no-xinerama ${myconf}"   ebuild  qt. 

   ,         : 
   wine,  windex.          MS Windows. 
  media-video/mjpgtools, /usr/lib/liblavfile-1.6.so.0 

      ,    ,    , ,  -fPIC   CFLAGS. 

   ,   , : "1631 Aborted ...." 

    -f  prelink; ..        .   prelink -af 

": <file>: error while loading shared libraries: unexpected reloc type..." 

     sys-libs/glibc-2.3.1-r2 2002/11/18,  emerge  glibc,      . 

   prelink -u -a -m ; prelink -a -m   .     ,   prelink -u <file> 

     Nvidia openGL

  openGL    nvidia-glx   ,   prelink   .     ,      o -   nvidia.      xfree   libGL.so,      3D.   xfree nvidia  . 

    ,        

   glibc,      100%   .        glib,         .     Dick Howell. 

" ,                   .  ,  Linux,    ,   GLIBC,       .   "libnss" (name service switch -   ,   ,   network secutiry system -   )           ,      .            .  ,   GLIBC      .       "libnss"        .  , ,  ,   -    GLIBC ,  "libpthread, "libm"  "libc",       "libnss"" 

    "prelink: dso.c:306: fdopen_dso: Assertion `j == k' failed." 

  ,   .  prelink         UPX.   prelink-20021213      ,         .    ,     ,   . 

5. 

          .      .   , ..          ,     - .      glibc   ,      ,     prelink.  , !

     

  : http://www.gentoo.org/doc/ru/devfs-guide.xml
C : 1.0
1.   devfs?

 (?) 

  Linux     ,  /dev.     device nodes,  ,    . , /dev/hda   IDE    .     ,     ,       ,    API. 

     ,  character devices ( )  block devices ( ).    ,     /.  , ,  ,   / .             .     ͣ         . 

    ,   -,   : 

 1.1:     
# ls -l /dev/hda
brw-rw----    1 root     disk       3,   0 Jul  5  2000 /dev/hda

    ,  /dev/hda    .   ,       3, 0.    major-minor.   ,       . major ()    , minor ()   .  ,   ? 

ݣ    /dev/hda4  /dev/tty5.    ף    IDE-.   major-minor 3, 4.  , minor  ,   major  .     major-minor  4, 5.        ,       (    ). 



     /dev,  ,        ,     ,    .  ,       ,    .          . ,       ,     ,    . 

       ,        .   ,          ./MAKEDEV   /dev,     ,     ģ ? 

    ,       ,         ,          ,        .      /dev   ,   mount , /dev   . 



    , kernel hackers      .           http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html#faq-why.      ,     ,        : 

devfs   ?

devfs    .        ,   device nodes ( ),    ,          read only ( ).     ,     ,        ... 

 ,  devfs       major/minor.    (  ),     .   Linux  ݣ  ,      (    :) 

  devfs   ,     ,   ,       obsolete (),   udev,    Gentoo. 

 ,  devfs  ,  udev FAQ  udev versus devfs document. 

2.    



           devfs      .   ,             . 
,  ,   IDE,    /dev/ide/,     SCSI   /dev/scsi/. SCSI  IDE    ,     . 
IDE  SCSI      (   ),  host.      .   bus.       IDs (). ID    .  ID  target.  SCSI     LUN (Logical Unit Numbers (  )),        (hi-end tapedrives).        lun, lun0/. 
,   ,    /dev/hda4,   /dev/ide/host0/bus0/target0/lun0/part4.   ... ,    ...  ...     ! :) 
:        Unix   ֣ ,   c0b0t0u0p2.      /dev/ide/hd, /dev/scsi/hd ... 
       ,       : 

 2.1:   /dev
cdroms/     cpu/        discs/          floppy/
ide/        input/      loop/           misc/
netlink/    printers/   pts/            pty/
scsi/       sg/         shm/            sound/
sr/         usb/        vc/             vcc/



   o devfsd

     ,       ,  .  ,     ,   devfsd.         ,     (compatibility symlinks). 

 2.2:   
$ ls -l /dev/hda4
lr-xr-xr-x    1 root     root           33 Aug 25 12:08 /dev/hda4 -> ide/host0/bus0/target0/lun0/part4


  devfsd,     ,      .. ӣ     . 

3.   

 devfsd

    /etc/devfsd.conf,       ,    .    ,   ,       : 

SIGHUP  devfsd   ,    (shared objects)    REGISTER      . 

SIGUSR1    ,     REGISTER. 

  ,   kill  killall: 

 3.1:   SIGHUP  devfsd
# kill -s SIGHUP `pidof devfsd`

# killall -s SIGHUP devfsd

 compatibility symlinks
:    Gentoo      . 

          /dev ( Gentoo    ),  /etc/devfsd.conf     : 

 3.2: /etc/devfsd.conf   
#       
REGISTER        .*  MKOLDCOMPAT
UNREGISTER      .*  RMOLDCOMPAT

 ģ ,     . 

    

   , devfs    .    ,    ,     /etc/devfsd.conf: 

 3.3: /etc/devfsd.conf, autoload functionality
LOOKUP      .*  MODLOAD

4. ,    

/     PAM

       /etc/devfsd.conf,    PAM (Pluggable Authentification Modules ().   PAM       ,    ,     /etc/devfsd.conf. 

PAM  /etc/security/console.perms    .     :    ,    . 

      .     sound-group: 

 4.1: Sound group  /etc/security/console.perms
<sound>=/dev/dsp* /dev/audio* /dev/midi* \
    /dev/mixer* /dev/sequencer* \
    /dev/sound/* /dev/snd/* /dev/beep \
    /dev/admm* \
    /dev/adsp* /dev/aload* /dev/amidi* /dev/dmfm* \
    /dev/dmmidi* /dev/sndstat


  :     ,    ,   . 
  ,      - ,   , ,   . 

 4.2:    sound group  /etc/security/console.perms
<console>  0600 <sound>      0600 root.audio

     .     console-group. PAM         .   ۣ  ,   console-group, PAM         . 
   ,          .     ,         , PAM             .     0600 (    /,   ). 
     ,    .   ,   ( ,   )  . 
ף   ,            .  ,  ,       ,   , PAM       ,    ף . 
    (    )              ,  ,      ,   , PAM       ,    . 

/     devfsd

     ,  /etc/devfsd.conf,    ģ   : 

 4.3:   /etc/devfsd.conf
REGISTER    ^cdroms/.*  PERMISSIONS root.cdrom 0660


     ,   /dev.   , ,          . 
ף      .    PAM,    (     console.perms,   PAM ). 
      . 

      devfsd

    Gentoo:    chown (CHange OWNer ( ))  chmod (CHange MODe ( ))   ,  devfsd  ,     .   - ,   /etc/devfsd.conf   : 

 4.4: /etc/devfsd.conf    
REGISTER        ^pt[sy]/.*   IGNORE
CHANGE          ^pt[sy]/.*   IGNORE
CREATE          ^pt[sy]/.*   IGNORE
DELETE          ^pt[sy]      IGNORE
REGISTER        ^log         IGNORE
CHANGE          ^log         IGNORE
CREATE          ^log         IGNORE
DELETE          ^log         IGNORE
REGISTER        .*           COPY    /lib/dev-state/$devname $devpath
CHANGE          .*           COPY    $devpath /lib/dev-state/$devname
CREATE          .*           COPY    $devpath /lib/dev-state/$devname
DELETE          .*           CFUNCTION GLOBAL unlink
/lib/dev-state/$devname
RESTORE         /lib/dev-state


 , Σ     /lib/dev-state,   ,    /dev,   . 

  -  /lib/dev-state  /dev   .   ,    ,  devfs    ( ,     ),   /dev/console . , -   bootscripts ( )  ,   : 
 4.5:  /lib/dev-state  /dev
mount --bind /dev /lib/dev-state
mount -t devfs none /dev
devfsd /dev


 WIKI

H  
 

 IDE  ,   IDE-.       CD-ROM.     , : 
IDE 
ATA 
ATAPI 
Enhanced IDE (EIDE) 
Fast ATA  Fast ATA-2 

IDE          - PIO  DMA. ,       ,     ,        . 

PIO -  /,      ,       (    ,        ,      ,       ,           ). 

 PIO Mode 0 1 2 3 4.    ,  . IDE ZIP100   Iomega    PIO mode 0.  CD-ROM   PIO mode 4,    DMA. 
PIO Mode 0 = 3.3 Mb/s 
PIO Mode 1 = 5.2 Mb/s 
PIO Mode 2 = 8.3 Mb/s 
PIO Mode 4 = 11.1 Mb/s 
PIO Mode 5 = 16.7 Mb/s 

DMA - Direct Memory Access -     -   ,             ,                  (bus mastering),          . 

DMA   : UDMA  MDMA. 

UDMA - ultra DMA -   ,   .  UDMA 0 1 2 3 4 5 6.  : 
UDMA 2 = 33 mb/s 
UDMA 4 = 66 mb/s 
UDMA 5 = 100 mb/s 
UDMA 6 = 133 mb/s 

    Intel       .  SATA   UDMA = 150 Mb/s. 

 UDMA 66 - 100 - 133  80- ,          ,   .     40-     . 

MDMA - multiword dma,   ,      CD-ROM. 
MDMA0 = 4.2 mb/s 
MDMA1 = 13.3 mb/s 
MDMA2 = 16.7 mb/s 

         IDE    ,    .   - ӣ  . 

  
ӣ     ,   ,   ,     ..  :) 
ӣ  ,         2.6.9-gentoo-r4  hdparm-5.7-r1, ACCEPT_KEYWORDS="~x86". 

  -   ,   . 

 

ӣ     SATA    libata  (    sdX   hdX).  sata     scsi   pata,     scsi     sata.      sata   hdparm ,    libata       . 

     ,   ,         100% ߣ  .     ,   ,  ģ. 

 
,   IDE   DMA ,    . 

   

dmesg | less 

   . 

      ide   .   kern.log   (  ): 
Nov 14 17:45:54 tsoptimus kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                            idebus=66,      
                                         DMA   .   
                                       /usr/src/linux/Documentation/ide.txt
Nov 14 17:45:54 tsoptimus kernel: ICH2: IDE controller at PCI slot 0000:00:1f.1
Nov 14 17:45:54 tsoptimus kernel: ICH2: chipset revision 2
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    .
Nov 14 17:45:54 tsoptimus kernel: ICH2: not 100%% native mode: will probe irqs later
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    -        
                                     .  .
Nov 14 17:45:54 tsoptimus kernel:     ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                          busmaster , dma    
                                         BIOS. 
Nov 14 17:45:54 tsoptimus kernel:     ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:DMA
Nov 14 17:45:54 tsoptimus kernel: Probing IDE interface ide0...
Nov 14 17:45:54 tsoptimus kernel: hda: ST340016A, ATA DISK drive
Nov 14 17:45:54 tsoptimus kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Nov 14 17:45:54 tsoptimus kernel: Probing IDE interface ide1...
Nov 14 17:45:54 tsoptimus kernel: hdd: DV-516E, ATAPI CD/DVD-ROM drive
Nov 14 17:45:54 tsoptimus kernel: ide1 at 0x170-0x177,0x376 on irq 15
Nov 14 17:45:54 tsoptimus kernel: PDC20265: IDE controller at PCI slot 0000:02:0a.0
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    promise 
Nov 14 17:45:54 tsoptimus kernel: ACPI: PCI interrupt 0000:02:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
Nov 14 17:45:54 tsoptimus kernel: PDC20265: chipset revision 2
Nov 14 17:45:54 tsoptimus kernel: PDC20265: 100%% native mode on irq 17
Nov 14 17:45:54 tsoptimus kernel: PDC20265: (U)DMA Burst Bit ENABLED Primary MASTER Mode Secondary MASTER Mode.
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                  BIOS     DMA,     :)
Nov 14 17:45:54 tsoptimus kernel:     ide2: BM-DMA at 0xac00-0xac07, BIOS settings: hde:pio, hdf:pio
                                                                                    ^^^^^^^
                                                                                        .
Nov 14 17:45:54 tsoptimus kernel:     ide3: BM-DMA at 0xac08-0xac0f, BIOS settings: hdg:pio, hdh:pio
Nov 14 17:45:54 tsoptimus kernel: Probing IDE interface ide2...
Nov 14 17:45:54 tsoptimus kernel: hde: FUJITSU MPG3204AT E, ATA DISK drive
Nov 14 17:45:54 tsoptimus kernel: ide2 at 0x9c00-0x9c07,0xa002 on irq 17
Nov 14 17:45:54 tsoptimus kernel: Probing IDE interface ide3...
Nov 14 17:45:54 tsoptimus kernel: hda: max request size: 128KiB
Nov 14 17:45:54 tsoptimus kernel: hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100)
                                                                                                     ^^^^^^^^
                                                                                           
Nov 14 17:45:54 tsoptimus kernel: hda: cache flushes not supported
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                      :(      
                                    ,   panic  oops   .
                                     supported, ...
Nov 14 17:45:54 tsoptimus kernel:  /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
Nov 14 17:45:54 tsoptimus kernel: hde: max request size: 128KiB
Nov 14 17:45:54 tsoptimus kernel: hde: 40031712 sectors (20496 MB) w/512KiB Cache, CHS=39714/16/63, UDMA(100)
Nov 14 17:45:54 tsoptimus kernel: hde: cache flushes not supported
Nov 14 17:45:54 tsoptimus kernel:  /dev/ide/host2/bus0/target0/lun0: p1 p2
Nov 14 17:45:54 tsoptimus kernel: hdd: ATAPI 48X DVD-ROM drive, 256kB Cache, UDMA(33)
Nov 14 17:45:54 tsoptimus kernel: Uniform CD-ROM driver Revision: 3.20 
  .    IDE   (  ) 
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
#CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    cdrom,    ( )

CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_TASKFILE_IO=y
^^^^^^^^^^^^^^^^^^^^^^^^
  :)

#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    IDE   .  99%   .  .

# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
^^^^^^^^^^^^^^^^^^^^^^^^^^
        . 
    .

# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
!!!!          DMA
 blacklisted,     .

CONFIG_IDEDMA_PCI_AUTO=y
^^^^^^^^^^^^^^^^^^^^^^^^^
     :)      ӣ  ,     DMA.

# CONFIG_IDEDMA_ONLYDISK is not set
  CDROM   DMA      PIO ,   DMA   .

# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  

# CONFIG_BLK_DEV_NS87415 is not set
CONFIG_BLK_DEV_PDC202XX_OLD=y
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   

CONFIG_PDC202XX_BURST=y
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 DMA  promise,     DMA  .  .

# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 UDMA4 5 6      . 
 -    40-  ģ ,    .

CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

 :)

,  ݣ  , 

emerge hdparm 

    

man hdparm 

    Σ  :) 

 

hdparm -tT /dev/hdX 

 X -    

         .       . 

  : 
/dev/hda:
Timing cached reads:   616 MB in  2.00 seconds = 307.74 MB/sec
Timing buffered disk reads:   74 MB in  3.04 seconds =  42.33 MB/sec

   ޣ  ,     :) 

 -      ޣ  . 

       :)    35-55 mb/s  ,  50  raid         (...  ...).        
     

    BIOS   . 

!!!     , ,   ,   ! 

       ,     , ӣ     . 

  IDE/A      - master  slave.      .          - cable select.       cable select   Y- ,       .      - ,    ,   master,   - slave. 
,    80-,  40-     :). 
             .  ,     ,    .       .         (,   ),   . 
   IDE-      (     SATA). 
            ,    .    -  .  ,    ,  -    . 
         ATAPI- (, CD-ROM).    ,  ATAPI    , ,  ,    ATAPI-    ,     . 

 . 

   CD-ROM   . 

 . 

    ,    master  CD-ROM slave 

 . 

      , CD-ROM  . 

!!! 

           :) 

  BIOS.  UDMA   ,  Bus master   IDE,  IDE Block mode. 

     

    ?      ? 

 

hdparm -iIv /dev/hdX | less 

       .     ģ . 
   ,      . 
/dev/hda:
multcount    = 16 (on)
IO_support   =  1 (32-bit)
unmaskirq    =  1 (on)
using_dma    =  1 (on)
keepsettings =  0 (off)
readonly     =  0 (off)
readahead    = 256 (on)
geometry     = 65535/16/63, sectors = 40020664320, start = 0
      ,    . 
Model=ST340016A, FwRev=3.19, SerialNo=3HS9R2GG
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: device does not report version:

* signifies the current active mode
    .     . 
ATA device, with non-removable media
       Model Number:       ST340016A
       Serial Number:      3HS9R2GG
       Firmware Revision:  3.19
Standards:
       Supported: 5 4 3 2
       Likely used: 6
Configuration:
       Logical         max     current
       cylinders       16383   4047
       heads           16      16
       sectors/track   63      255
       --
       CHS current addressable sectors:   16511760
       LBA    user addressable sectors:   78165360
       device size with M = 1024*1024:       38166 MBytes
       device size with M = 1000*1000:       40020 MBytes (40 GB)
Capabilities:
       LBA, IORDY(can be disabled)
       bytes avail on r/w long: 4      Queue depth: 1
       Standby timer values: spec'd by Standard
       R/W multiple sector transfer: Max = 16  Current = 16
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         .    16 .   .

       Recommended acoustic management value: 128, current value: 254
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        .   ,    .

       DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
            Cycle time: min=120ns recommended=120ns
       PIO: pio0 pio1 pio2 pio3 pio4
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         . ף  . 
 
            Cycle time: no flow control=240ns  IORDY flow control=120ns
Commands/features:
       Enabled Supported:
          *    READ BUFFER cmd
          *    WRITE BUFFER cmd
          *    Host Protected Area feature set
          *    Look-ahead
          *    Write cache
          *    Power Management feature set
               Security Mode feature set
          *    SMART feature set
               Device Configuration Overlay feature set
          *    Automatic Acoustic Management feature set
               SET MAX security extension
          *    DOWNLOAD MICROCODE cmd
Security:
       Master password revision code = 65534
               supported
       not     enabled
       not     locked
       not     frozen
       not     expired: security count
       not     supported: enhanced erase 
HW reset results:
       CBLID- above Vih
       Device num = 1
Checksum: correct


  ,      .  ,    ,    :).   man  hdparm,      . 

 

,     

hdparm - // 

 hdparm ,     ,    .    ,  dmesg      . 

  

-a       ,     .     ,       .  ,            .   ,       mp3. 

-A     .     .  ,        ף  Look-ahead   Enabled Supported. 1 - , 0 - . 

-B    ,   .   ,          :),   ԣ  .  255   ,    .       .   AdvancedPM=      . 

-c  1  32     ,     16 .  3  -    ޣ.   ģ,     1.    ,   .   1  3     ,   ģ. 

-d 1 - , 0 - .   DMA.     ף    dma   ģ ,      .   ,   . !!!   ,   !!!   , -        !!! 

-E  cdrom.   ...    .    :) 

-k  -K     .         .  ,   ,    reset ,   ,    (aka suspend to disk). 1 - . 0 - . 

-m      .       .    ,  MaxMultSect=.     . 

-M  . 254 -   . 0 -   .     128  254.      :) 

-P ݣ       .        .    ? 

-u   .   1,         -.        .  .   .       . 

-W 1 -   .        .   . 

-X   .       DMA.    hdparm  ,  -X udma5. !!!   ,    ,    (40-) !!!       DMA,     ,         , !!!     ?. 



   ,  hdparm -tT,   dmesg. 

       .        :) 

   ,  . 



 /etc/conf.d/hdparm   .     : 
hda_args="-u1c3M254Kk"
hde_args="-u1c3M254Kk"
#hdd - cdrom
hdd_args="-u1c3Kk"

: rc-update add hdparm default 
: /etc/init.d/hdparm start 

  -

  2.6       -.        .       ,   anticipatory io cheduler.   . 
no-op -    ̣ .   .    .       - . 
anticipatory -   . -    .   ,   . 
deadline -  ̣    anticipatory,   ģ  "" .        . 
CFQ -  -    . - ,       .     . 



 ?

     GRUB     elevator=[cfq|as|deadline|noop], , .   /        .      "  Linux".   
general setup ->
   Configure standart kernel features...

      vm   ... 

  IDE    hdparm


   -  IDE ֣     
 ģ ,      .   
     ֣     
 IDE , ޣ     . 

 IDE 

   IDE   : 

``hdparm -i /dev/hda`` 

 /dev/hda     IDE  
   HDD


   CD-RW





Max Mult Sect?:      , 
        . 
Mult Sect?:    ,   
 . 
PIO modes  DMA modes:   ,  
  . ,    
(*),  . 
Advanced PM?:  'yes'   ,    
 APM (Advanced Power Management   
 ). 


  ,    : 
darkstar:$ hdparm /dev/hda 


  : 
/dev/hda: 
multcount = 0 (on) 
I / O? support = 0 (16-bit) 
unmaskirq = 0 (off) 
using_dma = 0 (off) 
keepsettings = 0 (off) 
nowerr = 0 (off) 
readonly = 0 (off) 
readahead = 8 (on) 
geometry = 2482/255/63, sectors = 39876480, start = 0 


... 
multcount   ,  ; 
I / O? support       (16/32/32sync); 
using_dma  ,       
DMA  ; 
keepsettings  ,     
  (    ,  
    ,  ); 
readonly     1   CD-ROM,   
      read-only  ; 
readahead      ; 



!         
֣ ,     . 

I / O? Support

-0   16-   (-)\\ 
-c1   32-   ( ,   )\\ 
-c3   32-    (  ,    

Multicount

    ( ).  , 
    Max Mult Sect?   hdparm -i.   
     . 
 DMA

    HDD  DMA  .  
        DMA   , 
     .       
        ,   
 DMA    ,  ,  ,  . 

-d0   DMA\\ 
-d1   DMA 

DMA mode  PIO mode

    ţ      
    . 

-X<>    PIO  DMA 

 multiword DMA: 

32 ( ) +  : 

-X32  mdma0 
-X33  mdma1 
-X34  mdma2 

 PIO   8,  Ultra DMA? 64. 

-X64  udma0 
-X65  udma1 
-X66  udma2 
-X67  udma3 
-X68  udma4 
-X69  udma5 
Readahead ( )

   ң   .   
    ,      
 . 

     ,    multicount. 

-aN    N  



  : 

hdparm -t < > 

  ,     . 

  -  , : 

hdparm -u1c1d1m8a8 < > 

   : 

hdparm -t < > 

  . 

        -a  -m,    
   ,    .   
 ,    ,      
(      IDE-,    ģ ), 
   multicount (-m)   ,   read-ahead (-a) 
 multicount. 

  CD/DVD
  

 ,       cdrecord  mkisofs,     cdrtools.   --  : 

emerge cdrtools 

    

,       . 

  2.4.x 

   2.4.x      SCSI : Linux Kernel Configuration:   2.4.x 
ATA/IDE/MFM/RLL Support -->
    IDE, ATA, and ATAPI Block Devices -->
        <M> SCSI Emulation Support
SCSI Support -->
    <M> SCSI Support
    <M> SCSI CDROM Support
    <M> SCSI Generic Support


,        hdc=ide-scsi (   ,   CD  -  hdc). 

..    grub,       : : /boot/grub/grub.conf 
title Gentoo Linux
 root (hd#,#)
 kernel (hd#,#)/YOUR_KERNEL_NAME_HERE root=/dev/hdx# hdc=ide-scsi ANY_OTHER_KERNEL_OPTIONS_NEEDED


   lilo,    : : /etc/lilo.conf 
# Linux bootable partition config
    image  = /boot/YOUR_KERNEL_NAME_HERE
    append = "hdc=ide-scsi"
    root   = /dev/hdx#
    label  = Gentoo
    read-only


  2.6.x 

   2.6.x      SCSI (, ,    ).  ,    ATAPI CDROM: Linux Kernel Configuration:   2.6.x 
Device Drivers  -->
    ATA/ATAPI/MFM/RLL support -->
        <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
            <*> Include IDE/ATAPI CDROM support


 ISO  

 ,  : mkdir /tmp/iso 

    ,    ,   . cp *.doc /tmp/iso 

  image.iso mkisofs -o /tmp/image.iso /tmp/iso 

    ISO  
-r :  ()     Rock Ridge, ..    unix  . ,    ͣ ( 255 ,    MS Windows),  .     -R,    Rock Ridge,      ,       . 
-jcharset=koi8-r :    2 : 1) -J   Joliet,      ͣ   MS Windows; 2) -input-charset        ͣ . ("koi8-r"     -   ,    ) 
-joliet-long : Allow Joliet filenames to be up to 103 Unicode characters. This breaks the Joliet specification - but appears to work. Use with caution. 
-f :   .      /tmp/iso,         ,      . 
-C :   ,       (.  [  ]) 

 ATAPI- 

 cdrecord --dev=ATAPI --scanbus 

      : 
Cdrecord-Clone 2.01a25 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J?rg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2 
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha. 
Warning: There may be fatal problems. 
Using libscg version 'schily-0.8'.
scsibus0:
       0,0,0     0) 'SONY    ' 'CD-RW  CRX175A1 ' '5YS2' Removable CD-ROM
       0,1,0     1) *
       0,2,0     2) *
       0,3,0     3) *
       0,4,0     4) *
       0,5,0     5) *
       0,6,0     6) *
       0,7,0     7) *

 ,    0,0,0  CD-RW . :    cdrtools (2.01.01)   2.6.x   cdrecord --dev=ATA --scanbus 


 ISO  

cdrecord --dev=ATA:0,0,0 /tmp/image.iso 

(  0,0,0  ) :  dev=ATA:0,0,0     , , dev=/dev/cdrw 


  
  --speed=#     

cdrecord --dev=ATAPI:0,0,0 --speed=4 /tmp/image.iso 
 --blank=fast    CD-RW . 

cdrecord --dev=ATAPI:0,0,0 --blank=fast 
      BURN-free.          cdrecord.  ,   --driveropts=burnfree.   ,  ݣ    CD-ROM   cdrecord dev=/dev/cdrw driveropts=help -checkdrive 
   /etc/default/cdrecord   CDR_DEVICE=ATAPI:0,0,0 (  CDR_DEVICE=/dev/hdc),        ( --dev=ATAPI:0,0,0)     CD-RW     : 

cdrecord --blank=fast 
      CD,      cdrom. 

  

     CD-ROM,     - .      (  dd, cat, cdrdao, readcd  ..).   readcd, ..      cdrtools,      ( man readcd): readcd dev=/dev/cdrw -clone f=/tmp/image.iso 

        cdrecord: cdrecord -v -eject dev=/dev/cdrw -raw96r -clone /tmp/image.iso 

:  -raw96r  -clone      -    readcd -clone. 

   

 ,      - ,    cdrecord   -multi,   mkisofs   -r  -R (..   Rock Ridge).         : Code:    

mkisofs -r -f -jcharset=koi8-r -o /tmp/image.iso /tmp/iso/ 

cdrecord -v -multi driveropts=burnfree -eject dev=/dev/cdrw /tmp/image.iso 


   ,                   .      cdrecord -msinfo dev=/dev/cdrw.        mkisofs      -C. ,       ,   -M,    -     CD-ROM (..    -  /dev/cdrw).  cdrecord   .       : Code:    

mkisofs -r -f -jcharset=koi8-r -C $(cdrecord dev=/dev/cdrw -msinfo) -M /dev/cdrw -o /tmp/image.iso /tmp/iso/ 

cdrecord -v -multi driveropts=burnfree -eject dev=/dev/cdrw /tmp/image.iso 


  
 how-to      : http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html 
    : http://www.opennet.ru/docs/HOWTO-RU/CD-Writing-HOWTO.html 
   (  ): en:HOWTO Create an Audio CD
 DVD



   

             DVD  Gentoo Linux. 

 

 ,       : 
transcode 

emerge -n transcode 
cdrecord  mkisofs 

emerge -n cdrtools 
growisofs 

emerge -n dvd+rw-tools 
dvdauthor 

emerge -n dvdauthor 

  : 
kino 

emerge -n kino 
cinelerra 

emerge -n cinelerra-cvs 
dvdrip 

USE='cdr mplayer ogg subtitles xvid rar' emerge -n dvdrip 
replex 

emerge -n replex 
cdrecord-prodvd 

emerge -n cdrecord-prodvd 

    DVD

 transcode           MPEG2,   DVD

  ,          ,      dvdrip,      transcode   . 

Transcode, ,     . , , ģ   man   transcode,    ,   .             ,         man .     ,    divx     (     ).        letterbox 1.5:1. ,  . ,       1.73 (16:9)   720x416. DVD        720x480, 704x480, 352x480  352x240 (   ).        -       720x480 ( 1.5),   32       . 
transcode -i test-divx.avi -V -y mpeg -F d -Y -32,0,-32,0 -E 44100 -b 128 -o showgirls-dvd

    -Y  transcode  ,         .    ,        .         720x480   - "" ,      ,       -Y. 

Here's what some of those command line arguments mean: ,    : 
-V      YV12/I420      [ ]
       ,  ,    RGB ,  
              .
          ,   .
-y vmod[,amod]
       [,]    [ ].  
        ,  transcode     .
         transcode   :
 <>
 mpeg - () MPEG 1/2 | () MPEG 1 Layer II
     nasm      .    
     .     .
            bbmpeg (  transcode). 
           mpeg1, VCD, SVCD, MPEG2  DVD  .
             ,   
              .
-F codec_string
         [  ].
        -F      .
<>
        -y mpeg:
          : -F "<base-profile>[,<resizer-mode>[,user-profile]]"
            <base-profile>    :
              '1' = MPEG 1 ( )
              'b' = big MPEG 1 ()
              'v' = VCD
              's' = SVCD
              '2' = MPEG2
              'd' = DVD 
            <resizer-mode>    :
               0 =  resizer ( )
               1 = 352x288
               2 = 480x480
               3 = 480x576
               4 = 352x240
            <user-profile>   .  
               
        (     transcode).
-Y top[,left[,bottom[,right]]]
        ( )      . 
            [ ].
-E r[,b[,c]]
           [],     
       [ ].  "-J resample"   
          .
-B n[,m[,M]]
          -n*M   
       [,-m*M]   [ ,32].
       M      8, 16  32.   M 
        .     fast  -Z 
          n  m .
-b b[,v,[q,[m]]]
          / [,vbr[,quality[,mode]]] [128,0,5,0]
        mode      lame
        .     mode:
          0    Joint Stereo ( )
          1    Full stereo
          2    Mono
-o file
         ,   [/dev/null].

 ,  ,     728x424,       : 
transcode -i showgirls-divx.avi -V -y mpeg -F d -B 1,1,8 -E 44100 -b 128 -o showgirls-dvd

    -X  ,    . 

 tcmplex      

Transcode    *.m2v (mpeg-2 )  *.mpa ()    .     : 
tcmplex -o showgirls-dvd.vob -i showgirls-dvd.m2v -p showgirls-dvd.mpa -m d

 kino ( transcode+tcmplex)

Kino      dv .       ( , ,  ).        (    dvgrab   ).    qt4linux mov    . 

    cinelerra, ,     Linux.   ,          (   ) .       .mov    kino (dvgrab)  cinelerra (  ,        ).     cinelerra,        mov. 

      .mov ,   ,     kino     export.      video   vcd, svcd  dvd.  DVD       (  ). 

 replex ( DVB     (Digital Television))

"       DVB-C,   " 

: ,      ,     ,     ţ.  ,    ;) 

Digital television streams are transmitted as MPEG2-TS in which the TS stands for Transport Stream. This means that extra information, such as multiple audio streams, could be transferred along with the actual video. Quite fortunately, the video stream is already suitable for DVD without re-encoding which is both time consuming and stupid as it lowers the quality. Enter replex. First use czap for tuning into some channel: 
czap -r -n 3

This tunes the DVB card to channel number 3. Now, record some data by typing: 
cat /dev/dvb/adapter0/dvr0 > stream.ts

This simply writes raw data from the first tuner card into a file. After awhile press CTRL-C to stop recording. 

Now, you should have a blob of data which could be played with e.g. mplayer. Next, you should use replex to transform TS format suitable for DVD. Enter following command: 
replex -k -i TS -t DVD -o stream.dvd stream.ts

This command ignores possible errors in original stream (-k), assumes that input file is in TS format (-i TS), outputs format suitable for DVD (-t DVD), writes to a file called stream.dvd (-o stream.dvd) and reads its input from the file entered as a last parameter (stream.ts). 

After a moment a file called stream.dvd should appear in the same directory where above command was entered. Now just follow the instructions from the next chapter onwards to burn this baby on a DVD. 

   (authoring)   dvdauthor

   !   MPEG2 ,   dvdauthor (       (, dvdstyler)),       DVD (VIDEO_TS  AUDIO_TS). 

dvdauthor -o . showgirls-dvd.vob && dvdauthor -o . -T 

 DVD   

     : [[1]] 

  AUDIO_TS  VIDEO_TS      bar,        ,   : 
mkisofs -dvd-video -o ./bar.img ./bar/

    bar.img   ,            . 

    AUDIO_TS  VIDEO_TS    bar/ : 

growisofs -Z /dev/dvd -dvd-video -V _ . 

 /dev/dvd -  DVD-writer. 



 Linux     DVD.      cdrecord  growisofs. 

   

 ISO      X-CDroast (  cdrecord-ProDVD,   ,    ). 

    k3b,   growisofs. , ,   . 

  

   ݣ  : 
cdrecord-ProDVD -dao -speed=4 -dev=/dev/dvd ./bar.img

  cdrecord -scanbus ,       .   ATAPI   -dev=/dev/dvd  -dev=/dev/hdd (  ),   SCSI   -dev=0,0,0  -dev=0,0,1 (  ). 

    cdrecord-ProDVD   growisofs. 
growisofs -dvd-compat -Z /dev/dvd=./bar.img

:   growisofs      (  ң  .iso): 
growisofs -dvd-compat -Z /dev/dvd -dvd-video ./bar



   ,     http://james.nontrivial.org/projdvd.htm 

 

 Portage
Portage  NFS
 
    'emerge --sync'     LAN. 
  gentoo,          

 

 NFS portage.      cron,      /usr/portage   NFS. 

  

1.   nfs  .      ,     modules.autoload 

2.  ,     nfs 

3.  emerge nfs-utils 

4.  NFS/fstab      portage. 

5.   PORTAGE_TMPDIR    . 

 
      portage (   cron'). 
   rsync . 
    /usr/portage/distfiles ,           ,    portage    . 
 , NFS -    ;) 

: NFS       . ,         ,      .   ! 


  

  

      NFS   ,     (     ): Linux Kernel Configuration:   
File systems ---> 
  Network File Systems --->
    <*> NFS file system support                                                                                                
    [*]   Provide NFSv3 client support                                                                                         
    [ ]   Provide NFSv4 client support (EXPERIMENTAL)                                                                          
    [ ]   Allow direct I/O on NFS files (EXPERIMENTAL)                                                                         
    <*> NFS server support                                                                                                     
    [*]   Provide NFSv3 server support                                                                                         
    [ ]     Provide NFSv4 server support (EXPERIMENTAL)                                                                        
    [ ]   Provide NFS server over TCP support (EXPERIMENTAL)                                                                   


   : Linux Kernel Configuration:   
File systems ---> 
  Network File Systems --->
    <M> NFS file system support                                                                                                
    [*]   Provide NFSv3 client support                                                                                         
    [ ]   Provide NFSv4 client support (EXPERIMENTAL)                                                                          
    [ ]   Allow direct I/O on NFS files (EXPERIMENTAL)                                                                         
    <M> NFS server support                                                                                                     
    [*]   Provide NFSv3 server support                                                                                         
    [ ]     Provide NFSv4 server support (EXPERIMENTAL)                                                                        
    [ ]   Provide NFS server over TCP support (EXPERIMENTAL)                                                                   


 NFS server support,          portage.   NFS    . 

      . Code:   

gentoo # mount /boot //    
gentoo # cd /usr/src/linux
  2.4:
gentoo # make dep && make bzImage modules modules_install install
  2.6:
gentoo # make && make modules_install 


 

,    NFS  , ,      ,  : modprobe nfs 

  

  nfs-utils: emerge nfs-utils     portage rc-update add portmap default 

rc-update add nfs default  crontab   (   ,  cron  ).  vixie-cron  dcron   : crontab -e  : 
0 0 * * * emerge --sync > /dev/null 2>&1 || true --nospinner && emerge world -vup

  /etc/exports  ,      : 
/usr/portage    ip_range/subnet(sync,no_root_squash,rw)

 /etc/fstab  ,     : 
SERVER_IP:/usr/portage  /usr/portage  nfs  bg,hard 0 0

 /etc/modules.autoload.d/kernel-version,   : 
nfs:      nfs.          emerge   ,     crontab .         10      .      . 
10 0 * * * emerge --metadata 


PORTAGE_TMPDIR

PORTAGE_TMPDIR     ( ). 

 PORTAGE_TMPDIR    /etc/make.conf      /var/tmp,      ,    ,    ,   ,   , : emerge info  ӣ   ( ӣ    ),       /usr/portage    (,       ) 

  

 crontab' 
0 0 * * * emerge --sync > /dev/null 2>&1 || true --nospinner && emerge world -vup

  ,    ,               emerge world -vup    root'  ,     -   ). 

/etc/exports:
"/usr/portage" -   
"ip_range/subnet" -          
"(sync,no_root_squash,rw)" -  ,    

/etc/fstab:
"SERVER_IP:/usr/portage" -    
"/usr/portage" -    
"nfs" -  
"bg,hard 0 0" -  ,    

/etc/modules.autoload.d/kernel-version:
"nfs"         kernel-version 

Comments 

? ? ?   . 

    "Error starting NFS daemon"  

# mount -t nfsd nfsd /proc/fs/nfsd 

   .

 Portage
Portage Setup Howto 

  

    ,       Portage. 

   howto? 

Portage      Gentoo Linux.         ,       USE-;   ;   ;  ;  ,  . . ,   ,    ,         ,    Gentoo Linux   .        . 

 Portage (Portage profiles) 

Gentoo   ,       .        .          ,     (,        hardened  selinux).  ,   ,   Gentoo  ,  ,        ;).      . 

,  ,    Gentoo-,     .       /usr/portage/profiles.      ,   . , 'default-x86-2004.2'       x86  2004.2.        deprecated,   ,           . 

           /etc/make.profile     . , ln -s /usr/portage/profiles/default-x86-2004.2 /etc/make.profile     Gentoo,      ,   .     /etc/make.profile  ,      . :         Cascading 

Profiles.    : 

default-linux/x86/2004.2/ 

  ,          .     ,       ,     ;). 
: -   cascading profiles  ,    ,       "Portage profiles" 


  

    : 
use-    
 ,    ,    

emerge system 
 . 
    . (CFLAGS, CHOST  ) 
       

(, xorg  xfree) 

     ,           rsync-.      portage     . 

/etc/portage  /etc/make.conf 

 ,     ,      /etc/portage.      ,    .    ,   Portage    : 

/etc/portage/package.mask 

:     DEPEND ATOM,      >, <, >=, <=, =, ,    .       . 

: >=net-www/mozilla-1.7 

 : 

net-www/mozilla-1.7 (  ) 

>=mozilla-1.7 ( ) 

:  .    ,  Portage     . ,     apache-1.3  apache-2.0 

/etc/portage/package.unmask 

:  ,    package.mask :  ,    .     .    ,    -  . 

/etc/portage/profile/package.provided 

:       ,   category/name-version : dev-lang/ghc-6.2.1-r1 :  'emerge --inject'.     package.provided Portage  ,       . :          

/etc/make.profile/package.provided (    emerge sync) 


/etc/portage/mirrors 

:       /usr/portage/profiles/thirdpartymirrors. :  ,      .     sourceforge  gnu,      . : 

sourceforge http://keihanna.dl.sourceforge.net/sourceforge 

      'local'.    ,    ebuild'   RESTRICT="NOMIRROR". : 

local ftp://gentoo.linux.kiev.ua/pub/Linux/Gentoo/distfiles/ 

/etc/portage/package.use 

: DEPEND ATOM USE- : x11-libs/gtk+ doc 

:   USE-    

/etc/portage/package.keywords 

: DEPEND ATOM KEYWORD KEYWORD   ,  ,      .   4  KEYWORDS: 
arch      arch 
~arch      arch,       
-arch        arch. 
-*       

: >=app-editors/emacs-cvs-21.3 ~x86 

:   KEYWORDS   .   ,            :) 

/etc/portage/categories 

:      . :       Portage. : 

app-vasia 

    ebuild    app-vasia. emacs ${PORTDIR_OVERLAY}/app-vasia/pupkin/pupkin-0.0.1.ebuild 

/etc/make.conf 

 /etc/make.conf       .     ,     /etc/make.conf.example. 

$PORTDIR_OVERLAY 

   :    , ebuild'     ,  -   .       ebuild',   ,  Portage     .     ebuild  /usr/portage,        rsync-.  ,  third-party ebuild' ,       (, /usr/local/portage)       $PORTDIR_OVERLAY   /etc/make.conf.      ebuild'   ,      .
Portage Overlay


       ebuild       . 

 Portage Overlay

     PORTAGE_OVERLAY ,      /etc/make.conf : /etc/make.conf 

PORTDIR_OVERLAY="/usr/local/portage" 


      ebuild'         . 

 ebuild

   /usr/local/portage,       install -d /usr/local/portage 

   ebuild  /usr/local/portage,         /usr/portage (category/program/program.ebuild) 

 digest-

digest- --  ,   md5  ,    .  ,  Portage   ,        md5- (      ).  ,  Portage   ,  digest-. Digest-      ebuild /usr/local/portage/category/program/program.ebuild digest        . 

       ebuild-.   ebuild-   ,  


ebuild /usr/local/portage/category/program/program.ebuild digest  : 

!!! /usr/local/portage does not seem to have a valid PORTDIR structure. 

      ebuild     ,     . 

: 

   ebuild: 

/usr/portage/media-sound/ncmpc/ncmpc-0.11.1-r1.ebuild 

   : 

/usr/portage/distfiles/ncmpc-0.11.1.tar.gz   ebuild-. 

       ebuild     .       ebuld   ,      '-rN',  N -  .      -  ţ : 

cp /usr/portage/media-sound/ncmpc/ncmpc-0.11.1-r1.ebuild /usr/local/portage/media-sound/ncmpc/ncmpc-0.11.1-r2.ebuild 

     ,     ebuild /usr/portage/distfiles/ncmpc-0.11.1.tar.gz     /usr/portage/distfiles/ncmpc-0.11.1-r2.tar.gz 

,       ebuild: 

vi /usr/local/portage/media-sound/ncmpc/ncmpc-0.11.1-r2.ebuild   : SRC_URI="http://mercury.chem.pitt.edu/~shank/${P}.tar.gz mirror://sourceforge/musicpd/${P}.tar.gz" 

 : SRC_URI="http://mercury.chem.pitt.edu/~shank/${P}-r2.tar.gz mirror://sourceforge/musicpd/${P}-r2.tar.gz" 

..    '-r2',   ,         .            ,       -      . 

    ebuild /usr/local/portage/media-sound/ncmpc/ncmpc-0.11.1-r2.ebuild digest,   emerge     . 

  ebuild

       ebuild,     masked,       /etc/portage/package.keywords 
  /etc/portage/,     ,    : 

echo "<category>/<package> ~x86" >>/etc/portage/package.keywords 

        : emerge -p package 

emerge package 



Unofficial ebuilds            

,   ebuild',       ,   Bugzill' Gentoo.   ebuild'    

    deltup
  ?

 ,   Gentoo Linux   .   . ,   , , gcc  openoffice   .            ,         .  ,    ,     deltup.  wget   emerge  getdelta.          ,        ,    .       ,     . 

  

 deltup
  deltup: emerge deltup  getdelta: emerge getdelta 

note.    emerge deltup   "!!!All ebuilds that could satisfy "deltup" have been masked."    ACCEPT_KEYWORDS="~x86" 

 emerge
   emerge       getdelta  wget.     /etc/make.conf  FETCHCOMMAND: : File /etc/make.conf 
..
FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"
..


 getdelta

 getdelta    :/etc/deltup/getdelta.rc.    : 
DELTUP_SERVER -    deltup .    ,   deltup-        ģ    linux01.gwdg.de. 
QUEUERETRY -  ,    getdelta,    dtu-. 
MAXIMUM_ACCEPTABLE_QUEUEPOS -     .      deltup-     . 
REMOVE_OLD -    . ,      . 
DO_NOT_REMOVE -   ,   ,        REMOVE_OLD 



          .   ,     emerge   FETCHCOMMAND,  RESUMECOMMAND.     RESUMECOMMAND  getdelta,   getdelta   .


        


            Gentoo .      portage-xxxxxxxx.tar.bz2.  portage-xxxxxxxx.tar.bz2.md5sum   40 (    ,       )     : 
  /var/tmp/emerge-webrsync/ : 

# mkdir /var/tmp/emerge-webrsync/ 
  portage-xxxxxxxx.tar.bz2  portage-xxxxxxxx.tar.bz2.md5,    ,     CD-ROM  (/mnt/cdrom/portage-xxxxxxxx.tar.bz2  /mnt/cdrom/portage-xxxxxxxx.tar.bz2.md5sum), : 

# cp /mnt/cdrom/portage-xxxxxxxx.tar.bz2 /var/tmp/emerge-webrsync/ # cp /mnt/cdrom/portage-xxxxxxxx.tar.bz2.md5sum /var/tmp/emerge-webrsync/      emerge -webrsync: # emerge-webrsync 

        xxxxxxxx. 

  portage-xxxxxxxx.tar.bz2  40  : 
    /usr/portage   /usr/portage2: 

# mv /usr/portage /usr/portage2 
   /usr/portage: 

# mkdir /usr/portage 
  /usr/portage2/distfiles  (    :) )   /usr/portage/distfiles: 

# cp /usr/portage2/distfiles /usr/portage/distfiles 
     portage-xxxxxxxx.tar.bz2,  ,  ,     CD-ROM  (/mnt/cdrom/portage-xxxxxxxx.tar.bz2), : 

# tar -xvjpf /mnt/cdrom/portage-xxxxxxxx.tar.bz2 -C /usr/portage 
        : 

# emerge metadata         xxxxxxxx,    /usr/portage2 - ţ . 

   HOWTO         .

        

       (   ) :  -   (,  -   :) ),    -   .        .      / glibc baselayout texinfo gettext zlib binutils gcc ncurses.       ,          . 

   : 

(  '2'  '>') Code: 

# emerge -fp glibc baselayout gettext zlib binutils gcc ncurses 2> stage1.list
# mount -t vfat /dev/fd0 /mnt/floppy
# cp /mnt/gentoo/stage1.list /mnt/floppy
# umount /mnt/floppy 


       . (     .)     stage1.list,  ,         .  ,    ,   .      : 

   : 

      emerge,       -   ! # cut -f 1 -d ' ' stage1.list > stage1.download 

  wget    : 

# wget -N -i stage1.download 

  ,       /mnt/gentoo/usr/portage/distfiles.     

# emerge -pv glibc baselayout gettext zlib binutils gcc ncurses 

   Total Download:   0 -     .    : 

# emerge glibc baselayout gettext zlib binutils gcc ncurses 

     .   stage1.download      .  ,       distfiles.      stage1.download    distfiles    .    - . 

  Gentoo.org: http://www.gentoo.org/doc/ru/altinstall.xml 

   HOWTO         

  
   /var/lib/portage/world 

 world    ,     ,     "system" (..   ). 
 world     ,  ..,      ,      -  (   / ,        - ) 
,     "system",     world 
 world     ,     /etc/portage/package.mask 
 regenworld    world   /var/log/emerge.log       world (   world!) 
 dep -p -w      world( ӣ-     world    system). 
 أ    /etc/portage/*, ..          . 

 profile 
  Gentoo release     profile (, 2004.1   profile). 
   profile ,       (   ,     deprecated  emerge      ). 
   profile   : http://www.gentoo.org/doc/en/gentoo-upgrading.xml        /etc/make.profile 

USE- 
 emerge -uDpv --newuse world    USE-     ,     

USE-   /etc/make.conf  /etc/portage/package.use 

   (    toolchain) 
 

emerge -uDav --newuse world 

       toolchain (linux-headers, glibc, binutils  gcc),        - .   -        : 

emerge -uDav --newuse world 

    emerge -U  -u 
 1:   SLOT 

,  ,  ,     gimp-2  gimp-1.2.  ,  gimp-1.2  stable    SLOT 1, gimp-2  unstable    SLOT 2.    ACCEPT_KEYWORDS=~x86 emerge gimp  gimp-2. 

,   ,       -   "emerge -U world",    gimp-1.2, ,  gimp   world-,   "-U"   SLOT  . 
 2: ,    ebuild-  Portage-. 

,  Portage  2   foo, foo-1.4 (  stable)  foo-1.6 (  unstable).    unstable   emerge,    gimp.   world    ,          foo-1.6 - foo-1.6.1.     . 
foo-1.6    Portage.   foo-1.4,   ""    "-U" 
   ,  foo-1.6   ̣  Portage  - : foo-1.6 (,    )        ,     stable -   foo-1.6. 

      toolchain 
  -   linux-headers, glibc, binutils  gcc,     ,    system,    world. :    toolchain -      toolchain    .  system/world   ֣  ,         (      toolchain - .    ). 

  system/world -          toolchain. system   world  - , ..     world    system. 

       gcc,           gcc-config -   gcc       " ",      . 
  system    toolchain     toolchain   system.    world  system       system   world.      ,    [1],      `emerge -k` (   ). 
,   : 
#  ,    `emerge -k`  
#     
# (.,    /tmp/portage-packages)
pkgdir=$(portageq pkgdir)
mv $pkgdir /tmp/portage-packages1
install -d -o portage -g portage $pkgdir
#   toolchain
emerge linux-headers glibc binutils gcc-config gcc
#   gcc      
gcc-config ____gcc
# . `gcc-config -l`
source /etc/profile
#  toolchain    
emerge -b glibc binutils gcc portage
#   glibc, binutils  gcc
emerge -bke system 
#     ( system)
emerge -bke world:     binutils-config,  -     gcc-config. 


 . :   `emerge -uDav --newuse world`     

      -  ! 

glsa-check -l | grep '\[N\]'
emerge ... #  

  . 

       ,    .    , ..        `emerge -uDav --newuse world`. 
emerge -a depclean #  !!!
      ,    : 

:  glsa-check, revdep-rebuild    gentoolkit 

rm /root/.revdep-rebuild*.?_*
revdep-rebuild -p
revdep-rebuild

 . 
dispatch-conf
  runit-init    baselayout,    /sbin/init: 
ls -l /sbin/*init*
if (/sbin/init  ,   ) {
mv /sbin/init /sbin/init-sysv
ln -s runit-init /sbin/init
}
     . 

  emerge world    , ޣ      ,          . 

       log-    emerge world.      enotice,  portlog-info.

   

    ,      - ,    . 

        ,           , ,    Gentoo  ,      CD  . 

 Gentoo    x86 (, Pentium Pro 200MHz    RAM)   x86_64-   Gentoo.  ,  64-   32- , . 

    chroot-  Gentoo-handbook,   64bit-Gentoo  "" CD: 
# mkdir /your/new/gentoo
# tar xjvpf stage3-x86-*.tar.bz2 -C /your/new/gentoo

  CHOST  CFLAGS,     (  CHOST,    2  3 -     ).   : 
# CHOST="i686-pc-linux-gnu"
# CFLAGS="-march=pentiumpro -Os -momit-frame-pointer -pipe" 
# CXXFLAGS="$CFLAGS"

   chroot-    ,    Gentoo  . 

    i386  x86_64-  ARCH=i386     . 
# make menuconfig ARCH=i386
# make clean dep modules modules_install bzImage ARCH=i386
# cp arch/i386/boot/bzImage /boot/vmlinuz

             "" CD    Linux. 

     : 
# cd /your/new/gentoo
# echo "/sys/*" >> tar_exclusions
# echo "/var/run/*" >> tar_exclusions
# echo "/tmp/*" >> tar_exclusions
# echo "/proc/*" >> tar_exclusions
#
# tar -C /your/new/gentoo -X tar_exclusions --preserve -cf ../gentoo.tar .
##   -v     -j / -z  
# scp [-P ssh_port]  ../gentoo.tar user@dest_pc:

       : 
# tar -C /your/new/system --preserve -xf ~user/gentoo.tar 

     chroot-.     .     ,  , Gentoo. 

   ,     -     . ,     C-,  gcc ( configure ,  /lib/cpp fails sanity check).   ,   /usr/include  chroot-         . 

! 

  http://gentoo-wiki.com/HOWTO_Compile_on_another_computer 
 Poor Fred



 MS Windows -


        M$ Windows. 

 

 ,       FAT  NTFS,      . Linux Kernel Configuration: Filesystems 
File systems -> 
  DOS/FAT/NT Filesystems ->
    (M) DOS FAT fs support
    (M)   MSDOS fs support
    (M)   VFAT (Windows-95) fs support
    (M) NTFS file system support


     : Linux Kernel Configuration: Native Language Support 
File systems -> 
  Native Language Support ->
    <M> Windows CP1251 (Bulgarian, Belarusian)
    <M> Codepage 866 (Cyrillic/Russian)


 

    windows-  mount. mount -t file_system /dev/device /mnt/dir      file_system   vfat  ntfs,        windows. 

 FAT

   FAT    : mount -t vfat -o codepage=866,iocharset=koi8-r,quiet,umask=000 /dev/hdd2 /mnt/win1   : mount -t vfat -o codepage=866,iocharset=koi8-u,quiet,umask=000 /dev/hdd2 /mnt/win1     iocharset, codepage, quiet  umask.   : 
codepage -       .     ,   codepage=866.       . 
iocharset -      /.    .     locale. (  /       .      , ..       .) 
quiet -      FAT     ,   ..,   FAT          (    ).         ""  
umask -                -       .     FAT   ,     (    Linux )        umask.  umask   umask(2) 

 codepage  iocharset     .        : Linux Kernel Configuration: FAT 
File systems -> 
  DOS/FAT/NT Filesystems ->
    (utf8) Default iocharset for FAT
    (866) Default codepage for FAT


   mount -t vfat -o codepage=866,iocharset=utf8,quiet,umask=000 /dev/hdd2 /mnt/win1   mount -t vfat -o quiet,umask=000 /dev/hdd2 /mnt/win1 

 NTFS

  NTFS   mount  .   : mount -t ntfs -o nls=koi8-r,umask=0,ro /dev/hdd2 /mnt/win1   : mount -t ntfs -o nls=koi8-u,umask=0,ro /dev/hdd2 /mnt/win1    : 
nls -     .   codepage  iocharset   , NTFS       . 
umask -           .       ro.    ,      NTFS   . 

         utf-8,   mount   : mount -t ntfs -o utf8,umask=0,ro /dev/hdd2 /mnt/win1 
utf8 -  UTF-8   ͣ . 



        Windows  ,       .     /etc/fstab. : /etc/fstab 

...
/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-r,quiet,umask=000 0 0 
#/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-u,quiet,umask=000 0 0 
/dev/hda3 /mnt/win2 ntfs auto,nls=koi8-r,umask=0,user 0 0 


     showexec,      ,    FAT32


Udev
  

   

emerge udev hotplug coldplug 

  

  udev    2.6.    2.6.12-mm1. 
General setup --->
 [*] Support for hot-pluggable devices
File systems --->
 Pseudo filesystems --->
  [ ] /dev file system support (OBSOLETE)
  [ ]   Automatically mount at boot (NEW)
  [*] Virtual memory file system support (former shm fs): devfs   ,      .    ,   2.6.13    ...   . 
:   ,  2.6.14  


   . 

  

    udev   ,    udev. 

/etc/conf.d/rc: 
...
RC_DEVICE_TARBALL="no"
...
RC_DEVFSD_STARTUP="yes"
...:      "no",       udev 


rc-update add coldplug boot rc-update add hotplug default 

   

GrUB 

  kernel     : 
kernel /boot/kernel-2.6.9-r4 root=/dev/hda3 gentoo=noudev

   kernel    : 
kernel /boot/kernel-2.6.10-r6 root=/dev/hda3 gentoo=nodevfs

Troubleshuting 

   

   ,      .   : 

WARNING: Unable to open an initial console 

     ,       (  LiveCD)    ,    /dev (      )  : Code: 
# mknod -m 660 console c 5 1
# mknod -m 660 null c 1 3



POMAH007:     -    ?  udev guide  www.gentoo.org (http://www.gentoo.org/doc/en/udev-guide.xml),    /dev   : Code: Code Listing 3.1: Listing device nodes available at boot 
# mkdir test
# mount --bind / test
# cd test/dev
# ls


   

     ,     ...        Xorg    : 

Option "Device" "/dev/input/mice" 

PS 

       .     .     ,     ,   /etc/conf.d/rc - "no"     udev. 

PPS 

      ,       


 CFLAGS    

    ?

         ,     ;-).       Gentoo' ;)           .       ,     . 



  CFLAGS
     GCC,    CFLAGS.     /etc/make.conf, ţ    : 
    /etc/make.conf; 
    (emerge    ,     export ): 

export CFLAGS=' ' 

 

 gcc  3.x     5  : -O0 ( ), -O1, -O2  -O3 (O3 -   ),    -Os. 
:     -O ,          . 

-O0 
 .  ,  register,   . 

-O(-O1) 
 .        .    .   -O   : -fthread-jumps, -fdefer-pop. 
 ,     ,   -fdelayed-branch. 
  ,          ,    -fomit-frame-pointer. 
        . 

-O2 
  . GCC     ,           .        ,    -O2.    -O,      ,     . 
-O2       -O.     : 
          -fforce-mem -foptimize-sibling-calls
          -fstrength-reduce -fcse-follow-jumps  -fcse-skip-blocks
          -frerun-cse-after-loop  -frerun-loop-opt -fgcse  -fgcse-lm
          -fgcse-sm -fgcse-las -fdelete-null-pointer-checks -fexpensive-optimizations
          -fregmove -fschedule-insns  -fschedule-insns2 -fsched-interblock
          -fsched-spec -fcaller-saves -fpeephole2 -freorder-blocks
          -fre-order-functions -fstrict-aliasing -funit-at-a-time -falign-functions
          -falign-jumps -falign-loops  -falign-labels -fcrossjumping

-O3 
  .    -O2     -finline-functions  -fweb. 

-Os 
   . -Os       -O2,   ,      .        . 
-Os    : -falign-functions, -falign-jumps, -falign-loop, -falign-labels, -freorder-blocks, -fprefetch-loop-arrays. 

:     -Ox, -fflag   man gcc 

   

   ,       .    -mtune  -march.  ,   -mtune   ,       ,     -march   .      : 
i386 
i486 
i586 
i686 
pentium 
pentium-mmx 
pentiumpro 
pentium2 
pentium3 
pentium4 
pentium-m 
prescott 
nocona 
k6 
k8 
k6-2 (  , -   ,   i686) 
k6-3 
athlon 
athlon-tbird 
athlon-4 
athlon-xp 
athlon-mp 
athlon64 
opteron 
winchip-c6 
winchip2 
c3. 

! pentium-m -    pentium3.      Mobile Intel Pentium 4 - M,     pentium4  pentium4m ( ) 

   

     . emerge acovea 

      pentium 3/4,   gcc 3.3/3.4,          .       -ftracer  -mfpmath=sse.          . 

    runacovea -config gcc33_pentium3.acovea -bench evobench.c        . 

  ,     /usr/share/acovea/benchmarks,     /usr/share/acovea/config,       .
 nano

nano - Nano's ANOther editor

Nano -      ,   pico 



emerge nano 

: /etc/nanorc 

   




  
nano -w somefile 

 -w     .
Udev   
 

      ,   udev      usb-.  ,       .      -      ?       . 

 

     udev: 

sys-fs/udev-069 

      , ..       firmware   .      -  -,      . 

 udev 

   flash- 

 udev,       ,     ,   /etc/udev/rules.d/*.      ,  ,     2: 
# ls /etc/udev/rules.d
05-udev-early.rules
50-udev.rules

     .   ,  udev          . ,    udev   2  : 
Udev    /etc/udev/rules.d   . 
     , udev   . 

      ,    ,       (50-udev.rules).   10-udev-my.rules.     : : /etc/udev/rules.d/10-udev-my.rules 
# First rule
SUBSYSTEM=="block", KERNEL=="sd*", ACTION=="add", NAME="%k", GROUP="disk", RUN+="/etc/udev/scripts/udev-flash-mount add %k"
#Second rule
SUBSYSTEM=="block", KERNEL=="sd*", ACTION=="remove", RUN+="/etc/udev/scripts/udev-flash-mount remove %k"



   ,  . 
  ( ) 
SUBSYSTEM=="block"           . block -     ,        .     ,    udevmonitor --env ..      ,      SUBSYSTEM   block . 
KERNEL=="sd*"      ,      ,  .        : sda, sda1, sdb, sdb1  .. 
ACTION=="add"     . , usb     . 
NAME="%k"    ,      ,   ,     .    ,   .      ,   ,      . %k     .       man udev. 
GROUP="disk"     . 
RUN+="/etc/udev/scripts/udev-flash-mount add %k"     .    ("+=")   ,     .       (   ) /etc/udev/scripts/udev-flash-mount    2 .              ,     ,     . 
  ( ) 
ACTION=="remove"    . 
RUN+="/etc/udev/scripts/udev-flash-mount remove %k"    ,    ,          .        ,      .     , ..    ,      . 

  

  ,          .      /usr/bin/. ,   root: 
# su

 : 
# touch /etc/udev/scripts/udev-flash-mount

  : 
# chmod u+x /etc/udev/scripts/udev-flash-mount

   : : /etc/udev/scripts/udev-flash-mount 
#!/bin/bash

LOG="/var/log/udev"
 
sleep 3
  
DEV=`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'`
if [ "$1" = "add" ]; then
  if [ "$DEV" != "" ]; then
    echo "--- `date` ---" >> $LOG
    echo "Mounting /dev/$DEV" >> $LOG
    mkdir /mnt/$DEV >> $LOG 2>&1
    chmod a+rwx /mnt/$DEV >> $LOG 2>&1
    mount /dev/$DEV /mnt/$DEV -o sync,umask=0000,iocharset=cp1251 >> $LOG 2>&1
  fi
elif [ "$1" = "remove" ]; then
  if [ "$DEV" != "" ]; then
    echo "--- `date` ---" >> $LOG
    echo "Unmounting /dev/$DEV" >> $LOG
    umount /dev/$DEV >> $LOG 2>&1
    rm -rf /mnt/$DEV >> $LOG 2>&1
  fi
fi


  3      ,         .   ,    .      add,       ,       .  ,     ,    . ,      remove,         . :  sync   mount  , ..     .    ,       ,      . ,     ,            .     fat c   linux 2.6.13 sync   ..           usb2.0  200      usb1.0    10 - 20   .  ,  sync   mount       6  . . http://bugs.debian.org/309625 
: !  -     ,    ,         .     ,         . 


 

    . ,     ,   ,         udev , ,   .           - .    , 

  glibc

 

Glibc -  ,           GNU/Linux.  C   Σ ,     Linux,      glibc -      . Glibc           . , ,      ţ .       USE,    emerge.           USE.    . 

  Glibc 

 CFLAGS 

 Glibc   GCC     glibc. Glibc  GCC       CFLAGS. .    CFLAGS   ,     glibc. 

  

   -fomit-frame-pointer,     glibc-omitfp   USE.   glibc. Code: Remerging glibc 
emerge --newuse -v world


   Glibc  ţ .   glibc     -enable-omitfp, ,   ,  glibc   --fomit-frame-pointer.       .      glibc      - ''  ''.  ,      ,       '' .    glibc        --fomit-frame-pointer, ..    (debug) ,            .        ,      ,      . 

  

glibc  2    -  linuxthreads   nptl.  ,      nptlonly,  nptl     linuxthreads.  ,       ,     nptl.         ,    nptlonly,    glibc  (  linuxthreads   ţ). 

 

        Gentoo  8  2004 ,     (en:TIP Specifying only needed locales).   ,   (    ,   ..)    .     ,    ,     ,   aa_DJ (   )  en_GB (   )   zu_ZA.utf8 (    ).         90% ,   Glibc   ,  ,       ,  ,    .         (  ,     ),      . 

  USE userlocales     ,    /etc/locales.build. 

 /etc/make.conf       userlocales -  ""   USE="". 

  -  /etc/portage/package.use   : Code: Activating the userlocales USE flag for glibc 
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use


     ,   : : nano -w /etc/locales.build 
#       !
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
#en_GB/ISO-8859-1
#en_GB.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15
ru_RU.UTF-8/UTF-8



 glibc-2.3.6-r4  glibc-2.4-r2,  ̣  userlocales.     /etc/locale.gen   /etc/locales.build. 

      : Code: Convert locales.build to locale.gen 
cd /etc
grep '^[^#].*' locales.build | sed 's:/: :' > locale.gen
rm locales.build
nano -w locale.gen
: nano -w /etc/locale.gen 
#       !
en_US.UTF-8 UTF-8
en_US ISO-8859-1

ru_RU.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15


        /usr/share/i18n/SUPPORTED. 

!   ,      ! 

 ,  .         <locale>/<charmap>. <locale>     /usr/share/i18n/locales,  <charmap> --       /usr/share/i18n/charmaps/.     : ,    ,   ,   @euro,    . ,  UTF-8     .UTF-8     (,   , ,     ). 

        ,         . -      ,      de facto,   ӣ      ISO, ASCII  .        ,         Gentoo. 


    : : nano -w /etc/locales.build 
# !
en_US.UTF-8/UTF-8
ru_RU.UTF-8/UTF-8


 ,    US UTF-8.    ,        ţ. 

    Gentoo 

         .     Gentoo Handbook.              . 

    Gentoo 

 glibc  ,    glibc: Code:  glibc 
emerge glibc


    world,        ,             . ģ        . 

,       localepurge,        man   info-       .   man  localepurge,    ,     /etc/locale.nopurge. 

       Gentoo Linux Localization Guide. 

        Gentoo Linux. 

    ( ,       ,  !). 

 

    ? ,   ,    ,         ӣ  .   , ,  ,      ,    . 

 Glibc 

  ( , , ...)   USE hardened.          . 

  

  erandom       ,    .

 USB-flash

 USB-flash  


 Linux          ,    -       USB , ..       :),  ,   -   .    -   . 
,   -    USB,     -     USB . :     USB   , ..      -         . 



,  

 
USB    Linux  scsi ,  usb    Linux     , ..  /dev/sda1(2,3)  .,   . 
,     ,     scsi   Linux Kernel Configuration:   SCSI 
Device Drivers ---> 
 SCSI device support
  <*>legacy /proc/scsi/ support
  --- SCSI support type (disk, tape, CD-ROM)
  <*> SCSI disk support
  <*> SCSI generic support
  --- Some SCSI devices (e.g. CD jukebox) support multiple LUNs
  <*> Probe all LUNs on each SCSI device

    USB (        USB,     ) Linux Kernel Configuration:  USB 
Device Drivers --->
 USB support
  <*> Support for Host-side USB
  <*> USB device filesystem
  <*> EHCI HCD (USB 2.0) support
  < > OHCI HCD support
  <*> UHCI HCD (most Intel and VIA) support
  <*> USB Mass Storage support
:   USB Mass Storage support     -     ,     . ,     (    )       . 

 ,          MTD   Linux Kernel Configuration: MTD 
Device Drivers --->
 Memory Technology Devices (MTD) --->

   ,  . :    , USB      MTD  . 



    ,  Alt+F12    -     -    ,     USB ,  ,   /dev/uba   .. 
   ,  
dmesg | grep usb 
    ,        USB   BIOS :)     ,      ,   ,    ,   15  -      :) 
 dmesg | grep usb  ,     -  ,      -     . 
 -  ,        . 
  /etc/fstab  : /etc/fstab 
/dev/uba1 /mnt/usbdir auto user,noauto,rw 0 0 

  !    ,      , ..       Native Languages  . 
          ! 
     ,      submount     : : /etc/fstab 
 /dev/uba1 /mnt/usb  subfs  fs=vfat,auto,umask=0,quiet,sync 0 0 

 sync              . 
  .  ! 
 -   , ,         :) 


, -  tradakad 

     submount (dernik) 

  kde

 : hal, dbus, and hotplug 

  hal  /etc/make.conf 
emerge -avt kdebase-kioslaves 

,  hal   : 
emerge -DNu world
rc-update add dbus default
/etc/init.d/dbus start
rc-update add hald default
/etc/init.d/hald start

       /etc/fstab   
emerge -av pmount


    plugdev 
gpasswd -a USER plugdev

 "Storage media" ("  "   )  systray ( ).  :) 

  

         ,  ,      ,   managed  /etc/fstab   ,  : /etc/fstab 
 /dev/cdrw    /mnt/cdrom    iso9660    user,noauto,ro,managed    0 0
 /dev/sda     /mnt/flash    vfat       exec,user,noauto,sync,managed    0 0


, ,            . 

ps.    .  gpasswd  : http://gentoo-wiki.com/HOWTO_D-BUS,_HAL,_KDE_media:/

- NTFS    ntfs-3g



" ntfs-3g  ,   GPL,  NTFS  Linux,     Linux-NTFS.       NTFS (-),         .           .       ntfsmount.  ,     ." (Szakacsits Szabolcs,  ntfs-3g) 

  ,      ,    NTFS  Linux,      ,      Linux -           EXT3  . 

     : [1] :    BETA,    ۣ ,    /     .     ,   x86  amd64. 

        !!!    -   !!! 




ebuild    sys-fs/fuse (portage   ). 

       -,    : 
# echo "sys-fs/ntfs3g ~x86" >> /etc/portage/package.keywords

  : 
# emerge sys-fs/ntfs3g

  fuse       
# modules-update
# modprobe fuse

 

 : 
# ntfs-3g /dev/hda1 /mnt/windows


    ,    ,     (   ru_RU.utf8,      ): 
# ntfs-3g /dev/hda1 /mnt/windows -o silent,umask=0,locale=ru_RU.utf8 

 
# fusermount -u /mnt/windows


    ntfs-3g     . 
$ man ntfs-3g

  :

    fuse    : 
# echo "fuse" >> /etc/modules.autoload.d/kernel-2.6

 /etc/fstab: 
# echo "/dev/hda1 /mnt/windows ntfs-3g silent,umask=0,locale=ru_RU.utf8 0 0" >> /etc/fstab

  

      ,  : 
# emerge sys-fs/fuse
# modules-update
# modprobe fuse

  

        ,     . ӣ    -       .

 
 Apache2
 

Apache2       ,        Common Problems   . 

  apache2:  "apache2"   USE    /etc/make.conf   
emerge apache

 Apache 

 Apache2: 
/etc/init.d/apache2 start

    apache2     : 
rc-update add apache2 default

 init scripts section   . 

       Apache2.       http://localhost/      . 

Apache's simplest functionality is just serving plain old files. The basic pattern is: replace http://hostname/ with the directory (document root) that contains the website.   Apache2   ,      /var/www/localhost/htdocs/ .   -: 
http://hostname/index.html  /var/www/localhost/htdocs/index.html 
http://hostname/foo/bar.txt  /var/www/localhost/htdocs/foo/bar.txt 


   /var/www/localhost/htdocs/index.html HTML        http://localhost/.   Apache  htdocs/index.html     htdocs/ .    HTTP. Apache        .  (index)      . Apache      index      .       'index'    ;           . 

 

Apache is extremely versatile.   ӣ   HTTP      FTP.       ,   PHP .    Apache  .      .     .    , ,  (). 

 Apache   mod_something.          .     . T    : 
emerge module 
 /etc/conf.d/apache2    -D MOD 
 /etc/apache2/modules.d/xy_module 
    httpd.conf  .htaccess 
emerge mod_perl
nano /etc/conf.d/apache2
# change APACHE_OPTS="" to APACHE_OPTS="-D PERL"

      Apache Index in this wiki.     the documentation      Apache. 

 

  httpd.conf, (/etc/apache2/httpd.conf,)    Gentoo    Apache. However, it probably does both more and less than you need it to. Apache configuration files have a consistent syntax. 

    #  
# Apache    
#  

           . 
SomeDirective one or more arguments

     .      . 
<Section>
  # Will only apply when the section matches
  AnotherDirective
</Section>

    .    httpd.conf: 
# If mod_alias is loaded
<IfModule mod_alias.c>
    # Alias is a directive and it only applies if mod_alias is loaded
    Alias /icons/ "/usr/share/httpd/icons/"
    # If the file is in the directory
    <Directory "/usr/share/httpd/icons">
        # Options will only apply if:
        #   mod_alias is loaded AND
        #   the file is in the directory
        Options Indexes MultiViews
    </Directory>
</IfModule>

    configuration files  sections    Apache. 

Common Problems 

SSI Not Working 

When configuring for SSI (Server Side Includes), an error may occur: 
mod_include: Options +Includes (or IncludesNoExec) wasn't set, INCLUDES filter removed

The problem is that setting Options +Includes in either .htaccess or httpd.conf is overwritten by the additional configuration file as defined at the end of httpd.conf. 
Include /etc/apache2/vhosts.d/*.conf

You need to edit this additional configuration file such that 
AllowOverride None

Is replaced by 
AllowOverride Options

Could Not Open Error Log 

While starting Apache, it prints: 
Error while starting apache: (2)No such file or directory: apache2: could not open error log file /usr/lib/apache2/logs/error_log.

/usr/lib/apache2/logs should be a symlink pointing to /var/log/apache2 . Check it using: 
ls -la /usr/lib/apache2/logs

(note the lack of a slash on the end). If /var/log/apache2 is missing, create it and make sure you give apache ownership: 
mkdir /var/log/apache2
chown apache:apache /var/log/apache2

If the symlink /usr/lib/apache2/logs is missing, you can create it: 
ln -s /var/log/apache2 /usr/lib/apache2/logs

You don't need to set permissions on the symlink. 

Check the Logs 

See /var/log/apache2/error_log for errors, especially towards the end of the file. You may find tail useful because it displays only the last few lines of a file: 
tail /var/log/apache2/error_log

If you wish to keep an eye one the log the -f option for tail may be useful: 
 tail -f /var/log/apache2/error_log

Here's one error you might see: 
Error: [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of ""

With the base installation "mod_unique_id" is turned on, this can cause problems, notably the server not starting. Simply comment out this module in /etc/apache2/httpd.conf and the problem will be solved. 

(Your config file might be /etc/apache2/conf/apache2.conf) 

Forbidden User Directories 

If the server is returning "403 Forbidden" while accessing http://server/~username/ Make sure Apache (usually user apache and group apache) has read access to username's home directory and public_html (or equivalent). You can grant everyone read access using: 
chmod 755 ~username/ ~username/public_html/

Not Enough Entropy 

If Apache2 
accepts connections 
does not respond to clients 
creates exactly one process 
is not stopped by 
/etc/init.d/apache2 stop

Check to see how much entropy is available using: 
cat /proc/sys/kernel/random/entropy_avail

If little entropy (less than 100) is available, Apache2 is probably waiting for more so it can generate the secret for digest authentication (mod_auth_digest). To generate more entropy, just do something else for a little while. Grepping the kernel or emerging a package usually works well. 

The video-entropyd and audio-entropyd supply /dev/random with entropy gathered from your video and audio devices, respectively. If you have a hardware random number generator (RNG), you can emerge rng-tools and run rngd. 

If there's still a shortage of entropy, you can enable the urandom USE flag and re-emerge APR and Apache2. This makes APR use /dev/urandom, which falls back to a pseudorandom number generator when there isn't enough entropy. The program gets a number immediately, but it is cryptographically weaker. This is okay for some things (e.g. solitaire), but completely unacceptable for others (like PGP key generation). 

Confusing config files 

If you start the Apache2 server with the startup script /etc/init.d/apache2 check to see if the line 

local myconf="/etc/apache2/httpd.conf" 

from /etc/init.d/apache2 points to your configuration script. If it points to apache.conf and you use httpd.conf, make the necessary adjustments. 

See Also 

Configure LAMP (Linux, Apache, MySQL, and Python/PHP/Perl) - A popular web server combination 
Apache Installation & Configuration 
How to install mod_security for Apache

 iptables  
 

     iptables   .      .    ,          . 

    - ,  ... 
ӣ    .      ,  ,    .    ,          iptables.   ,         ,  ţ ޣ ,   ,         . 
           Linux  Gentoo Linux  .           ifconfig, rc-update, /etc/conf.d/net,   .       , ,      Gentoo  Linux Help's Networking Basics 101 

   Linux 

    -    iptables. 
Networking --->
  Networking Options---->
   Network Packet Filtering (replace Ipchains)--->
    Netfilter Configuration
     (        ,   ,   ). 

 iptables 

     iptables: emerge iptables 

  

,     2  : eth0 -    ppp0 -  . 

    ping: Code: ping 
ping www.google.com
ping 192.168.1.78 
ping 192.168.2.77


 iptables 

 iptables: /etc/init.d/iptables start 

          Linux.   iptables  : rc-update add iptables default 

 /etc/init.d/iptables 

 /etc/init.d/iptables    (/etc/init.d/iptables <>),   : 
start -  iptables.    (   /var/lib/iptables/rules-save); 
stop -   ; 
save -   . 

  

      : iptables -A  _ -j  

 

      filter,      .   filter  3 : INPUT, OUTPUT  FORWARD.     "" : 
INPUT -    .    . 
FORWARD -      ,    . 
OUTPUT - ,    ,   . 

   : iptables <> <> 

      : 
-A -     .      . 
-I -     ,    .  : 

iptables -I INPUT 2 bla-bla-bla -    . 
-D -  .      : 

iptables -D INPUT 5 
-F -    . , ,   . 
-N -   .        ,     .  : iptables -N .   , ,  . 
-X -   . 

:   INPUT, OUTPUT  FORWARD . 
-P -    . : 

iptables -P   

  

      ?   . 

  

      -s.        192.168.133.133: iptables -A INPUT -s 192.168.133.133 -j DROP 

       .  : iptables -A INPUT -s test.host.jp -j DROP 

    : iptables -A INPUT -s 192.168.133.0/24 -j DROP 

     ( !).   -       192.168.133.156  : iptables -A INPUT -s ! 192.168.133.156 -j DROP 

  

     -d.        192.168.156.156: iptables -A OUTPUT -d 192.168.156.156 -j DROP 

             .   . 

 

 -p   .   all, icmp, tcp, udp. 

  

       .  : iptables -A INPUT -p tcp --sport 80 -j ACCEPT 

      (tcp  udp).   . 

  

 . : iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

         .   . 

   

  ,     . ,    .     -j.   : 
ACCEPT -  . 
DROP -  . 
REJECT -   ICMP ,   . 
LOG -          (syslog). 

        .         ,     : iptables -A INPUT -s 192.168.200.0/24 -j LOCAL_NET 

  

        : iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -P INPUT DROP 

    .    ,     .      . 

 

  ,    iptables .     iptables    .      -m. : iptables -A INPUT -m  bla-bla 

-m owner 

   (    OUTPUT): 
--uid-owner UID - UID   . 
--gid-owner GID - GID   . 
--pid-owner PID - PID   . 
--sid-owner SID - SID ( )   SID ,  SID     "". 
--cmd-owner NAME -    . 

-m multiport 

     ,   : 
--source-ports 1,2 -  ,    ; 
--sports 1,2 -   --source-ports; 
--destination-ports 1,2 -   ; 
--dports 1,2 -   --destination-ports; 
--ports 1,2 -        . 

-m state 

        --state.    : 
NEW -    . 
ESTABLISHED -     . 
RELATED -     . 

-m mac   -  , : iptables -A INPUT -s 192.168.0.1 -m mac --mac-source 00:65:3F:ED:12:98 -j DROP      !

  iptables




  iptables      .         , , ,       .                . 
    ,    pppoe   2.6.x .        ppp0  eth0 (         ) 

    - ,  ...
1.ӣ    .     ,  ,    .   ,          iptables.   ,         ,  ţ ޣ ,   ,         . 
2.    . ,      , man iptables          ,          . 
3.           Linux  Gentoo Linux  .           ifconfig, rc-update, /etc/conf.d/net,   .       , ,    The Gentoo Handbook  Linux Help's Networking Basics 101 

 

    -    iptables. Linux Kernel Configuration:  IPTables 
Device Drivers--->
 Networking Support--->
  Networking Options---->
   Network Packet Filtering (replace Ipchains)--->
    Netfilter Configuration

      (  ,       )   ip_iptables  modules.autoload.        .  ip_conntrack   "statefull" ,     .      : 

# modprobe ip_tables 

 

     iptables: 

# emerge iptables 

 
   	HTTP, SMTP, SSH, SNMP, FTP, NNTP, NTP, LDAP, ...
 	TLS, SSL, RPC, WSP...
 	TCP, UDP, SCTP, ICMP, OSPF, RSVP, VRRP, RTP, DCCP ...
 	IPv4, IPv6, ARP, RARP, MPLS, IPX ...
 	Ethernet, 802.11, xDSL, Fibre Channel, FDDI, ATM, ISDN ...


    3  .    WAN  pppoe.   -    .  ,      iptables   (NAT'),       .  , 2        (  ).   IP-: 192.168.1.1  192.168.2.1. 

 ,            ,     .  pppoe    ,       ,        IP-.    /etc/conf.d/net   .   ,  pppoe     ,      .             .  conf.d/    : 

: /etc/conf.d/net 
 #  pppoe        [[eth0]], 
 #   net.ppp0  rc-pppoe  default  .
 iface_eth0="192.168.1.98 broadcast 192.168.1.255 netmask 255.255.255.0"
 iface_eth1="192.168.2.98 broadcast 192.168.2.255 netmask 255.255.255.0"

,      . 

1: /etc/conf.d/net 
 iface_eth0="192.168.1.77 broadcast 192.168.1.255 netmask 255.255.255.0"
 gateway="eth0/192.168.1.1"


2: /etc/conf.d/net 
 iface_eth0="192.168.2.77 broadcast 192.168.2.255 netmask 255.255.255.0"
 gateway="eth0/192.168.2.1"


      IP   ,   .      default     : 

# rc-update add net.eth1 default && rc-update add net.eth2 default && rc-update add net.ppp0 default 

 

# /etc/init.d/net.eth1 start && /etc/init.d/net.eth2 start && /etc/init.d/net.ppp0 start 
 : 

# /etc/init.d/net.eth0 restart 

 

   ,      ,        .  : Code: ping 
ping www.google.com; 
ping 192.168.1.78 
ping 192.168.2.78
ping 192.168.1.77
ping 192.168.2.77

      DNS-  /etc/resolv.conf 

Scripting
  ... iptables  NAT( ).         ,       . :   ,     ,   ...       .   ,         . 
: /var/lib/iptables/rules-save 
#!/bin/bash

IPTABLES='/sbin/iptables'

#  
EXTIF='ppp0'
INTIF1='eth1'
INTIF2='eth2'

#   ip  .
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

#      
$IPTABLES -F
$IPTABLES -X

#       
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

#     $INTIF1    $EXTIF
$IPTABLES -A FORWARD -i $INTIF1 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT

#     $INTIF2    $EXTIF
$IPTABLES -A FORWARD -i $INTIF2 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT

#echo -e "       -    SSH "
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT
#echo -e "       -    HTTP "
$IPTABLES -A INPUT --protocol tcp --dport 80 -j ACCEPT
#       $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP


  :    -   ...   , ...  ,  ,    . (,   ). 

              ssh.   ,      .   -     ... ,  IP-       ...  ... 
  ,  ,  : 

# /etc/init.d/iptables save 
        " ": 

# cp /var/lib/iptables/rules-save /var/lib/iptables/rules.working 
 iptables start-up      iptables  default runlevel: Code:   
/etc/init.d/iptables start 
/etc/init.d/iptables stop 
/etc/init.d/iptables start 

  --  ,       iptables...      . ,  ,       .         .    ,   iptables  default runlevel: 

rc-update add iptables default 
     /etc/sysctl.conf: 

net.ipv4.ip_forward = 1 
 II         . 

 III -  Firewall
   ,    , ..      .         ,      ,       . :)     ,    , ,   ,    -  ,           .        SOHO, ..  .                 .  ,  *nix,     .   , ..  ,  ,    ,          DoS ,     . 
       ,        .        - ,      .    ,  ( )            .             (  )    Firewall.          SSH,      ,        .    ,               .        ,        ,   ymmv. 



  
       : Code: ' 
#!/bin/sh
#
#  
EXTIF="ppp0"

#  
INTIF="eth1"

# Loop device/localhost
LPDIF="lo"
LPDIP="127.0.0.1"
LPDMSK="255.0.0.0"
LPDNET="$LPDIP/$LPDMSK"

#  
IPT="/sbin/iptables"
IFC="/sbin/ifconfig"
G="/bin/grep"
SED="/bin/sed"
AWK="/usr/bin/awk"
ECHO="/bin/echo"

#       .

#     
EXTIP="`$IFC $EXTIF | $AWK /$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
EXTBC="255.255.255.255" 
#EXTMSK="`$IFC $EXTIF | $G Mask:|$SED 's/.*Mask:\([^ ]*\)/\1/'`"
EXTMSK="`$IFC $EXTIF | $AWK /$EXTIF/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
EXTNET="$EXTIP/$EXTMSK"
$ECHO "EXTIP=$EXTIP EXTBC=$EXTBC EXTMSK=$EXTMSK EXTNET=$EXTNET"

# Due to absence of EXTBC I manually set it to 255.255.255.255
# this (hopefully) will serve the same purpose

#     
INTIP="`$IFC $INTIF | $AWK /$INTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
INTBC="`$IFC $INTIF | $AWK /$INTIF/'{next}//{split($0,a,":");split(a[3],a," ");print a[1];exit}'`"
INTMSK="`$IFC $INTIF | $AWK /$INTIF/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
INTNET="$INTIP/$INTMSK"
$ECHO "INTIP=$INTIP INTBC=$INTBC INTMSK=$INTMSK INTNET=$INTNET"


iptables ACCEPTS
    ACCEPT, ,       .       .          . ,    ,    .         ACCEPT   .  ,             . Code: ' 
$IPT -t nat -A PREROUTING -j ACCEPT
# $IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET -j SNAT --to $EXTIP

#    (  "MASQUERADE") 
#      (NAT)
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET1 -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET2 -j MASQUERADE
$IPT -t nat -A POSTROUTING                       -j ACCEPT
$IPT -t nat -A OUTPUT                            -j ACCEPT
$IPT -A INPUT   -p tcp --dport auth --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


iptables DROP & REJECT
     (chains)     DROP  REJECT.            .       syslog, (    /var/log/messages).   (      )     sed/grep               cron. 
       ,    .    ,   .       ,     .            . Code: ' 
# **********    **********
#
#          
#    .      
#    .    DROP,   REJECT.
#  ,     (     ???)
$IPT -N DROPl   2> /dev/null
$IPT -A DROPl -m limit --limit 3/minute --limit-burst 10 -j LOG --log-prefix 'FIREWALL DROP BLOCKED:'
$IPT -A DROPl   -j DROP
$IPT -N REJECTl 2> /dev/null
$IPT -A REJECTl -m limit --limit 3/minute --limit-burst 10 -j LOG --log-prefix 'FIREWALL REJECT BLOCKED:'
$IPT -A REJECTl -j REJECT
$IPT -N DROP2   2> /dev/null
$IPT -A DROP2 -m limit --limit 3/second --limit-burst 10 -j LOG --log-prefix 'FIREWALL DROP UNKNOWN:'
$IPT -A DROP2   -j DROP
$IPT -N REJECT2 2> /dev/null
$IPT -A REJECT2 -m limit --limit 3/second --limit-burst 10 -j LOG --log-prefix 'FIREWALL REJECT UNKNOWN:'
$IPT -A REJECT2 -j REJECT

#     ACCEPT
$IPT -N ACCEPTl   2> /dev/null
$IPT -A ACCEPTl -m limit --limit 10/second --limit-burst 50 -j LOG --log-prefix 'FIREWALL ACCEPT:'
$IPT -A ACCEPTl   -j ACCEPT


 
,     ,  ,    .       .        ,   : ECHO='/bin/echo' Code: ' 
#       .
CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`

for i in $CHAINS
do
    $IPT -t $i -F
done

for i in $CHAINS
do
    $IPT -t $i -X
done


 
    ,    .        loopback ,          . Code: ' 
$IPT -A INPUT   -i $LPDIF -s   $LPDIP  -j ACCEPT
$IPT -A INPUT   -i $LPDIF -s   $EXTIP  -j ACCEPT
$IPT -A INPUT   -i $LPDIF -s   $INTIP1  -j ACCEPT
$IPT -A INPUT   -i $LPDIF -s   $INTIP2  -j ACCEPT


  
         .   DoS   ,       DoS     .        ,      DoS       . Code:    
$IPT -A INPUT   -i $EXTIF -d   $EXTBC  -j DROPl
$IPT -A INPUT   -i $INTIF1 -d  $INTBC1  -j DROPl
$IPT -A INPUT   -i $INTIF2 -d  $INTBC2  -j DROPl
$IPT -A OUTPUT  -o $EXTIF -d   $EXTBC  -j DROPl
$IPT -A OUTPUT  -o $INTIF1 -d  $INTBC1  -j DROPl
$IPT -A OUTPUT  -o $INTIF2 -d  $INTBC2  -j DROPl
$IPT -A FORWARD -o $EXTIF -d   $EXTBC  -j DROPl
$IPT -A FORWARD -o $INTIF1 -d  $INTBC1  -j DROPl
$IPT -A FORWARD -o $INTIF2 -d  $INTBC2  -j DROPl

    ,    ,      .  ,      DROP1  (chains).  ,         (log file). 

      
          ,          IP     . Code: ' 
#      
#        
#        .
#
#        
# "  ,     ,
#   ,      ,
#      ."
$IPT -A INPUT   -i $EXTIF -d ! $EXTIP  -j DROPl


  
        .   -          . Code: ' 
#          
#     .
# ,        , 
#   ,        .
#
#   
$IPT -A INPUT   -i $INTIF1 -s ! $INTNET1 -j DROPl
$IPT -A OUTPUT  -o $INTIF1 -d ! $INTNET1 -j DROPl
$IPT -A FORWARD -i $INTIF1 -s ! $INTNET1 -j DROPl
$IPT -A FORWARD -o $INTIF1 -d ! $INTNET1 -j DROPl
#   
$IPT -A INPUT   -i $INTIF2 -s ! $INTNET2 -j DROPl
$IPT -A OUTPUT  -o $INTIF2 -d ! $INTNET2 -j DROPl
$IPT -A FORWARD -i $INTIF2 -s ! $INTNET2 -j DROPl
$IPT -A FORWARD -o $INTIF2 -d ! $INTNET2 -j DROPl

           icmp   ping. Code: ' 
#  
$IPT -A OUTPUT  -o $EXTIF -s ! $EXTNET -j DROPl
#   ICMP ( PING)
$IPT -A OUTPUT  -o $EXTIF -p icmp --icmp-type ! 8 -j DROPl
$IPT -A FORWARD -o $EXTIF -p icmp --icmp-type ! 8 -j DROPl

.       . 

Ports
          ,         : 
# COMmon ports:
# 0 is tcpmux; SGI had vulnerability, 1 is common attack
# 13 is daytime
# 98 is Linuxconf
# 111 is sunrpc (portmap)
# 137:139, 445 is Microsoft
# SNMP: 161,2
# Squid flotilla: 3128, 8000, 8008, 8080
# 1214 is Morpheus or KaZaA
# 2049 is NFS
# 3049 is very virulent Linux Trojan, mistakable for NFS
# Common attacks: 1999, 4329, 6346
# Common Trojans 12345 65535
 COMBLOCK="0:1 13 98 111 137:139 161:162 445 1214 1999 2049 3049 4329 6346 3128 8000 8008 8080 12345 65535"
# TCP ports:
# 98 is Linuxconf
# 512-5!5 is rexec, rlogin, rsh, printer(lpd)
#   [very serious vulnerabilities; attacks continue daily]
# 1080 is Socks proxy server
# 6000 is X (NOTE X over SSH is secure and runs on TCP 22)
# Block 6112 (Sun's/HP's CDE)
 TCPBLOCK="$COMBLOCK 98 512:515 1080 6000:6009 6112"

# UDP ports:
# 161:162 is SNMP
# 520=RIP, 9000 is Sangoma
# 517:518 are talk and ntalk (more annoying than anything)
 UDPBLOCK="$COMBLOCK 161:162 520 123 517:518 1427 9000 9 6346 3128 8000 8008 8080 12345 65535"
          : 
echo -n "FW: Blocking attacks to TCP port"
for i in $TCPBLOCK;
do
 echo -n "$i "
  $IPT -A INPUT   -p tcp --dport $i  -j DROPl
  $IPT -A OUTPUT  -p tcp --dport $i  -j DROPl
  $IPT -A FORWARD -p tcp --dport $i  -j DROPl
done
echo ""
echo -n "FW: Blocking attacks to UDP port "
for i in $UDPBLOCK;
do
 echo -n "$i "
   $IPT -A INPUT   -p udp --dport $i  -j DROPl
   $IPT -A OUTPUT  -p udp --dport $i  -j DROPl
   $IPT -A FORWARD -p udp --dport $i  -j DROPl
done
echo ""
  ,   ,    ,       ...    .         ...      sed  grep,     EXTIP  EXTBC -    ,   .    ,     .       ,              .        DROP,       .  ,   -    ssh     ,   ,    INPUT  ssh.    ţ   .             ,    Σ : 
# ,  :  ң   ,
#    
 $IPT        -P INPUT       DROP
 $IPT        -P OUTPUT      DROP
 $IPT        -P FORWARD     DROP
#       
 CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
 for i in $CHAINS;
 do
   $IPT -t $i -F
 done
 for i in $CHAINS;
 do
   $IPT -t $i -X
 done
 $IPT -A INPUT   -i $INTIF1 -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT

Sysctl'
     sysctl'  tcp_syncookies, icmp_echo_ignore_broadcasts, rp_filter  accept_source_rout.     ,   "",   .  ,      .        : 
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#   
for f in /proc/sys/net/ipv4/conf/*/rp_filter;
do
 echo 1 > $f
done
#    IP  ICMP-
for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
 echo 0 > $f
done
for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
do
 echo 0 > $f
done
echo 1 > /proc/sys/net/ipv4/ip_forward
     ftp-,     ģ   PASV   : 
#   ftp-
MODULES="ip_nat_ftp ip_conntrack_ftp"
for i in $MODULES;
do
 echo "  $i"
 modprobe $i
done

  NAT
      ,       ,   .    : IRC, MSN, ICQ, and NFS, FTP, domain,time   .    ,       .        ftp    : 
IRC='ircd'
MSN=1863
ICQ=5190
NFS='sunrpc'
#   sync!!
PORTAGE='rsync'
OpenPGP_HTTP_Keyserver=11371
#      /etc/services
TCPSERV="domain ssh http https ftp ftp-data mail pop3 pop3s imap3 imaps imap2 time $PORTAGE $IRC $MSN $ICQ $OpenPGP_HTTP_Keyserver"
UDPSERV="domain time"
echo -n "FW: Allowing inside systems to use service:"
for i in $TCPSERV;
do
 echo -n "$i "
 $IPT -A OUTPUT  -o $EXTIF -p tcp -s $EXTIP --dport $i --syn -m state --state NEW -j ACCEPT
 $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 --dport $i --syn -m state --state NEW -j ACCEPT
 $IPT -A FORWARD -i $INTIF2 -p tcp -s $INTNET2 --dport $i --syn -m state --state NEW -j ACCEPT
done
echo ""
echo -n "FW: Allowing inside systems to use service:"
for i in $UDPSERV;
do
 echo -n "$i "
 $IPT -A OUTPUT  -o $EXTIF -p udp -s $EXTIP --dport $i -m state --state NEW -j ACCEPT
   $IPT -A FORWARD -i $INTIF1 -p udp -s $INTNET1 --dport $i -m state --state NEW -j ACCEPT
   $IPT -A FORWARD -i $INTIF2 -p udp -s $INTNET2 --dport $i -m state --state NEW -j ACCEPT
done
echo ""
  ,       .     icmp-   : 
#   
$IPT -A OUTPUT  -o $EXTIF -p icmp -s $EXTIP --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $INTIF1 -p icmp -s $INTNET1 --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $INTIF2 -p icmp -s $INTNET2 --icmp-type 8 -m state --state NEW -j ACCEPT
                                                                              
#      :
$IPT -A OUTPUT  -o $INTIF1 -p icmp -s $INTNET1 --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A OUTPUT  -o $INTIF2 -p icmp -s $INTNET2 --icmp-type 8 -m state --state NEW -j ACCEPT
          ,       .            .      ,    : 
#  ,  :
 $IPT -A INPUT             -j DROPl
 $IPT -A OUTPUT            -j REJECTl
 $IPT -A FORWARD           -j DROPl
,  .    nmap  nessus             IRC, MSN, ICQ,  emerge sync. 

The full script
 ,       (    ssh      ): 
#  
 EXTIF=ppp0
#  
 INTIF1=eth1
 INTIF2=eth2
# Loop-/localhost
 LPDIF=lo
 LPDIP=127.0.0.1
 LPDMSK=255.0.0.0
 LPDNET="$LPDIP/$LPDMSK"
#   
 IPT='/sbin/iptables'
 IFC='/sbin/ifconfig'
 G='/bin/grep'
 SED='/bin/sed'
#  ( ) - 
 JAMES=192.168.1.77
 TERESA=192.168.2.77
# Deny  accept:   ""
#   ,       
 $IPT        -P INPUT       DROP
 $IPT        -P OUTPUT      DROP
 $IPT        -P FORWARD     DROP
#        
 CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
 for i in $CHAINS;
 do
  $IPT -t $i -F
 done
 for i in $CHAINS;
 do
  $IPT -t $i -X
 done
 echo 1 > /proc/sys/net/ipv4/tcp_syncookies
 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#   
 for f in /proc/sys/net/ipv4/conf/*/rp_filter;
 do
  echo 1 > $f
 done
#   IP     ICMP
 for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
 do
  echo 0 > $f
 done
 for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
 do
  echo 0 > $f
 done
 echo 1 > /proc/sys/net/ipv4/ip_forward
#      
 EXTIP="`$IFC $EXTIF|$G addr:|$SED 's/.*addr:\([^ ]*\) .*/\1/'`"
 #EXTBC="`$IFC $EXTIF|$G Bcast:|$SED 's/.*Bcast:\([^ ]*\) .*/\1/'`"
 EXTBC="255.255.255.255"
 EXTMSK="`$IFC $EXTIF|$G Mask:|$SED 's/.*Mask:\([^ ]*\)/\1/'`"
 EXTNET="$EXTIP/$EXTMSK"
 #echo "EXTIP=$EXTIP EXTBC=$EXTBC EXTMSK=$EXTMSK EXTNET=$EXTNET"
 echo "EXTIP=$EXTIP EXTBC=$EXTBC EXTMSK=$EXTMSK EXTNET=$EXTNET"
#   EXTBC ,      it to 255.255.255.255
#  ()    
#       
 INTIP1="`$IFC $INTIF1|$G addr:|$SED 's/.*addr:\([^ ]*\) .*/\1/'`"
 INTBC1="`$IFC $INTIF1|$G Bcast:|$SED 's/.*Bcast:\([^ ]*\) .*/\1/'`"
 INTMSK1="`$IFC $INTIF1|$G Mask:|$SED 's/.*Mask:\([^ ]*\)/\1/'`"
 INTNET1="$INTIP1/$INTMSK1"
 echo "INTIP1=$INTIP1 INTBC1=$INTBC1 INTMSK1=$INTMSK1 INTNET1=$INTNET1"
#       
 INTIP2="`$IFC $INTIF2|$G addr:|$SED 's/.*addr:\([^ ]*\) .*/\1/'`"
 INTBC2="`$IFC $INTIF2|$G Bcast:|$SED 's/.*Bcast:\([^ ]*\) .*/\1/'`"
 INTMSK2="`$IFC $INTIF2|$G Mask:|$SED 's/.*Mask:\([^ ]*\)/\1/'`"
 INTNET2="$INTIP2/$INTMSK2"
 echo "INTIP2=$INTIP2 INTBC2=$INTBC2 INTMSK2=$INTMSK2 INTNET2=$INTNET2"
#       ,   
#     .     
#   log    ,    .
#        ,     
#   .
#    ,     (    )
 $IPT -N DROPl   2> /dev/null
 $IPT -A DROPl   -j LOG --log-prefix 'DROPl:'
 $IPT -A DROPl   -j DROP
 $IPT -N REJECTl 2> /dev/null
 $IPT -A REJECTl -j LOG --log-prefix 'REJECTl:'
 $IPT -A REJECTl -j REJECT
#     loopback 
#  IP      .
 $IPT -A INPUT   -i $LPDIF -s   $LPDIP  -j ACCEPT
 $IPT -A INPUT   -i $LPDIF -s   $EXTIP  -j ACCEPT
 $IPT -A INPUT   -i $LPDIF -s   $INTIP1  -j ACCEPT
 $IPT -A INPUT   -i $LPDIF -s   $INTIP2  -j ACCEPT
#   
 $IPT -A INPUT   -i $EXTIF -d   $EXTBC  -j DROPl
 $IPT -A INPUT   -i $INTIF1 -d   $INTBC1  -j DROPl
 $IPT -A INPUT   -i $INTIF2 -d   $INTBC2  -j DROPl
 $IPT -A OUTPUT  -o $EXTIF -d   $EXTBC  -j DROPl
 $IPT -A OUTPUT  -o $INTIF1 -d   $INTBC1  -j DROPl
 $IPT -A OUTPUT  -o $INTIF2 -d   $INTBC2  -j DROPl
 $IPT -A FORWARD -o $EXTIF -d   $EXTBC  -j DROPl
 $IPT -A FORWARD -o $INTIF1 -d   $INTBC1  -j DROPl
 $IPT -A FORWARD -o $INTIF2 -d   $INTBC2  -j DROPl
#       WAN
#           
#         
#    iptables:
# "          
# nefarious ,     "
 $IPT -A INPUT   -i $EXTIF -d ! $EXTIP  -j DROPl
#      ,  ,   
#  ..... ,       
#   pc        ,   ,
#      IP-     .               
#  /  
 $IPT -A INPUT   -i $INTIF1 -s ! $INTNET1 -j DROPl
 $IPT -A OUTPUT  -o $INTIF1 -d ! $INTNET1 -j DROPl
 $IPT -A FORWARD -i $INTIF1 -s ! $INTNET1 -j DROPl
 $IPT -A FORWARD -o $INTIF1 -d ! $INTNET1 -j DROPl
#  /  
 $IPT -A INPUT   -i $INTIF2 -s ! $INTNET2 -j DROPl
 $IPT -A OUTPUT  -o $INTIF2 -d ! $INTNET2 -j DROPl
 $IPT -A FORWARD -i $INTIF2 -s ! $INTNET2 -j DROPl
 $IPT -A FORWARD -o $INTIF2 -d ! $INTNET2 -j DROPl
#  Egress-
 $IPT -A OUTPUT  -o $EXTIF -s ! $EXTNET -j DROPl
#    ICMP (  PING)
 $IPT -A OUTPUT  -o $EXTIF -p icmp --icmp-type ! 8 -j DROPl
 $IPT -A FORWARD -o $EXTIF -p icmp --icmp-type ! 8 -j DROPl
#   :
# 0 - tcpmux;  SGI  ,    
# 13 - daytime
# 98 - Linuxconf
# 111 - sunrpc (portmap)
# 137:139, 445 - Microsoft
# SNMP: 161,2
#  Squid: 3128, 8000, 8008, 8080
# 1214 - Morpheus  KaZaA
# 2049 - NFS
# 3049 -     Linux,    NFS
#  : 1999, 4329, 6346
#   12345 65535
 COMBLOCK="0:1 13 98 111 137:139 161:162 445 1214 1999 2049 3049 4329 6346 3128 8000 8008 8080 12345 65535"
#  TCP:
# 98 - Linuxconf
# 512-5!5 - rexec, rlogin, rsh, printer(lpd)
#   [  ;   ]
# 1080 - - Socks
# 6000 - X (. X  SSH - ,     TCP 22)
#  6112 (CDE  Sun  HP)
 TCPBLOCK="$COMBLOCK 98 512:515 1080 6000:6009 6112"
#  UDP:
# 161:162 - SNMP
# 520=RIP, 9000 - Sangoma
# 517:518 - talk  ntalk ( )
 UDPBLOCK="$COMBLOCK 161:162 520 123 517:518 1427 9000"
echo -n "FW: Blocking attacks to TCP port"
for i in $TCPBLOCK;
do
 echo -n "$i "
  $IPT -A INPUT   -p tcp --dport $i  -j DROPl
  $IPT -A OUTPUT  -p tcp --dport $i  -j DROPl
  $IPT -A FORWARD -p tcp --dport $i  -j DROPl
done
echo ""
echo -n "FW: Blocking attacks to UDP port "
for i in $UDPBLOCK;
do
 echo -n "$i "
  $IPT -A INPUT   -p udp --dport $i  -j DROPl
  $IPT -A OUTPUT  -p udp --dport $i  -j DROPl
  $IPT -A FORWARD -p udp --dport $i  -j DROPl
done
echo ""
#     ftp
 MODULES="ip_nat_ftp ip_conntrack_ftp"
 for i in $MODULES;
 do
  echo "Inserting module $i"
  modprobe $i
 done
#      .
#       .
 IRC='ircd'
 MSN=1863
 ICQ=5190
 NFS='sunrpc'
#    !!
 PORTAGE='rsync'
 OpenPGP_HTTP_Keyserver=11371
#      /etc/services
 TCPSERV="domain ssh http https ftp ftp-data mail pop3 pop3s imap3 imaps imap2 time $PORTAGE $IRC $MSN $ICQ  $OpenPGP_HTTP_Keyserver" UDPSERV="domain time"
echo -n "FW: Allowing inside systems to use service:"
for i in $TCPSERV;
do
 echo -n "$i "
  $IPT -A OUTPUT  -o $EXTIF -p tcp -s $EXTIP --dport $i --syn -m state --state NEW -j ACCEPT
  $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 --dport $i --syn -m state --state NEW -j ACCEPT
  $IPT -A FORWARD -i $INTIF2 -p tcp -s $INTNET2 --dport $i --syn -m state --state NEW -j ACCEPT
done
echo ""
echo -n "FW: Allowing inside systems to use service:"
for i in $UDPSERV;
do
 echo -n "$i "
  $IPT -A OUTPUT  -o $EXTIF -p udp -s $EXTIP --dport $i -m state --state NEW -j ACCEPT
  $IPT -A FORWARD -i $INTIF1 -p udp -s $INTNET1 --dport $i -m state --state NEW -j ACCEPT
  $IPT -A FORWARD -i $INTIF2 -p udp -s $INTNET2 --dport $i -m state --state NEW -j ACCEPT
done
echo ""
#  ping 
$IPT -A OUTPUT  -o $EXTIF -p icmp -s $EXTIP --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $INTIF1 -p icmp -s $INTNET1 --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $INTIF2 -p icmp -s $INTNET2 --icmp-type 8 -m state --state NEW -j ACCEPT
#   ping  
$IPT -A OUTPUT  -o $INTIF1 -p icmp -s $INTNET1 --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A OUTPUT  -o $INTIF2 -p icmp -s $INTNET2 --icmp-type 8 -m state --state NEW -j ACCEPT                                                                                                                                                             
$IPT -A INPUT   -i $INTIF1 -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT
$IPT -t nat -A PREROUTING -j ACCEPT
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET1 -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET2 -j MASQUERADE
$IPT -t nat -A POSTROUTING -j ACCEPT
$IPT -t nat -A OUTPUT -j ACCEPT
$IPT -A INPUT -p tcp --dport auth --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#    ,    .
$IPT -A INPUT -j DROPl
$IPT -A OUTPUT -j REJECTl
$IPT -A FORWARD -j DROPl


  
  

    Gentoo linux    

 postfix + cyrus-imap,    cyrus-sasl   -  (        -  -  mysql  postgress     ).     sasldb,        . 

        ,     .    ,      -      . 

   /var reiserfs,     . 


emerge -pv cyrus-sasl
[ebuild   N   ] dev-libs/cyrus-sasl-2.1.20  -authdaemond +berkdb -debug +gdbm +java -kerberos -ldap +mysql  +pam -postgres +ssl -static 0 kB

     -   
emerge cyrus-sasl

  ,   
emerge -pv postfix
These are the packages that I would merge, in order:
 Calculating dependencies ...done!
[ebuild   N   ] mail-mta/postfix-2.1.5-r1  +ipv6 -ldap -mailwrapper -mbox +mysql +pam -postgres -sasl*(-selinux) +ssl -vda 0 kB

     sasl,          smtp,         cyrus-sasl  smtp -         
USE="sasl" emerge postfix

  
emerge -pv cyrus-imapd
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild   N   ] net-mail/cyrus-imapd-2.2.10  -afs -drac -idled -kerberos +pam -snmp +ssl +tcpd 0 kB

        openssl  imap- 
emerge cyrus-imapd


     
emerge cyrus-imap-admin


       ,     

 cyrus-sasl 
passwd cyrus
pwconv
chown -R cyrus:mail /etc/sasl2 -  cyrus   /etc/sasl2/sasldb2
saslpasswd2 cyrus -   sasldb2 
sasldblistusers2 -  


  postfix 

C /etc/postfix/main.cf,           (  relayhost),       MX-  . ,       main.cf,    .      postfix. 


queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = mail.domain.tld
mydomain = mail.domain.tld
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relay_domains = $mydestination
    !!! 
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
   procmail    
mailbox_transport = procmail



  ,    main.cf,   /etc/postfix/master.cf 

   
 # Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
 user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
 

    
 # Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
 user=cyrus argv=/cyrus/deliver -e -r ${sender} -m ${extension} ${user}

  procmail,  
procmail unix  -       n      n       -        -       pipe
 flags=R user=cyrus argv=/usr/bin/procmail -p /etc/procmailrc  USER=${user}

  /etc/procmailrc : 
DELIVERMAIL=/usr/lib/cyrus/deliver
LOGFILE=/var/log/procmaillog
IMAP="$DELIVERMAIL -e -a $USER -m user.$USER"
(   spamassassin)
:0fw : spamassassin.lock
* < 90000
| /usr/bin/spamassassin
  
:0
| $IMAP
:0w
{
EXITCODE=$?
HOST
}  

,   ,  cyrus-imapd 

 /etc/cyrus.conf 
# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.conf,v 1.4 2004/07/18 04:02:23 dragonheart  Exp $
# Standard standalone server configuration.
START {
 # Do not delete this entry!
 recover	cmd="ctl_cyrusdb -r"
 # This is only necessary if using idled for IMAP IDLE.
 #idled		cmd="idled"
}
# UNIX sockets start with a slash and are put into /var/imap/socket.
SERVICES {
  # Add or remove based on preferences.
  imap		cmd="imapd" listen="imap2" prefork=0
  pop3		cmd="pop3d" listen="pop-3" prefork=0
   # Don't forget to generate the needed keys for SSL or TLS
  # (see doc/html/install-configure.html).
  imaps		cmd="imapd -s" listen="imaps" prefork=0
  pop3s		cmd="pop3d -s" listen="pop3s" prefork=0
  sieve		cmd="timsieved" listen="sieve" prefork=0
  # at least one LMTP is required for delivery
  #lmtp		cmd="lmtpd" listen="lmtp" prefork=0
   ##    
  lmtpunix	cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
     # this is only necessary if using notifications
  #notify	cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}
EVENTS {
  # This is required.
  checkpoint	cmd="ctl_cyrusdb -c" period=30
  # This is only necessary if using duplicate delivery suppression.
  delprune	cmd="ctl_deliver -E 3" period=1440
  # This is only necessary if caching TLS sessions.
  tlsprune	cmd="tls_prune" period=1440
}

    
openssl req -new -nodes -out req.pem -keyout key.pem  
openssl rsa -in key.pem -out new.key.pem
openssl x509 -in req.pem -out ca-cert -req \
-signkey new.key.pem -days 999 
cp new.key.pem /etc/ssl/cyrus/server.pem
rm new.key.pem
cat ca-cert >> /etc/ssl/cyrus/server.pem
chown cyrus:mail /etc/ssl/cyrus/server.pem
chmod 600 /etc/ssl/cyrus/server.pem # Your key should be protected

 -   
/var/imap
cd /var
mkdir imap
chown cyrus:mail imap
chmod 750 imap
/var/spool/imap 
cd /var/spool
mkdir imap
chown cyrus:mail imap
chmod 750 imap
/usr/sieve
cd /usr
mkdir sieve
chown cyrus:mail sieve
chmod 750 sieve

  /etc/imapd.conf 
configdirectory:	/var/imap
partition-default:	/var/spool/imap
auto_transition:	yes
tls_ca_path:           /etc/ssl/cyrus
tls_cert_file:		/etc/ssl/cyrus/server.pem
tls_key_file:		/etc/ssl/cyrus/server.pem
admins:			cyrus
hashimapspool:		yes
allowanonymouslogin:	no
allowplaintext:		yes
sasl_pwcheck_method:	auxprop
sasl_auxprop_plugin:	sasldb
sasldb_path:		/etc/sasl2/sasldb2
sasl_mech_list:		LOGIN PLAIN 

   sasldb,   LOGIN,PLAIN       ,   (  )    /etc/imapd.conf 
allowanonymouslogin: yes

    cyrus  

    ,     cyradm 
/etc/init.d/cyrus start
cyradm -user cyrus -server localhost
localhost> cm user.testuser
localhost> help -       
localhost> exit

    sasldb2  : 
saslpasswd2 testuser 


  
/etc/init.d/postfix start
/etc/init.d/cyrus start

   (  thunderbird 1.0   KMail 1.7.1,  Outlook Express     ). 

  ,  -   -  ,        /var/imap/socket/lmtp   postfix  cyrus,       .       /etc/sasl2/sasldb2   cyrus,      mail. 

    clamav     clamav + clamsmtp       amavisd-new.     http://www.nixp.ru/articles/clamav_postfix,   ,     Gentoo 
emerge clamav
ACCEPT_KEYWORDS="~x86" emerge clamsmtp (   )

   /etc/conf.d/clamd START_CLAMD = yes (   0.85    -     clamd.conf  clamsmtpd.conf) 

  /etc/clamd.conf  /etc/clamsmtpd.conf             LocalSocket: /var/run/clamav/clamd.sock  /etc/clamav.conf  ClamAddress: /var/run/clamav/clamd.sock  /etc/clamsmtpd.conf -          

  main.cf    : 
content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings
  

  postfix'  ,        () 'scan'  10025- , ,  ,  clamsmtpd.     ,  postfix        ,     content_filter.   ,       ,        ,   .. 

  master.cf    : 
# AV scan filter (used by content_filter)
scan      unix  -       -       n       -       16      smtp
       -o smtp_send_xforward_command=yes
# For injecting mail back into postfix from the filter
127.0.0.1:10026 inet  n -       n       -       16      smtpd
       -o content_filter=
       -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
       -o smtpd_helo_restrictions=
        -o smtpd_client_restrictions=
       -o smtpd_sender_restrictions=
       -o smtpd_recipient_restrictions=permit_mynetworks,reject
       -o mynetworks_style=host
       -o smtpd_authorized_xforward_hosts=127.0.0.0/8

:   '='   .  127.0.0.1:10026  10026-      clamsmtpd. 
rc-update add clamd default
rc-update add clamsmtpd default
/etc/init.d/postfix reload


 -          



P.S.            .  ( )          .        !               .             .         ,        ,    -      . 

PS.       -      aliases -        sendmail,        -     cyradm -user cyrus -auth login -server localhost  cm     etc/postfix/main.cf 
alias_maps = hash:/usr/local/etc/postfix/aliases
alias_database = hash:/usr/local/etc/postfix/aliases

 vsftpd


 

   en:HOWTO vsftpd. -        ,   ,  

  en:HOWTO Plan, setup and run a high school Gentoo Club  . 

     VSFTP           . FTP (File Transfer Protocol) - ,   ,       . 

 VSFTPD 

     root   : Code:  
 emerge vsftpd


 

  .   /etc/vsftpd/vsftpd.conf           : 

  : /etc/vsftpd/vsftpd.conf 
 dirmessage_enable=YES
 # banner_file=/etc/vsftpd/vsftpd.banner # edit banner first
 chown_uploads=NO
 xferlog_enable=YES
 idle_session_timeout=600
 data_connection_timeout=120
 ascii_upload_enable=NO
 ascii_download_enable=NO
 chroot_list_enable=YES
 background=YES
 listen=YES
 ls_recurse_enable=NO


  (Anonymous),    : /etc/vsftpd/vsftpd.conf 
 anonymous_enable=YES
 anon_upload_enable=NO
 anon_mkdir_write_enable=NO


   

        ftp ( sftp/ssh),     . : /etc/vsftpd/vsftpd.conf 
 local_enable=NO
 write_enable=NO


  

Gentoo     ,   init scripts   .      /etc/init.d/    ,   .      .   VSFTPD   Code:  vsftpd   
 /etc/init.d/vsftpd start


              "/etc/init.d/vsftpd"   ("start"  ,   "stop"  "restart") ) 

   

    /etc/init.d/vsftpd start       ? Gentoo          .   VSFTPD     , : Code:  vsftpd    
 rc-update add vsftpd default


      rc-update  "man rc-update". 

    chkconfig: Code:  vsftpd    
 chkconfig vsftpd on


   

         ftp (  ).    - /home/ftp.        /var/ftp,     : /var/ftp Code:   
 rmdir /home/ftp
 mkdir /var/ftp
 chown ftp:ftp /var/ftp
 ln -s /var/ftp /home/


  -    . ,         disfiles  packages,    : Code: ' 
 mv /usr/portage/disfiles /var/ftp/
 ln -s /var/ftp/disfiles /usr/portage/
 mv /usr/portage/packages /var/ftp/
 ln -s  /var/ftp/packages /usr/portage/


: VSFTPD    chroot ,     .       /usr/portage/disfiles  usr/portage/packages            

       .../ftp   fstab.     : /var/ftp/distfiles  /var/ftp/packages Code: ' 
 mkdir /var/ftp/distfiles
 mkdir /var/ftp/packages


    /etc/fstab : Code: ' 
 /usr/portage/distfiles /var/ftp/distfiles none ro,bind 0 0
 /usr/portage/packages /var/ftp/packages none ro,bind 0 0


 

 c ,      ftp .    : 
ftp 
lftp -    
mozilla-firefox 
nautilus 
gftp
 Jabber Server


Jabber -   ,  XML,              .      , jabber     - ICQ, IRQ, MSN, RSS, Yahoo  . 

 

      jabber   jabberd.     -  IM- ICQ, MSN, Yahoo,  SSL-   IPv6.
 ,  USE-  jabber: Code:  

# emerge -pv jabberd
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild N ] net-im/jabberd-1.4.3-r5 -icq -ipv6 -ldap -msn -oscar -ssl -yahoo 0 kB 

Total size of downloads: 0 kB 


     (,   USE    make.conf)  : USE="icq ssl" emerge jabberd      jit - Jabber ICQ Transport,     ICQ. 



  ,     jabber,   jabber: gpasswd -a _ jabber 

  ,   jabber,   XML     /etc/jabber. 

       . 

 

     : rc-update add jabber default 

  : /etc/init.d/jabber start 

   :)
  Counter-Strike

              .           Counter-Strike.CS:Source. ,           .       CS 1.6.      . 

  

  CS-     :halflife-steam Code: emerge -pv halflife-steam 

Calculating dependencies ...done! 

[ebuild N ] games-server/halflife-steam-2.0 3,431 kB 

Total size of downloads: 3,431 kB 


Steam -    Valve,      steam-network. 

  

 steam

    emerge halflife-steam. 

  hl

Steam    /opt/halflife 

:   2006     .        ,    unix .   ,  steam    .   cs    xxx.WAD ( wad,  ) Code:  

cd /opt/halflife 

chmod +x stream 


Code:  

./steam -command update -game cstrike -dir ./ 



 .     error  -   . Code: output 

HLDS installation up to date 


:      LAN ( )    steam .   

  Samba   Win2k
 
   
     

 
Red Hat 9.0 
Samba 3.0.13 
DC win 2003 server 

 

       ,         ,                      e. 

  

   .      3.0.13.       RPM .         ,            .     ,      ,            . 
 [global]
   realm = bryusov.iasnet.ru
 # Workgroup =  NT- (  ): 
   workgroup = DOMAIN  

 # NetBIOS-,        .
   netbios name = NAU

 # ,       " " Windows.
   server string = Samba Server

 #     . Hosts allow    
 #  IP-   Samba-. 
   hosts allow = 172.18. 172.17.  127.

 #   %m        Samba-  
 #   log-. 
   log file = /var/log/samba/log.smbd   

 #                  
   max log size = 500    

 # ,       (   DC)                                          
   security = domain

 #  Password server      security = domain
   password server =  <IP  >

 #          
   allow trusted domains = yes        	

 #     . 
   encrypt passwords = yes

 #           . 
 #    %m    NetBIOS- . 
 #       .
 # include = /usr/local/samba/lib/smb.conf.%m

 #           
 #  ,   Unix       
   smb passwd file = /etc/samba/smbpasswd
   unix password sync = Yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

 #    ,     
 #    Samba-.
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

 #     ,    
   interfaces = <ip   >

 #             p NT-p:

  winbind uid = 10000-20000
  winbind gid = 10000-20000
  winbind enum groups = yes
  winbind enum users = yes

 #        ,   
 #  3  ( KOI8-R   )
 # dos charset = CP866       
 # unix charset = KOI8-R     
 # display charset = KOI8-R  



 #  
 [FILES]
   comment = share
   path = /share/FILES
   public = no
   writable = yes
   valid users = DOMAIN\users
   create mask = 0744

 #    

    ,    /etc/krb5.conf 
 [logging]
  default = FILE:/var/log/krb5libs.log
  kdc = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log

 [libdefaults]
  ticket_lifetime = 24000
  default_realm = PDC.DOMAIN.NAME.RU
  dns_lookup_realm = false
  dns_lookup_kdc = false

 [realms]
  DOMAIN.NAME.RU = {
   kdc = pdc.domain.name.ru:88
   admin_server = kerberos.domain.name.ru:749
   default_domain = domain.name.ru
  }

 [domain_realm]
  .domain.name.ru = DOMAIN.NAME.RU
  domain.name.ru = DOMAIN.NAME.RU

 [kdc]
  profile = /var/kerberos/krb5kdc/kdc.conf

 [appdefaults]
  pam = {
    debug = false
    ticket_lifetime = 36000
    renew_lifetime = 36000
    forwardable = true
    krb4_convert = false
  }

    . 

     ,        ,  getent group     . 

             . 

                ,         .


   Samba   PDC   LDAP

  

  : 

# USE="ldap acl ldapsam pam gdbm samba ssl tcpd winbind" emerge samba openldap acl nss_ldap pam_ldap 



:  nss_ldap     250-r1 (>=sys-auth/nss_ldap-250-r1) 

OpenLDAP

 OpenLDAP

    amber.global.com      global.com,     Win2003 Server. 

:             amber   global.com 
: /etc/openldap/slapd.conf 
include /etc/openldap/schema/core.schema
 include /etc/openldap/schema/cosine.schema
 include /etc/openldap/schema/inetorgperson.schema
 include /etc/openldap/schema/misc.schema
 include /etc/openldap/schema/nis.schema
 include /etc/openldap/schema/openldap.schema
 include /etc/openldap/schema/samba.schema
 pidfile			/var/run/openldap/slapd.pid
 argsfile		/var/run/openldap/slapd.args

 access to dn.base=""
		by self write
		by * auth
 access to attr=userPassword
		by self write
		by * auth
 access to attr=shadowLastChange
		by self write
		by * read
 access to *
                by * read
                by anonymous auth
 #loglevel 1
 database        ldbm
 suffix          "dc=amber,dc=global,dc=com"
 rootdn          "cn=Manager,dc=amber,dc=global,dc=com"
 #  rootpw      .
 #       slappasswd
 # : slappasswd -h {MD5}
 # rootpw = secret
 rootpw		{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
 directory	/var/lib/openldap-ldbm

 index objectClass           eq
 index cn                    eq,subinitial
 index sn                    eq,subinitial
 index uid                   eq,subinitial
 index displayName           eq,subinitial
 index uidNumber             eq
 index gidNumber             eq
 index memberUID             eq
 index sambaSID              eq
 index sambaPrimaryGroupSID  eq
 index sambaDomainName       eq
: /etc/openldap/ldap.conf 
HOST 127.0.0.1
BASE dc=sanaa,dc=global,dc=com



    /var/lib/openldap-*
ls -la /var/lib/ 

: 
drwx------   2 ldap     ldap      104   8 18:31 openldap-data
drwx------   2 ldap     ldap       72   8 18:31 openldap-ldbm
drwx------   2 ldap     ldap       72   8 18:31 openldap-slurp

  OpenLDAP

    ,    LDAP  SAMBA    ,    LDAP  389    localhost. : /etc/conf.d/sldap 
# conf.d file for the openldap-2.1 series
#
# To enable both the standard unciphered server and the ssl encrypted
# one uncomment this line or set any other server starting options
# you may desire.
#
# OPTS="-h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
OPTS="-h 'ldap://127.0.0.1'"


  OpenLDAP 

/etc/init.d/slapd start 

SAMBA

 OpenLDAP

 2     :       .         BDC,    ,    PDC,     PDC.      ,      PDC          smbldap-tools. 



emerge smbldap-tools

/etc/init.d/samba start

Code: configure.pl 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
       smbldap-tools script configuration
       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
 . if your samba controller is up and running.
 . if the domain SID is defined (you can get it with the 'net getlocalsid')

 . you can leave the configuration using the Crtl-c key combination
 . empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...

Samba Configuration File Path [/etc/samba/smb.conf] > 
The default directory in which the smbldap configuration files are stored is shown.
If you need to change this, enter the full directory path, then press enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] > 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...

. workgroup name: name of the domain Samba act as a PDC
  workgroup name [amber] > 
. netbios name: netbios name of the samba controler
  netbios name [neptun] > 
. logon drive: local path to which the home directory will be connected 
 (for NT Workstations). Ex: 'H:'
  logon drive [U:] > 
. logon home: home directory location (for Win95/98 or NT Workstation).
  (use %U as username) Ex:'\\neptun\%U'
  logon home (press the "." character if you don't want homeDirectory) [\\%L\users\%U] > 
. logon path: directory where roaming profiles are stored. Ex:'\\neptun\profiles\%U'
  logon path (press the "." character if you don't 
  want roaming profile) [\\%L\Profiles\%a\%U] > 
. home directory prefix (use %U as username) [/home/%U] > 
. default users' homeDirectory mode [700] > 
. default user netlogon script (use %U as username) [] >
   default password validation time (time in days) [45] > 900
. ldap suffix [dc=amber,dc=global,dc=com] > 
. ldap group suffix [ou=Groups] > 
. ldap user suffix [ou=Users] > 
. ldap machine suffix [ou=Users] > 
. Idmap suffix [ou=Idmap] > 
. sambaUnixIdPooldn: object where you want to store the next uidNumber
  and gidNumber available for new users and groups
  sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=amber] > 
. ldap master server: IP adress or DNS name of the master (writable) ldap server
  ldap master server [127.0.0.1] > 
. ldap master port [389] > 
. ldap master bind dn [cn=Manager,dc=amber,dc=global,dc=com] > 
. ldap master bind password [] >  
. ldap slave server: IP adress or DNS name of the slave ldap server: can also 
  be the master one
  ldap slave server [127.0.0.1] > 
. ldap slave port [389] > 
. ldap slave bind dn [cn=Manager,dc=amber,dc=global,dc=com] > 
. ldap slave bind password [] >  
. ldap tls support (1/0) [0] > 
. SID for domain amber: SID of the domain (can be obtained with 'net getlocalsid neptun')
  SID for domain amber [S-1-5-21-1918777035-593721947-2697221154] > 
. unix password encryption: encryption used for unix passwords
  unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > MD5
. default user gidNumber [513] > 
. default computer gidNumber [515] > 
. default login shell [/bin/bash] > 
. default skeleton directory [/etc/skel] > 
. default domain name to append to mail adress [] > 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
  /etc/smbldap-tools/smbldap.conf->/etc/smbldap-tools/smbldap.conf.old
  /etc/smbldap-tools/smbldap_bind.conf->/etc/smbldap-tools/smbldap_bind.conf.old
writing new configuration file:
  /etc/smbldap-tools/smbldap.conf done.
  /etc/smbldap-tools/smbldap_bind.conf done.



   ,        ,    /etc/smbldap-tools/smbldap.conf   : : /etc/smbldap-tools/smbldap.conf 
 ...
 userProfile=""
 ...
 



    LDAP: 


smbldap-populate -a Administrator -k 0 -m 0

 SAMBA: /etc/samba/smb.conf 
[global]
	workgroup = amber
	netbios name = neptun
	realm = amber.global.com
	nt acl support = yes
	acl compatibility = win2k
	map acl inherit = yes
	server string = Samba Server %v
	interfaces = eth0
	bind interfaces only = yes
	hosts allow = 192.168.7. 127.
	log file = /var/log/samba/log.%m
	debug level = 9
	max log size = 500
	socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
	security = user
	os level = 250
	passdb backend = ldapsam:"ldap://127.0.0.1/"
	enable privileges = yes
	
	passwd program = /usr/sbin/smbldap-passwd "%u"
	passwd chat = *new*password* %n\n *new*password* %n\n *successfully*
	passdb expand explicit = no
	unix password sync = no
	ldap passwd sync = no
	
	ldap suffix = dc=amber,dc=global,dc=com
	ldap admin dn = cn=Manager,dc=amber,dc=global,dc=com
	ldap user suffix = ou=Users
	ldap group suffix = ou=Groups
# ..      -    ,
#          ,
#         
#      
#
#	ldap machine suffix = ou=Computers
#
#  :
	ldap machine suffix = ou=Users
	ldap idmap suffix = ou=Idmap
	idmap backend = ldapsam:ldap://127.0.0.1/
	idmap uid = 10000-20000
	idmap gid = 10000-20000
	
	ldap delete dn = Yes
	ldap ssl = no
	
	
	add user script = /usr/sbin/smbldap-useradd -n -a "%u"
	delete user script = /usr/sbin/smbldap-userdel "%u"
	
	add group script = /usr/sbin/smbldap-groupadd -p "%g"
	delete group script = /usr/sbin/smbldap-userdel "%g"
	
	add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
	delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
	set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
	
	
	add machine script = /usr/sbin/smbldap-useradd -w "%u"
	
	#PDC
	domain master = yes
	preferred master = yes
	#BDC
#	domain master = no
#	preferred master = no
	domain logons = Yes
	

	logon script = 
#  ,       
#     (      )
#      :
#
#	logon path = \\%L\Profiles\%a\%U
#
#        ,   , 
# (        ,    
#   ),  :
	logon path =
	logon drive = U: 
	logon home = \\%L\users\%U
	
	
#============================ Share Definitions ==============================
[netlogon]
    comment = Network Logon Service
    path = /var/lib/samba/netlogon
    browseable = yes
    guest ok = yes
    writable = no
    share modes = no

[Profiles]
    admin users = admin
    create mode = 600
    directory mode = 700
    path = /var/lib/samba/profiles
    browseable = yes
    guest ok = yes
    writable = yes

[homes]
  comment = Home Directories
  browseable = no
  read only = no

[public]
  path = /pub
  guest ok = yes
  read only = no

[users]
  path = /home/users
  writable = yes
  printable = no
 


  winbind   ( ): : /etc/conf.d/samba 
 ...
 daemon_list="smbd nmbd winbind"
 ...
 


ģ   : 

smbpasswd -w secret 


ģ ̣ ,    

net rpc join -S neptun -U Administrator 

     LDAP

--ladserg 14:05, 28  2006 (UTC)          samba  LDAP        LDAP,    . 

   /etc/ldap.conf,      : 

: /etc/ldap.conf 
 host 127.0.0.1
 base dc=amber,dc=global,dc=com
 ldap_version 3
 rootbinddn cn=Manager,dc=amber,dc=global,dc=com
 bind_timelimit 10
 bind_policy soft
 pam_filter objectClass=posixAccount
 pam_password exop
 nss_base_passwd         ou=Users,dc=tty,dc=perm,dc=ru?one
 nss_base_shadow         ou=Users,dc=tty,dc=perm,dc=ru?one
 nss_base_group          ou=Groups,dc=tty,dc=perm,dc=ru?one
 nss_base_hosts          ou=Hosts,dc=tty,dc=perm,dc=ru?one
 nss_base_services       ou=Services,dc=tty,dc=perm,dc=ru?one
 nss_base_networks       ou=Networks,dc=tty,dc=perm,dc=ru?one
 nss_base_protocols      ou=Protocols,dc=tty,dc=perm,dc=ru?one
 nss_base_rpc            ou=Rpc,dc=tty,dc=perm,dc=ru?one
 nss_base_ethers         ou=Ethers,dc=tty,dc=perm,dc=ru?one
 nss_base_netmasks       ou=Networks,dc=tty,dc=perm,dc=ru?one
 nss_base_bootparams     ou=Ethers,dc=tty,dc=perm,dc=ru?one
 nss_base_aliases        ou=Aliases,dc=tty,dc=perm,dc=ru?one
 nss_base_netgroup       ou=Netgroup,dc=tty,dc=perm,dc=ru?one
 ssl off
 nss_reconnect_tries 4
 nss_reconnect_sleeptime 1
 nss_reconnect_maxsleeptime 16
 nss_reconnect_maxconntries 2
 


   nss_ldap        . 

   /etc/ldap.secret        plain/text  ӣ   ,        rootbinddn,   secret: : /etc/ldap.secret 

secret 


      : Code:     /etc/ldap.secret 
 #chmod 600 /etc/ldap.secret
 #chown root:root /etc/ldap.secret


 ģ  /etc/pam.d/system-auth   : : /etc/pam.d/system-auth 
 auth       required     pam_env.so
 auth       sufficient   pam_unix.so likeauth nullok
 auth       sufficient   pam_ldap.so use_first_pass
 auth       required     pam_deny.so

 account    sufficient   pam_ldap.so
 account    required     pam_unix.so

 password   required     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
 password   sufficient   pam_unix.so nullok md5 shadow use_authtok
 password   sufficient   pam_ldap.so use_authtok
 password   required     pam_deny.so

 session    required     pam_limits.so
 session    required     pam_unix.so
 session    required     pam_mkhomedir.so skel=/etc/skel/ umask=077
 session    optional     pam_ldap.so
 


   : 

session required pam_mkhomedir.so skel=/etc/skel/ umask=077 

            ݣ  ,         /etc/skel/     0x700 

    /etc/nsswitch.conf,     : : /etc/nsswitch.conf 
 passwd:      files ldap
 shadow:      files ldap
 group:       files ldap

 hosts:       files dns
 networks:    files dns

 services:    db files
 protocols:   db files
 rpc:         ldap [NOTFOUND=return] db files
 ethers:      ldap [NOTFOUND=return] db files
 netmasks:    files
 netgroup:    ldap [NOTFOUND=return] files
 bootparams:  files

 automount:   files
 aliases:     files 
:        ldap   : hosts, networks, protocols, services.        . 


ӣ,          ,    LDAP. 

  ,      .      udev,      /etc/nsswitch.conf,     ldap    . 

 

    smbldap-tools,        . 

 
smbldap-useradd [-o] [-a] [-b] [-w] [-i] [-u uid] [-g gid ] [-G groups,,,] 
 [-n] [-d home] [-s shell] [-c gecos] [-m [-k]] [-t] [-P] [-A 0|1] [-B 0|1] 
 [-C sambaHomePath] [-D sambaHomeDrive] [-E sambaLogonScript] [-F sambaProfilePath] 
 [-H sambaAcctFlags] [-N surname] [-S family name] [-M local mailAddress,,,] 
 [-T mailToAddress] [-?] user

: 
 user -    
 -o   - add the user in the organizational unit (relative to the user suffix)
 -a   - is a Windows User (otherwise, Posix stuff only)
 -b   - is a AIX User
 -w   - is a Windows Workstation (otherwise, Posix stuff only)
 -i   - is a trust account (Windows Workstation)
 -u   - uid
 -g   - gid
 -G   -   , ̣ .
 -n   - do not create a group
 -d   -    (  /home/_)
 -s   -   (  /bin/false)
 -c   -   Windows  
 -m   -          /etc/skel
 -k   -   ,       
            (  ޣ -m)
 -t   - time. Wait 'time' seconds before exiting (when adding Windows Workstation)
 -P   - ends by invoking smbldap-passwd
 -A   -    ,  0  , 1  
 -B   -    ,  0  , 1  
 -C   -   samba ( '\\PDC-SRV\homes')
 -D   -       samba ( 'H:')
 -E   - ,     
 -F   -    ( '\\PDC-SRV\profiles\foo')
 -H   - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
 -N   -    (  ݣ  )
 -S   -  
 -M   - local mailAddress (comma seperated)
 -T   - mailToAddress (forward address) (comma seperated)
 -?   -  

   ladserg: 

smbldap-useradd -a -c 'Serg Alex Lad' -N 'Serg Alex' -S 'Lad' -s /bin/bash ladserg 

   smbldap-tools     ,     UTF-8. 

,  ģ         ladserg,  Lad,  Serg Alex,  /bin/bash,   /home/ladserg.  -a ,       . 

 
smbldap-passwd [-s] [-u] [-h] username

: 
 username       -  
 -h, -?, --help -  
 -s             -   samba 
 -u             -   UNIX 


: 

smbldap-passwd ladserg 

     . 

       ޣ     . 

 
smbldap-usermod [-a] [-c comment] [-d home_dir] [-e expiration_date] 
 [-g initial_group] [-r new_login_name] [-p passwd] [-s shell] [-u uid [ -o]] [-x] 
 [-A canchange] [-B mustchange] [-C smbhome] [-D homedrive] [-E scriptpath] 
 [-F profilepath] [-G group[,...]] [-H acctflags] [-N canonical_name] 
 [-S surname] [-P] login

: 
 -c    -  
 -d    -  
 -r    -    (cn, sn  dn  )
 -u    - uid
 -o    - uid    
 -g    - gid
 -G    -   , ̣ .
 -s    - 
 -N    -    (  ݣ  )
 -S    -  
 -P    - ends by invoking smbldap-passwd
For samba users:
 -a    - add sambaSAMAccount objectclass
 -e    - expire date ("YYYY-MM-DD HH:MM:SS")
 -A    -    ,  0  , 1  
 -B    -    ,  0  , 1  
 -C    -   samba ( '\\PDC-SRV\homes')
 -D    -       samba ( 'H:')
 -E    - ,     
 -F    -    ( '\\PDC-SRV\profiles\foo')
 -H    - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
 -I    - disable an user. Can't be used with -H or -J
 -J    - enable an user. Can't be used with -H or -I
 -M    - mailAddresses (comma seperated)
 -T    - mailToAddress (forward address) (comma seperated)
 -?|-h -  


 : 
smbldap-usermod -A 1 ladserg

  ladserg  .  : 
smbldap-usermod -a slad-adm

  ޣ   slad-adm  sambaSAMAccount,     samba. 

 
smbldap-userdel [-r|-R|-?] username

: 
 -r      
 -R            
 -?     

 : 
smbldap-userdel -r slad-adm 

  slad-adm,    . 

   

        Windows,     ,     : 

ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE

  



   ,         ,   GNU/Linux   UNIX. 



 

        (  )  ,        .

  : http://monitoring.sourceforge.net/example.html

    :   (, ,  ,   ),    (  ,   100), ,  .           df, sar  iptables  ipfw.

   :     ,   ,  .          I2C   lm_sensors.

      -    Net-Telnet.     rrdtool,     apache /  .          ,      .

   - .  ,   ,   ,             .         ,    ,      ,   ţ   html ,    apache    .

   ,    :
        http://monitoring.sourceforge.net/  monitoring-*.tar.bz2    ,     ftp: /var/ftp/pub/linux. 

"" 

 monitoring-*.tar.bz2.

 Gentoo  ,    monitoring   .     monitoring-*.ebuild.tar.bz2     /usr/local.  : 
# emerge -pv monitoring
[ebuild N ] net-analyzer/monitoring-0.11 USE="-admin -apache2 -lm_sensors -server"

     USE="server",      USE="lm_sensors" 
# export "USE=lm_sensors server"
# emerge monitoring

   lm_sensors, sysstat, iptables, coreutils, xinetd    Gentoo  ,        ,      . 



  

      : ,  (  )  ,   : http://secure.netroedge.com/~lm78/supported.html  http://www.lm-sensors.nu/~lm78/newdrivers.html  ,         .  ,       ,     .

,      2.4.9,        ! : i2c.    2.4.*,    !  i2c-*.*.*.tar.gz,    .    2.6.*   -      i2c. 



 

          "  2.6,     .  2.0"
    ,     GNU/Linux  :
  ACPI: 
Power management options (ACPI, APM) ---> ACPI (Advanced Configuration and Power Interface) Support --->

  IPMI   . 
Device Drivers ---> Character devices ---> IPMI --->

     
Device Drivers ---> I2C support --->

 ,    
Device Drivers ---> I2C support ---> I2C Algorithms --->

   (,        ,  , . ): 
Device Drivers ---> I2C support ---> I2C Hardware Bus support --->
Device Drivers ---> I2C support ---> Miscellaneous I2C Chip support --->

      (,  ,   ,  ): 
Device Drivers ---> Hardware Monitoring support --->

     ,        (    sensors-detect).      netfilter (iptables)   ... 

    ,  lm_sensors

 : lm_sensors,   lm_sensors-*.*.*.tar.gz.  lm_sensors-*.*.*.tar.gz   ,    : 
# make user
# make user_install
# depmod -a

,    /usr/local/lib   /etc/ld.so.conf,  ,    : 
# ldconfig



 lm_sensors

  
# prog/mkdev/mkdev.sh

      ,    , : 
# prog/detect/sensors-detect

    ,    ,     !
 ,    modules.conf  /etc/modules.conf
 prog/init/lm_sensors.init   /etc/rc.d/init.d/lm_sensors (   ).
 ,    prog/detect/sensors-detect  modprobe  sensors -s ,    /etc/conf.d/local.start -      
    :
 Gentoo : 
# rc-update -a lm_sensors default

   RedHat : 
# chkconfig --add lm_sensors

 prog/init/lm_sensors.sysconfig  /etc/sysconfig/lm_sensors
 etc/sensors.conf.eg  /etc/sensors.conf
 prog/sensors/sensors   /usr/bin/sensors (   ) 

   modprobe  ,    sensors-detect   ,  : 
# sensors -s

 /etc/sensors.conf  ,   ,    ,     : "Volt", "Fan", "Temp".  ,         , ,  "_",      ., /  +!    !!!
 /etc/sensors.conf    server/etc/sensors.conf
,  lm85*: 
# cat /etc/sensors.conf
...
# Voltage inputs
  label in0   "VoltA1_5"      # AGP on Intel S845WD1-E
  label in1   "Volt1_5"
  label in2   "Volt3_3"
  label in3   "Volt5"
  label in4   "Volt12"
# Temperature inputs
  label temp1  "TempCPU"
  label temp2  "TempMB1"
  label temp3  "TempMB2"
# Fan inputs
  label fan1   "FanCPU"
  label fan2   "FanSys1"
  label fan3   "FanSys2"
  label fan4   "FanSys3"
# PWM Outputs
  label pwm1   "CPUF_PWM"
  label pwm2   "SysF1_PWM"
  label pwm3   "SysF2_PWM"
...

   sensors,      ,    : 
# sensors
lm85b-i2c-0-2e 
Adapter: SMBus I801 adapter at c800 
VoltA1_5:   +1.48 V  (min =  +1.42 V, max =  +1.58 V)
Volt1_5:    +1.50 V  (min =  +1.45 V, max =  +1.60 V)
Volt3_3:    +3.33 V  (min =  +3.13 V, max =  +3.47 V)
Volt5:     +5.10 V  (min =  +4.74 V, max =  +5.26 V)
Volt12:   +12.31 V  (min = +11.38 V, max = +12.62 V)
FanCPU:    3360 RPM  (min = 3000 RPM)
TempCPU:     +36C  (low  =   +10C, high =   +60C)
TempMB1:     +33C  (low  =   +10C, high =   +45C)
TempMB2:     +33C  (low  =   +10C, high =   +45C)
CPUF_PWM:  255
SysF1_PWM: 255
SysF2_PWM:  77
vid:      +1.525 V    (VRM Version  9.1)

    ,       : "Volt", "Fan", "Temp" -    /etc/sensors.conf   . 

  

 sysstat

    sysstat   http://perso.wanadoo.fr/sebastien.godard/  ftp://ibiblio.org/pub/Linux/system/status/ 
  sysstat-*.*.*.tar.bz2  /usr/src 
     : 
# make config 		#    'y'  'n'
# make
# make install

    : 
# sar -A 1 1 |grep Average: 
Average:       proc/s 
Average:         0.00 
Average:      cswch/s 
Average:       258.00 
Average:          CPU     %user     %nice   %system   %iowait     %idle 
Average:          all      1.90      0.00      0.40      0.00     97.70 
........................................................................
Average:      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15 
Average:            0        83      0.06      0.15      0.16 



 df
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3              2007996    411772   1596224  71% /
/dev/sda1               132206     10981    114399  43% /boot
/dev/sda5               248895      4256    231789   2% /tmp
/dev/sda6              5863496   2556028   3307468  64% /var
/dev/sda7              6843432   5128048   1715384  75% /usr
/dev/sda8              1976492   1048740    827348  56% /home
/dev/sda9              5863496   4479752   1383744  77% /usr/portage/distfiles
none                    254752         0    254752   0% /dev/shm
/usr/portage/distfiles 5863496   4479752   1383744  77% /var/ftp/pub/linux/distfiles
/usr/portage/packages  6843432   5128048   1715384  75% /var/ftp/pub/linux/packages

  : 
bash: df: command not found

 df   coreutils. 



 

     ,      - iptables  ipfw,     ,       .
     :  server/etc/show_network.conf (/etc/monitoring/show_network.conf)    ,   .       admin/etc/network (/etc/monitoring/network). 



Linux iptables

  server/etc/show_iptables_acc.conf (/etc/monitoring/show_network.conf)
1     (  show_network.conf,   in_*.N  out_*.N,  N   ,  )
2    
3      
4       
 ӣ    !
     server/firewall/*    ,   .
  /usr/bin/show_iptables.sh.  ģ  /home/monitoring 



FreeBSD ipfw

 BSD,   server/bin/show_ipf_acc.conf:
1    
2    
3       ipfw show
    !
  /usr/bin/show_ipfw.sh   /home/monitoring 



   

  xinetd   .   server/etc/host.allow (/etc/host.allow): 
# BEGIN allow services for monitoring
show_hdisk.sh:127.0.0.1 # IP  '  
show_sensors.sh:127.0.0.1 # IP  '  
show_info.sh:127.0.0.1 # IP  '  
show_system.sh:127.0.0.1 # IP  '  
show_network.sh:127.0.0.1 # IP  '  
# END allow services for monitoring

        server/bin/show_*   "only_from", "bind"  "disable"  server/xinetd.d/show_* 
$ cat server/xinetd.d/show_hdisk
# default: on
# description: The showdisk server show disk useg on the server.
#       It dont uses authentication !!!!!!!!!!!!!!!.
service df
{
       socket_type             = stream
       wait                    = no
       user                    = monitoring
       bind                    = 127.0.0.1               # IP  ,   
       server                  = /usr/bin/show_hdisk.sh
       only_from               = 127.0.0.1               # IP ',  
       disable                 = no                      # ./.
}

    : 9045/tcp 9046/tcp 9047/tcp 9048/tcp 9049/tcp        .      ,   . 

 

       monitoringinstall.sh (/usr/sbin/monitoringinstall.sh): 
# Edit this first:
# all command will execute user:
runuser=monitoring
rungroup=monitoring
# cron cfg directory
cronpath=/etc/cron.d
# init script locations:
crond=/etc/init.d/crond
# Edit only for server side:
# init script location:
xinetd=/etc/init.d/xinetd
# program location:
dfpath=/bin/df
sarpath=/usr/bin/sar
sensorspath=/usr/bin/sensors

    : 
# ./monitoringinstall.sh --server

 Gentoo : 
# monitoringinstall.sh --server

           . 

 

  : 
cp server/etc/show_iptables_acc.conf /etc/monitoring	#for GNU/Linux
cp server/etc/show_ipfw_acc.conf /etc/monitoring	#for BSD
cp server/etc/show_network.conf /etc/monitoring
cp server/xinetd.d/show_hdisk /etc/xinetd.d/
cp server/xinetd.d/show_network /etc/xinetd.d/
cp server/xinetd.d/show_sensors /etc/xinetd.d/
cp server/xinetd.d/show_system /etc/xinetd.d/
cp server/bin/show_hdisk.sh /usr/bin
cp server/bin/show_iptables.sh /usr/bin		#for GNU/Linux
cp server/bin/show_ipfw.sh /usr/bin			#for BSD
cp server/bin/show_network.sh /usr/bin
cp server/bin/show_sar.sh /usr/bin
cp server/bin/show_sensors.sh /usr/bin
cp server/bin/show_system.sh /usr/bin

    /etc/service: 
network	9045/tcp                        # show network info
info		9046/tcp                        # show server info
df		9047/tcp                        # show disk info
sys		9048/tcp                        # show system info
sensors	9049/tcp                        # show sensors info

  : 
groupadd monitoring
useradd -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring
mkdir /home/monitoring
chmod 700 /home/monitoring
chown -R monitoring:monitoring /home/monitoring

    SELinux   : 
# cat /etc/security/selinux/src/policy/users
...
# BEGIN monitoring selinux:
user monitoring roles user_r;
# END monitoring selinux.

  : 
# cd /etc/security/selinux/src/policy
# make load

 xinetd: 
# /etc/init.d/xinetd restart

    crontab: 
*/10 * * * * monitoring /usr/bin/show_iptables.sh	#  GNU/Linux
*/10 * * * * monitoring /usr/bin/show_ipfw.sh		#  BSD
*/1 * * * * monitoring /usr/bin/show_sar.sh

 crond: 
# /etc/init.d/crond restart

      ,    ... 

"" 

        

      : 
# telnet server_name 9045
Trying serverIP...
Connected to serverIP.
Escape character is '^]'.
in_ftp    		0
out_ftp   		0
in_http    		0
out_http   		0
in_other    		249
out_other   		27
Connection closed by foreign host.

# telnet server_name 9046
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
  Intel(R) Celeron(R) CPU 2.40GHz | 504 Mb
Connection closed by foreign host.

# telnet server_name 9047
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
/dev/sda3              2007996    411772   1596224  71% /
/dev/sda1               132206     10981    114399  43% /boot
/dev/sda5               248895      4256    231789   2% /tmp
/dev/sda6              5863496   2556028   3307468  64% /var
/dev/sda7              6843432   5128048   1715384  75% /usr
/dev/sda8              1976492   1048740    827348  56% /home
/dev/sda9              5863496   4479752   1383744  77% /usr/portage/distfiles
Connection closed by foreign host.

# telnet server_name 9048
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
Average:       proc/s
Average:         3.98
Average:      cswch/s
Average:       308.00
Average:          CPU     %user     %nice   %system   %iowait     %idle
Average:          all      1.76      0.00      0.47      0.00     97.76
.............................................................
Average:      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
Average:            1        88      0.05      0.21      0.21
Connection closed by foreign host.

# telnet server_name 9049
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
lm85b-i2c-0-2e
Adapter: SMBus I801 adapter at c800

Volt1_5:    +1.48 V  (min =  +1.42 V, max =  +1.58 V)
VoltCore:   +1.50 V  (min =  +1.45 V, max =  +1.60 V)
Volt3_3:    +3.33 V  (min =  +3.13 V, max =  +3.47 V)
Volt5:     +5.10 V  (min =  +4.74 V, max =  +5.26 V)
Volt12:   +12.25 V  (min = +11.38 V, max = +12.62 V)
CPU_Fan:   3377 RPM  (min = 3000 RPM)
fan2:         0 RPM  (min =    0 RPM)
fan3:         0 RPM  (min =    0 RPM)
fan4:         0 RPM  (min =    0 RPM)
TempCPU:     +32 C  (low  =   +10 C, high =   +50 C)
TempBoard:   +30 C  (low  =   +10 C, high =   +45 C)
TempRemot:   +30 C  (low  =   +10 C, high =   +40 C)
CPU_PWM:   255
Fan2_PWM:  255
Fan3_PWM:   77
vid:      +1.525 V  (VRM Version 9.0)

Connection closed by foreign host.



  

 monitoring-*.tar.bz2.

 Gentoo  ,    monitoring        monitoring-*.ebuild.tar.bz2     /usr/local  : 
# emerge -pv monitoring
[ebuild N ] net-analyzer/monitoring-0.11 USE="-admin -apache2 -lm_sensors -server"

     USE=admin,    apache-2* USE=apache2 
# export "USE=admin apache2"
# emerge monitoring

   rrdtool, apache, Net-Telnet    Gentoo  ,         ,      . 



 rrdtool

 ,       ,   rrdtool (round robin database tool).    : http://rrdtool.eu.org  http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/       : http://www.bog.pp.ru/work/rrdtool.html ().  ,      ,          ޣ   RRD  . 



 ޣ   RRD

ޣ    RRD  /etc/monitoring/*.rrd.cf  ""          .   ޣ  MRTG: 5-  -    2 : -=0.5  ޣ  =1  =2*24*12=576 +min+max+avg+cur ~ 650 
0.5:1:650

30-  -     : -=0.5  ޣ  =30/5=6  =2*7*24*2=672 +min+max+avg+cur ~ 750 
0.5:6:750

2-  -     : -=0.5  ޣ  =60*2/5=24  =2*31*24/2=744 +min+max+avg+cur ~ 850 
0.5:24:850

1-  -     : -=0.5  ޣ  =60*24/5=288  =2*366=732 +min+max+avg+cur ~ 900 
0.5:288:900

  : 
# cat /etc/monitoring/5min.rrd.cf
0.5:1:650	0.5:6:750	0.5:24:850	0.5:288:900

 Net-Telnet

        Net-Telnet perl  (     netcat): -    perl (   ).  Net-Telnet perl     : http://cpan.perl.org/modules/by-module/Net/   Net-Telnet-*.tar.gz 



 Apache

    apache ,    (admin/etc/apache/monitoring.conf): 
# cat /etc/apache2/vhosts.d/monitoring.conf
### /etc/apache2/vhosts.d/monitoring.conf
### $Id: monitoring.conf,v 0.11 2006/09/28 16:27:12 hse Exp $
###
### For Monitoring *.shtml
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
### For authentication:
<Directory "/var/www/localhost/htdocs/administration/monitoring">
   AllowOverride All
   Options Includes
   <IfModule mod_access.c>
### For password authentication:
#       AuthUserFile /var/www/localhost/htdocs/administration/passwd_file
#       AuthGroupFile /dev/null
#       AuthName Administrative-information
#       AuthType Basic
#       Require valid-user
### For host/network authentication:
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1
#	Allow from .cluster.linux
    </IfModule>
</Directory>

     : 
# htpasswd -bcm /var/www/localhost/htdocs/administration/passwd_file username password

    . 



   

  admin/etc/host (/etc/monitoring/host)   ,    (    IP ).      admin/etc/monitoring.conf (/etc/monitoring/monitoring.conf) 
    :
installpath=/usr/
   :
apachehtmldir=/var/www/html
webdirpath=/administration/monitoring
       :
confpath=$installpath/etc/host
   :
diskinfopath=/tmp/monitoring/disk.tmp
sarinfopath=/tmp/monitoring/sar.tmp
sensorsinfopath=/tmp/monitoring/sensors.tmp
    rrdtool:
rrdtoolpath=/usr/bin/rrdtool
 :
emailvalue=root@localhost
  (  )      etc/ (/etc/monitoring/):



diskusage memusage quantity cpu memory systemload -          .      sar -A 1 1 |grep Average:                system.         !

system -                 (. ).        rrdtool   .                 .     ().

colors -      16- .

config -              (  ,     !).

disk -   ,      rrdtool   ,       ,  ().

network -   ,      rrdtool   ,       ,  ().

sensors -   ,      rrdtool   ,       ,  ().

disk.rrd.cf network.rrd.cf sensors.rrd.cf system.rrd.cf -    .

disk.msg network.msg sensors.msg system.msg -        .

    ,   . 



  

     .         monitoringinstall.sh (/usr/sbin/monitoringinstall.sh)            . 
   :
runuser=monitoring
rungroup=monitoring
   cron :
cronpath=/etc/cron.d
   
crond crond=/etc/init.d/crond
    apache
apachconfdir=/etc/apache/conf
  apache:
apachconffile=apache.conf
    apache
apached=/etc/init.d/apache

     (  1 ,     ,  10        ,     ): 
# ./monitoringinstall.sh --admin

 Gentoo  
# monitoringinstall.sh --admin

  ,  :
1     admin/etc/ (/etc/monitoring)
2   /home/monitoring/hostname/err/...
3    /home/monitoring/hostname/   
4     /var/db/monitoring/...   
5 bin/net_telnet.pl   500  .    ,  :
line 32: while [$ ne 500]

  ,    ,   : 
# ./monitoringinstall.sh --admin=disk
# ./monitoringinstall.sh --admin=sensors
# ./monitoringinstall.sh --admin=system
# ./monitoringinstall.sh --admin=network

 -  ,    monitoringuninstall.sh    .    . 



  

   ,          monitoring/admin  : /usr/ ($INSTALL_PATH),   p   . : 
# cp -p admin/bin/* $INSTALL_PATH/bin/
# mkdir /etc/monitoring
# cp -p admin/etc/* /etc/monitoring/
# mkdir $INSTALL_PATH/share/monitoring
# cp -p admin/share/* $INSTALL_PATH/share/monitoring/

# mkdir -p /var/www/localhost/htdocs/administration/monitoring
# chmod 755 /var/www/localhost/htdocs/administration/monitoring/
# groupadd -g 1111 monitoring
# useradd -u 1111 -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring
# chmod -R 700 /home/monitoring
# chown -R monitoring:monitoring /home/monitoring
# chown -R monitoring:monitoring /var/www/localhost/htdocs/administration/monitoring/

   ( 1 ,     ,  10        ,     ): 
# su monitoring
$ $INSTALL_PATH/bin/net.vert.1.sh
$ $INSTALL_PATH/bin/net.vert.10.sh

     /var/db/monitoring/_/      /etc/monitoring/host     /home/monitoring
: 
$ $INSTALL_PATH/bin/png_graph.sh disk -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh disk -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh disk -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh network -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh network -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh network -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh sensors -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh sensors -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh system -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh system -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh system -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh system -1year 1day

  ,  :
1     /etc/monitoring
2   /home/monitoring/hostname/err/...
3    /home/monitoring/hostname/   
4     /var/db/monitoring/...   
5 bin/net_telnet.pl   500  .    ,  :
line 32: while [$ ne 500]

   .

  /var/www/localhost/htdocs/administration/monitoring           .

    ,         crond: 
$ exit
# cat /etc/cron.d/monitoring

SHELL=/bin/bash
PATH=/bin:/usr/bin
MAILTO=root
HOME=/home/monitoring
LANG=POSIX

# Begin server part (may be you wont monitoring "admin" computer too)
*/1 * * * * monitoring /usr/bin/show_sar.sh
*/10 * * * * monitoring /usr/bin/show_iptables.sh	#GNU/Linux
#*/10 * * * * monitoring /usr/bin/show_ipfw.sh		#BSD
# End server part

# Begin disk admin part
*/30 * * * * monitoring /usr/bin/png_graph.sh hdisk -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh hdisk -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh hdisk -1year 1day
# End  disk admin part

# Begin network admin part
*/30 * * * * monitoring /usr/bin/png_graph.sh network -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh network -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh network -1year 1day
# End  network admin part

# Begin system admin part
*/5 * * * * monitoring /usr/bin/png_graph.sh system -2day 5min
*/30 * * * * monitoring /usr/bin/png_graph.sh system -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh system -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh system -1year 1day
# End system admin part

# Begin sensors admin part
*/5 * * * * monitoring /usr/bin/png_graph.sh sensors -2day 5min
*/30 * * * * monitoring /usr/bin/png_graph.sh sensors -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh sensors -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh sensors -1year 1day
# End sensors admin part

# Begin vert admin part
*/1 * * * * monitoring /usr/bin/net.vert.1.sh
*/10 * * * * monitoring /usr/bin/net.vert.10.sh
# End  vert admin part

: 
# /etc/init.d/crond restart



  

       http://servername/administration/monitoring/index.html.       ,    :) 

  

  -    ,    :
1.     2 ( )
2.      /etc/monitoring/host
ӣ    !!!  :))) 



       (      ;))   .       :=) 
Angel Network Monitor http://www.paganini.net/angel/ 
Autostatus http://www.angio.net/consult/autostatus/ 
Cacti http://cacti.net 
HiWAyS http://www.hiways.org/ 
MARS http://www.altara.org/mars.html 
Mon http://www.kernel.org/software/mon/ 
Monit http://www.tildeslash.com/monit/ 
Nagios http://www.nagios.org 
Netup (French) http://www.pasteur.fr/units/sis/netup/ 
NocMonitor http://www2.discpro.org/nocmon/ 
NodeWatch http://www.skendric.com/nodewatch/ 
Penemo http://www.communityprojects.org/apps/penemo/ 
PIKT http://pikt.org/ 
RITW http://www.terravista.pt/Ancora/1883/ritw_e.html 
RRDWorld http://oss.oetiker.ch/rrdtool/rrdworld/index.en.html 
Scotty http://wwwhome.cs.utwente.nl/~schoenw/scotty/ 
Spong http://spong.sourceforge.net/ 
Sysmon http://www.sysmon.org/ 
ZABBIX http://www.zabbix.com 
ZEUS http://www.zeus.com/ 

 X

    X

 

  

     ,            .            . 

   
Macil -   .   yar.lancktelecom.ru/talk, forum.median.ru,   Macil [at] jabber.ru 
Wanderer -  Linux  .      Linux  4 ,     ;-).  Gentoo           ,   .      e-mail (wanderer_mg [at] mail.ru)  jabber (wanderer [at] jabber.ru). 

    

  X Window System  2   .  (core)  Xft. 
       ,   X11R1,   1987 .        ,        -        . 
Xft     X,      .  ,        X.       ,     .      , Xft  anti-aliasing  sub-pixel rasterisation.  ,      ,    ,    WYSIWYG . 

            API? -    X   ,         . 

//:    README.fonts 

  


  ۣ .    ,    .

ft 


  ۣ .    ,    .

  Xft 

Xft  ,    API   .     Xft 2.0   fontconfig  freetype      , . Xft 1.0    ,         KDE  Pango ""        .    []. 

  3 : 
fontconfig -   
freetype -   
XFT -     

Freetype -    

[Freetype] -    -      .     API,         ,     .   X   freetype,        .         (    freetype),        Xft      .      ,   , freetype               .    (  )  ...  ,  2  freetype: freetype1  freetype2.    ,  freetype1      TrueType.    ,   freetype2. 

    


  ۣ .    ,    .

  hinting 

     hinting    http://www.myfonts.com/activity/hinting/ 

 , ,      . 
  ۣ .    ,    .

  anti-aliasing 

    ,       .    ( ,  ,  y=2*x)   ,      ,        ,  .        ,   .  anti-aliasing,  ,            ԣ  , ..          .    anti-aliasing   , ..    " ". 
  ۣ .    ,    .

  Microsoft Windows 


  ۣ .    ,    .

  Microsoft Windows     

    ,      corefonts: emerge corefonts 

   


  ۣ .    ,    .

 Xft 

  Xft    /etc/fonts/fonts.conf  /etc/fonts/local.conf.       /etc/fonts/local.conf.   /etc/fonts/fonts.conf  , ..    fontconfig       . 
  ۣ .    ,    .

       

      ,        , ..     . 

    /etc/fonts/local.conf,       ,    14. Code: /etc/fonts/local.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig>

<!--  Enable sub-pixel rendering  -->

        <match target="font">
                <edit name="rgba" mode="assign"><const>rgb</const></edit>
        </match>
        <match target="font">
            <test name="size" compare="less_eq">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less_eq">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>

</fontconfig>


 Qt  Gtk 

 Qt
emerge qt qtconfig 

 Gtk
emerge gtk-theme-switch switch2 


  ۣ .    ,    .

  


  ۣ .    ,    .

Legacy  


  ۣ .    ,    .


    X


 
   (   )  . 

   : 
~ $ emerge xorg-x11
...
~ $ emerge kde
...
startx

 ,    KDE.     ,  ,   .  :

, ,    -       ,   .   40. .   ,  - .   ,   . .   ,         KDM,      . .     ,        ,     .  ()          . , 

  

   ,         - dpi (  ).        96. X11 ,         ,   ,     25 dots per inch.        1   . ,   1024768     ,  77 ,     .        ,   ,   . 

   

  .     KDM    : 
/usr/kde/3.5/share/config/kdm/kdmrc

   ,    . , GDM    ,    ,      : 

   
  ,   dpi. ? ? 

 dpi 

, ,  .           startx,   .        -  .      . 

  startx 

 ,        
~ $ find /usr -name startx

     /usr/bin,    99,(9)%       . 
       -dpi 96   defaultserverargs 
defaultserverargs="-dpi 96"

 ,     ,    ,     .
 ,   .  
~ $ startx

 . 

  KDM, XDM    

 .   xorg.conf     DisplaySize.  ,     (,     ),  -  .   ,  ,    : 
X = x * 25,4 / dpi
Y = y * 25,4 / dpi
 X, Y - ,    DisplaySize 
x, y -   (x - , y - ) 
dpi -   ,    

    1024x768  : 
~ $ vi /etc/X11/xorg.conf

Section "Monitor"
       Identifier   "Monitor0"
       VendorName   "HSD"
       ModelName    "HSD150PX17-A"
       DisplaySize  270.9 203.2 # mm
EndSection

 
 ,  ,     xorg.conf   ,    .     , ,    . 

-  :  ! 

P.S. 

 Gnome   ,  dpi,   ,    ,         96  ,   .


Xorg X11  



     X.org  Linux/Gentoo ,          . 

  

 X.org

   X.org    emerge xorg-x11 

    X.org   /etc/X11/xorg.conf 
     XFree86   /etc/X11/XF86Config      X.org.      /etc/X11/XF86Config  /etc/X11/xorg.conf. 

  X.org   startx 

 X Composite Extension

 /etc/X11/xorg.conf   nano -w /etc/X11/xorg.conf     ;) 

        : /etc/X11/xorg.conf 
Section "Extensions"
    Option "Composite" "Enable"
    Option "RENDER" "Enable"
EndSection


   X.org     Composite Extension.       ,       .      (   ). 

      grep COMPOSITE /var/log/Xorg.0.log 
(II) Initializing built-in extension COMPOSITE

    

KDE 3.4   

   3.4 KDE    Xorg.        ,  "  "       .   " /",        (, ,   ,     ..)  . 

xcompmgr  transset

 WM       X.org,          . 
    xcompmgr 

echo "x11-misc/xcompmgr ~x86" >> /etc/portage/package.keywords 

emerge xcompmgr 
  transset 

echo "x11-misc/transset ~x86" >> /etc/portage/package.keywords 

emerge transset 

     ,   ,    .   Xterm xcompmgr xcompmgr -c         xcompmgr,     ,  CTRL+C      ,     ,           ( ): xcompmgr -c & :  &   xcompmgr   ,        -   ,        nohup: nohup xcompmgr -c &        nohup.out 

  xcompmgr  "" .     -s   "" . 

   xcompmgr     xcompmgr -cCfF -r7 -o.65 -l-10 -t-8 -D7 & 

  .    transset    ,         .   transset     0  1         
0 -   
1 -   

  transset 0.2 

      transset     . 

  

 

   http://www.grebowiec.net/archives/xorg4.html 

 

  Sheridan' 

 

     killall xcompmgr 



NVIDIA

  NVIDIA      /etc/X11/xorg.conf    ,      "Composite"      . : /etc/X11/xorg.conf 

Section "Device"
...
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
...
EndSection 




:   RenderAccel       ,               .
  AllowGLXWithComposite       opengl .   ,   glx  composite    . 

ATI 

  ATI     ATI ,  /etc/X11/xorg.conf  backingstore,    backing store,                        : /etc/X11/xorg.conf 

Section "Device"
...
Option "backingstore" "true"
...
EndSection 




              X.org  6.8.    WM        X.org       .  , kwin  ,  .


Xorg.  
 USA/RUS + Scroll Lock Led 

  InputDevice     : 
Section "InputDevice"
   Identifier	"Keyboard1"
   Driver	"kbd"
   Option	"AutoRepeat"	"500 30"
   Option "XkbModel"	"pc105"
   Option "XkbLayout"	"us,ru(winkeys)"
   Option "XkbOptions"	"grp:alt_shift_toggle, grp_led:scroll"
EndSection

    Alt+Shift,    Scroll Lock Led 

, ,  ,   Section "ServerLayout"    InputDevice "Keyboard1".      Keyboard0,    . 

    - CTRL-C CTRL-V     -      -        :) -     xkb 

,    winkeys    .    : 
   Option "XkbLayout" "us,ru"

  
   Option "XkbVariant" ",winkeys"

   ,    ,   "winkeys"     !

 Xgl


 Xgl     OpenGL   X ,     composite  render.          ,    . 

         en:HOWTO XGL 



Xorg

    Xorg.       Xorg-7.0emerge xorg-x11 :      Portage 


glitz

     CVS   glitz. cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co glitz  .autogen.sh && ./configure --prefix=/usr/ && make && make install 

glxcompmgr

    composite   glxcompmgr cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co app/glxcompmgr   autogen.sh && ./configure --prefix=/usr/ && make && make install 

metacity

  ,   glxcompmgr           metacity, ,      kwin,     kdesktop     glxcompmgr. metacity 

MesaLib

    composite,    libGL.so.1.2   MesaLib-6.4.1   mesa-glx-x11-render-texture-3.diff,     glxcompmgr.patch -p0 <mesa-glx-x11-render-texture-3.diff && ./configure --prefix=/usr/ && make      ..     ./lib/libGL.so.1.2.   .cp ./lib/libGL.so.1.2 /usr/lib/opengl/xorg-x11/lib/ 

Xgl

 . cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg login 

CVS password:  Enter 

cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co -r xgl-0-0-1 xserver 

   ./hw/xql 

   Xgl . ./configure --prefix=/usr/ --enable-xglserver --enable-glx --enable-xkb && make && make install 

    nvidia

"" 

,    libGL.so.1.2  nvidiaeselect opengl set nvidia             Xgl :1 -ac -accel xv -accel glx:pbuffer -screen 800x600 &    , , ,    xkb,   -kb Xgl :1 -kb -ac -accel xv -accel glx:pbuffer -screen 800x600 &      ,        Xgl :1 -kb -ac -accel xv -accel glx:pbuffer -fp /usr/share/fonts/misc/ -screen 800x600 &          -fullscreenXgl :1 -kb -ac -accel xv -accel glx:pbuffer -fp /usr/share/fonts/misc/ -fullscreen & 

   ATI     fglrx   ... -accel xv...  ... -accel xv:pbuffer... 

 glxcompmgr

    xterm  metacity  . export DISPLAY=:1xterm &metacity &        libGL.so.1.2   MesaLibeselect opengl set xorg-x11     glxcompmgr.glxcompmgr shadow wobbly &           xterm'. 

KDE, GNOME

  kde  Gnome    metacity  kde(Gnome)     glxcompmgr. 

 

       ..  /usr/lib/libGL.so.1     /usr/lib/opengl/nvidia/lib/libGL.so.1.2,   /usr/lib/libnvidia-tls.so.1.     .
     xruskb.

XGL
 

Xgl  X ,   OpenGL   .      Compiz    Metacity     3D  2D   . Xgl    Mesa, GLX_EXT_texture_from_pixmap,      Mesa 6.5  . 

 the XOrg mailing list    GLX_EXT_texture_from_pixmap    NVIDIA.      NVIDIA,  9625,   ,    Xgl      Compiz  NVIDIA ,      .       Xgl,    en:HOWTO nVidia GL Desktop Effects 

 , Compiz    GNOME-, Xgl  Compiz        (KDE/GNOME/Xfce/*box).   ӣ    GNOME,        . :    ݣ   ,      , ӣ     . 


 

. the article on video card support under Xgl. 

 Xgl :         X      konsole  gterm,       gconf-editor  gset-compiz   Compiz   . 


   

    . 

emerge --sync 

    XOrg ( 7.x).     XOrg    Gentoo    أ wiki. 
en:HOWTO Modular Xorg 
  

 XOrg ( 7.x)       ,         Gentoo  . 

Compiz    GNOME GConf  ,        .         gconf-editor,    GNOME. ,    KDE  KConfigEditor     .        ebuild ,          extragear.kde.org.        gconf   ,      . 

    gconf-editor,    . 

emerge -nav gconf-editor 

    Subversion    webdav.     nowebdav.        /etc/portage/package.use: :       USE . 


echo "dev-util/subversion -nowebdav" >> /etc/portage/package.use 

, 

emerge -nav subversion 

 Portage 

      ;     svn    layman       .  layman    ,    .  ,         . 

  :  Layman 

  ݣ   Layman,   . 

emerge -nav layman 

        make.conf. 

echo "source /usr/portage/local/layman/make.conf" >>/etc/make.conf 

   Eix Caching System,       ;        make.conf. 

 "nocheck"    "yes"     layman. (/etc/layman/layman.cfg) 

     Layman : 

layman -f
layman -a xeffects 

   layman  1.0.7  ,       .   -k    . 

layman -k -a xeffects 

 :   

      ,   .  (  lanman),        . :            . 


     

cd /usr/local/overlays 

    CoffeeBuzz's Subversion    'xgl-coffee' 

svn co http://svn.xgl-coffee.org/xgl-coffee/trunk xgl-coffee 

       /usr/local/overlays/xgl-coffee. 

     PORTDIR_OVERLAY  /etc/make.conf. : /etc/make.conf 
PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/overlays/xgl-coffee"


  

                      /etc/portage/package.keywords  /etc/portage/package.unmask : /etc/portage/package.keywords 
# 
dev-util/git
media-libs/glitz
media-libs/mesa
x11-apps/mesa-progs
sys-apps/man
x11-libs/cairo
dev-python/pycairo
x11-libs/qt
x11-misc/util-macros
x11-proto/glproto
x11-apps/xvinfo
x11-apps/xlsclients
x11-libs/libwnck
x11-misc/xwinwrap
virtual/xft
gnome-base/gconf
gnome-base/libgnomeui
x11-libs/gtk+
dev-libs/glib
x11-libs/libdrm

#XGL 
x11-base/xgl

#   Compiz
x11-wm/compiz-quinnstorm
x11-misc/compiz-quinnstorm-plugins
x11-wm/compiz
x11-wm/cgwd
x11-misc/csm
x11-misc/cgwd-themes
x11-misc/cgwd-themes-extra
x11-misc/gset-compiz
x11-misc/compiz-manager

#   Beryl  Compiz
x11-wm/beryl-core
x11-plugins/beryl-plugins
x11-misc/beryl-manager
x11-misc/beryl-settings
x11-wm/emerald
x11-misc/emerald-themes


   glitz, pdf  png    USE  Cairo.         package.use: : /etc/portage/package.use 
x11-libs/cairo glitz pdf png


 Xgl

        nVidia ( 1.0.9625)      XGL.      .        ,     "-nVidia ".     nVidia        nVidia   .              "nVidia ". 

-nVidia 

-    Cairo.   --oneshot        world (   world ). 

# emerge --oneshot --ask --verbose cairo 


 pango  gtk+    Cairo . 

# emerge --oneshot --ask --verbose pango gtk+ 


      beryl  compiz : 
compiz       (David Reveman)   (Novell).       . 
beryl   Quinnstorm's Ubuntu      .       compiz-quinnstorm.  emerald  window decorator.        . 

   dbus  svg    USE  Compiz.        package.use: : /etc/portage/package.use 
x11-wm/compiz dbus svg


   glproto  libdrm .     : 

# emerge --ask --verbose --oneshot --noreplace glproto libdrm 


       Xgl  Mesa,      Compiz       Xgl . 

# emerge --ask --verbose --oneshot --noreplace mesa 

 1:   vanilla compiz: 

# emerge --ask --verbose xgl compiz 

 2:   beryl  : 

# emerge --ask --verbose xgl beryl-core :  beryl     emerald   .   emerald    . 
: NVIDIA    nvidia-drivers   Xgl 
:    xgl,    

http://forums.xgl-coffee.org/viewtopic.php?t=178 
:    beryl   dbus,    dbus 
:    xgl     fbmmx.c  fbedge.c,    "-fforce-addr"   CFLAGS.       


 ӣ  ,  Cairo      . :       gentoolkit. 


     

# equery d -o -p cairo :      ,      ! 



        Xgl.      Xgl. 

nVidia 

nVidia   9625 BETA    XGL  AIGLX-           . . en:HOWTO nVidia GL Desktop Effects    . 

 Xgl 

-   Xgl  Compiz,        .    ģ    . 

   Layman 

    Layman   : 

layman -s xeffects 

 

   ,       ./svnup.sh.      . 
cd /usr/local/overlays/xgl-coffee/
./svnup.sh

 Xgl 

 Compiz 

    Compiz   .     ,     ! (   minimize/maximize/close,     ,     .) 

    .                 gconf-editor  gset-compiz.        !  gconf    ,  Compiz          ͣ      gconf. 

      Xgl       ,    ,        X . 

 " ":  gconf-editor 
# gconf-editor

  apps --> compiz --> general --> allscreens --> options    active_plugins  . :   gconf-editor   ompiz,      : 
 # export GCONF_CONFIG_SOURCE="xml:merged:/etc/gconf/gconf.xml.defaults"
 # gconftool-2 --makefile-install-rule /etc/gconf/schemas/compiz.schemas



 " "  compiz-quinnstorm:  csm
# csm

      checkbox  .          . : Compiz-quinnstorm    Compiz Manager (compiz-manager).            Compiz Settings Manager (csm)  Compiz Theme Manager (gcompizthemer).       ( compiz  ),                    . 

# compiz-manager
 or (if any dbus problem) :
# dbus-launch compiz-manager

 :  gconftool-2
# gconftool-2 -s /apps/compiz/general/allscreens/options/active_plugins "[gconf,decoration,wobbly,fade,minimize,cube,switcher,move,resize,place,rotate,zoom,scale]" -t list --list-type=string

     . 

 :  gset-compiz : 

gset-compiz       Compiz.   gconf-editor          gset-compiz. 

# gset-compiz

        .         Plugins    . 

 ,   gconf  decoration. ,       ,    wobbly, fade, switcher, move, resize, place, minimize, cube, rotate, zoom,  scale.       ,     ,       .    "  ",   move  resize -        . 

Using Quinnstorm's compiz & cgwd 

Quinnstorm's new compiz doesn't use gconf plugin anymore (so settings). To use it, replace any instance of compiz --replace gconf found in this document with dbus-launch compiz --replace dbus csm. And set it by csm or dbus-launch csm. 

Quinnstorm's new window decorator must be called instead of gnome-window-decorator in order to function. If you chose to emerge cgwd, just replace any instance of gnome-window-decorator found in this document with dbus-launch cgwd. 

  

 Xgl         Xgl .          XGL   . 

          X : Code:  ati  
Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer -fp /usr/share/fonts/misc,/usr/share/fonts/other_fonts
Code:  nVidia  
Xgl :1 -ac -accel glx:pbuffer -accel xv -fp /usr/share/fonts/misc,/usr/share/fonts/other_fonts
:   pbuffer  fbo   accel,    http://forums.gentoo.org/viewtopic-t-455153-highlight-.html 



: Xgl     FontPath  xorg.conf, -,       -fp       .            xorg.conf: 


 grep -i fontpath /etc/X11/xorg.conf | egrep -v "[:space:]*#" | sed "s/.\+\"\(.\+\)\"/\1,/g" | xargs echo | sed "s/\ //g" | sed "s/,\$//"

  : 

    (compiz or compiz-quinnstorm),    (gnome-window-decorator or cgwd)    (xterm). Code:  :    compiz   gnome-window-decorator 

   gnome-window-decorator   gtk-window-decorator 22  2006 . 
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ \
DISPLAY=:1 compiz gconf
DISPLAY=:1 gnome-window-decorator
DISPLAY=:1 xterm
Code:  1:    compiz-quinnstorm   gnome-window-decorator 
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ \
DISPLAY=:1 dbus-launch compiz dbus csm
DISPLAY=:1 gnome-window-decorator
DISPLAY=:1 xterm
Code:  2:    compiz-quinnstorm  cgwd 
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ \
DISPLAY=:1 dbus-launch compiz dbus csm
DISPLAY=:1 dbus-launch cgwd
DISPLAY=:1 xterm


 ӣ  ,         Xgl     .        .        Xgl. 

startx (  startx) 

       Xorg    startx,  .xinitrc      DISPLAY:0,   :   startxgl    Xgl,     .xglinitrc      DISPLAY:1.                 Xorg . 

1)  startx (cp /usr/bin/startx /usr/local/bin/startxgl)   2 : : /usr/local/bin/startxgl 
 ## userclientrc=$HOME/.xinitrc
 userclientrc=$HOME/.xglinitrc

 ## xinit $clientargs -- $serverargs -deferglyphs 16 &
 # ATI
 xinit $clientargs -- /usr/bin/Xgl :1 $serverargs -ac -accel xv -accel glx:pbuffer -deferglyphs 16 &
 # NVIDIA
 xinit $clientargs -- /usr/bin/Xgl :1 $serverargs -ac -accel xv -accel glx:fbo -deferglyphs 16 &


2)   ~/.xglinitrc (vi ~/.xglinitrc) : ~/.xglinitrc 
 sleep 2 # give Xgl some extra time to start
 DISPLAY=:1 KDEWM=compiz-decorator startkde
:  Gnome   gnome-session  startkde  WINDOW_MANAGER  KDEWM.   DM     .     ~/.xinitrc. 


3)   compiz-decorator (vi /usr/local/bin/compiz-decorator) : /usr/local/bin/compiz-decorator 
## Start compiz or compiz-quinnstorm
## compiz --replace gconf &
## dbus-launch compiz --replace dbus csm &
compiz --replace gconf &

sleep 2

## Start gnome-window-decorator or cgwd
## gnome-window-decorator &
## dbus-launch cgwd &
gnome-window-decorator &
:      compiz-quinnstorm  cgwd   .          


    /usr/local/bin/compiz-decorator     : 
# chmod +x /usr/local/bin/compiz-decorator

4)       XOrg  startx,    Xgl  startxgl. 

    ATI  KDE. --Ash 17:48, 11  2006 (UTC) 

XDM (   ) 

   X : : /etc/X11/xdm/Xservers 
:0 local /usr/bin/Xgl vt7


KDM (  KDM) 

   ServerCmd  kdmrc    : : /usr/kde/<your version>/share/config/kdm/kdmrc 
# NVidia Command
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv
# ATI Command
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv:pbuffer


     ServerTimeout   Xgl   ,    : : /usr/kde/<your version>/share/config/kdm/kdmrc 
ServerTimeout=30


 kdm   ,   ServerTimeout  600. ,       Xgl  . 



   /usr/kde/3.5/share/config/kdm/Xstartup   Compiz.       root. 

    ,  : : /usr/local/bin/compiz-decorator 
## Start compiz or compiz-quinnstorm
## compiz --replace gconf &
## dbus-launch compiz --replace dbus csm &
compiz --replace gconf &

sleep 2

## Start gnome-window-decorator or cgwd
## gnome-window-decorator &
## dbus-launch cgwd --replace &
gnome-window-decorator --replace &


:      compiz-quinnstorm  cgwd   .          



    /usr/local/bin/compiz-decorator : 
# chmod +x /usr/local/bin/compiz-decorator


 : : /etc/env.d/99kde-env 
KDEWM=compiz-decorator



 ,  : 
# env-update

      /etc/init.d/xdm start    Xgl           KDM. 

GDM (  GNOME) 

   3 ,   Xgl   GDM   Compiz      . 
 GDM  Xgl   ,      ,     
 GDM    Xgl- 
  GNOME     Compiz :  gdm    Xgl   gdm-2.14.1   .     ,    2, , ,     gdm   Xgl.   gdmsetup   gdm   Xgl- ( 2a)      gdm  2.14.0.     ,     GDM ( 2b). 


 Gdm      Xgl 

Gdm      (kill) X-,     10 .  ,   Xgl   .  Xgl  Gentoo,   Gdm (   2.14.1)    10 . 
# emerge --ask --verbose >=gdm-2.14.1
/    [daemon]  /etc/X11/gdm/custom.conf. : : /etc/X11/gdm/custom.conf 
GdmXserverTimeout=30

 /etc/X11/gdm/custom.conf  ,  /etc/X11/gdm/gdm.conf-custom  /etc/X11/gdm/gdm.conf. 

 Gdm    Xgl 

 gdmsetup 
      gdm.conf 
cp /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.bak 
 gdmsetup 
  Security 
  Configure X Server,  -  

       X- 
   ,     Servers to Start 
 Remove Button 

      Xgl 
  Add/Modify 
    VT 1.  Standard  Server    ,     ,       "Xgl"-,       gdmsetup   ,       Standard.    - .  Ok  . 
 Server Settings  Server Name  "Xgl" 
  Xgl   Command, ,   ATI: 
/usr/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer
NVIDIA users should use: 
/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv
    Launch   Greeter 
 Logins are handled by this computer 
 Flexible (on demand) 
Save  Close 
 gdm 

  
      gdm.conf 
cp /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.bak
Now open /etc/X11/gdm/gdm.conf in a text editor and search for the [servers] section. This should be near the end of the file. 
Comment out 0=Standard and add a new line that reads 0=inactive and one that reads 1=Xgl. 
Add the server information for the Xgl server, remember to substitute the correct Xgl server command! The one below is for ATI cards. 

The modified /etc/X11/gdm/gdm.conf: 
[servers]
#0=Standard
1=Xgl

# Definition of the xgl X server.
[server-Xgl]
name=Xgl
command=/usr/bin/Xgl :1 -ac -accel xv:pbuffer -accel glx:pbuffer
flexible=true
chooser=false
handled=true
priority=0 
Restart gdm : For i810 users (not necessarly i915; this would kill my xorg sessions, I had to use the ATI command), the command for the above should be:
[server-xgl]
name=Xgl server
command=/usr/bin/Xgl -accel xv -accel glx:pbuffer -accel xv:pbuffer -ac -audit 0 -br -dpms -dpi 72
flexible=true


Via xsession 

You can add another session for Xgl on display :1 (leaving the standard server on :0). It is a 2 step setup and imho the best option, first create a file to start Xgl and second create a new xsession file. 

Create a new file startxgl.sh in /usr/bin which starts Xgl. 
vim /usr/bin/startxgl.sh

And add one of the four options below. 
NVIDIA (using GNOME) 
#!/bin/bash
Xgl -fullscreen :1 -audit 0 -ac -br -accel glx:pbuffer -accel xv:fbo &
sleep 2 && DISPLAY=:1 gnome-session
NVIDIA (using KDE) 
#!/bin/bash
Xgl -fullscreen :1 -audit 0 -ac -br -accel glx:pbuffer -accel xv:fbo &
sleep 2 && DISPLAY=:1 startkde
ATI and Intel (using GNOME) 
#!/bin/bash
Xgl -fullscreen :1 -audit 0 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 2 && DISPLAY=:1 gnome-session
ATI and Intel (using KDE) 
#!/bin/bash
Xgl -fullscreen :1 -audit 0 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 2 && DISPLAY=:1 startkde

Create a new xsession file: : /usr/share/xsessions/xgl.desktop 
[Desktop Entry]
 Encoding=UTF-8
 Name=Xgl
 Comment=Start an Xgl Session
 Exec=/usr/bin/startxgl.sh
 Icon=
 Type=Application


Now you will be able to select a new session via gdm's option menu. Options -> Select Session 

The benefit is that it will not replace your normal XOrg server. So when you "break" your Xgl you can return to the normal XOrg server. 

Adding Compiz to your GNOME session (replacing Metacity) 

Here is a little startscript, which I've placed in /usr/bin/. Useful if you do not always run Xgl. Change or remove the setxkbmap line according to your keyboard layout. : /usr/bin/compizrc 
#!/bin/bash
#
# Start compiz within gnome-session
#
if [ `ps -A -o comm | grep -c '^Xgl$'` == "1" ]; then
        DISPLAY=:1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
        DISPLAY=:1 gnome-window-decorator &
#       DISPLAY=:1 setxkbmap -model pc105 -layout it -variant basic # Change according to your needs, and uncomment if needed

#       Or like that, if you need to switch between layouts.
#       setxkbmap -model pc105 -layout "us,ru(winkeys)" -variant winkeys -option "grp:alt_shift_toggle,grp_led:scroll"
else echo "${0}: Error: Compiz and g-w-d not launched. Xgl not running?"
fi
: /usr/bin/compizrc.modified 
#!/bin/bash
#
# Start compiz within gnome-session
#
if [ `ps -A -o comm | grep -c '^Xgl$'` == "1" ]; then
# For old versions
#       DISPLAY=:0 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
# For Compiz-Quinnstorm with csm
        DISPLAY=:0 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace dbus csm &
        DISPLAY=:0 dbus-launch cgwd --replace &
#       DISPLAY=:0 setxkbmap -model br-abnt2 -layout br -variant br
else echo "${0}: Error: Compiz and cgwd not launched. Xgl not running?"
fi
Code: Make the script executable 

chmod 755 /usr/bin/compizrc 



After logging into GNOME, start System->Settings->Sessions. Here you go to the 3rd tab Startup Programs and press the Add button. Enter the path to your Compiz startscript (e.g., /usr/bin/compizrc). 
After logging out and back in Compiz will start, but you'll see no decorations and effects. Thats because the Compiz gconf tree for the current user has just been created - without any plugins! 
So start your configuration editor and go to apps/compiz/general/allscreens/options and edit the active_plugins key. This should contain the following items in this order: gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher 
If the key is not there, make it with a type of List 
After restarting your Xgl Server should be accessible with GDM & gnome-session. 

Xsession (Modifying startx): This is for NVIDIA users. 
: This currently will not work for ATI users because of the display issues, requiring to be run on DISPLAY=:1. 
: I use simmilar configuration (see startx section) on ATI. Consider /usr/bin/Xgl :1 instead of /usr/bin/Xgl and starting Gnome at :1 as well, if DISPLAY:0 is problematic. --Ash 17:57, 11 September 2006 (UTC) 


Copy /usr/bin/startx to /usr/bin/startxgl and change the following line towards the end of the file: : /usr/bin/startxgl 
xinit $clientargs -- $serverargs -deferglyphs 16 &

to 
xinit $clientargs -- /usr/bin/Xgl $serverargs -ac -accel xv -accel glx:pbuffer -deferglyphs 16 &


This does not start Compiz so create a small start script and add it to the gnome-session manager (Once GNOME is up. The first time, you will have to open a terminal and call the script manually.) : /usr/bin/compizrc 
#!/bin/bash
#
# Start compiz within gnome-session
#
if [ `ps -A | grep Xgl | wc -l` == "1" ]; then
        LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
        gnome-window-decorator &
#       setxkbmap -model pc105 -layout it -variant basic # Change according to your needs, and uncomment if needed

#       Or like that, if you need to switch between layouts.
#       setxkbmap -model pc105 -layout "us,ru(winkeys)" -variant winkeys -option "grp:alt_shift_toggle,grp_led:scroll"

fi
: This should start the desktop environment configured via XSESSION in /etc/rc.conf 


Xfce4 

With xfce4-session

xfce4-session is installed by default as part of the xfce4 meta-package. If you installed xfce4 this way, the following will work. 

First, it is necessary to create a script that will start Compiz and gnome-window-decorator with the correct libraries and switches. : /usr/bin/compizrc 
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz --replace gconf &
gnome-window-decorator
Code: Make the script executable 
chmod 755 /usr/bin/compizrc


Now, edit the xfce4-session settings to point to this rather than xfwm4. : /etc/xdg/xfce4-session/xfce4-session.rc 
[Failsafe Session]
Count=4
Client0_Command=compizrc
Client0_PerScreen=False
Client1_Command=xfce4-panel
Client1_PerScreen=True
Client2_Command=xftaskbar4
Client2_PerScreen=True
Client3_Command=xfdesktop
Client3_PerScreen=False
: Instead of editing system-wide file you may also add above section to ~/.config/xfce4-session/xfce4-session.rc file. Note also that you may need to delete content of the ~/.cache/sessions directory, if you still have xfwm4 rather than Compiz running. 



Finally, create a script to start Xgl with Xfce4. : /usr/bin/startxgl for NVIDIA 
#!/bin/bash
Xgl -ac -accel xv:fbo -accel glx:pbuffer &
xfce4-session
: /usr/bin/startxgl for ATi 
#!/bin/bash
Xgl -ac -accel xv:pbuffer -accel glx:pbuffer &
xfce4-session
Code: Make the script executable 
chmod 755 /usr/bin/startxgl


You will notice that xfce4-panel is now transparent, just like if you were using xfwm4's compositor. The pager will be distorted, but otherwise everything works beautifuly. Windows even minimize to the correct spot on the taskbar. 

Without xfce4-session

If you compiled a minimal Xfce (without xfce4-session, xffm4, etc.), then you can use this altered startxgl script from the gnome script above: 
#!/bin/bash
echo ">Starting XGL at Display: $1"
echo "========= XGL ============"
Xgl :$1 -ac -accel xv -accel glx:pbuffer &
sleep 3
echo "======= COMPIZ ==========="
DISPLAY=:$1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace switcher decoration wobbly fade minimize cube rotate zoom scale move resize place &
sleep 3
echo "======= XFCE ============"
DISPLAY=:$1 xfce-mcs-manager
DISPLAY=:$1 gnome-window-decorator &
DISPLAY=:$1 xftaskbar4 &
DISPLAY=:$1 xfdesktop &
DISPLAY=:$1 exec xfce4-panel

Again, xfce4-panel will be transparent as if you had the X.org composite extension turned on (but you don't) or if you use xfce4-svn, and the pager will be distorted. Everything else should be fine. 

With startxfce4

To do it the old fashioned, or 'normal' way via startx/startxfce4 I did the following. First, startxfce4 shouldn't be called I don't think. just use an .xinitrc in your homedir and startx. : ~/.xinitrc 
#!/bin/sh
/usr/bin/startxfce4


Now as root, we create compizrc, like above. Note however that for me, it worked best/only without the DISPLAY variable. : /usr/bin/compizrc 
#!/bin/bash
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf > ~/compiz.log 2>&1 &
sleep 1;
gnome-window-decorator > ~/gnome-window.log 2>&1 &


Obviously the output redirections are optional (but handy for debugging). The sleep 1; might also be removed to speed things up. If things go TO fast however, you might get in trouble though. Don't forget to chmod 755 /usr/bin/compizrc 

Lastly we need to use this new compizrc instead of the default xfce4 window manager. 

Again, as root edit /etc/xdg/xfce4-session/xfce4-session.rc and replace xfwm4 with compizrc : /etc/xdg/xfce4-session/xfce4-session.rc (old) 
Client0_Command=xfwm4
: /etc/xdg/xfce4-session/xfce4-session.rc (new) 
Client0_Command=compizrc


Now only one thing is left, start Xgl. As above you can copy startx in /usr/bin/startx to /usr/bin/startxgl and make the following change: : /usr/bin/startxgl (old) 

xinit $clientargs -- $serverargs -deferglyphs 16 & 
: /usr/bin/startxgl (new) 

xinit $clientargs -- /usr/bin/Xgl -ac -accel xv -accel glx:pbuffer $serverargs -deferglyphs 16 & 


: Todo: Make Client0_Command depend on wether startx or startxgl is beeing used as 3D apps don't appear to work as they should and switching back to the 'old way' is required. 


Edit: it seams that when using the startxfce4 script, the /etc/xdg/xfce4-session/xfce4-session.rc file (and the .xinitrc) get ignored thus starting a non Xgl desktop. Making 'switchin' not needed. startxfce4 for oldschool, startxgl for new style 

Entrance 
Emerge latest entrance: 
echo "=x11-misc/entrance-0.9.0.007 ~x86" >> /etc/portage/package.keywords
emerge -av entrance
Use the ecore_config utility to change the xserver string (choose according to your video card): 
# ATI
ecore_config -k "/entranced/xserver" -s "/usr/bin/Xgl -ac -accel xv:pbuffer -accel glx:pbuffer -nolisten tcp"  -c /etc/entrance_config.cfg
# NVIDIA
ecore_config -k "/entranced/xserver" -s "/usr/bin/Xgl -ac -accel xv:fbo -accel glx:pbuffer -nolisten tcp"  -c /etc/entrance_config.cfg
Restart entrance.

Qingy 

It is quite easy to change Qingy to start Xgl instead of a regular X server. All you need to do to make it start Xgl is change 2 lines in /etc/qingy/settings : /etc/qingy/settings 
...
# x_server = "/usr/X11R6/bin/XFree86"
x_server = "/usr/bin/Xgl"
# x_args = "-nolisten tcp"
x_args = "-ac -accel xv -accel glx:pbuffer -nolisten tcp"
...


Now Qingy should start Xgl instead of regular X. To make KDE and GNOME load Compiz you need to export a variable. KDEWM for KDE and WINDOW_MANAGER for GNOME. It is easiest to do this in /etc/X11/Sessions. 

You need to have followed the instructions for adding plugins to gconf-editor. Then make a /usr/bin/compizrc as shown and chmod +x it. : /usr/bin/compizrc 
#!/bin/bash
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz --replace gconf &
sleep 2
gnome-window-decorator &
setxkbmap -model itouch -layout gb & ## Change/Remove as appropriate


Then edit the appropriate file (or both) in /etc/X11/Sessions
For KDE: : /etc/X11/Sessions/kde-3.5 
#!/bin/sh
export KDEWM="/usr/bin/compizrc"
exec /usr/kde/3.5/bin/startkde


Or for GNOME add this to the top of the file : : /etc/X11/Sessions/Gnome 
#!/bin/sh

export WINDOW_MANAGER="/usr/bin/compizrc"

...


For Xfce4 edit /etc/xdg/xfce4-session/xfce4-session.rc as shown in a previous section.
Hopefully Qingy should now start Xgl and Compiz instead of X and some other WM. 

Generic startxgl script

There is a generic startup script in the overlay. For usage instructions start it without arguments. 
Currently it support Xfce, Xfce-svn, GNOME and KDE. 
cd /usr/local/overlays/xgl-coffee
./startxgl


  
   ebuild  portage overlay 

  mkdir -p /usr/local/portage/x11-misc/xneur cd /usr/local/portage/x11-misc/xneur 

 ebuild nano -w xneur-0.1.0_1.ebuild : /usr/local/portage/x11-misc/xneur/xneur-0.1.0_1.ebuild 
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

DESCRIPTION="It's program like Punto Switcher, but has other final aim."
SRC_URI="http://www.xneur.ru/xneur/${P}.tar.gz"
HOMEPAGE="http://www.xneur.ru/"
DEPEND="virtual/x11"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~sparc ~alpha ~ppc ~hppa ~ppc64"

src_install () {
       make DESTDIR=${D} install || die
       #dodoc AUTHORS README COPYING INSTALL NEWS ChangeLog TODO .xneurrc
}

pkg_postinst() {
      # einfo "Run:"
      # einfo "gzcat /usr/doc/${P}/.xneurrc.gz > ~/.xneurrc"
}


: ebuild xneur-0.1.0_1.ebuild digest    : echo "x11-misc/xneur ~x86" >> /etc/portage/package.keywords emerge xneur ;) 

    http://www.xneur.ru/

Cedega 5.1


Cedega -      WinAPI  *nix- WINE,  Transgaming,    Winex.    .       Sid Meier's Civilization IV, FIFA 06  Need for Speed: Most Wanted. 

Cedega 5.1    : 
Point-to-play -      ,    .rpm/.deb/.tgz 
Engine / engine update -  WINE,     .cpkg - tar ,  tgz    manifest    . 



  ,     Point-to-play  : Code:  Cedega 
su
tar -zxf cedega-engine-5.1-local-update.i386.cpkg
tar -C /usr -zxf cedega_5.1-1.i386.p2p.tgz bin winex
mv /usr/share/share/doc/* /usr/share/doc
mv /usr/share/share/man/man1/* /usr/share/man1
mv /usr/bin/winex3 /usr/bin/cedega
mkdir /usr/lib/transgaming/cedega; mv /usr/winex /usr/lib/transgaming_cedega
exit


 Code:   
tar -C $HOME -zxf cedega_5.1-1.i386.p2p.tgz .transgaming
nano ~/.transgaming/config




cedega -version

Windows-


 ,   ,   , ?      Gentoo     Windows. ,  ,   ,      .     ̣   Gentoo. 

      :  Windows-  Linux -  . ,      : [1](.). 

    (.)  ,   (.)


     	 MS Windows 	 Linux 
 	 
 	 	ClamAV 	clamav 
  	 / Notepad, WordPad, TextPad, Vim, Xemacs,... 	Kedit (KDE)(.)
Gedit (Gnome)
Kate (KDE)
Nedit
Vim(.)
Xemacs
Nvi	kedit
gedit
kedit

nedit
vim
xemacs
nvi
 CD/DVD 	BurnAtOnce, Nero 	Graveman
K3b 	graveman
k3b 


    	 MS Windows 	 Linux 
 	 
Web- 	Internet Explorer, Mozilla, Firefox, Opera... 	Epiphany(.)
Galeon(.)
Konqueror
Links(.)
Mozilla(.)
Firefox(.)
Nautilus(.)
Opera(.) 	epiphany
galeon
konqueror
links
mozilla
mozilla-firefox
nautilus
opera 
  	Outlook Express, Netscape/Mozilla, Thunderbird, The Bat, Eudora, Becky, Datula, Sylpheed/Sylpheed-claws, Opera 	Evolution(.)

Mozilla messenger
Sylpheed
Sylpheed-claws
Kmail
Gnus(.)
Balsa
Gnumail
Opera
Thunderbird
Mutt(.)
Pine(.) 	evolution
mozilla

sylpheed
sylpheed-claws
kmail
gnus
balsa
gnumail
opera
thunderbird
mutt
pine 
    (IM) 	CQ Lite, ICQ Corp, MSN, AIM, Yahoo, ... 

Trillian ICQ (,    3 Σ ), Miranda, Gaim 		Licq(ICQ) 	licq 
Centericq()(.) 	centericq 
Micq(ICQ)(.) 	micq 
GnomeICU(ICQ) 	gnomeicu 
Gaim() 	gaim 
Ayttm() 	ayttm 
Kopete 	kopete 
Simple Instant Messenger() 	sim 
aMSN(MSN) 	amsn 
YSM(ICQ)(.) 	ysm 
Yahoo Messenger for Unix 	ymessenger 
Kmess(MSN) 	kmess 

   	VirtualDub, VirtualDubMod 	Avidemux 	avidemux 
Virtual CD 	VirtualDrive, VirtualCD, Daemon Tools, ... 	mount -o loop "mycd.iso" /mnt/cdrom 	
 	Blue Screen of Death 	XScreenSaver 	xscreensaver 


/  	 MS Windows 	 Linux 
 	 
  	MS Office, StarOffice / OpenOffice, 602Software 	
OpenOffice
Koffice 	openoffice

koffice 
  	Word, StarOffice / OpenOffice Writer, 602Text, Abiword 	OpenOffice Writer

KWord
AbiWord 	openoffice

kword
abiword 


Chat
amsn: alternative for MSN Messenger 
gaim: alternative for Aim, ICQ, IRC, Yahoo!, MSN, Jabber (Google Talk) 
irssi: (command line based) alternative for mIRC 
kopete: alternative for Aim, ICQ, IRC, Yahoo!, MSN, Jabber 
licq: alternative for ICQ 
psi: jabber client 
xchat: alternative for mIRC 
konversation: alternative for mIRC 
Skype: Skype has also version in Linux 
WengoPhone:Wengophone also has a Linux version and is open source 
SIM-IM: alternative for ICQ, Jabber, MSN, SMS, Yahoo!, AIM 

File managers
krusader: alternative for Total Commander 

FTP
gFTP: alternative for FileZilla, SmartFTP 

Graphics
digiKam: alternative for the propriotary digital photo software bundled with your camera 
gimp: alternative for Adobe Photoshop 
Inkscape: alternative for Adobe Illustrator 
gqview: alternative for Irfanview 
gwenview: alternative for Irfanview 
kuickshow: alternative for Irfanview 

Internet
Konqueror: alternative for Internet Explorer 
Mozilla Firefox: there is no alternative! 
Seamonkey (previously called Mozilla): alternative for Internet Explorer 
Opera: free but proprietary alternative for Internet Explorer 

Mail
Evolution: alternative for Outlook 
Mozilla Thunderbird: alternative for Outlook Express 
Kontact / kmail: alternative for Outlook Express 

Multimedia
AmaroK: alternative for iTunes player/WMP 
XMMS: alternative for WinAMP http://komnas.com/~ashamril/tips/files/win-vs-lin-soft-EN.shtml 
beep-media-player: alternative for WinAMP 
kaffeine: alternative for Windows Media Player (also plays DVDs) 
MPlayer | gmplayer | kmplayer: alternative for Windows Media Player 
Xine: alternative for Windows Media Player (also plays DVDs) 
vlc: alternative for Windows Media Player 
RealPlayer: runs natively on linux! 
Totem : alternative for WMP, Menusupport for DVDs 
LMMS : "Linux Music Maker Studio" Linux analog of "FL Studio" HomePage:http://www.lmms.sourceforge.net/ 
Rosegarden : MIDI/Audio-sequencer HomePage:http://www.rosegardenmusic.com/ 
Cheese-Tracker : one of the Trackers, use QT 

Office
OpenOffice.org: alternative for MS Word, Excel, Powerpoint and Access, great support for MS formats 
KOffice : like above without MS format support. Includes more specialized apps than even the full MS Office Pro 
AbiWord : Only like MS Word. Decent MS Format support. Includes grammar check 
StarOffice: commercial version of OpenOffice.org, includes extras (grammar check) 
kpdf: alternative for Adobe Acrobat Reader 
XPDF: alternative for Adobe Acrobat Reader 
Adobe Acrobat Reader: work natively on linux 

P2P
Azureus: java bittorrent client (or bittorrent which is written in python) 
qtorrent: bittorrent client 
Limewire + gtk-gnutella: Gnutella client 
MLDonkey + Sancho: client and interface for bittorrent, Gnutella, FastTrack, etc. 
aMule: alternative for eMule 
xmule: alternative for eMule 
nicotine: soulseek client 
Valknut, LinuxDC++:    DC (Direct Connect)



  



   Gentoo Linux -        ,     ţ .     .   (      )       .            . 

 

,       ,     .   /etc/conf.d/rc  NO  YES   RC_PARALLEL_STARTUP. : /etc/conf.d/rc 

...
RC_PARALLEL_STARTUP="YES"
... 


     ,   baselayout emerge -u baselayout 

:        (      ,   ),    NO. 



        ()  baselayout echo "sys-apps/baselayout ~x86" >> /etc/portage/package.keywords emerge sync && emerge sys-apps/baselayout -u 

     initng emerge sys-apps/initng 

 

        ,   ,         (,   ,   ).      ifplugd,  ,     (,   ). : 

emerge -n ifplugd 

  ifplugd    : 

rc-update add ifplugd boot 

    

    Gentoo      , ,      ,        .   ,   . 

: : /etc/init.d/modules -  

...
ebegin "Calculating module dependencies"
    /sbin/modules-update &>/dev/null
    eend $? "Failed to calculate dependencies"
...
 
 
 
 
 
 
		: /etc/init.d/modules -  

...
if [ /etc/modules.d -nt /etc/modules.conf ]
    then
        ebegin "Calculating module dependencies"
        /sbin/modules-update &>/dev/null
        eend $? "Failed to calculate dependencies"
    else
        einfo "Module dependencies are up-to-date"
fi
... 




: : /etc/init.d/bootmisc -  

...
if [ -x /sbin/env-update.sh ]
    then
        ebegin "Updating environment"
        /sbin/env-update.sh >/dev/null
        eend 0
fi
...
 
 
 
 
 
		: /etc/init.d/bootmisc -  

...
if [ -x /sbin/env-update.sh ]
  then
    if [ /etc/env.d -nt /etc/profile.env ]
      then
        ebegin "Updating environment"
        /sbin/env-update.sh >/dev/null
        eend 0
      else
        einfo "Environment up-to-date"
    fi
fi
... 

:          baselayout, ..       ,  . 


   

   localmount,          ,   . 

: : /etc/init.d/localmount -  

...
mount -at ... >/dev/null
... 
		: /etc/init.d/localmount -  

...
mount -aFt ... >/dev/null
... 




  
 
  Linux,      man  

apropos word 
  file   GnuPG 

gpg -c file 
  file 

gpg file.gpg 
    ,   word 

look word 
  word   /somefile 

grep --color word /somefile 
 command    

nice command 
     (  ).   ,         (emerge). ,     emerge   PORTAGE_NICENESS   /etc/make.conf 

renice 19 -p $$ 
     

echo $? 
        01:00    

echo "wget http://ru.gentoo-wiki.com/Special:Newpages" | at 01:00 
 17:45      'got the r00t?' bugs@microsoft.com 

echo "mail -s 'got the r00t?' bugs@microsoft.com < /dev/null" | at 17:45 
 1234      (   1.234) 

printf "%'d\n" 1234 
     

watch -n1 "cat /proc/interrupts" 
,      

time command 
     

alias hd='od -Ax -tx1z -v' 
    command 

which command 
  9     

ls | pr -T9 -W$COLUMNS 
     file (  YYMMDDhhmm) 

touch -c -t 0304050607 file 
    

pstree -p 
 ,   /dir/file (     'lsof /mnt/cdrom').    'emerge -n lsof' 

lsof /dir/file 

-
 stderr  stdout (   stderr  stdout) 

gcc file.c 2>&1 | less 
 stderr   errors.log  stdout   compile.log    

gcc file.c 2>errors.log 1>compile.log 
     (      )       /dev/null,     : 

rm -r /var/tmp/portage 2>&1 >/dev/null  rm -r /var/tmp/portage &> /dev/null 
       ,     ,      : 

( cat /etc/gentoo-release ; cat /etc/passwd >/dev/null; cat /etc/group ) |less 

  .
    (   'cd ..') 

cd - 
    

cd 
   dir,  command     

(cd dir; command) 
    ,      popd     

pushd . 

 
        (-l),      (-S)    (-r).    . 

ls -lSr 
,       file   dir 

du -sh file dir 
      

df -h 
      

df -i 
      (  root) 

fdisk -l 

  CD
 iso-     

dd bs=1M if=/dev/cdrom | gzip > cdrom.iso.gz 
 iso-   dir 

mkisofs -r dir | gzip > cdrom.iso.gz 
 cdrom.iso  /mnt/dir (   ) 

mount -o loop cdrom.iso /mnt/dir 
     

gzip -dc cdrom.iso.gz | cdrecord dev=0,0,0 - 
   Audio-CD    (  .wav) 

cdparanoia -B 
 Audio-CD   .wav     

cdrecord dev=0,0,0 -audio *.wav 
  track.cdda.wav  .ogg 

oggenc --tracknum="track" track.cdda.wav -o "track.ogg" 

  
   dir 

tar c dir/ | bzip2 > dir.tar.bz2 

tar -cjf dir.tar.bz2 dir 
    /to/dir ( '-C /to/dir'   ) 

bzip2 -dc dir.tar.bz2 | tar x - /to/dir 

tar -xjf dir.tar.bz2 -C /to/dir 
   .png    dir/ 

find dir/ -name "*.png" | xargs tar rf dir.tar; bzip2 dir.tar 
 (   !)  /dir/to/copy/  /where/to/ 

( tar cf - /dir/to/copy ) | ( cd /where/to/ && tar xf - ) 
 (   !)   /dir/to/copy  /where/to/ 

( cd /dir/to/copy && tar cf - . ) | ( cd /where/to/ && tar xf - ) 
 (   !)  /dir/to/copy/   /where/to/    

( tar cf - /dir/to/copy ) | gzip | ssh user@remote 'cd /where/to/ && gzip -dc | tar xf -' 
         

dd bs=1M if=/dev/hda | gzip | ssh user@remote 'dd of=hda.gz' 

  
    l 

alias l='ls -l --color=auto' 
      

ls -lrt 
   dir   ,  2   

find dir -mtime +2 
   dir   1  

find dir -type f -mmin +60 -exec rm -f {} \; 
   dir   10  

find dir -type f -mtime +10 -exec rm -f {} \; 
    ( ) .c  .h    "search string" 

find -name "*.[ch]" | xargs grep -E "search string" 
  "search string"     

find -type f | xargs grep -E "search string" 
  "search string"     (  ) 

find -type f -maxdepth 1 | xargs grep -E "search string" 
        sql  USER1     USER1  USER2 

tmp="/tmp/$RANDOM$$.tmp"; f="USER1"; r="USER2"; 

find . -name '*.sql' -exec grep -l "$f" {} \; | 

xargs --replace="{}" bash -c "( sed 's/$f/$r/g' < {} > $tmp && cat $tmp > {} && rm -f $tmp )" 
      slocate. :      *file*.txt 

locate -r 'file[^/]*\.txt' 

   
 -  FAT 

mkdosfs -c -f 16 -n " " /dev/fd0  mkfs -t fat16 /dev/fd0 
""        (floppy, CD, flash) 

   /etc/fstab!!! 
 CDROM

/dev/cdrom /mnt/cdrom iso9660 ro,nosuid,noauto,exec,user,nodev 0 0 
 ""

/dev/fd0 /mnt/floppy vfat iocharset=koi8-r,sync,nosuid,codepage=866,user,--,noauto,nodev,unhide 0 0 
  Windows

/dev/hda1 /mnt/win vfat user,exec,umask=0,codepage=866,iocharset=koi8-r 0 0 
 ""

/dev/sda1 /mnt/flash vfat user,exec,umask=0,sync,codepage=866,iocharset=koi8-r 0 0     koi8-r,    (. locale),     "koi8-r"    ,  ,  , ,  

  
     ,     

cal -3 
          Linux? 

date --date='25 Aug' +%A 
   (   ) - 130204800 ,     Unix 

date --date '1970-01-01 UTC 130204800 seconds' 
       ( tzselect     TZ) 

TZ="America/Los_Angeles" date 

  
(  emerge  net-tools, sys-apps/iproute2, net-dns/bind-tools)
   

ip link show 
    

ethtool interface  /sbin/ifconfig 
 eth0  wan 

ip link set dev eth0 name wan 
 ip 1.2.3.4   255.255.255.0  eth0 

ip addr add 1.2.3.4/24 brd + dev eth0 
  

ip link set dev interface up 
  

ip link set dev interface down 
    1.2.3.254 

ip route add default via 1.2.3.254 
 ip   name 

host name 
     (   ) 

netstat -lp --inet 
   

netstat -p --inet 


  

echo "(321-123)/123" | bc -l 
     bash 

echo "$(( (51+123)/2 ))" 
 python    

echo "print (10E3-123)/123" | python 
   (  ,   ) 

echo "obase=16;ibase=10;123" | bc 
   -    (   )  Fast Ethernet  (100Mb) 

echo "framing=20; minsize=64; (100*10^6)/((framing+minsize)*8)" | bc 
           ӣ    100- . 

echo "framing=20; plot [64:1518] (100*10**6)/((framing+x)*8)" | gnuplot -persist 


  ccache  emerge

     ccache   ?  :   (ccache -C)    (emerge --emptytree world).   -       (ccache -s)          .   ?   ? 

    /etc/make.conf  
CC=gcc 
CXX=g++ 

       .   ,       ? 

:     2005 ccache        gcc, g++       i686-pc-linux-gnu-gcc.               configure 

Keymap

      /etc/conf.d/keymaps (   baselayout     /etc/rc.conf) : /etc/conf.d/keymaps 
...
KEYMAP="-u ru4"
...


 : 
ru --  KOI-8,  [Right-Ctrl],   [Right-Alt] 
ru1 --  KOI-8,  [Right-Alt] 
ru2 --   (IBM866),  [Right-Alt] 
ru3 --  KOI-8, 102  ,  [CapsLock], [Shift+CapsLock] --   
ru4 --  KOI-8, 105  ,  [CapsLock], [Shift+CapsLock] --   
ru-cp1251 --  CP1251,  [Right-Ctrl],   [Right-Alt] 
ru-ms --    Microsoft Cyrillic keyboard layout,  [Right-Ctrl] 
ru_win --  CP1251,  [Right-Ctrl],   [Right-Alt] 
ru-yawerty --  KOI-8,  "" (         ),  [Right-Alt] 


,     ,    ru-utf.  [Right-Ctrl],   [Right-Alt].  : http://mlclm.narod.ru/ru-utf.map.gz,    /usr/share/kbd/keymaps/i386/qwerty     ,   /usr/share/keymaps/i386/qwerty. 

    ru-mab.     [Ctrl+Shift].   : http://moose.ylsoftware.com/gentoo.ru/ru-mab.map.gz Code: /etc/conf.d/keymaps 
...
KEYMAP="ru-utf"





  

2. 

   Gentoo,    ?

Gentoo ()      ,  -  "gen-too" (-).    - Pygoscelis papua.  Gentoo      ()  (Islas Malvinas). -   Gentoo  "". 

  Gentoo ?

Gentoo     BSD ,  Portage (.). Portage -    ,            Gentoo.       (  USE-),  ,      ,   ( "")   ,  ,   ,     . 

 Gentoo         ,    .   ,   ,   . Gentoo    ,   ,    . 

Gentoo  .    :       ,   ,      Portage,       . 

3. 

   ,    "-O9 -ffast-math -fomit-frame-pointer".   ? 

   - ,  -O3 ..      gcc.          ,       ,  . 

    CFLAGS -O2 -march=<your_arch>     . 

   root (   )?

 passwd,    ,     .  root,          passwd username.     : man passwd. 

   ?

 adduser username     "username". ,         , ,   ,   : 

 3.1:  useradd
# useradd -m -G users,audio,wheel username


        "username".  audio     audio       .  wheel     wheel,      su,    . 

      root  su?

  ,     su,       wheel.      wheel,    - root: 

 3.2:     wheel
# gpasswd -a username wheel


  devfs?

Gentoo    devfs, udev,      /dev.    2.6,     ,   udev.    udev      udev. 

     /dev,   RC_DEVICES="static"  /etc/conf.d/rc. 

    Gentoo  ? 

  ,        . Gentoo 1.4     glibc-2.3.x. ,  emerge --sync && emerge -uDN world,         (latest Gentoo).     Gentoo       .               Gentoo. 

   (),    ?

      ,          . ,   Gentoo  /dev/hda1 (  /boot)  /dev/hda3 (  /)    /dev/hda2: 

 3.3:  
   CD    
 
   :
# mount /dev/hda3 /mnt/gentoo
# mount /dev/hda1 /mnt/gentoo/boot
# swapon /dev/hda2
# mount -t proc none /mnt/gentoo/proc
      chroot 
  :
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/src/linux
# make menuconfig
/      / 
  
    :
# make && make modules_install
  bzImage   :
# cp arch/i386/boot/bzImage /boot/<kernel_name>
  LILO,  lilo;  GRUB -   :
# /sbin/lilo
    chroot  .
# exit
# umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot


  ,      ;    ,   /     (   ). 

 -  ,  ?

 Portage   ,    /etc/make.conf: 

 3.4: /etc/make.conf
HTTP_PROXY="http://username:password@yourproxybox.org:portnumber"
FTP_PROXY="ftp://username:password@yourproxybox.org:portnumber"
RSYNC_PROXY="rsync://username:password@yourproxybox.server:portnumber"


  ISO   -?

     raw-.           CD,      CD. 

     CD;       .       : 
 EasyCD Creator,  File, Record CD from CD image.      ISO image file.  ISO-   Open.    Start recording, ISO     . 
 Nero Burning ROM,  ,    ,  Burn Image   File.      Open.    Burn        CD. 
 cdrecord,   cdrecord dev=/dev/hdc ( /dev/hdc   CD-RW ),    ISO  :) 
 K3B,  Tools > CD > Burn CD Image.   ISO ,   'Image to Burn'. ,  Start. 
 Mac OS X Panther, Disk Utility  Applications/Utilities,  Open   Images,          Burn   Images. 
 Mac OS X Jaguar,  Disk Copy  Applications/Utilities,  Burn Image   File,   ISO    Burn. 

 /     ?

   ,     . ,   Pentium-M.   ,      .      ,     :-). 

   ,  ""  CD/stage, ,  i686    x86 (    ).     ,     ,      ,          . 

,     ,        Gentoo.    -march,   gcc guide. 

       .     ? 

  ,       .  ifconfig -a,  eth0  wlan0 (    ). ,     ,       .  ,  ,       /etc/modules.autoload.d/kernel-2.6 ( kernel-2.4,        2.4). 

        ,    ( ). 

     ,     DHCP,      dhcpd (emerge dhcpcd).     CD,   dhcpcd. 

 ,    ,   CD,  . 

   Windows  GRUB  LILO,     .  ? 

  . Windows     / ,       .   , ,   , "" Windows,   ""      . ,     Gentoo   hda ( ),  Windows  hdb ().     . 

 3.5:     Windows  grub.conf
title Windows XP
     map (hd1) (hd0)
     map (hd0) (hd1)
     rootnoverify (hd1,0)
     chainloader +1


 3.6:     Windows  lilo.conf
other=/dev/hdb1
     label=WindowsXP
     table=/dev/hdb
     map-drive = 0x80
     to = 0x81
     map-drive = 0x81
     to = 0x80


  Windows ,       ,    .        GRUB   man lilo.conf, ,   . 

  Gentoo,   Stage1  Stage2?

  Gentoo  ,   ,   stage3. ,       stage1  stage2.      ( Release Engineering   stage1,   stage3),      :  stage3       .     . 

 (bootstrapping) -    (   )  ,    ,    .   ,    stage3.    ,   bootstrap.sh   ,    : 

 3.7:  
# cd /usr/portage/scripts
# vi bootstrap.sh

# ./bootstrap.sh


          ( - ).     ..   stage3   : 

 3.8:    
# emerge -e system


     .   GRP   . 

4.  

    ?

  "".   Gentoo   ,    ,   ,        .  ,        ()   (snapshots). Gentoo Ebuild HOWTO (.)     ebuild  . 

  ISO-,         .tbz2 ,    .tar.bz2   ,    .          (,   )  . 

   RPM ( Redhat package manager)  Gentoo,         RPM  . 

    ./configure .   ?

,     ,   . ..     ,   Portage,      ebuld-,  ,   ,   ebuild-   Portage (    ).      ,   .   , . Ebuild HOWTO (.). 

  emerge,     ?

   proxy, rsync,     . 

 ,  rsync   ?

    ,    rsync ,     emerge-webrsync,       Portage   HTTP.     proxy  ,  ,       Portage  -. 

      .         ,      ? 

.  emerge --pretend package,  ,    .  ,       ,  emerge -fp package.  ,       .    /usr/portage/distfiles/,    emerge package.    :   . 

    /usr/portage/distfiles.    ? 

        .       ;    ebuild           .   ,       ,     ,       .  ,  ,    ,    . ,    ,    .       . 

   /var/tmp/portage?        /var/tmp/portage? 

  , Gentoo     /var/tmp/portage.         ,   .     ,  emerge  .   ,   pgrep emerge   . 





5. 

    ?

  KEYMAP   /etc/conf.d/keymaps.         ,       CONSOLETRANSLATION  CONSOLEFONT    /etc/conf.d/consolefont (             (.).    (reboot),    keymaps  consolefont: 

 5.1:  keymaps
# /etc/init.d/keymaps restart
# /etc/init.d/consolefont restart


  DNS    .

  /etc/resolv.conf   ;  chmod,   : 

 5.2:   /etc/resolv.conf
# chmod 0644 /etc/resolv.conf


        crontab?

       cron. 

  numlock  ?

     ,      rc-update add numlock default &&/etc/init.d/numlock start. 

 GUI     ;     . 

     ?

   clear    ~/.bash_logout: 

 5.3:    
$ echo clear >> ~/.bash_logout


  ,       ,      /etc/skel/.bash_logout: 

 5.4:       
# echo clear >> /etc/skel/.bash_logout


   X  - root' ( su)

,        . ,  startx,    .   Gentoo's PAM,    :      /etc/profile. 

 5.5:  XAUTHORITY
export XAUTHORITY="${HOME}/.Xauthority"


6. 

ReiserFS     -  ,  ..

   ReiserFS ,      Gentoo   reiserfsck --rebuild-tree    .       ,    -         . 


7. 

    ?

   Bugzilla.       ,     #gentoo   IRC FreeNode 

     ?

 Gentoo        .      ,     // ISO  ,   Release Engineering Project (.)        gentoo-announce.    . 

    .     ? 

   ,  setterm: 

 7.1:  setterm
# setterm -blength 0


  ,     ,      /etc/conf.d/local.start. ,         .       ,      : 

 7.2:  setterm (bis)
# setterm -blength 0 >/dev/vc/1


  /dev/vc/1  ,      . 


8. 

    Gentoo Linux?

  Gentoo    http://www.gentoo.org/doc/ru/. 

    CD  Gentoo Linux?

          Gentoo.      ,    . ,  ,    . 

       Gentoo Linux. 

       .  ?

  ,   ,    ,  Google      Gentoo.      Gentoo,  "lists.gentoo.org --"   .    ,       Gentoo,   irc : #gentoo on irc.freenode.net. 
:     http://forums.gentoo.org, ,   ,     - . .
   



   Windows  Linux       .      ,      - .           .      .:   Gentoo   ,        


 

  ? 

        .        .       RedHat, Mandrake, Fedore Core, ASP Linux, ALT Linux, Debian  .    Gentoo Linux  *BSD-. 

    Gentoo Linux   : emerge  emerge     ,   .       ,      . 

:  Gentoo     ( )    : emerge --usepkg --getbinpkg    : emerge -gk       . 

   ? 

         (   tar.gz, tar.bz2, tbz2, tgz,    -  ).     -   ,     : tar -xvjf super_proga_0.1.tar.bz2  tar.bz2( tbz2)  tar -xvzf super_proga_0.1.tar.gz  tar.gz(tgz).       . 

 -v -  . :) Dron 

   ,  tar zxvf ,  bz  gz2 jxvf,  ,   j  . =) das 

   xzf  eXtract Zipped File. j -  bzip2 wt 

        INSTALL  README,      : ./configure make    root: make install 

  Gentoo    . 

Gentoo Way

         , ,           ,        portage. ,             Gentoo.   ,         : emerge -s [ ]   : emerge -S [ ]      ,        ,  esearch emerge esearch eupdatedb esearch [ ]    esearch -S [ ]       .  esearch -F mail-client    ,       .        . 

    GUI   ,  Porthole( GTK).  KDE  Kentoo(   )  Guitoo. 

       ebuild',   Portage_Overlay. 

  ebuild         ,   ,     .     skel.ebuild'     portage.      en:HOWTO Create an Updated Ebuild. 

     ebuild   abeni 

   root    ?

  Windows, root -  .     Windows, root -   .    ,    ,      .  , root    ,     .     : 
     . 
 su.      su 
[user@gentoo user]$su
 Password:
[root@gentoo user]#

 user     wheel.       . 
 sudo.   ,    : 

$ emerge sudo 

    su   ,      ,   ,      - . :)  ,           root,     . , ,   sudo     root -   . ;)          sudo - /etc/sudoers. 

   : 

$ sudo  

(, "sudo ls -l").        ,     root,   : 

$ sudo -s 

 ,    root  ,    

$ exit 

 

 

  100% ,      Linux    .           100 ,   , ,  . ,      ,   ,     . 

 man

Linux -   .    ,           man.  man whereis        whereis,   man fstab     /etc/fstab.
      ,    /usr/share/doc ( Gentoo Linux     /usr/doc).    . 

:          MAN 


 cd

        .  ţ  -   .   : cd /home/vasya/katalog    ,      . 
  -      (/). 
  -      . 

,      /home/vasya,     /home/vasya/katalog     cd katalog  ,   Linux   ,  "".    , CD-,    ..       (  /mnt).
          pwd. 

 ls

      . , ls     .     ,      ,  ls /etc.       .        "-l" ls -l.  ls     ,   ,   ,   .ls -la   "-a"    (by morgoth) 

 cp

     . ,   /home/vasya/katalog/linux.txt   /home/vasya.   : cp /home/vasya/katalog/linux.txt /home/vasya       linux.txt   gentoo.txt?   : cp /home/vasya/katalog/linux.txt /home/vasya/gentoo.txt   cp   . ,    .  /home/vasya/katalog   /tmp : cp -R /home/vasya/katalog /tmp  -R    .      ,     : cp -R /home/vasya/katalog /tmp/novoe_imya  cp     : -p.        (,  ,  suid, sgid).     -p,        (    ). 

 rm

   . ,   /home/vasya/katalog/linux.txt: rm /home/vasya/katalog/linux.txt    /home/vasya/katalog ,   : rm linux.txt  ,    ,   Dos  Windows.
    /home/vasya/testdir  rmdir /home/vasya/testdir        -      .       (    )  rm -r /home/vasya/testdir 

 df

       df -h  -h         ( 1K 234M 2G) 

         ?

      -   .      .    (aka shell)   .   ? ,   cd home/vasya/katalog/vtoroi_katalog/ooooooooooooochendlinnoeimyakataloga. ,     -   . ;)     shell'.     ,     .     Tab. : cd /h<TAB>/v<TAB>/k<TAB>/v<TAB>/o<TAB> 
:   Zsh   

cd /h/v/k/v/o   "Tab".       .     ,   ,    /home  2  /home/vasya  /home/vika.         .          ,   /home/va<TAB>,    .      ,      Tab      . : ls /home/<TAB><TAB>      /home. 

          ?

    .      ssh     ,       .       nohup. ,    xmms: nohup xmms     .     xmms  ,    ;) : xmms &     .     . 

     screen. 

  X Window

    ?

      X Window  ,    Windows.       : 
    
         ,    ,  . 

,      OC Windows (Ctrl+C, Ctrl+V), ,  ,   Ctrl+C      ,  ,      Ctrl+C,     .  . 

    Ctrl+Insert      Shift+Insert    . 

     ?

        default.    : rc-update add xfs default  rc-update add xdm default        ,         .  ,   xdm        /etc/rc.conf. : /etc/rc.conf 

..
DISPLAYMANAGER="kdm"
.. 


  xdm   kdm. : /etc/rc.conf 

..
DISPLAYMANAGER="gdm"
.. 


  xdm   gdm   .


   ,   ,            . 
 ,  ,            . 
 (WiKi) ( : ) 
  ( -)       ( :, ,   (FAQ), -(HOWTO)). 
  :
 .      .
      - (),       .
     .
   ,    ϣ .
  ,         , ,   . .
ޣ  (ޣ )       .

  -      .      ,    ϣ   ,            .   --           . Wiki  ,     ;      -  .
ALSA,  Advanced Linux Sound Architecture  
   Linux,  -  MIDI- (Musical Instrument Digital Interface     )     Linux. ALSA       2.6,   OSS (Open Sound System -   ),     2.4
X  (  ) - 
           .            Gentoo ( Linux ),   ? , ,     :-).  Linux       ,        . 

     ,    :         ,   .      Linux  -   .    ,       . 

    ,        ,      ,      ,      X Window System, ݣ X11   X.    Unix, Linux   Unix-     . 

,    Linux         X11,  Xorg-X11,   XFree86.  XFree86    , ,    GPL,    Xorg.  XFree86       . 

 X.org

 X.org        X11    .     ,   X11. 

Xorg           .  , Xorg   ,         ,      . 
ebuild- 
  (,    emerge build file)
 - 
 ebuild',         () Portage


	
2D acceleration	  ( !)  
activation 	;  
architecture-specific 	- (   );
   ( ) 
acceleration 	 
account 	  
advanced 	 (., );
 (., ) 
attribute 	 (, );
,  () 
authentication 	 
authorization 	 
authorized 	;  
autocompletion 	 (  ) 
baselayout 	??? (**)
basics 	,   
binary 	;  
binary [executable] 	  
bind-mounting 	???   (        ) (**) (.   mount) 
bindings 	 (**)
board of trustees 	  
bonding (, channel trunking) 	 ([]  ) 
boot runlevel 	   
bootable (disk) 	 () 
bootloader 	[] ;  OC 
bootsplash 	  
bootsplash-enabled kernel 	  []   
boot (bootstrap) partition 	  
bootstrapping 	[]  []; [] ()  ( Gentoo;     ) 
branch (portage) 	 ( ) 
bridge (, network) 	[]  
broadcast [address] 	  
browse to 	 [-] 
browser 	 
bug 	 ( );  ( ) 
bug report 	     [ ] 
bugtracking system 	  
(!  ,        ;   ,              ) 
cache 	 
card 	 ( );
 [PCMCIA, -] 
cascading (stacked) profile 	  
CD 	- 
change request 	   ( ) 
chapter 	 [] 
child [tag] 	 [] ( XML) 
choice 	,  ; ;  
(  Gentoo       ,    ) 
choices 	. .  choice;
 ()  
chroot 	[] chroot;
   
chrooted environment 	     
color depth 	 (  ) 
compose 	;
 (  XML) 
configuration file 	 ;   
configuring; configuration 	 [, -];
 [] 
content 	, ;
 (  GuideXML) 
daemon 	
(    ; . ) 
declare 	 () 
default [by -] 	  
define 	, ,  (    ,             ) 
desktop (environment)
desktop (computer)
	  ( KDE/Gnome  ..);   ( ,    ); 
desktop documentation resources 	    Gentoo;        
dependency 	 
dependency [package] 	  
developer 	 
device file 	  
device manager 	  
device node 	  [] 
dial-in access
dial-up access 	[]   
directory 	 
display manager 	  ( !) 
documentation listing 	  
documentation repository 	  
documentation resources 	 (     ) 
down [interface] 	 
download 	 ( );  
drive 	 
driver 	, ..  
dump 	 [ ] dump;
 [] 
ebuild 	 ; ;  ebuild
 ebuild
(     -     !) : e-build  ,    emerge build file 
effort [to centralize] 	 [ ] ( / Gentoo Handbook) 
emerge 	[] emerge;  / 
:  Gentoo ,       (        );     emerge xyz,     xyz, !.        
environment variables 	  
experience [, improvement] 	 ( Gentoo);
[]    Gentoo 
FAQ,
frequently asked questions 	FAQ,   
feature 	 [], ;
 
feature request 	    ( ) 
fetch 	 (ebuild/portage tree) 
firewall 	  
firmware 	;   
floppy [disk] 	 
framebuffer 	  (                  ) 
front-end	 ( ,   )
functionality 	,  
generic 	 (  );
,  (generic printer   ) 
Gentoo 	[] Gentoo (   ) 
Gentoo Documentation Project 	  Gentoo 
Gentoo Handbook 	  Gentoo ( ) 
groupware 	[, , ]   ( ) 
guide 	 ( ,   Handbook); 
hard link 	  
hardened [Gentoo project] 	 ,   Gentoo 
hardware 	;  
hardware [device] 	 
hardware requirements 	   
herd 	 [ ]
(    !) 
highlighted 	 (    ) 
host 	,  
howto 	 [ -]
 [ -]    
hub 	()  
image [kernel, disk ...] 	 
image [graphics] 	 
init script; initscript 	 
(**) ??? . runlevel script 
initialization 	 [];
 [] 
initrd (initial root disk) 	   (initrd);
 initrd 
initrd image 	  initrd 
injecting [into Portage] 	 [   Portage] 
installation 	 
installation CD 	...  [-];
...    (,   ..) 
installer 	  
instructions 	;  
internet 	 (  , ..,   , ) 
invalid 	 
IP address 	IP- (       ) 
issue 	. bug 
job 	 (;    ..) 
jumper 	 
kernel 	 
keymap 	 [] 
laptop 	,   
latest 	 
lightweight 	 ( ) 
linker 	 
linking [static] 	 
linking [dynamic] 	  
LiveCD 	 [] [-]
(,      ) 
locale 	;
[]  
(  locale  ) 
log 	 [ ] 
logger 	  
login [user's] 	  
login [process] 	   
login [as] 	   [ /  ] 
loopback connector 	[-]  
machine 	;  
maintainer 	 (  ..) 
man page 	  
manager 	 ( ) 
mark [up] 	, ,  (  XML) 
mask [package] 	 [] ( ) 
MBR, master boot record 	   
merge [with; together]
merge [software with system] 	 [c];
 [] 
modeless 	 
mount 	;  [ ] (    )
  :       , ,    /  /.
           (     [],     ,  -),   .
mountpoint 	  [ ] (.   mount) 
multilib 	  (          , , 32-  64-) 
naming 	 
nano 	nano ( ) 
netmask 	 [] 
networking 	  ;
  (   ) 
NIS 	NIS (network information service    ) 
open documentation license 	   
option 	 [ ]; 
 [];
 [];
(  !) 
optional 	 [, ];
;
 
output, [program] 	 [] 
override 	, ;
,  
overwrite 	 
package 	 [ ] 
package maintenance system 	  (!)  
packaging system 	  (!) 
paragraph 	 ( !) 
part 	 []
( : ---;
        ) 
partition 	[] ;  ;
(   ! -    !) 
partitioning 	 
patch 	. , ,   
patched 	 
PC 	 ( ,    ) 
ping 	 ping;
  [ ping] 
pipe	 (   )
pool	;  (, )
portage [package] 	;
 ( Portage) 
Portage [system] 	[] Portage (   ,  ); :    (.   emerge)      port,     :
port-portage  
port-age   ,  port
portage  ,  
portage tree 	  
portage snapshot 	   
prebuilt [package] 	 []  
precompiled [package] 	. prebuilt [package] 
printer-friendly version 	   
private key 	  [] 
privilege 	 
proxy 	- (-    ) 
public key 	  [] 
purpose 	 (   ) 
quick installation guide 	    
raise [privilege] 	  
reboot 	;  
reference [manual] 	  
reference [platform] 	  
release notes 	   
release, [software] 	 [] 
release [version] 	 ()  
relevance	 (., );
 ( -) 
remote 	 [];
 
rendered document 	  ( XML) 
repository 	 
rescue [disk] 	 ;
   
return [an error] 	 [] 
root [user] 	[ ] root;  
router 	()  
runlevel 	  
runlevel script 	  (. initscript) (**) 
script 	 
section [, guide] 	 [] 
security 	;  
security advisory	   ( )
serial 	 
service 	 (. ) 
setting (of variable) 	;    
signature 	; ;  
skel [profile] 	  
skin	;  ? [] ? ?
socket [network] 	 
software 	;   
software management tool 	    
source code 	  (**)  :   ? 
source mirror 	- [Gentoo]
(     ,      ) 
specific 	,  (  !) 
stage 	 ( Gentoo    ,       ) 
stage file (archive) 	 [] ; stage- [stage-]
(     ,   ) 
start [device] 	 [] 
statement 	 
stop [device] 	 [] 
striping [raid] 	 (RAID 0, RAID 5) 
subarch[itecture] 	  
summary 	 (  ) 
superuser 	 (. ) 
supplicant [WPA] 	 
swap 	 
switch, [command line] 	 [ ] 
switch, [network] 	()  
symlink 	 
(.     softlink, alias, shortcut, shadow: , , ) 
syntax 	 ();
,  (  ) 
system information 	  (   ),    (    ) 
system, [computer] 	[]  
tag (xml/html) 	 ( XML  HTML;         );  (.) 
tarball 	 ( ,    -) 
target [of compilation] 	 [] 
time zone 	  
tips & tricks 	  (  :   ,  ) 
tool 	; ;
(,  )  
toolchain 	(**)  ?
traffic 	;
,  ( ) 
tweak 	 (.)
 (.) 
unmount 	 (.   mount) 
up [interface]	
upstream [developers]	   (   Gentoo)
USE flags	USE- (  ,    USE) 
user	  (  );
 ( ) 
user-space	 ; []  
userland	  (. user-space) (**)
variable	;   ( !)
verbose	;  [, ]
 
wallpaper	 (   )
web site	-
window manager	 
wireless (.)	 ;  ;   ( ) 
wrapper	? ? (**)

 ,    

        :       (- ,       )   ;-)  	
, firewall	 
(//...)	
(    [card]   [map]) 
 	
(   ) 
 	 (.)
[]  (.) 
 	
(-      ) 
 	  [ebuild]
(, ?) 
 	;
  
 	 
,
 	; ;  
 	,  
  	 
(    ) 
 	,  
 	 ( )
 ( ) 
  	  
 	, ,  
     ;
  
    	   
 	 

 	;
[]   root (root administrative account)
C         (  ,    Linux   ) 
   	 
(  ,         ,   ) 
 	 
( ,     ) 


      Creative Commons  Attribution / Share Alike.
       .  20052006   .
  Gentoo  20012006 Gentoo Foundation, Inc.


MAN (  )
Emerge
:
emerge -       (Portage system) 

:

emerge [] [] [ebuild | _tbz2 |  | ]... 

emerge [] [] _ebuild 

emerge sync | rsync 

emerge --help -h [system | config | sync] 

emerge --version 

:

emerge -        . ,  ,   , , emerge     ,    .  emerge     ,       .  emerge       .         ,     ,           .  EBUILD,  TBZ2,    

   emerge -  .         :   ebuild,   tbz2,     . 

ebuild

ebuild  ,  ,         (valid Portage package directory name)     , , portage  python.       , , sys-apps/portage  python-2.2.1-r2.  emerge    ,  ,      ͣ .    ebuild      , , /usr/portage/app-admin/python/python-2.2.1-r2.ebuild. 

_tbz2

_tbz2     .tbz2,     

ebuild <>-<>.ebuild   

emerge --buildpkg [/]<>,  

quickpkg /var/db/pkg/<>/<>. 



  -      .      : system  world.  system   ,      .  world        ,    /var/cache/edb/world  /var/lib/portage/world (=>portage-2.0.51).  .     

,        --update. 



    ,   . , >=dev-lang/python-2.2.1-r2       Python,    2.2.1-r2. , <dev-lang/python-2.0      Python  2.0. ,          '<'  '=' ;     ,       . 



 

   ,          .       ebuild,  tbz2,   . ,     tbz2    --usrpkg.      world,       . 

--clean
-c 

 ,  ,     .       build,   . , 

emerge clean binutils    binutils; 

emerge clean net-www/mozilla-0.9.9-r2    Mozilla. 

  ,   , . ,      (unslotted packages)  clean  . 

--depclean

  ,      .  emerge   ,    ,        world.          ;      ,   . :       ,  ,   ,        .     emerge ,   ,     . ,    USE     ,     depclean. 


--help
-h 

     emerge.                 .     emerge  ,     ;      ,        . 

--info

       .       ,    . , ,       .        --verbose. 

 ""     "" ,      .    , ,    XFree86        .        . , emerge inject sys-kernel/gentoo-sources-2.4.19 

--prune
-P 
:      !  ,  ,   .      ,       .      ,     ,     .   clean,      ,  .       ebuild,    --  .    clean. 

--regen

         ebuild   .         .       rsync,  rsync  ,    .    ,   " rsync"   , ,  - " rsync" :).  rsync     emerge sync   . 

--search
-s 

      .      . ,  

emerge search "^kde"   ,     "kde"; 

emerge search "gcc$"   ,     "gcc"; 

emerge search "office"   ,     "office". 

       ,   --searchdesc  -S. 

--sync

        rsync.gentoo.org. ,   ,    ,    .    ,    rsync.  ,    , .  PORTDIR_OVERLAY     make.conf(5). 



--unmerge
-C 
:       !    .    ,     ,     .       ebuild,    -  .    clean. 

--ask
-a 

--buildpkg
-b 

 emerge          ebuild,      .   ,          Gentoo Linux (  ,   tbz2   emerge ).      ${PKGDIR}/All.             quickpkq,    tbz2  ""  . 

--buildpkgonly
-B 

       ebuild,       .    ,              emerge. 




--changelog
-l 

      --pretend.  ,    ChangeLog   ,   . 

--columns

    --pretend   ,            . 

--debug
-d 

  emerge    .      bash     -x,        .  --debug       bash. 

--deep
-D 

     --update,     emerge     ,       . , ,     ,      . 

--emptytree
-e 

  ,       glibc;       --pretend.                     . 

--fetchonly
-f 

 () ,  (, ) (fetches)  ../distfiles   (     ). 

--fetch-all-uri
-F 

--getbinpkg
-g 

--getbinpkg
-G 

--help
-h 

--newuse
-N 

    --update,  ( )  ,         /etc/make.conf 

--noconfmem

      , ,      CONFIG_PROTECT     .         ,             .         . 

--nodeps
-O 

  ,   . ,      ,     . 

--noreplace
-n 

     ,     .         ,  ebuild           Portage,     . ,    Portage     . 

--nospinner

   "" (spinner). "" ,      (TTY).    ,   . 

--oneshot

   ,      world    . 

--onlydeps
-o 

 (  ,  )   ,    . 

--pretend
-p 

    ,   ,    --pretend.   --pretend       .   : 
N =  
U =  
R =  
B =    . 

--quiet
-q 

  , ,   ,         . 





--resume

     . , ,     ,    - .   ,       . 

--searchdesc
-S 

        . ,          . 

--skipfirst

      --resume.          , ,           .       ,      . 

--tree
-t 

--update
-u 

       . ,  --update      .          world,      . 

--upgradeonly
-U 

 ,  ,      .  (SLOTs)    . 

--usepkg
-k 

  emerge    (  $PKGDIR),   ,  ,  ,  .       -;   export PKGDIR=/mnt/cdrom/packages,     ,  emerge ""   CD   . 

--usepkgonly
-K 

  ,   --usepkg,     .             emerge   . 

--verbose
-v 

  emerge    (verbose) .        ,  emerge     GNU info,   . 

--version
-V 

   emerge.      ;        . 

 

  emerge   pretend/verbose,         .   ,     "" . 

[blocks B ]
[blocks B ] app-text/dos2unix (from pkg app-text/hd2u-0.8.0) 

 Dos2unix      hd2u.  ,               .          ,      . 

[ebuild N ]
[ebuild N ] app-games/qstat-25c 

 Qstat -            emerge . 

[ebuild R ]
[ebuild R ] sys-apps/sed-4.0.5 

 sed 4.0.5   ,      ,       (  , sed). 

[ebuild F ]
[ebuild F ] media-video/realplayer-8-r6 

 realplayer ,     .      ,      ,        ,    . 

[ebuild U ]
[ebuild U ] net-fs/samba-2.2.8_pre1 [2.2.7a] 

 Samba 2.2.7a          2.2.8_pre1. 

[ebuild UD]
[ebuild UD] media-libs/libgd-1.8.4 [2.0.11] 

 Libgd 2.0.11   ,    ,     (Downgrade)    1.8.4.   ,       ,        ,     . 

    ,  ,       emerge        .   ,  libgd 2.x   libgd 1.x.  ,  ,    libgd 1.x,     2.x,    ,       . 

[ebuild U-]
[ebuild U-] x11-base/xfree-4.3.0 [4.2.99.902] 

 (-)      (SLOT information)  Xfree.  ,      "" ( .   inject,    ,     .   ,    Xfree   . 

[ebuild U ]
[ebuild U ] net-analyzer/nmap-3.15_beta2 [3.15_beta1] -gtk -gnome 

 -gtk  -gnome   USE-    nmap.   ,  nmap   USE- gtk  gnome,      gtk  gnome .    gtk  gnome     nmap   . 



 USE      --pretend  --verbose. 



           ,    --pretend.   ,   ,     ,     .       system  world,       ,      . 

      --update,       ,      .      ,         ,       world.       world   ,         emerge. 

     USE-,  ,    ,       .  USE,    ,  . ,  

USE="-x -gnome" emerge mc 

  mc    USE. 

  emerge --update system  

emerge --update world       ,     ,   ebuild   ,       emerge.    

emerge --update portage     ,       . 

 
:     ,    .   ,       ,       Gentoo.  ,     ,   . 

       :     ,        ;    ,   ,     ,    .     :    package.mask     .         .  ,    emerge   ebuild,       emerge      . 

package.mask

 package.mask,  ,   ,    ,       .     /etc/portage.          (#)   ,  . 

 

  (KEYWORDS)     ,    .        ,    ,     . ,    ,    "",     (~)   .  emerge     ACCEPT_KEYWORDS,       ,     . 

   emerge,     ""  ,    ACCEPT_KEYWORDS  "~arch",  arch -   : x86, ppc, sparc, mips, alpha, arm, hppa. ,  ACCEPT_KEYWORDS="~x86" emerge xfree   ,  emerge       XFree      . 
:     ,     . 

   

,       bugs.gentoo.org web- 

,      ,    emerge. 


emerge --help, ebuild(1), ebuild(5), make.conf(5) 

      /usr/lib/portage/bin.  app-admin/gentoolkit   , , qpkg (   ). 



/var/cache/edb/world (/var/lib/portage/world   >=portage-2.0.51)

     .      ,  ,       world,   ,      . 

/etc/make.conf

     ,  ,   make.globals.        . 

/etc/make.globals

     .    . 

/etc/portage/mirrorsCode: # cat /etc/portage/mirrors 

local http://192.168.0.10 http://192.168.0.1:8080
http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo 


  ,      ,  emerge.  ,      ,  GENTOO_MIRRORS   /etc/make.conf, ,     ,  ,    local,    . 

/etc/portage/package.keywordsCode: # cat /etc/portage/package.keywords 

x11-misc/xcompmgr ~x86
x11-misc/transset ~x86
app-portage/getdelta ~x86
app-portage/deltup ~x86
dev-util/bdelta ~x86
net-im/jabberd ~x86
net-wireless/wifiscanner ~x86
net-wireless/wlassistant ~x86 


  ACCESS_KEYWORDS   .      /etc/make.conf,     ... 

/etc/portage/package.useCode: # cat /etc/portage/package.use 

x11-wm/fluxbox kde
app-misc/mc -X 


  USE    .      /etc/make.conf,     ... 

/etc/make.profile/package

  ,    .  system  world    .   . 

/etc/make.profile/make.defaults

        .    . 

/etc/make.profile/use.defaults

  , ,   ,         (use flag).    . 

/etc/make.profile/virtuals

   ,     .    . 

/var/cache/edb/virtuals

  ,     .  ,      ,         .  ,   virtual,     virtual. 

/usr/portage/profiles/use.desc
    USE    .    .


  

:    a.k.a JohnBat26 (e-mail: johnbat26@gmail.com)
 : 1.0
:  1.3 (31.10.07)

 :   
 DELL Inspiron 9400:
Intel Core 2 Duo 2 Ghz.
RAM: 2 gb DDR2.
VIDEO: Nvidia Geforce 7900 GS 256 Mb DDR3 
HDD: 120 Gb.
Max. Res. 1920X1200 pixels
FS: Only XFS !
 :
Gentoo Linux.
Kernel: 2.6.23.
GCC: 4.2.2.
Glibc: 2.6.1
X.org: 1.4.0-r2
KDE 3.5.8.
...
  
1. make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O3 -march=native -mtune=native -msse3 -mfpmath=sse -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
USE="-* X a52 aac aalib acl acpi aim alsa amarok amuled apm arts asf async
     audiofile automount avi bash-completion bcmath berkdb bitmap-fonts
     bluetooth bzip2 c++ cairo caps cardbus cdda cddb cdinstall cdparanoia cdr
     cdrom cdsound clamav clamd connectionstatus contactnotes cpio
     cpudetection cpulimit cracklib crypt cscope ctype cups curl curlwrappers
     dba dbus dell depth32 dhcp directfb divx divx4linux djvu dri dv dvb dvd
     dvdr dvdread dvi dxr3 effects emovix encode exif expat extensions fbcon
     fbsplash ffmpeg fftw firefox flac flash foomaticdb fortran ftp gd gdb
     gdbm gif gimp gimpprint ginac glitz gmail gphoto2 gpm graphviz gtk gtk2
     hal hbci hddtemp history iconv icq ieee1394 imagemagick imap imlib inkjar
     interbase ipv6 irc jabber java javascript jbig jpeg jpeg2k kde kdecards
     kdeenablefinal kdehiddenvisibility kdepim kdexdeltas kdgraphics
     kernel_linux kipi lame lcmsjpeg ldap ldapsam lha libcaca libclamav libg++
     libnotify libvisual libwww live lm_sensors logitech-mouse logrotate magic
     matroska memlimit mikmod mime mmx mng modplug mozbranding mozdevelop mp3
     mp4 mp4live mpeg mpeg2 mplayer musepack musicbrains mysql ncurses nfs nls
     nokia6600 nomotif nptl nptlonly nsplugin ntfs nvidia obex octave office
     ofx ogg oggvorbis openexr opengl openssl overlays pam pcntl pcre pdf
     pdflib perl player pmount png posix povray pulseaudio python qt qt-static
     qt3 qt3support qt4 query-browser quicktime rar rc5 rdesktop readline real
     realmedia rss ruby samba sasl scaner scanner sdl sensord session
     sharedext sharedmem simplexml slang slp smp sms smtp sndfile soap sockets
     sound sounds spamassassin speex spell spexx sql sqlite3 sse sse2 ssl
     stats subversion svg symlink sysfs tcl tcltk tcpd theora threads tiff
     truetype udev unicode unzip usb utf8 vcd videos vim-pager vim-with-x
     visualization vncviewer vorbis widescreen wifi wireshark wmf wmp xforms
     xfs xine xinerama xml xml2 xorg xpm xprint xskatcards xsl xv xvid yahoo
     zip zlib"
ACCEPT_KEYWORDS="~amd64 ~x86 amd64 x86"
AUTOCLEAN="yes"
PORTAGE_NICENESS=39
FEATURES="ccache candy userfetch buildpkg -sandbox"
CCACHE_DIR="/var/tmp/ccache/"
CCACHE_SIZE="4G"
CC="gcc"
CXX="g++"
#PORTDIR_OVERLAY="/usr/local/overlays/xeffects /usr/local/layman/xeffects-experimental"

GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.mirrors.pair.com/  http://gentoo.mirrors.tds.net/gentoo/ ftp://gentoo.mirrors.tds.net/gentoo/ http://gentoo.netnitco.net/  ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/ http://mirror.espri.arizona.edu/gentoo/

#http://mirrors.acm.cs.rpi.edu/gentoo/ ftp://ftp.ndlug.nd.edu/pub/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo #http://gentoo.llarian.net/ ftp://gentoo.llarian.net/pub/gentoo #http://gentoo.binarycompass.org #http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo http://prometheus.cs.wmich.edu/gentoo #http://modzer0.cs.uaf.edu/public/gentoo/ #http://mirror.usu.edu/mirrors/gentoo/ ftp://mirror.usu.edu/mirrors/gentoo/ #ftp://lug.mtu.edu/gentoo http://mirror.phy.olemiss.edu/mirror/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ #ftp://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ #http://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://gentoo.cites.uiuc.edu/pub/gentoo/ #ftp://ftp.wwc.edu/pub/mirrors/ftp.gentoo.org http://gentoo.localhost.net.ar/ #ftp://mirrors.localhost.net.ar/pub/mirrors/gentoo http://www.las.ic.unicamp.br/pub/gentoo/ #ftp://ftp.las.ic.unicamp.br/pub/gentoo/ http://gentoo.inode.at/ ftp://gentoo.inode.at/source/ #http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ #http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ #http://mirror.bih.net.ba/gentoo/ ftp://mirror.bih.net.ba/gentoo/ #ftp://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo #http://gentoo.supp.name/ http://mirror.uni-c.dk/pub/gentoo/ http://ftp.linux.ee/pub/gentoo/distfiles/ #ftp://ftp.linux.ee/pub/gentoo/distfiles/ #http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ #http://ftp.public.fix.fi/gentoo/ ftp://ftp.public.fix.fi/gentoo http://gentoo.modulix.net/gentoo/ #http://ftp.club-internet.fr/pub/mirrors/gentoo ftp://gentoo.imj.fr/pub/gentoo/ #ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo #http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ "

#FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
INPUT_DEVICES="keyboard mouse synaptics evdev"
VIDEO_CARDS="nv nvidia vesa"
LINGUAS="ru"
PORTDIR="/usr/portage" 
ALSA_CARDS="hda-intel"

2.  xorg.conf  NVIDIA Geforce

Section "Module" 
    Load        "ddc"   # ddc probing of monitor 
    Load        "dbe"   # Double buffer extension 
    SubSection  "extmod" 
      Option    "omit xfree86-dga"   # don't initialize the DGA extension 
    EndSubSection 
    Load        "record"
    Load        "xtrap"
    Load        "type1" 
    Load        "freetype" 
    Load        "synaptics" 
    Load        "glx"
    Load        "wfb" 
EndSection

Section "Files"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/Type1/" 
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/corefonts"
    FontPath     "/usr/share/fonts/freefonts"
    FontPath     "/usr/share/fonts/sharefonts"	
    FontPath     "/usr/share/fonts/terminus"
    FontPath     "/usr/share/fonts/ttf-bitstream-vera"
    FontPath     "/usr/share/fonts/unifont"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled" 
    FontPath     "/usr/share/fonts/artwiz"
    FontPath     "/usr/share/fonts/cyrillic"
EndSection

Section "ServerFlags" 
    Option       "AllowMouseOpenFail" "true" 
    Option       "SuspendTime"        "10" 
    Option       "OffTime"            "15" 
EndSection

Section "InputDevice" 
    Identifier  "Keyboard1" 
    Driver      "kbd" 
    Option      "XkbRules"      "xorg"
    Option      "XkbModel"      "microsoftpro" 
    Option      "XkbLayout"     "us,ru" 
    Option      "XkbVariant" 	  ",winkeys"
    Option      "XkbOptions"    "grp:shift_toggle,grp_led:scroll"
    Option      "AutoRepeat"    "500 30" 
EndSection

Section "InputDevice" 
    Identifier  "USBMouse" 
    Driver      "mouse"
    Option      "Device" "/dev/input/mice
    Option      "Buttons"      "7"
    Option      "CorePointer"
    Option      "Protocol" "auto"
    Option      "ZAxisMapping" "4 5 6 7"
EndSection
Section "InputDevice" 
    Identifier  "Touchpad" 
    Driver      "synaptics" 
    Option      "SendCoreEvents"        "true" 
    Option      "Device"                "/dev/input/mouse0" 
    Option      "Protocol"              "auto-dev" 
    Option      "LeftEdge"              "1700" 
    Option      "RightEdge"             "5300" 
    Option      "TopEdge"               "1700" 
    Option      "BottomEdge"            "4200" 
    Option      "FingerLow"             "25" 
    Option      "FingerHigh"            "30" 
    Option      "MaxTapTime"            "180" 
    Option      "MaxTapMove"            "220" 
    Option      "VertScrollDelta"       "100" 
    Option      "HorizScrollDelta"      "100" 
    Option      "MinSpeed"              "0.09" 
    Option      "MaxSpeed"              "0.18" 
    Option      "AccelFactor"           "0.15" 
    Option      "EdgeMotionMinZ"        "17" 
    Option      "EdgeMotionMaxZ"        "21" 
    Option      "EdgeMotionMinSpeed"    "30" 
    Option      "EdgeMotionMaxSpeed"    "35" 
    Option      "LeftRightScrolling"    "1" 
    Option      "UpDownScrolling"       "1" 
    Option      "EmulateMidButtonTime"  "75" 
    Option      "ZAxisMapping"          "4 5" 
    Option      "SHMConfig"             "on" 
EndSection

Section "Monitor" 
    Identifier  "DellLFP" 
    HorizSync       28.0 - 96.0
    VertRefresh     43.0 - 60.0
    Option      "DPMS" 
EndSection


Section "Device" 
    # Some names might need to be changed hereafter: 
    Identifier  "NVIDIA GeForce 7900GS" 
    Driver      "nvidia" 
    VendorName  "nVidia Corporation"
    BoardName   "GeForce 7900 GS" 
    BusID       "PCI:1:0:0"
    #Option     "NoLogo" "1" 
    Option "UseDisplayDevice" "DFP"
    ### 2D ACCELLERATION
    #Option  "RenderAccel"           "false" # hardware Render acceleration
    #Option  "BackinStore"           "true"  #[] prevent artifacts?
    #Option  "NoRenderExtension"     "true"
    ## some options
    Option  "SWcursor"              "false" #[]
    Option  "Render"                "true"
    Option  "Composite"             "true"
    ### 3D ACCELLERATION
    Option  "EnablePageFlip"        "yes"   #[] Improves performance
    Option  "AGPFastWrite"          "yes"   #[]
    Option  "AGPMode"               "4"     # Supports AGP 4x
    # VideoRam    262144 
    # Insert Clocks lines here if appropriate 
    #Option "IgnoreDisplayDevices" "CRT, TV"
    Option "TripleBuffer" "True"
    Option "AddARGBGLXVisuals" "True"

EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "NVIDIA GeForce 7900GS"
	Monitor    "DellLFP"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     8
		Modes    "1920x1200" "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
		Modes    "1920x1200" "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes    "1920x1200" "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
	EndSubSection
	Option "AddARGBGLXVisuals" "true"
EndSection
Section "ServerLayout" 
    Identifier  "Flat Panel Only" 
    Screen      "Screen 1" 
    InputDevice "Touchpad"      "AlwaysCore" 
    InputDevice "USBMouse"      "CorePointer" 
    InputDevice "Keyboard1"     "CoreKeyboard" 
EndSection 
 Section "Extensions"
        Option      "Composite"   "enable"
EndSection

 3.  xorg.conf  ATI radeon:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Synaptics" "CorePointer"
	InputDevice    "Mouse"      "SendCoreEvents"
	InputDevice    "Keyboard0" "CoreKeyboard"
	Option	       "OffTime"  "3"	# 3 indicates number of min until monitor-off
EndSection

Section "ServerFlags"
  Option        "AllowMouseOpenFail"
EndSection

Section "dri"
# Access to OpenGL ICD is allowed for all users:
#    Mode 0666
# Access to OpenGL ICD is restricted to a specific user group:
    Group 27    # video
    Mode 0660
EndSection


Section "Files"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/Type1/" 
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/corefonts"
    FontPath     "/usr/share/fonts/freefonts"
    FontPath     "/usr/share/fonts/sharefonts"	
    FontPath     "/usr/share/fonts/terminus"
    FontPath     "/usr/share/fonts/ttf-bitstream-vera"
    FontPath     "/usr/share/fonts/unifont"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled" 
    FontPath     "/usr/share/fonts/artwiz"
    FontPath     "/usr/share/fonts/cyrillic"
EndSection

Section "Module"
	Load  "glx"
	# This loads the miscellaneous extensions module, and disables
	# initialisation of the XFree86-DGA extension within that module.
    	SubSection  "extmod"
      	   Option    "omit xfree86-dga"   # don't initialise the DGA extension
    	EndSubSection
	Load  "dbe"
	Load  "dri"
	Load  "xtrap"
	Load  "record"
	Load  "freetype"
	Load  "type1"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver  	"kbd"

	Option		"XkbModel"      "aspire5020"
	Option		"XkbLayout"     "se"
	#Option		"XkbVariant"    "nodeadkeys"
EndSection

Section "InputDevice"
  Identifier    "Synaptics"
  Driver        "synaptics"
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
  Option        "LeftEdge"      "1700"
  Option        "RightEdge"     "5300"
  Option        "TopEdge"       "1700"
  Option        "BottomEdge"    "4200"
  Option        "FingerLow"     "25"
  Option        "FingerHigh"    "30"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.09"
  Option        "MaxSpeed"      "0.18"
  Option        "AccelFactor"   "0.0015"
  Option        "SHMConfig"     "on"
#  #  Option       "Repeater"      "/dev/ps2mouse"
EndSection

Section "InputDevice"
  Identifier    "Mouse"
  Driver        "mouse"
  Option        "Device"        "/dev/input/mice"
  Option        "Protocol"      "imps/2"
  Option        "ZAxisMapping"  "4 5"
  Option        "Buttons"        "5"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "LPL"
	ModelName    "0"
	Option	     "DPMS"
EndSection

# === ATI device section ===

Section "Device"
    Identifier  "Card0"
    Driver      "fglrx"	
    VendorName  "ATI Technologies Inc"
    BoardName   "ATI Mobility X600"
# ### generic DRI settings ###
# === disable PnP Monitor  ===
    #Option                              "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === misc DRI settings ===
    Option "mtrr"                       "off" # disable DRI mtrr mapper, driver has its own code for mtrr
# ### FireGL DDX driver module specific settings ###
# === Screen Management ===
    Option "DesktopSetup"               "0x00000100"
    Option "MonitorLayout"              "NONE,LVDS"
    Option "IgnoreEDID"                 "off"
    Option "HSync2"                     "unspecified"
    Option "VRefresh2"                  "unspecified"
    Option "ScreenOverlap"              "0"
# === TV-out Management ===
    Option "NoTV"                       "yes"
    Option "TVStandard"                 "NTSC-M"
    Option "TVHSizeAdj"                 "0"
    Option "TVVSizeAdj"                 "0"
    Option "TVHPosAdj"                  "0"
    Option "TVVPosAdj"                  "0"
    Option "TVHStartAdj"                "0"
    Option "TVColorAdj"                 "0"
    Option "GammaCorrectionI"           "0x00000000"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00000000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "off"
# === Center Mode (Laptops only) ===
    Option "CenterMode"                 "off"
# === Pseudo Color Visuals (8-bit visuals) ===
    Option "PseudoColorVisuals"         "off"
# === QBS Management ===
    Option "Stereo"                     "off"
    Option "StereoSyncEnable"           "1"
# === FSAA Management ===
    Option "FSAAEnable"                 "no"
    Option "FSAAScale"                  "1"
    Option "FSAADisableGamma"           "no"
    Option "FSAACustomizeMSPos"         "no"
    Option "FSAAMSPosX0"                "0.000000"
    Option "FSAAMSPosY0"                "0.000000"
    Option "FSAAMSPosX1"                "0.000000"
    Option "FSAAMSPosY1"                "0.000000"
    Option "FSAAMSPosX2"                "0.000000"
    Option "FSAAMSPosY2"                "0.000000"
    Option "FSAAMSPosX3"                "0.000000"
    Option "FSAAMSPosY3"                "0.000000"
    Option "FSAAMSPosX4"                "0.000000"
    Option "FSAAMSPosY4"                "0.000000"
    Option "FSAAMSPosX5"                "0.000000"
    Option "FSAAMSPosY5"                "0.000000"
# === Misc Options ===
    Option "UseFastTLS"                 "0"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "no"
    Option "ForceGenericCPU"            "no"
    Option "DynamicClocks"		"on" # Use ATI Powerplay features
    BusID "PCI:1:0:0"    # vendor=1002, device=3150
    Screen 0
EndSection

#Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "Dac8Bit"            	# [<bool>]
        #Option     "BusType"            	# [<str>]
        #Option     "CPPIOMode"          	# [<bool>]
        #Option     "CPusecTimeout"      	# <i>
        #Option     "AGPMode"            	# <i>
        #Option     "AGPFastWrite"       	# [<bool>]
        #Option     "AGPSize"            	# <i>
        #Option     "GARTSize"           	# <i>
        #Option     "RingSize"           	# <i>
        #Option     "BufferSize"         	# <i>
        #Option     "EnableDepthMoves"   	# [<bool>]
        #Option     "EnablePageFlip"     	# [<bool>]
        #Option     "NoBackBuffer"       	# [<bool>]
        #Option     "DRIReinit"          	# [<bool>]
        #Option     "PanelOff"           	# [<bool>]
        #Option     "DDCMode"            	# [<bool>]
        #Option     "MonitorLayout"      	# [<str>]
        #Option     "IgnoreEDID"         	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "VideoKey"           	# <i>
        #Option     "MergedFB"           	# [<bool>]
        #Option     "CRT2HSync"          	# [<str>]
        #Option     "CRT2VRefresh"       	# [<str>]
        #Option     "CRT2Position"       	# [<str>]
        #Option     "MetaModes"          	# [<str>]
        #Option     "MergedDPI"          	# [<str>]
        #Option     "NoMergedXinerama"   	# [<bool>]
        #Option     "MergedXineramaCRT2IsScreen0" 	# [<bool>]
        #Option     "DisplayPriority"    	# [<str>]
        #Option     "PanelSize"          	# [<str>]
        #Option     "ForceMinDotClock"   	# <freq>
        #Option     "RenderAccel"        	# [<bool>]
        #Option     "SubPixelOrder"      	# [<str>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "DynamicClocks"      	# [<bool>]
        #Option     "VGAAccess"          	# [<bool>]
        #Option     "LVDSProbePLL"       	# [<bool>]
        #Option     "ReverseDDC"         	# [<bool>]
        #Option     "BIOSHotkeys"        	# [<bool>]
#	Identifier  "Card0"
#	Driver      "ati"
#	VendorName  "ATI Technologies Inc"
#	BoardName   "ATI Mobility X600"
#	BusID       "PCI:1:0:0"
#EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
   	DefaultDepth 24

	SubSection "Display"
		Viewport   0 0
		Depth     16
#		Modes     "1280x800"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
#		Modes     "1280x800"
	EndSubSection
EndSection

4.  /etc/fstab




  Gentoo Linux
1.emerge --ask --verbose ( emerge -av) -  USE-   .
2.emerge _   .
3.emerge sync     .
4.echo "category/some_package some_flags" >> /etc/portage/package.use --   USE-  /etc/portage/package.use,    





























  Gentoo Linux

 gentoolkit (  : emerge gentoolkit) :
 a)euse,      USE.  euse -i flag      "flag".    man- euse ( .   :-)).
 b)eclean.      .       ,     . (  ţ  eclean-dist  eclean-pkg ).   man     .


 genlop (  : emerge genlop)        .  genlop -c                 .

 ufed (  : emerge ufed)     USE     .

 update-world (: http://www.gentoo.org/news/ru/gwn/20061204-newsletter.xml   3.  /     )       ,     - .    
    .

 : 
   -  kuroo (  Qt, : emerge kuroo);
   -  porthole (  GTK, : emerge porthole);
   -  portagemaster (  Java, : emerge portagemaster); 

    portage   .    ! :)

 Linux  lshw  hardware list (emerge lshw)      .

     world   regenworld. 

        ,    module-rebuild (emerge module-rebuild)


























  

1.http://gentoo.ru
2.http://gentoo.org
3.http://ru.gentoo-wiki.com
4.http://www.rugentoo.org
5.http://linuxforum.ru


   
1.http://packages.gentoo.org
2.http://gentoo-portage.com

 IRC (freenode.net)
1.#gentoo.
2.#gentoo-amd64
3.#gentoo-kde
4.#gentoo-ru.
5.#rugentoo.
6.#gentoo-doc-ru