Linux Takas Alanı - NASIL Levent Şantemiz, levent@compclub.itu.edu.tr Sürüm 1.0, 10.1.1997 Giriş Birçok insan hem Linux hem de MS-Windows kullanıyor. Bu kullanım Linux devriminin önemli bir parçasıdır, böylece insanlar Linux üzerinde çalışırken ve Linux'a konsantre olurken aynı zamanda da az ihtiyaç duyacakları programlarını da çalıştırabiliyorlar. Hem Linux hem de MS-Windows, sanal hafızayı, diskte takas ile birlikte kullandığından, comp.os.linux.setup'a gerekli disk boşluğunu azaltmak için takas boşluklarının nasıl paylaşılması gerektiği konusunda sıkça sorular gelmektedir. Takas boşluklarının paylaşılması için birçok yöntem vardır. Bu döküman da anlatılan yol ise en karmaşığı olmasına rağmen, şu ana kadar her iki ortamda da maksimum performans sağlayan tek yoldur. 1. Nelere ihtiyacınız var ? Bu sürümün bazı gereksinimleri vardır. Eski sürümlerde bazı sorunların çıkması nedeniyle, bu gereksinimlerin hepsini karşılamanızı (ne olursa olsun) şiddetle tavsiye ediyorum. * MS-DOS 5.0 veya daha yenisi * MS-WINDOWS 3.1 veya daha yenisi 2. İzlenen yol * DOS’u çalıştırın. Bir DOS disk bölümü yaratın (FDISK'i kullanın) ve büyüklüğünü takas boşluğu için istediğiniz büyüklük olarak ayarlayın. Bir sürücü harfi tayin edilecektir. (Örneğin X) * DOS FORMAT komutunu kulanarak bu bölümü formatlayın. FORMAT X: * Bu sürücünün etiketini "LABEL" komutunu kullanarak "SWAP SPACE" e ayarlayın. Bunu, DIR komutunu kullanarak doğrulayın. Lütfen bunu ayrı bir adım olarak yapın. FORMAT komutunun bazı sürümleri disk etiketini açılış sektörüne gerektiği gibi yerleştirmiyor. (NOT: Bazı insanlar disk etiketinin kök dizinde saklandığını yazmışlardır. Evet, fakat en azından DOS 5.0'dan beri aynı zamanda açılış sektöründe de bulunmaktadır.) LABEL X: DIR X: * Windows'u çalıştırın. Control Panel bölümüne gidin. Burada 386 Enhanced ikonunu seçin ve burada Virtual Memory (Sanal Bellek)”bölümüne girerek X sürücüsünde en geniş kalıcı Windows takas dosyası yaratın (Windows bu genişliği size bildirecektir). Windows bu kadar büyük takas dosyası kullandığınız için size itiraz edecektir. Göndereceği mesajı önemsemeyin ve dosyayı yine de yaratın. * Windows'dan çıkın. * Linux'u çalıştırın ve root olarak girin. * FDISK komutunu kullanarak bölümün ismini ve blok olarak büyüklüğünü bulun. /dev/winswap'ten bu bölüme sembolik bir bağlantı kurun. Mesela, eğer bölüm hda7 ise o zaman, “ln -s /dev/hda7 /dev/winswap“ yazın. * Aşağıdaki, bölümü analiz edip bazı önemli bilgileri ortaya çıkaran uuencode'lanmış dosyayı uudecode ve gunzip’leyip aşağıdaki gibi çalıştırın. msinfo /dev/winswap begin 755 msinfo.gz M'XL(`$$YNRT"`Y557TQ;51@_MW]HZ0AM'"$U-.28W([..>84%1%D2QH>',9* M2S&VC);V=FV]T*;WWBD+1I)K'YH;DOJF#YH80GPR^J""D"R8-K('MS2;#Q*S M%Y,E-P&592A$V:[?.;?M"FP/?DG/G^_[?7_Z_3G7PL313TT(?8P0]_PX\M<3@!`'ZZ26[`-I7A.F!%$;JK.;21`!#.\-,5A/CK)\=B3FL:3F8PH M<#$QDSO91Q%^>L%"Z@KW*"-NR3;""5SN,A?'NI[0=P0Q=#[P&&$5@3UNZ3VW M=-(V`NYQ/)6CX)DC2F`KD!&C/!:R7"Q%]L-6`8'D+=]8T*^$V8@RR\;5\P9( M^;\&T:F]E`Q`EI,_6YHCZBT#BJ09M0VV9!:XVKLF]0NX%'Z4R];\W](3A-%J MI:`_&12!>@33QC0S'V8]?O5+0`;3UC23K)!"?@97N8R#:29MF/>R)PI>UJF) MK%/-4QR39OSJE8,8MHZ)UC#`?1ZX'N!ZU`L'X;@.?X["C<1DUT%,9QW32C'' M"<98PQR#8#=(L'>96NQWR/4W1@>H3\'!OC3,MMN_"[,=A1OVK^XEH($[$S^H MY@28=MB78-$/`=8)(L=\P*$5*I_LS@)_G7!=\Z9V@F"``Y$XQM[T!T>(WHNU M/T9CH)YIZI("&9ZK32AR=DTN/QNZ."&7?27H_<(=_^=Q"U1N3Y.>!-E`$BY( M;(4ZG)/[\_0F_54HY7\5[8F^@IV9( M,6!G2;BU+YN)@X2,9^)QG%\!IZ@5`SSJ>EWN!SN>HCK MLJ%F08R*J5B4YV=T0-R&J#UYJW>4#"7/#D,0/GG`0ZI@__`;6->]K!>C[:!B]D?DT,*<;Y6=9Y]3:P][^W`?+>8F(1!*ZY7B1:BN=@D_XY9?0I M'?ZT0=V@BBWIIV$47#Y@7-,9Q>0<*=7;NMW-NS2>9#_X3V)8()?A$;!`ALRW M#&\%RO_^@9F6TP<]'M8J@'AFA"[JM]0(WCQ!`[.826!F&A@HG4JWU5R_KKL& M9GNQF$;J[?NZ\YUZ?B].C,OEWI*\94J`:6LB?U,RK^2.([0QRQK(W!D2[K5M M,G>&0B7A'K03F"'17*&L#9XU@+U2L9K4-GCIG(K(NE:SM,>SM,?;X,T:&U6, MT./E%NAUTNE_$,^E(A0M!B7K[D'>X6'\FC25Q3W=+V3YLR^CXJW.S0>#54*# M#ZE^AI+N-35^_>![U4!?@VQ%ETMC5"\GH->"T6'4/2NS>((N0,DT>_ 9K6^!S%65KRS`,`,UVB43\!]-BKG]B`<``#5" ` end Total special sectors (Toplam özel sektörler)“isimli yerdeki sayıyı biryere yazın ve disk etiketinin "SWAP SPACE" olduğunu doğrulayın. Eğer bunlar olmazsa, o zaman DOS’u yeniden çalıştırın ve LABEL komutunu yeniden kullanın. * Bilgisayarı kapatmak için kullanılan dosyanın ismini (shutdown file) kontrol edin. SysVinit için dosya /etc/inittab satırında aşağıda gösterilmiştir, eğer sizde yoksa lütfen ekleyin. #Runlevel 0 means shut down the system (sistemi kapat demektir). 10:0:wait:/etc/brc Bu kılavuzun geri kalanı için dosya ismini /etc/brc olarak kabul edeceğim. * Aşağıdakini yazın: dd if=/dev/winswap bs=512 count=XXX gzip -9 > /etc/winswap.gz XXX yazan yeri “Total special sectors” (toplam özel sektör) sayısı ile değiştirin. * Aşağıdaki bir parça kodu da /etc/rc.d dizininin (veya sizin init'iniz onu ne olarak adlandırmışsa) içindeki dosyaların birindeki swapon -a komutundan hemen önce yazın. (Eğer böyle bir komut yoksa, o zaman /etc/rc.d dizinindeki herhangi bir mount komutundan hemen önce yazın. ) * Aşağıdaki bir parça kodu da /etc/rc.d (veya sizin init'iniz onu ne olarak adlandırmışsa) içindeki “swapon -a” komutundan hemen önce yazın.(Eğer böyle bir komut yoksa, o zaman /etc/rc dosyanızdaki herhangi bir mount komutundan hemen önce yazın. ) Eğer /etc/rc.d diye bir dizininiz varsa o zaman bu kodu içine koymak istediğiniz dosya da “/etc/rc.d/rc.S” veya “/etc/rc.d/rc.boot” isminde olacaktır. Eğer swapon /etc içinde ise, /sbin/swapon'u /etc/swapon ile değiştirin. Eğer swapon, /bin içinde ise, /bin/swapon ile değiştirin. Aynısını mkswap içinde yapın. XXX ‘i fdisk’te verildiği gibi bölümün blok olarak normal büyüklüğü ile değiştirin. ---KOD PARÇASI BAŞLANGICI--- # # Verify and initialize swap space (takas boşluğunu kullanıma hazırla ve # doğrula) # echo -n 'Verifying swap space...' if [ “`/bin/dd 2> /dev/null if=/dev/winswap bs=1 count =10 skip=4086`” \ = 'SWAP-SPACE' ]; then echo 'Linux signature found' /sbin/swapon /dev/winswap elif [ “`/bin/dd 2> /dev/null if=/dev/winswap bs=1 count=11 skip=43`” \ = 'SWAP SPACE' ]; then echo 'DOS signature found' /sbin/mkswap /dev/winswap XXXXX /sbin/swapon /dev/winswap else echo 'No signature found' echo 'ERROR: Will not swap' fi ---KOD PARÇASI BİTİŞİ--- * Aşağıdaki kod parçasını kendi /etc/brc dosyanıza ekleyin (Veya nasıl adlandırılıyorsa /etc/rc.d/rc.0 veya eğer bir /etc/rc.d dizininiz varsa /etc/rc.d/rc.halt); bunu oraya takas gerektirebilecek komutlardan sonra koyun. ---KOD PARÇASI BAŞLANGICI--- # # Terminate swapping and restore DOS/Windows swap info # (takaslamayı bitir ve DOS/Windows takas bilgisini tekrar yükle) # /sbin/swapoff /dev/winswap if [ “`/bin/dd 2> /dev/null if=/dev/winswap bs=1 count=10 skip=4086`” \ = 'SWAP-SPACE' ]; then echo 'Restoring DOS/Windows swap info' /bin/zcat /etc/winswap.gz > /dev/winswap else echo 'ERROR: /dev/winswap lacks swap signature, skipping restore' fi ---KOD PARÇASI BİTİŞİ--- * Linux’ı yeniden çalıştırın. Şimdi yeni takas cihazında takaslama olması gerekir. 3. Birkaç parça not * /etc/fstab dosyanıza /dev/winswap eklemenize hiç gerek yok. * Eğer LINUX konsolunuz herhangi bir şekilde bozulursa veya /etc/brc'yi çalıştırmadan sona ererse, o zaman Windows'da takaslama yapmadan önce bilgisayarı tekrar çalıştırmanız ve LINUX'dan sağlıklı olarak çıkmanız gerekir. Ya da FORMAT X: komutunu tekrar kullanmak ve Windows takas dosyasını tekrar yaratmak da mümkündür. Buna sebep vermemek için tek bir yolu vardır ve bu da /etc/brc'in eşiti olan komutu DOS’daki AUTOEXEC.BAT'a yerleştirerek mümkün olabilir. * Eğer DOS’FDISK bölümü logical DOS drive”(mantıksal DOS sürücüsü) olarak tanımlıyorsa, o zaman numarası 5 (/dev/hda5'de olduğu gibi) ya da daha fazladır. Bu, 4 veya daha azı olarak numaralanmış“extended”olarak etiketlenmiş bölüm değildir. Eğer sizin Linux fdisk'iniz, mantıksal bölümlemeler göstermiyorsa, bozuktur. (Örneğin Slackware 2.2 bozuk bir Linux fdisk içermektedir.) Eğer elinizdeki sürümde varsa, cfdisk’de kullanabilirsiniz.Tabii çalışan bir fdisk’te alabilirsiniz. * msinfo çalıştırırken floating point exception alıyorsanız, o zaman onu hemen hemen kesin olarak yanlış bölümde çalıştırıyorsunuzdur. Bir yukarıdaki nota bakın. * Lütfen bana e-mail atarken programı doğru çektiğinizi kontrol ve tekrar kontrol etmiş olun. Bu mini-NASIL'a yöneltilen problemlerin yarıdan fazlası bu programı doğru kopyalayamamaktan dolayı ortaya çıkmaktadır.