Saturday, December 10, 2005

چگونه هکر شویم؟

اریک ریموند (Eric Steven Raymond) می‌گوید: چگونه یک هکر شویم؟
بخش اول
هکر (hacker) چیست؟
پرونده اصطلاحات(Jargon File) شامل تعاریفی‌از' هکر' است که عموما در ارتباط با تعریف تکنیکی‌آن همراه با وصف سرخوشی‌حل مشکلات و مرتفع کردن محدودیت هاست. اگر شما می‌خواهید بدانید چگونه هکر شوید تنها دو تعریف به دردتان می‌خورد.

یک اجتماع ، یک فرهنگ مشترک ، از برنامه نویسان خبره و جادوگران شبکه که پیشینه آن از میان دهه ها به مینی‌کامپیوترهای‌اشتراک زمانی (time-sharing) و اولین تجریه های ‌ARPAnet می‌رسد. اعضای این فرهنگ اصطلاح ' هکر' را ساختند . هکرها اینترنت را ایجاد کردند. آنان سیستم عاملUnix را آنچنان که امروز هست ایجاد کردند. هکرها usenet را اجرا کردند. آنان باعث شدند شبکه جهانی (World wide web) کار کند. اگر شما دارای این فرهنگ هستید و دیگران می‌دانند که شما چه کسی‌هستید و هکر می‌نامندتان؛ پس شما هکر هستید!

نگرش هکر محدود به 'هکرنرم‌افزار' نمی‌شود ، مردمانی‌هستند که منش هکر را به سایر زمینه ها مانند الکترونیک یا موسیقی‌سرایت می‌دهند. در حقیقت شما می‌توانید این فرهنگ را در بالاترین سطوح هر علم و هنری بیابید. هکرهای نرم‌افزار این هم روحان را در هر جا می‌شناسند، آنان را 'هکر ' می‌نامند و برخی‌معتقدند که طبیعت هکر واقعا مستقل از زمینه ایست که او در آن کار می‌کند. اما در تمام این مقاله ما بطور خاص بر مهارت ها و منش های‌هکر نرم‌افزار، و فرهنگ های مشترکی که واژه ی 'هکر' را بوجود آورد تمرکز خواهیم کرد.

گروه دیگری‌از مردم هستند که متکبرانه خود را هکر می‌نامند اما نیستند! این مردمان (که بیشتر نرهای نابالغند) کسانی‌هستند که سیستمهای‌کامپیوتری و مخابراتی را 'تخریب' می‌کنند. هکرهای واقعی‌اینان را 'شکننده (Cracker) ' می‌نامند و هیچ کاری‌به آنان ندارند. هکرهای واقعی اعتقاد دارند که اینان تنبل، بی‌مسئولیت و نه چندان باهوشند و می‌دانند که توانایی نفوذ به سیستمهای امنیتی‌شما را هکر نمی‌کند. همانگونه که دزدان اتومبیل را هیچگاه نمی‌توان مکانیک نامید. متأسفانه بسیاری از روزنامه نگاران و نویسندگان ناآگاهانه وا‌ژه ی' هکر ' را برای‌توصیف شکننده ها (Crackers) بکار می‌برند و هکرها را تا سرحد مرگ عصبانی می‌کنند.

تفاوت اصلی این است: هکرها می‌سازند اما شکننده‌ها ویران میکنند.

اگر می‌خواهید هکر باشید (همواره ) مطالعه کنید. اما اگر می‌خواهید شکننده شوید گروه خبری‌alt.2600 را بخوانید و آماده باشید که ۵ تا ۱۰ سال را در زندان بگذرانید، پس از اینکه فهمیدید به اندازه‌ای که فکر می‌کردید زرنگ نیستید. این تمام چیزی است که درباره ی‌شکننده ها (Crackers) خواهم گفت.

منش هکر

منش هکر، هکر می‌آفریند و یاری‌می‌کند. او به آزادی و یاری متقابل معتقد است؛ برای آن که هکر نامیده شوید باید چنان رفتار کنید که گویا چنین منشی‌دارید و برای‌اینکه اینگونه رفتار کنید باید واقعا آن را داشته باشید. اگر به پروراندن منش هکر تنها برای پذیرفته شدن در این فرهنگ می‌اندیشید در اشتباه هستید! چنین منشی داشتن همواره کمکتان میکند یادگیرید و با انگیزه باشید. مانند تمام هنرها بهترین راه استاد شدن، نگاه کردن به استاد و تقلید از اوست - نه فقط در باب تفکر که حتی‌در احساس!

همانگونه که در شعر ذن زیر آمده است:

تا که راه یابی: : To follow the path

به استاد بنگر ، ,look to the master

به دنبالش باش ، , follow the master

با او برو ، ,walk with the master

از نگاه او بنگر ، , see through the master,

استاد شو! . become the master


پس اگر میخواهید استاد شوید، آن قدر ذکرهای‌زیر را بگویید(افکار زیر را با خود مرور کنید) تا باورشان کنید:

۱- جهان پر از مشکلات جذابی‌است که میباید حل گردند.
هکر بودن هیجان دارد، اما هیجانی که نیازمند تلاش فراوان است و تلاش کردن نیازمند انگیزه. ورزشکاران موفق انگیزه خود را از لذتی که در جسمشان احساس میکنند، می‌گیرند؛ در گذر از حدود جسمانیشان. شما نیز باید از حل مشکلاتتان مشعوف شوید. از پیشرفت مهارتتان و زورآزمایی اندیشه‌ی‌تان.

اگر شما به طور ذاتی‌چنین شخصی‌نیستید باید این‌گونه گردید و گرنه انرژیتان با شهوت، پول، شهرت و ... به هدر خواهید داد.
(همچنین باید به توانایی یادگیریتان ایمان آورید - باور به اینکه: گر چه تمام آن چه را لازم دارید نمی‌دانید اما اگر تنها بخشی از آنرا کشف کنید توانایی حل باقی را بدست می‌آورید)

۲-هیچ مشکلی‌نباید دوبار حل گردد اندیشه های‌خلاق گرانبها و محدودند.
ذهن های خلاق باارزش هستند، منابعی محدود. آنان نباید با دوباره کشف کردن چرخ، به هدر بروند در حالی که هزاران معمای حل نشده جذاب باقی است. برای آن که کرداری مانند یک هکر داشته باشید باید باور کنید که وقت هکرها گرانبهاست - آنچنان که گویی یک وظیفه روحانی است که اطلاعتان را مبادله کنید، مشکلات را حل کنیدو راه حل‌ها را به دیگر هکرها بدهید تا آنان مشکلات جدیدتر را مرتفع کنند. بجای آنکه دائما حول همان‌ها بگردند.

(مجبور نیستید باور داشته باشید که تمام آنچه را خلق می‌کنید باید ببخشید- گرچه هکرهایی که چنین می‌کنند محترم‌ترین آنان هستند - با ارزش های‌هکر سازگار است که مقداری‌از آن را بفروشید تا برای خود خورد و خوراک و کامپیوتر تهیه کنید. چه خوب است اگر استعداد هکری خود را برای حمایت از خانواده و حتی‌ثروتمند شدن بکار گیرید، تا هنگامی‌که شرافت هنرتان و رفیقان هکرتان را فراموش نکنید.)

۳ -کسالت و بیکاری‌شیاطینند.
هکرها (و عموما انسانهای خلاق) هرگز نباید کسل شوند یا مجبور به بیگاری‌شوند چرا که در این صورت آنها از انجام کاری که تنها آنان قادر به انجام آنند باز می‌مانند. این هرز رفتن همه را آزار می‌دهد. بنابراین کسالت و بیگاری نه تنها ناخوشایند بلکه واقعا شیاطینند.

برای اینکه مانند یک هکر رفتار کنید باید باور کنید که می‌خواهید تمام کسالت آوران را کنار بزنید نه تنها برای خودتان بلکه برای همه (خاصه سایر هکرها).

(یک استثناء بارز وجود دارد. هکرها گاهی کارهایی انجام می‌دهند که به نظر تکراری و خسته کننده می‌رسند، تنها برای پاکسازی ذهن شان یا برای بدست آوردن تجربه‌ای خاص. اما به اختیار ،هیچ فرد اندیشمندی نباید مجبور به پذیرفتن موقعیت کسل کننده‌ای‌گردد.)

۴-آزادی‌خوب است.
هکرها ذاتا ضد استبدادند. هر که به شمادستور دهد، شما را از پرداختن به آنچه عاشق کشف آنید باز می‌دارد؛ گر چه آنان همواره برای دستوراتشان دلایل ابلهانه‌ی خود را دارند. با منش استبدادی باید مبارزه شود هر جا که پیدا شود چرا که شما و تمام هکرها را تحت فشار می‌گذارد .
(این به مفهوم مخالفت کلی‌با اتورتیه نیست. کودکان باید راهنمایی شوند و جنایتکاران مراقبت. هکر ممکن است نوعی از اتورتیه را قبول کند تا بیشتر از زمانی که برای‌اجرای دستورات از دست می‌دهد، بدست آورد. اما این تنها یک معادله آگاهانه است. یک قدرت فردی که مستبدان می‌خواهند قابل قبول نیست.)

مستبدان تنها با سانسور و پنهان کاری رشد می‌کنند و به همکاری داوطلبانه اعتمادی ندارند. آنها فقط نوعی از همکاری را دوست دارند که در کنترل آنان باشد، بنابراین برای اینکه یک هکر باشید باید دشمنی ذاتی با سانسور و رازداری‌، اعمال قدرت و سیاست برای مجبور ساختن افراد متعهد را در خود بپرورانید و باید که براین باور عمل کنید.

۵ -منش جایگزین مهارت نیست.
برای آنکه هکر شوید مجبور به پروراندن مواردی از این منش‌هایید. اما تنها تقلید از این منشها شما را هکر نمی‌سازد همانگونه که شما را قهرمان یا خواننده نمی‌کند. هکر شدن احتیاج به تیزهوشی‌، تمرین، تمرکز و کار سخت دارد.

بنابراین شما باید یاد بگیرید که به منش مشکوک و به مهارت احترام بگذارید. هکرها نمی‌گذارند فضولان وقت شان را هدر دهند و به مهارت ایمان دارند به خصوص مهارت در درک کردن گرچه مهارت در هر زمینه ای‌دلپذیر است. مهارت در زمینه های مورد نیاز که متخصصان کمتری دارد بهتر است و تخصص در زمینه های مورد نیاز که به فکر متبحر، استادی و تمرکز نیاز دارند، بهترین.

اگر شیفته مهارت باشید از پروراندن آن در خود لذت خواهید برد . کار سخت و تمرکز بجای‌کاری‌کسالت بار به بازی‌سخت شبیه می‌گردد و این برای‌هکر شدن حیاتی‌است .

مهارت‌های پایه‌ای برای هکر شدن
منش هکر حیاتی‌است اما مهارت او حیاتی‌تر است. منش جایگزین مهارت نمی‌گردد و مجموعه مهارت های پایه ای خاصی وجود دارند که باید در خود بپرورانید تا هکرها شما را هکر بنامند.
این ابزار به آرامی تغییر میکند با گذشت زمان تکنولوژی مهارت های جدیدی ایجادمی‌کند و قدیمی‌‌ها را بی‌مصرف میکند. مثلا در گذشته زبان ماشین شامل این مجموعه بود، در حالیکه HTML اخیرا به این مجموعه اضافه شده است. اما این مجموعه در حال حاضر مشخصأ شامل موارد زیر است:

۱ - بیاموزید که چگونه برنامه بنویسید.
این مسلما پایه ای‌ترین مهارت هکر است. اگر شما هیچ زبان برنامه نویسی‌بلد نیستید، پیشنهاد می‌کنم با پیتون شروع کنید. پتیون تمیز طراحی‌شده است. به خوبی‌مستند سازی‌شده و تقریبأ ابتدایی‌است. با آنکه پتیون زبان اولیه خوبی‌است، یک اسباب بازی‌نیست. بلکه بسیار قدرتمند و قابل انعطاف است و مناسب پروژه های بزرگ. من یک مقاله مفصل تر در مورد انقلاب پیتون نوشته‌ام. خودآموزهای خوبی می‌توانید در وب سایت پیتون پیدا کنید.

جاوا زبان بسیار خوبی‌است البته بسیار مشکل تر از پیتون است، اما برنامه سریع تری ایجاد می‌کند و فکر می‌کنم انتخاب فوق العاده ای‌برای‌زبان دوم است .
البته شما نمی‌توانید با دانستن تنها دو زبان به مهارتهای یک هکر و یا حتی یک برنامه نوبس خوب برسید. شما باید بدانید چگونه در مورد مشکلات برنامه نویسی‌، جدای از زبان برنامه نویسی‌فکر کنید. برای آنکه یک هکر واقعی شوید، باید به جایی برسید که بتوانید یک زبان جدید را در دو، سه روز یاد بگیرید. این نیازمند آن است که چندین زبان کاملأ متفاوت را یاد بگیرید.

اگر به صورت جدی به برنامه نویسی روی آورید، باید C زبان پایه‌ایUnix را یاد بگیرید. ++C بسیار شبیه C است؛ اگر شما یکی از آنها را یاد بگیرید، یادگرفتن دیگری مشکل نخواهد بود. اما هیچ کدام به عنوان زبان اول قابل یادگیری نیستند. در واقع، هر چقدر از برنامه نویسی به زبان C پرهیز کنید، بازده‌تان بیشتر خواهد بود.


C بسیار کاراست و منابع کامپیوتر را کمتر مصرف می‌کند. متأسفانه C این کارایی را با تلاش بسیار شما برای مدیریت سطح پائین منابع (مانند حافظه) بدست می‌آورد. این نوع برنامه نویسی سطح پائین بسیار پیچیده و باگ -دوست است و زمان بسیاری برای رفع اشکال (Debug) لازم دارد. با قدرت و سرعتی که کامپیوترهای امروز دارند این معامله خوبی نیست. تیز هوشانه‌تر است که از زبانی استفاده کنیم که زمان کامپیوتر را بیشتر می‌گیرد و زمان برنامه نویس را کمتر. مانند ، پیتون.

زبانهای دیگری هستند که ارزش خاصی برای هکرها دارند. Perl به جهت دلایل کاربردی آن با ارزش است، به طور گسترده ای در طراحی صفحات فعال وب و مدیریت سیستم به کار گرفته شده است و حتی اگر شما هرگز با Perl برنامه ننوبسید، باید قادر به خواندن آن باشید. بسیاری از مردم از Perl در جایی استفاده می‌کنند که من پیتون را پیشنهاد کردم. برای اجتناب از برنامه نویسی C در جاهایی که نیاز به کارایی C ندارید. شما به فهمیدن کدهای ‌Perl احتیاج خواهید داشت.

لیسپ (LISP)به دلایل دیگری ارزشمند است – برای روشن نگری عینی که پس از یادگیری آن بدست خواهید آورد . حتی اگر هیچگاه از لیسپ به طور جدی استفاده نکنید، مسلما یادگیری آن شما را برنامه نویس بهتری خواهد کرد. (شما می‌توانید مهارت های اولیه ی‌LISP را به راحتی بانوشتن و تغییر دادن Modها برای ویرایشگر متن Emacs کسب کنید)

حقیقتا بهتر است هر پنج زبان ( پیتون ، جاوا ، C/++C ، پرل و LISP) را یاد بگیرید. جدا از ارزشی که این زبانها برای هکرها دارند، آنان رویکردهای کاملا متفاوتی برای برنامه نویسی دارند که مسا ئل با ارزشی به شما یاد می‌دهند.

نمی‌توانم دستورالعمل خاصی برای یادگرفتن برنامه نویسی بدهم (کار پیچیده ای‌است)، اما می‌توانم بگویم که کتاب‌ها و کلاسها به شما کمک نخواهند کرد (اکثر هکرها خودشان یاد گرفته‌اند) شما می‌توانید روشهایی را از کتاب فراگیرید اما ساختار فکری که این روشها را به مهارت واقعی تبدیل می‌کند، تنها با تمرین و شاگردی کردن بدست می‌آید. وظایف شما شامل ۱) خواندن کد و ۲) نوشتن کد خواهد بود.

یادگیری زبان برنامه نویسی مانند یادگیری نوشتن یک زبان واقعی است. بهترین راه خواندن چیزهایی است که استادان امر نوشته اند و سپس نوشتن برنامه ای از خودتان است؛ بسیار بیشتر مطالعه کنید، کمی‌بیشتر بنویسید، بیشتر مطالعه کنید، بیشتر بنویسید.... و تا آنجا ادامه دهید که نوشته هایتان قدرت و صلابت کارهای استادتان را پیدا کند.

سابقا پیدا کردن کد خوب مشکل بود، برنامه های بزرگی که متن آنها در دسترس بود تا هکرها بخوانند و آزمایش کنند، بسیار محدود بود. اکنون این مسئله به طور قابل ملاحظه‌ای تغییر کرده است؛ اکنون نرم‌افزارها ابزارهای‌برنامه نوبسی و سیستمهای‌عامل بازمتن (که تماما بوسیله هکرها نوشته شده است) بسادگی قابل دسترس است - که مرا به نوشتن بخش بعد ترغیب می‌کند...

۲ - یکی‌از یونیکس های‌باز-متن را بگیرید و استفاده و اجرا کردن آن را بیاموزید.
فرض می‌کنیم یک کامپیوتر شخصی دارید یا لااقل به آن دسترسی دارید (بچه های امروزی خیلی راحت به آن دسترسی دارند:-)). مهمترین قدم اولیه ای که هر مبتدی برای هکر شدن می‌تواند بردارد، گرفتن یک کپی از لینوکس (Linux) یا بی‌اس دی-یونیکس (BSD-Unix)؛ نصب کردن آن روی‌کامپیوتر شخصی و اجرای آن است.

بله ، سیستم عاملهای فراوانی در کنار یونیکس وجود دارد. اما تمام آنها به صورت باینری توزیع می‌شوند و شما قادر به خواندن و تغییر کد آن نیستید. تلاش برای ایجاد تغییر بر روی یک کامپیوتر داس یا ویندوز یا MacOS مانند این است که بخواهید در لباس شوالیه رقص بیاموزید.

تحت OS/X این کار ممکن است ، اما فقط بخشی از این سیستم بازمتن است. شما به موانع بسیاری برخورد خواهید کرد و باید مواظب باشید تا عادت بد تکیه بر کد اختصاصی اپل را در خود توسعه ندهید. در صورتی که بر روی یونیکس‌ها تمرکز کنید، چیزهای مفیدتری فراخواهید گرفت.


یونیکس سیستم عامل اینترنت است. اگر اینترنت را بدون یونیکس یاد می‌گیرید، هیچ وقت نمی‌توانید یک هکر اینترنت باشید. به این خاطر فرهنگ هکر امروز کاملأ یونیکس-محور است. (این مطلب همیشه صادق نبوده است . بسیاری از هکرهای با سابقه از این موضوع رضایت ندارند اما پیوند محکم یونیکس و اینترنت آنچنان قوی است که حتی قدرت شیطانی مایکروسافت نیز نتوانسته است خلل چندانی در آن ایجادکند.)

پس یک یونیکس نصب کنید. من به شخصه لینوکس را دوست دارم اما راههای دیگری هم وجود دارد ( بله! شما می‌توانید مایکروسافت ویندوز و Linux رابا هم داشته باشید). یاد بگیرید، اجرا کنید، ور بروید، کدهایش را بخوانید و تغییرشان دهید. ابزار برنامه نویسی بهتری در اختیار خواهید داشت، مانند C , LISP , Python و Perl که در سیستم عامل ویندوز خواب داشتن آن ها را می‌بیند. بسیار جذاب و سرگرم کننده خواهد بود و آنچنان در دانش غرق میشوید که حتی متوجه آن نمی‌شوید تا هنگامیکه به مانند یک استاد هکر به پشت سرتان بنگرید!

برای اطلاعات بیشتر درباره ی یادگیری‌Unix به The Loginataka نگاه کنید. همین طور شمامی‌توانید نگاهی بهThe Art Of Unix Programing (هنر برنامه نویسی در یونیکس) بیاندازید.

برای آن که چیز هایی از لینوکس دست گیرتان شود به سایت Linux Online بروید؛ شما می‌توانید از آن جا دانلود کنید یا (ایده ی‌بهتر) یک گروه کاربران لینوکس محلی پیدا کنید تا به شما در نصب لینوکس کمک کنند. از دیدگاه یک کاربر تازه کار تمام توزیع های لینوکس بسیار شبیه یکدیگرند.

شما می‌توانید راهنما و منابعBSD Unix را در سایت www.bsd.org پیدا کنید.

من نیز مقالاتی مبتدی درباره ی پایه های‌یونیکس و لینوکس نوشته ام.

(توجه : من در حقیقت نصب کردن هیچ کدام از Linux یا BSDها را به طور خاص به شما توصیه کنم ، برای هر تازه کاری هر کدام از این ها یک پروژه ی انفرادی است. برای لینوکس، یک گروه کاربران لینوکس در محل خود پیدا کنید و از آنها برای کمک سوال کنید.)

۳ -استفاده از وب و نوشتن HTML را یاد بگیرید.
بسیاری از چیزهایی که فرهنگ هک ساخته است خارج از افق دید شماست، کمک به کارخانه‌ها، دفاتر و دانشگاه‌ها بدون اینکه تأثیر مشخصی در زندگی غیر هکرها نداشته باشد. در این میان اینترنت یک استثناء عمده است، سرگرمی درخشان هکری که حتی به اعتراف سیاست مداران در حال تغییر دادن جهان است . تنها به همین خاطر (و همچنین بسیاری‌از دلایل مشابه دیگر) یاد گرفتن کار در اینترنت احتیاج دارید.
این فقط به این معنی نیست که چگونه از یک مرورگر استفاده کنید(!) بلکه به معنی یادگیری‌HTML است . اگرهنوز برنامه نویسی یاد نگرفته‌اید، نوشتن HTML عادت های ذهنی‌ را برایتان فراهم می‌کند که به یادگیری برنامه نویسی کمک می‌کند. پس برای خودتان یک Homepage درست کنید. سعی کنید از XHTML استفاده کنید که نسبت به HTML سنتی تمیزتر است.(منابع بسیار خوبی برروی وب برای تازه کارها وجوددارد؛ این یکی از آن هاست!)

اما نوشتن یک Homepage به هرحال آنقدر خوب نیست که شما را هکر کند. وب پر از Homepage است. بیشترشان بی‌ارزشند. لجن های بی‌محتوا، فضولات شیک، اما مطمئن باشید که لجن همیشه لجن است. (برای اطلاعات بیشتر صفحه یTheHTML Hell را ببینید.)

برای با ارزش بودن؛ Homepage تان باید محتوا داشته باشد و برای هکرهای دیگر جذاب و یا آموزنده باشد. تمام اینها شمارا به بخش بعد هدایت می‌کند...

۴ -اگر انگلیسی‌بلد نیستید آن رایاد بگیرید.
به عنوان یک آمریکایی بخاطر آنکه زبان مادریم انگلیسی است قبلأ از ذکر این موضوع ناراحت بودم. حداقل این می‌تواند یک امپریالیسم فرهنگی‌تلقی‌گردد. ولی تعدادی از غیر انگلیسی زبانان از من خواستند که این موضوع را متذکر شوم که انگلیسی زبان فرهنگ هکر و اینترنت محسوب می‌گردد و شما احتیاج خواهید داشت که این زبان را یادبگیرید تا در جامعه هکرها فعال شوید.

این موضوع واقعیت دارد. حدود سال ۱۹۹۱ متوجه شدم که بسیاری از هکرها که انگلیسی‌زبان دومشان بود آن را برای بحث های تکنیکی‌شان بهره می‌گرفتند، حتی اگر زبان مادریشان یکی بود. به من اطلاع دادند که انگلیسی بعلت غنی‌تر بودن به لحاظ لغات فنی برای این کار مناسب‌تر است . به همین دلیل ترجمه متن‌های فنی که در زبان انگلیسی هستند، غالبا رضایت بخش نیست. لینوس توروالدز که یک فنلاندی است، کد خود را به زبان انگلیسی تشریح کرده است (و هرگز غیر از این روش، روش دیگری را پیش نگرفته است) تسلط بر انگلیسی، عامل مهمی در جمع کردن جامعه جهانی برنامه نویسان لینوکس بوده است. این مورد نمونه قابل ذکری در مورد نقش زبان انگلیسی است.

موقعیت فرهنگ هکر

مانند بسیاری از فرهنگ‌های برپایه ی روابط غیر اقتصادی، هکرگری نیز با شهرت اداره می گردد، شما سعی می‌کنید که مسئله جالبی را حل کنید اما اینکه آن مسئله چقدر قابل تأمل است یا راه حل شما واقعا چقدر خوب است، چیزی است که تنها استادان شما صلاحیت تأیید آن را دارند.
به همین ترتیب، وقتی وارد بازی هکر ها شدید، مدارجتان را با آنچه سایرین در مورد شما فکر می کنند بدست خواهید آورد (به این علت است که تا هنگامی که دیگران شما را هکر نمی دانند واقعأ هکر نیستید). این حقیقت بوسیله پنداری که هک را یک کار منزوی گرایانه می‌داند، محو شده است؛ هم چنین با وجود این تابوی فرهنگ هکری (که در حال از میان رفتن ولی فعلا همچنان نیرومند است) در برابر پذیرش اینکه تصدیق خود یا دیگری، تنها در گیر انگیزه یک شخص باشد.

به خصوص ، هکرگری نوعی از فرهنگ است که مردم شناسان به آن فرهنگ هدیه می‌گویند. شما شهرت و موقعیت خود را نه با سلطه بر دیگر مردم، نه با زیبایی یا در اختیار داشتن چیزهای مورد نیاز مردم بلکه با دادن هدیه بدست می آورید. به خصوص با دادن وقت خود، خلاقیت و مهارتتان.

پنج چیز وجود دارد که با انجام آن مورد احترام هکرها قرار می‌گیرید:

۱ - برنامه‌های باز- متن بنویسد
اولین (محوری ترین و سنتی ترین) روش، نوشتن برنامه‌هایی است که هکرهای دیگر آن را جالب و مفید می‌دانند و سپس دادن کد منبع برنامه‌ها به دیگران.
(ما قبلا این را "نرم افزار آزاد" می‌نامیدیم ، اما این اصطلاح موجب اشتباه بسیاری از مردم شد که نمی‌دانستند منظور از آزاد دقیقا چیست، امروزه بسیاری از ما حداقل به نسبت ۲ به۱ اصطلاح "بازمتن" (open-source) را ترجیح می دهیم.)
محترم ترین هکر ها [1] افرادی هستند که برنامه‌های بزرگی نوشته اند - برنامه‌های پرقدرتی که احتیاجات گسترده ای را مرتفع می سازد - و آنان را در دسترس همگان قرار داده اند.

۲ - به آزمایش ورفع اشکال کردن برنامه‌های بازمتن کمک کنید
هکرها به کسانی که نرم افزارهای بازمتن را آزمایش و رفع اشکال می‌کنند، یاری میرسانند. در این دنیای ناقص ناگزیر به صرف دقت بسیاری برای رفع اشکال برنامه‌ها هستم، به این علت است که مولفان بازمتن میگویند یک آزمایشگر خوب ( تعریف کردنش دشوار است؛ مشکلات در ضمن انتشار، کسی که بتواند اشتباهات یک انتشار عجله ‌ای را تحمل کند و مشکلات نرم‌افزار را گزارش کنند) سزاوار یاقوت به اندازه ی وزنشان هستند. حتی یک نفر از آنان میتواند رفع اشکال کردن را از یک کابوس طولانی به یک دردسر عبرت آموز تبدیل کند. اگر مبتدی هستید یک نرم افزار در حال برنامه نویسی پیدا کنید و یک آزمایشگر خوب باشید. یک پیشرفت طبیعی از کمک به آزمایش برنامه تا کمک به رفع اشکال کردن آن و بهتر کردن آن است. از این راه چیزهای بسیاری یاد می‌گیرید و روابط خوبی با افرادی که بعدا شما را کمک خواهند کرد بر قرار خواهید کرد.

۳ -اطلاعات خوب را منتشر کنید
کار خوب دیگری که می‌توانید بکنید جمع آوری و دستچین کردن مطالب جالب و مفید در برگه‌های وب یا پرونده‌هایی مانند سؤالات متداول ( FAQ ) و منتشر کردن آن است. گردآورندگان مجموعه سؤالات متداول (FAQ) به اندازه برنامه نویسندگان بازمتن مورد احترام هستند.

۴ -به پایداری شالوده ی کار کمک کنید
فرهنگ هکر (و مهندسی اینترنت بعنوان شاخه‌ای از آن) با داوطلبان به پیش می رود. بسیاری از کارهای کوچک ولی ضروری وجود دارند که باید انجام شوند. مدیریت لیست‌های پستی و گروههای خبری، مرتب کردن آرشیو نرم افزارهای بزرگ، گسترش RFCها و سایر استانداردهای فنی.
مردمی که این کارها را انجام می دهند مورد احترام فراوان هستند. چرا که همه می دانند این نوع مسئولیت چقدر زمانبر است در حالیکه جذابیت زیادی مانند بازی کردن با کد هم ندارد. انجام آنها نشاندهنده ی ایثارگریست.

۵ - به خود فرهنگ هکر کمک کنید
در انتها می توانید به خود فرهنگ کمک کنید و آن را منتشر کنید (مثلأ با نوشتن مقاله ای در مورد اینکه چگونه هکر شویم :-) ). گرچه این کاری نیست که در همان ابتدا انجام دهید تا وقتی که شهرت خوبی در بین هکرها بدست آورید.
فرهنگ هکر، رهبر به معنی دقیق آن ندارد. اما قهرمانان، پیران ، مورخان و سخنگویان زیادی دارد. بعد از این که به اندازه ی کافی در سنگرها مدت زیادی را سپری کنید، می‌توانید یکی از آنها شوید. باید بدانید که هکرها به منیت آشکار پیران خود بدبینند؛ رسیدن به این درجه از شهرت آشکارا خطرناک است. به جای تلاش برای رسیدن به آن موقعیتتان را چنان بسازید که در مسیرشما افتد. سپس در مقامتان فروتن و مهربان باشید.

رابطه ی هکر / نرد “Nerd”
ارتباط هکر و نرد بر خلاف افسانه مشهور، برای هکر بودن اجباری بر نرد بودن نیست (نرد به شخصی گفته می‌شود که تمام زندگی او بر کامپیوتر/تکنولوژی استوار است -مترجم -). اما به هرحال نرد بودن کمکتان می‌کند و بسیاری از هکرها اینگونه‌اند. نرد بودن کمکتان می‌کند که بر مهمترین مسائل مانند فکر کردن و هک کردن تمرکز داشته باشید.
به همین خاطر بسیاری از هکرها صفت نرد بودن و حتی سرسختانه‌تر 'geek' را به عنوان شعار برگزیده‌اند. روشی برای بیان جداییشان از انتظارات عوامانه اجتماع - برای بحث بیشتر به صفحه‌ی geek مراجعه کنید.

اگر شما بتوانید به اندازه کافی روی هک کردن تمرکز کنید در حالیکه به زندگیتان هم برسید، بسیار عالیست. امروزه انجام این کار از ۱۹۷۰ که من تازه کار بودم بسیار ساده تر است؛ جریان غالب فرهنگی با تکنو- نردها بسیار مهربانتر است و تعداد کسانی که می فهمند هکرها عاشقان و همسران بلند مرتبه‌ای هستند هر روز زیادتر می شود.

اگر شما بخاطر نرد بودنتان به هکر بودن علاقه‌مند شده‌اید هم خوب است! حداقل برای متمرکز شدن مشکلی نخواهید داشت. شاید هم در آینده از انزوا درآمدی!

نکاتی در باب طریقت
نکاتی در باب طریقت باز می‌گویم که شما برای هکر شدن باید ساختار فکری هکری بدست آورید. چیزهایی هست که هنگامیکه کامپیوتر ندارید می‌توانید انجام دهید. آنها جایگزین هک کردن نمی شوند (هیچ چیز نمی‌شود) اما بسیاری از هکرها انجامشان را دوست دارند و احساس می کنند با انجام آنها به نوعی به روح هک کردن نزدیک می شوند.

-بیاموزید که زبان مادریتان را خوب بنویسید. گرچه معروف است که برنامه نویس ها نمی‌توانند بنویسند، یک تعداد غافلگیر کننده‌ای از هکرها (تمام بهترین هکرهایی که من می‌شناسم) نویسندگان توانایی هستند.
-داستانهای علمی - تخیلی بخوانید. به جلسات داستانهای علمی بروید. (جای خوبی که می توانید هکرها و هکر دوستان را ببینید.)
-ذن تمرین کنید و/ یا به هنرهای رزمی بپردازید (انظباط روحی در جهات بسیاری شبیه‌اند)
-گوش تان را به موسیقی حساس کنید. بیاموزید که به نوع خاصی از موسیقی را درک کنید. نواختن برخی آلات موسیقی را به خوبی فرابگیرید یا آواز خواندن یاد بگیرید.
-کار با جملات قصار و بازی با کلمات را به خوبی بیاموزید.

هر چه موارد بیشتری را قبلأ انجام داده باشید استعداد بیشتری برای هکر شدن دارید. چرا این موارد خاص مهم هستند واقعا معلوم نیست. ولی ارتباط آنها با مهارتهای نیمکره ی چپ و راست مغز مربوط می شود، هردوی این ها اهمیت فراوانی دارند؛ هکرها همانگونه که به منطق استدلالی نیاز دارند به شهود عرفانی نیز محتاجند تا در لحظه ای خاص از شر منطق ناقص مشکلی خلاص شوند.

به همان میزان که بازی می‌کنید، کارکنید و همان قدر که کار می‌کنید، بازی کنید. برای هکر‌های واقعی مرزی میان ” بازی“ ، ” فعالیت“ ، ”دانش“ و ”هنر“ وجود ندارد و این با پدیدار شدن سطح بالایی از سرزندگی سازنده همراه خواهد بود. به هیچ وجه به اطلاعات مهارت‌های محدود اکتفا نکنید. برخلاف آن که بسیاری از هکرها خود را یک برنامه نویس معرفی می کنند، دارای مهارت‌های بسیاری هستند - مدیریت سیستم، طراحی وب و رفع اشکال‌های سخت‌افزاری PC یکی از معمول ترین آن هاست. هکری که مدیر سیستم است، اغلب، یک برنامه نویس حرفه‌ای و یک طراح وب است. هکر هرگز کاری را نیمه انجام شده رها نمی‌کند، اگر به موضوعی بپردازد در رابطه با این موضوع مهارت‌هایش را به اوج کمال می‌رساند.
در پایان چیزهایی هستند که نباید انجام دهید:

-از اسامی ابلهانه و بزرگ نما (قلمبه!) استفاده نکنید.
-در آتش افروزیهای گروه‌های خبری و یا هر بحث بی فایده ی دیگر شرکت نکنید.
-خودتان را "ولگرد سایبر" خطاب نکنید، وقت خود را با چنین افرادی هدر نکنید.
-نامه‌های الکترونیکی پر از غلط املایی و دستور زبانی نفرستید.

تنها چیزی که از این ها عایدتان می شود شهرت یک دلقک است. هکرها حافظه خوبی دارند - سالها طول می کشد تا دسته گلی که به آب داده‌اید فراموش شود و مورد قبول واقع شوید.

بر مشکل نام‌های کاربری یا اسامی مستعار باید تاکید کنم. پنهان کردن نام واقعی پشت رموز، کار ابلهانه و بچه گانه کرکر ها(crackers) و warez d00dz ویا دیگر فرم‌های پیش پا افتاده ی زندگیست. اگر نام مستعاری دارید آن را دور بیاندازید. در میان هکرها این حقیقتا باعث می‌شود تا شما را به فراموشی بسپارند. هکران از آنچه که انجام می‌دهند مغرورند و آن را وابسته به نام حقیقی خود می‌خواهند.

منابع دیگر
پیتر سیباج (Peter Seebach) برای مدیران سیستمی که نمی دانند چطور با هکرها سر کنند، یک FAQ مکمل نوشته است که Hacker FAQ نام دارد. اگر سایت Peter پاسخ دهی نمی‌کند، این جستجوی سایت Excite می‌تواند یک کپی خوب برای شما پیدا کند.

این جا یک سند وجود دارد که How To Be A Programmer (چگونه یک برنامه نویس شویم) نام دارد این یکی از بهترین و کامل ترین هاست. ارزش این مستند فقط مربوط به آموزش کد نویسی نیست، در این سند درباره ی کد نویسی به صورت گروهی و چالش‌های یک کد نویسی گروهی صحبت شده است.

من مقاله ای به نام تاریخ اجمالی هکرگری : "A Brief History Of Hackerdom" نیز نوشته‌ام.

برای آشنایی با فرهنگ لینوکس و بازمتن مقاله‌ای با نام "کلیسای فقید و بازار" یا "The Catedral and the Bazaar" نوشته‌ام. ادامه ی این مقاله در مقاله ای به نام Homesteading Noosphere آمده است.

Rick Moen، مقاله‌ای به نام How to Run A Linux User Group نوشته است. (یک گروه کاربران لینوکس چطور به کار می‌افتد؟)

باز هم از Rick Moen و من (اریک ریموند) مقاله‌ای به نام چگونه یک سوال هوشمندانه بپرسیم، How to Ask Smart Questions وجود دارد.

اگر شما به اطلاعات پیش‌نیاز برای کامپیوتر‌های شخصی و شبکه ی اینترنت احتیاج دارید، به مقاله ی The Unix and Internet Fundamentals HOWTO (پایه‌های یونیکس و اینترنت) مراجعه کنید.

اگر شما برنامه‌ای منتشر می‌کنید و یا وصله‌ای برای برنامه‌ای می نویسید، به Software Release Practice HOWTO (راهنمای تمرین انتشار برنامه‌ها) سر بزنید.

اگر شما به اشعار ذن علاقه مند هستید، احتمالا باید از این خوشتان بیاید: Rooties Root: The Unix Koans of Master Foo

سؤالاتی که زیاد پرسیده شده اند

س : به من یاد می دهید چطور هک کنم ؟
ج: از اولین روز انتشار این برگ هر هفته (گاهی هر روز) چندین درخواست از مردم بدستم می‌رسد که: همه چیز هک کردن را به من یاد بدهید! متأسفانه وقت و انرژی کافی برای این کار ندارم. پروژه‌های هکری من و مسافرتهایم بعنوان مدافع بازمتن روزی ۱۱۰٪ وقتم را می‌گیرد.
حتی اگر هم می‌توانستم؛ هک کردن هنر و منشی است که شما خود باید یاد بگیرید. بعدا متوجه خواهید شد که با آنکه هکرها دوست دارند به شما کمک کنند، اما اگر بخواهید همه چیز را حاضر و آماده در دهان شما بگذارند، تحویلتان نمی‌گیرند.
اول خودتان چیزهایی یاد بگیرید. نشان دهید که دارید سعی می کنید، که توانایی یاد گرفتن دارید سپس به سراغ هکرها بروید و پرسشهایتان را مطرح کنید.
اگر می‌خواهید به هکری نامه ی الکترونیکی بفرستید باید از قبل دو چیز را بدانید. اولین چیز این که ما متوجه شدیم که کسانی که در نوشته‌هایشان بی دقت‌اند معمولا تنبل‌تر از آنند که هکرهای خوبی بشوند. بنابراین مواظب غلط‌های املایی و انشایی خودتان باشید و گرنه شما را نادیده می‌گیرند. دوم این که هرگز جواب نامه‌ی الکترونیکی خود را در آدرسی غیر از آدرسی که از آن نامه می‌فرستید نخواهید. ما می‌دانیم که کسانی که این کار را می کنند دزدانی اند که از حساب دزدی استفاده می کنند و هیچ علاقه ای به کمک کردن به دزدها نداریم.

س : خوب پس از کجا شروع کنم ؟
ج‌ : بهترین راه برای شروع رفتن به جلسه یک لاگ (گروه کاربران لینوکس"Linux user group LUG" ) است. این گروهها را می توانید در سایت LDP بیابید. به احتمال قوی می‌توانید یکی از آنها را در حوالی خود بیابید که احتمالأ وابسته به یک دانشگاه یا مؤسسه است. اعضای لاگ احتمالأ به شما یک نسخه از لینوکس می‌دهند و حتمأ کمکتان می‌کنند که آنرا نصب کنید.

س : کی باید شروع کنم ؟ آیا خیلی دیر نشده است ؟
ج : در هر سنی که علاقه‌مند شدید می‌توانید یاد بگیرید. اکثر مردم در سن ۱۵ تا ۲۰ سالگی علاقه‌مند می شوند؛ من استثناهایی را از هر دو طرف می‌شناسم.

س : چقدر طول می کشد تا هکر شوم ؟
ج : بستگی به این دارد که چقدر باهوشید و چقدر پشت کار دارید. اگر مصمم باشید معمولأ ظرف ۱۸ تا ۲۴ ماه می‌توانید مهارتی قابل ملاحظه بدست آورید. اما کار به اینجا ختم نمی‌شود. اگر یک هکر واقعی هستید تمام عمرتان را صرف یادگیری و تکمیل هنرتان خواهید کرد.

س : آیا Visual Basic و #C ( سی شارپ) زبان‌های خوبی برای شروع کارند ؟
ج: اگر شما این پرسش را مطرح می‌کنید یعنی به هک کردن تحت سیستم عامل مایکروسافت ویندوز فکر می‌کنید. به خودی خود تفکر بدی است. یاد گیری کد نویسی تحت پلتفورم ویندوز مانند یاد گیری رقص است وقتی زره به تن کرده‌اید، من چندان خوشم نمی‌آید. به آن جا نروید. آن بخش بی‌نهایت کثیف است و از کثافت باید پرهیز کرد.
زبان‌های Visual Basic و #C مشکلات مخصوص خودشان را دارند؛ در اصل این‌ها غیر قابل انتقال یا not portable هستند. هیچ نسخه‌ی بازمتنی از این زبان‌ها وجود ندارد. استاندارد‌های اجرایی ECMA چیزی بیش از تعدادی رابط برنامه نویسی را پوشش نمی‌دهند. در ویندوز بیشتر کتابخانه‌ها از یک سازنده ی تنها (مایکروسافت ) که مالک آن است پشتیبانی می‌کنند؛ اگر شما بی‌نهایت نسبت به چیزی که استفاده می کنید دقیق نباشید، برای همیشه به پلتفورم مایکروسافت وابسته خواهید شد. برای این که به این باطلاق فرو نروید، کسی که کد نویسی را شروع می کند باید بسیار دقت کند. اگر شما روی یونیکس شروع کنید زبان‌های بهتر و کتابخانه‌های بهتر وجود دارند.
بنابراین به همان سیستم عامل که سازنده زبان انتخاب می کند، میخکوب می‌شوید، این به مذاق هکرها سازگار نیست.
به خصوص Visual Basic بسیار مضر است. مانند همه بیسیک‌ها Visual Basic هم بسیار بد طراحی شده است، نه از من نخواهید که این موضوع را تشریح کنم؛ این موضوع می‌تواند یک کتاب را پوشش دهد. یک زبان را که به خوبی طراحی شده است فرا بگیرید.
یکی از عادت‌های برنامه نویسی بدی که به شما یاد خواهد آموخت وابستگی به کتابخانه ها، widget ها و ابزار برنامه نویسی یک شرکت خاص است. به طور کل هر زبانی که تحت لینوکس یا یکی از نسخه‌های BSD پشتیبانی نگردد و/ یا حداقل توسط سه شرکت مختلف پشتیبانی نگردد، ارزش این را ندارد که برای هک کردن یاد بگیریدش.

س : به من یاد می دهید که چطور یک سیستم را بشکنم؟
ج : نه . کسی که بعد از خواندن این مقاله هنوز این سؤال را بپرسد، احمق تر از آن است که یاد بگیرد ، حتی اگر من وقتش را داشته باشم. هر میلی که چنین درخواستی کند نادیده گرفته می شود یا با خشونت تمام پاسخ داده می‌شود.

س : چطور می توانم رمز عبور شخص دیگری را بدست آورم؟
ج : این شکستن است (crack). گم شو احمق!

س : چطور می توانم پست الکترونیکی شخصی دیگری را بخوانم / واردش شوم / تحت نظر بگیرمش؟
ج : این شکستن است . سریع گم شو ...

س : چطور می توان کانالهای chat را دزدید؟
ج : این شکستن است . مردک احمق!

س : سیستمم را شکسته‌اند! کمک می‌کنید از خودم دفاع کنم؟
ج: نه! هر بار که از من این سؤال را پرسیده‌اند از طرف یک کاربر بیچاره ی ویندوز بوده است. امکان ندارد ویندوز را به طور کامل امن کنید. کد و معماری آن پر از ایراد است و سعی در ایمن کردن آن آب در هاون کوبیدن است. تنها راه پیش‌گیری، رفتن به یک سیستم عامل دیگر مانند لینوکس یا حداقل سیستم عاملی است که توانایی ایمن شدن را داشته باشد.

س : من با ویندوزم مشکل دارم . کمکم می کنید؟
ج : البته! به خط فرمان بروید و بنویسید " :format c "، ظرف چند دقیقه تمام مشکلاتتان حل می‌شود.

س : کجا می توانم با هکرهای واقعی صحبت کنم؟
ج : بهترین جا لاگ‌های محلی خودتان است ( لیست شان را می توانید در سایت LDP بیابید.)
(قبلأ در اینجا می‌گفتم در IRC هیچ هکر واقعی پیدا نمی‌کنید. ولی وضعیت فرق کرده است. به طور مشخص اجتماعاتی از هکرهای واقعی مربوط به GIMP و Perls کانالهای IRC دارند)

س : چند کتاب مفید در زمینه هکر کردن پیشنهاد کنید؟
ج : لیست خواندنی‌های لینوکس ممکن است مفید باشد. Loginntaka هم می‌تواند جالب باشد. برای پیش در آمدی بر پیتون به اینجا را بر روی سایت پیتون نگاهی بیاندازید.

س : آیا باید در ریاضیات خوب باشم تا بتوانم هکر شوم ؟
ج : نه . البته باید قادر باشید به طور منطقی فکر کنید و رشته درست دلایل را دنبال کنید، هک کردن نیاز بسیار اندکی به ریاضیات رسمی دانشگاهی دارد. به خصوص، شما معمولا به آنالیز و جبر نیاز نخواهید داشت ( این را به مهندسان برق واگذار کنید). داشتن پیش زمینه‌ای در رشته‌هایی از ریاضیات مانند منطق، تئوری مجموعه‌ها ، نظریه اعداد و.... ممکن است مفید باشد.
آنچه بسیار مهم است : شما باید بتوانید منطقی تفکر کنید و رشته ای از دلایل صحیح را گرد هم بیاورید، کاری که ریاضی‌دانان انجام می‌دهند. زمانی که ارتباط با اغلب علوم ریاضی کمکی به شما نکرد، شما به نظم و ذکاوت برای پیش برد آن نیاز خواهید داشت. اگر شما چندان باهوش (با ذکاوت) نی‌ستید، امید چندانی به هکر شدن شما نیست؛ اگر شما نظم فکری نداشته باشید این امید به همان میزان کم خواهد شد.
یک راه خوب برای فهمیدن این موضوع گرفتن و مطالعه یک کپی از کتاب Raymond Smullyan است که اسم آن اکنون یادم نیست. مشابه چیستان‌های منطقی و بامزه Smullyan در روح هکرگری خیلی وجود دارد. توانایی در حل آنها علامت خوبی است و لذت در حل کردن آن علامتی بهتر.

س : چه زبانی را باید اول یاد بگیرم ؟
ج : XHTML (آخرین نسخه ی HTML) اگر هنوز آنرا بلد نیستید. کتابهای بد زیادی هستند با توضیحات خسته کننده بلندبالا و چند کتاب خوب چیزی که من بیشتر از همه دوست دارم HTML: The Definitive Guide است.
البته HTML یک زبان کامل برنامه نویسی نیست. وقتی برای یادگیری آماده شدید، پیشنهاد می‌کنم از پیتون شروع کنید. خیلی‌ها به شما Perl را پیشنهاد می‌کنند و هنوز محبوبیت بیشتری دارد ولی یاد گرفتن آن سخت است و (به نظر من) به خوبی پیتون نیست.
C واقعا مهم است ولی از Perl و پیتون خیلی سخت‌تر است. سعی نکنید اول C را یاد بگیرید.
کاربران ویندوز، به دام VB نیفتند. عادتهای برنامه نویسی بدی به شما یاد می‌دهد و قابل انتقال به هیچ سیستم دیگری غیر از ویندوز نیست. بپرهیزید!

س : چه سخت افزاری نیاز دارم ؟
ج : قبلا کامپیوترهای شخصی سرعت و حافظه کمی داشتند که همین‌ها کافی بودند تا روند یاد گیری هکر رامحدود کنند. این مساله مدتهاست که از بین رفته است ، هر کامپیوتری از Intel 486DX50 بالاتر باشد برای برنامه نویسی کافیست، X ، و ارتباطات اینترنتی ، و کوچکترین دیسک سخت به اندازه کافی بزرگ است.
مهمترین مساله‌ای که در انتخاب سخت افزار وجود دارد این است که آیا با لینوکس همخوانی دارد (یا با BSD همخوانی دارد). البته برای بسیاری از کامپیوترهای جدید این همخوانی وجود دارد مگر در مورد تعدادی از مودم‌ها و چاپگرها که مخصوص ویندوز طراحی شده اند.
یک FAQ درباره ی سازگاری سخت افزار ها وجوددارد؛ آخرین نسخه ی آن اینجاست.

س : باید از مایکرو سافت متنفر باشم ؟
ج : نه! نه اینکه میکروسافت نفرت‌انگیز نیست؛ مساله این است که فرهنگ هکر مدتها قبل از مایکروسافت وجود داشته است و مدتها بعد از آن هم خواهد بود. انرژیی را که برای نفرت از مایکروسافت صرف می‌کنید، برای عشق به هنرتان مصرف کنید. اگر برنامه‌ای خوب بنویسید، مشت محکمی است بر دهان مایکروسافت و خونتان را را کثیف نمی‌کند.

س: ولی بازمتن برنامه نویس‌ها را بیکار نمی‌کند؟
ج : حقیقتا برعکس این است، تا بحال صنعت بازمتن بیشتر اشتغال زایی کرده است تا از بین بردن آن. اگر داشتن یک برنامه آماده اقتصادی تر از نداشتن آن است، در هر حال یک برنامه نویس حقوقش را می گیرد چه برنامه بازمتن باشد یا نباشد و مهم نیست چقدر نرم افزار" آزاد " هست ، به نظر می رسد همیشه تقاضای بیشتری برای نرم افزارهای جدید یا تطبیق داده شده وجود دارد. من در این باره در ورق‌های Open Source بیشتر خواهم نوشت.

س : چطور شروع کنم ؟ از کجا یک یونیکس آزاد پیدا کنم ؟
ج : قبلا راجع به پیدا کردن یونیکس‌های معمول آزاد توضیح داده ام. برای هکر شدن به انگیزه خلاقیت و قابلیت خود آموزی نیاز دارید. پس دیگر شروع کنید...


Thursday, December 08, 2005

نکاتی مفید در لینوکس

هرگز نا‌امید نباشید، در راه یادگرفتن، هنوز وقت برای نا‌امید شدن دارید. اگر کمک می‌خواهید یا دوست دارید به جامعه دوستان لینوکس بپیوندید، The EasyLinuxGuid Forum را ببینید. یادتان باشد اکثر تنظیمات این صفحه مربوط بهKDE است. اگر می‌خواهید از یک window manager دیگر استفاده کنید صفحه Enlightenment را ببینید.

ایجاد آیکون‌های Desktop:

روی Desktop راست کلیک کنید و گزینه create new را انتخاب و بعد آنچه را که مایلید از منو انتخاب کنید –من اغلب از link to application استفاده می‌کنم برای اینکه بتوانم از رویDesktop برنامه‌ها را اجرا کنم. بعد مطمئن شوید که در قسمت execute از منو، به فایل اجرایی مورد نظر مسیر داده‌اید، سپس می‌توانید در برگ‌نشان اول آیکون دلخواه خود را یا با مسیردهی به آیکونی که ساخته یا دانلود کرده‌اید و یا آیکونی از لیست موجود، انتخاب کنید.

کسی به من پیشنهاد کرد که آیکون‌های خودم را (نه آنهایی که با نصب روی میزکار ایجاد شده‌اند) در یک دایرکتوری قرار دهم. این کار هم ساده است چراکه از قبل در دایرکتوری share یک فولدر به نام icons برای همین کار ایجاد شده است. من اکثر آیکون‌هایم را آنجا قرار داده‌ام.

Google و LinuxGoogle دوستان شما هستند:

من از این موتورهای جستجو به دفعات بی‌شمار استفاده کرده‌ام و واقعا کمک کرده‌اند. من Google را صفحه خانگی خودم کرده‌ام.

خلاق باشید!

.توزیع‌های لینوکس بی‌نهایت انعطاف‌پذیرند و همین، دلیل محبوبیت بسیار زیاد آنهاست

اینکه به عنوان یک تجربه جدید یک نسخه را برای خود اختصاصی کنید، بسیار هیجان انگیز خواهد بود. البته این خوب است که به دنبال تجربه‌های جدید باشید اما کارهای ابلهانه نکنید! دوباره نصب کردن هنر نیست. از همان اول خوب کار کنید.

منوی start را شفاف کنید:

می‌توانید منوی start‍ را با انتخاب زمینه‌های(Themes) مختلف شفاف کنید. برای این کار به control center بروید، look and feel و سپس style را انتخاب کنید. برای راحت‌تر شدن کار شما من تمام زمینه‌ها را امتحان کردم و فقط سه زمینه هستند که این ویژگی را دارند:KDEdefault و Keramik و Netstyle.

فعال کردن Numlock در هنگام boot:

شخصی در تالار گفتگو آنقدر مهربان بود که این نکته را به من هم یاد داد. برای فعال کردن کلید Number Lock، وقتی Red Hat آغاز شد، فقط کافی است به منوی K بروید و زیر Preferences، گزینه Peripheral و سپس Keyboard را انتخاب کنید. در قسمت Advanced با انتخاب یک گزینه می توانید Number Lock را فعال کنید. به همین راحتی.

اضافه کردن زمینه‌ها به KDE desktop:

برای انجام آن، تمام کاری که باید انجام دهید این است از سایت‌های freshmeat website و/یا kde-look.org دیدن کنید و هر زمینه‌ای را که دوست دارید انتخاب نمایید. بعد در منوی KDE، در قسمت control center، گزینه Theme Manager را انتخاب کنید. از آنجا روی دکمه Add کلیک کنید و مسیر آنجایی را فایل‌های زمینه را ذخیره کرده‌اید بدهید و همین طور یکی یکی آنها را به لیست Theme Manager اضافه کنید. از آن به بعد هرکدام از زمینه‌ها را که خواستید فقط از لیست انتخاب کنید. بعضی زمینه‌ها شامل چهار کاغذدیواری متفاوت مخصوص میزکارهای مختلف هستند، ولی بقیه برای همه میزکارها یک کاغذدیواری دارند. شما همچنین اگر بخواهید، می‌توانید کاغذدیواری را به دلخواه خود تغییر دهید.

طرح‌ آیکون‌ها، کاغذدیواری، Splashscreen و غیره:

برای جزئیات بیشتر به این سایت مراجعه کنید. من می‌توانم خیلی خوب توضیح بدهم اما راحت‌تر این است که اجازه دهیم خود سایت توضیح دهد!

عوض کردن صفحه login:

به اینجا بروید و تصاویر را در دایرکتوری دلخواه ذخیره کنید. بعد روی kde kicker کلیک کنید، سپس روی system settings، بعد login screen، بعد graphical greeter و در نهایت در پایین صفحه روی ‍‍install new theme کلیک کنید. به دایرکتوری که تصاویر را ذخیره کردید مسیردهی کرده و سپس آنها را نصب کنید. وقتی بار دیگر login کنید صفحه جدید را خواهید دید.

پیکربندی چاپگر:

اطمینان حاصل کنید که چاپگرتان در حین bootup روشن است. از آنجا که من پیکربندی چاپگر خودم را برای مثال می‌آورم، پس این، تنها یک راهنمای عمومی است که برای من کار می‌کند اما نمی‌توانم با اطمینان بگویم که برای شما هم جواب بدهد. اما برای یک آشنایی اولیه بد نیست. اگر برای شما جواب نداد شاید لازم باشد به سایت linuxprinting.org سری بزنید یا از CUPS استفاده کنید. به هر حال پیکربندی چاپگر Epson c40ux USB خودم را آغاز می‌کنم:

اول (تا جایی که در خاطرم هست به عنوان یک کاربر، اما شما شاید بخواهید به عنوان root این کار را انجام دهید.) وارد منوی KDE شدم و preference-system-printing manager را انتخاب و بعد روی آیکون add printer در گوشه سمت چپ بالای پنجره جدیدکلیک کردم – این مربوط به Red Hat 7.3 است. اگر از Red Hat 9 استفاده می‌کنید باید روی منوی KDE، بعد system settings، سپس printing، و در نهایت روی new کلیک کنید. سپس یک نام برای چاپگر خود وارد کرده و next را بزنید. لازم است که نام را در لیست، انتخاب کرده (معمولا dev/lp0/) و روی next کلیک کنید. در هر دو صورت، چه از Red Hat 7.3 استفاده کنید و چه از Red Hat 9، در صفحه بعد باید چاپگرتان را انتخاب کنید. در Red Hat 7.3 یادتان باشد که روی علامت + در کنار آن کلیک کنید و بعد نام درایور را انتخاب کنید. در Red Hat 9 فقط کافی است انتخاب کنید مدل چاپگر چیست و سپس خودش به طور اتوماتیک، درایور مناسب را برایتان انتخاب خواهد کرد. در پایین پنجره من ازGeneric UNIX LPD Print System استفاده کردم اما شما بر اساس چاپگرتان شاید باید انتخاب دیگری داشته باشید. بعد برای بررسی دوباره به قسمت system و بعد printer configuration رفتم. شاید برای شما لازم باشد که به طور دستی چاپگر را اینجا اضافه کنید اما تا آنجایی که به یاد دارم مال من بعد از انجام مراحل ذکر شده، آنجا بود. حالا چاپگر خیلی خوب عمل خواهد کرد. امیدوارم برای شما هم به اندازه من ساده بوده باشد.

اگر از Cups استفاده می‌کنید، باید این اطمینان را حاصل کنید که وقتی کامپیوترتان را روشن می‌کنید یا حداقل زمانی که می‌خواهید چاپ کنید cups در حال اجرا باشد.

چه طور به جای یک آیکون از تصاویر ذخیره شده پیش‌نمایش آنها را، ببینیم :

بسیار ساده، مرورگر فایل خود را (معمولا konquerer) باز کنید و بعد در منوی بالا، view را انتخاب کرده، سپس به قسمت preview بروید و کنار images یک علامت بزنید.

چگونه پارتیشن‌های استفاده شده را ببینیم:

یک ترمینال (konsole) باز کنید و بعد تایپ کنید df -h این فرمان نشان می‌دهد که چه پارتیشنی، چه چیزی روی سیستم نشان می‌دهد. کسی این را در تالار گفتگو به من یاد داد – متشکرم.

چه طور به پارتیشن‌های FAT32 ویندوز دسترسی داشته روی آنها بنویسیم:

قدم اول: در لینوکس یک دایرکتوری در هر جا و با هر اسمی که می‌خواهید بسازید. مثلا home/user/windows/

قدم دوم: برای تست آن، از طریق ترمینال به عنوان ریشه login کنید. (تایپ کنید su و بعد enter. سپس رمز عبور ریشه وارد کرده، دوباره enter کنید.). بعد تایپ کنید (من از مثال بالا استفاده می‌کنم.)

mount /dev/hda1 /home/user/windows

این فرمان به شما اجازه می‌دهد که تمام فایل‌های ویندوزی خود را در دایرکتوری ساخته شده ببینید. (من از hda1 استفاده کردم چون ویندوز من در اولین پارتیشن از اولین درایو قرار دارد. شما باید مال خودتان را بنویسید. مثلا hdb1 یعنی اولین پارتیشن از دومین درایو.) من پارتیشن اولم را هم روی درایو دوم mount کردم چون آن پارتیشن، جایی بود که من تمام فایل‌های mp3 خود را ذخیره می‌کنم. بنابراین یک دایرکتوری دیگر (home/user/winmusic) ساختم و خب، برای mount کردن آن درایو هم به عنوان ریشه در ترمینال تایپ کردم:

mount /dev/hdb1 /home/user/winmusic

قدم سوم: اگر می‌خواهید که لینوکس به طور اتوماتیک این درایوها را mount کندباید فایل etc/fstab/ را به عنوان ریشه عوض کنید. در وضعیت خودم، من یک ترمینال باز می‌کنم و از ویرایشگر pico هم استفاده می‌کنم. اما شما اگر دوست دارید که از اشاره و کلیک استفاده کنید آن کار را هم می‌توانید بکنید. اگر به استفاده از ویرایشگرها عادت دارید یا به nano علاقه دارید، می‌توانید به روش زیر عمل نمایید:

در ترمینال به عنوان ریشه تایپ کنید:

cd /etc

nano -w fstab

دکمه‌های ctrl + O را بزنیدو سپس backup. را به نام فایل اضافه کنید تا یک backup ایجاد کند.

بعد ctrl + X را بزنید.

بعد تایپ کنید:

nano -w fstab

خواهید دید که فایل fstab دوباره باز می‌شود. با فلش‌های بالا و پایین می‌توانید حرکت کنید. به انتها بروید و این خطوط را اضافه نمایید:

(با استفاده از دایرکتوری‌های مثال بالا)

dev/hda /home/user/windows/

dev/hdb1 /home/user/winmusic/

این به شما اجازه خواهد داد که فایل‌های ویندوزی را به عنوان کاربر ببینید، ولی اگر بخواهید به فایلها اضافه کنید یا روی آن دایرکتوری‌ها بنویسید باید به عنوان ریشه login کنید.

اگر می‌خواهید به عنوان کاربر هم بتوانید فایلها را اضافه کنید و یا روی دایرکتوری‌های FAT32 ویندوز بنویسید، به طریق زیر عمل کنید:

dev/hda1 /home/user/windows vfat user,uid=500,gid=500 0 0/

dev/hdb1 /home/user/winmusic vfat user,uid=500,gid=500 0 0/

این کار به شما امکان می‌دهد که روی این دایرکتوری‌ها بنویسید. تمام آنچه که نیاز است انجام دهید این است که اینها را به عنوان فایل fstab جدید ذخیره نمایید.

برای اینکه مطمئن شوید که idها 500 است، در ترمینال تایپ کنید id و اگر عددی غیر از 500 بود هردو uid و gid را عوض کنید.

برای فایل‌هایی که از ntfs پشتیبانی می‌کنند به سایت‌های زیر مراجعه کنید:

ntfs

ntfs

اگر می‌خواهید از ویندوز به فایلهای لینوکسی خود دسترسی داشته باشید اینجا را ببینید.

مهم: حتما پیش از ذخیره کردن حداقل یک خط خالی انتهای فایل fstab بگذارید.

خب همین بود! حالا بروید و لذت ببرید.

چه طور Hotkey بسازیم:

اینجا کلیک کنید تا یاد بگیرید!

چه طور برنامه‌ای را که پاسخی نمی‌دهد تمام کنیم:

ترمینال را باز کنید و تایپ کنید:

killall exactnameoftheprogram

چه طور desktop که به طور کامل یخ زده(total freeze) را بیدار کنیم:

دکمه‌های ctrl + alt + backspace را همزمان فشار دهید و دوباره login کنید.

چه طور حالت DMA را غیر فعال کنیم:

برای راهنمایی اینجا را کلیک کنید!

چه طور سرعت لینوکس را بهینه کنیم(مراحل ممکن است متفاوت باشد):

به منوی KDE بروید، بعد system و بعد service configuration را انتخاب کنید. دسته‌ای از سرویس‌ها را خواهید دید که انتخاب نشده‌اند. اگر روی اسم هر یک از آنها کلیک کنید به شما خواهد گفت که چه سرویسی ارائه می‌دهد و شما می‌توانید تصمیم بگیرید کدام را جدید انتخاب کنید یا به حالت انتخاب باقی بگذارید. انتخاب اینها کاملا بستگی به خودتان دارد. اگر اطلاعات بیشتری در این زمینه می‌خواهید در ترمینال، man را با نام سرویس دلخواه تایپ کنید. اگر اطلاعات مفیدی در آنجا نیافتید یادتان باشد که همیشه Google هست!

چه طور ظاهر ترمینال را پیکربندی کنیم:

من آدمهایی را دیده ام که ترمینالشان روی صفحه شفاف است اما خودشان نمی‌دانند چه طور این کار را کرده‌اند. من خودم وقتی که با افرادی مشغول صحبت در تالار گفتگوی Gentoo بودم، این را یاد گرفتم. اگر شما از Konsol در KDE استفاده می‌کنید تنها باید آن را باز کنید و روی settings، و سپس روی schema کلیک کنید و از لیست، هر نوعی را که می‌خواهید انتخاب نمایید. من الان از transparent Konsole استفاده می‌کنم. یادتان نرود که آنچه را که تغییر داده‌اید را ذخیره کنید در غیر این صورت دوباره به رنگ قبلی برمی‌گردد.

چه طور از Samba در لینوکس و ویندوز استفاده کنیم:

اولین کاری که باید بکنید این است که شبکه را در ویندوز پیکربندی کنید. مطمئن شوید که آن فایل‌ها نصب شده‌اند و سپس فولدرهایی را که می‌خواهید به اشتراک بگذارید، معین کنید و permission را روی آنها تعیین کنید. این کار را می‌توانید با راست کلیک روی آنها و بعد تنظیم اشتراک گذاری و permission انجام دهید. وقتی انجام شد شما باید reboot کنید. در لینوکس باید ببینید آیا samba نصب است یا خیر. شما می‌توانید samba را از samba download page دریافت کنید. زمانی که نصب شد، می‌توانید با بازکردن یک ترمینال (شاید اختیارات ریشه لازم باشد.) و تایپ کردن smbclient نگاهی به فولدرهای اشتراکی خود در ویندوز خود بیندازید. این کار لیستی از تمام فرمان‌ها را خواهد داد. برای اینکه مستقیما به فایلهای اشتراکی دسترسی یابید باید تایپ کنید:

smbclient -L remotehostname

و بدیهی است که به جای remotehostname، باید نام میزبان راه‌دور از ویندوز را تایپ کنید. مال من mainframe بود، پس تایپ کردم:

smbclient -L mainframe

اگر در اینجا از شما نام کاربری و رمزعبور خواست، همانی را بزنید که در هنگام ورود به ویندوز از آن استفاده می‌کنید. اگر برای ویندوز نام کاربری و رمزعبور ندارید به جای رمزعبور فقط enter بزنید. بعد از آن تمام فولدرهایی که در ویندوز به اشتراک گذاشته‌ایم نشان داده می‌شود. دقیقا مثل mount کردن فولدرها از ویندوز از مکانی به لینوکس در همان مکان، شما باید دایرکتوری‌هایی که می‌خواهید آن فولدرهای ویندوز را در آنها mountکنید، ایجاد نمایید. مثلا فرض کنیم در ویندوز فولدری به نام music دارید. (مهم: در ویندوز برای ساده‌تر کردن کارها، چک کنید که فولدرهایی با نام یک کلمه‌ای استفاده می‌کنید بدون فاصله و بدون کارکترهای عجیب و غریب. با این کار لینوکس راحت‌تر می‌تواند آنها را ببیند). بعد شما می‌توانید یک دایرکتوری در لینوکس (با استفاده از حالت کاربر) با نام music در mnt/music/ بسازید. لذا فرمان mount شما خواهد شد:

smbmount //mainframe/music /mnt/music

شما باید بتوانید تمام فایلها را در آن دایرکتوری ببینید. پس از آن می‌توانید مراحل مشابه را برای هر فولدر دیگری از ویندوز که می‌خواهید از لینوکس به آن دسترسی داشته باشید انجام دهید.

اگر می‌خواهید این فایل‌ها به طور دائم باشند و می‌خواهید که آنها را به فایل fstab اضافه نمایید، این خط را (البته بر اساس مثالی که من زدم) استفاده کنید:

mainframe/music /mnt/music smbfs,username=user,password=0 0//

با این فرض که نام کاربری شما user باشد و رمز عبور نداشته باشید. حالا مال خودتان را در این خط قرار دهید و یادتان باشد که یک خط خالی بعد از آخرین خط تایپ شده باقی بگذارید.

تمام این مراحل را برای باقی فایل‌ها انجام دهید. کار شما تمام شد. تا آنجا که می‌دانم این کار تنها اجازه خواندن به شما خواهد داد بنابراین کاربران نمی‌توانند فایل‌ها را انتقال داده یا حذف نمایند.

اگر برای set up کردن samba جزئیات بیشتری می‌خواهید بدانید، به این سایت سری بزنید.

چگونه از محیط text به محیط گرافیکی منتقل شویم:

دکمه‌های ctrl + alt + F2 را همزمان بزنید.

برای لیست کردن فرآیندهایی که کامپیوتر در حال استفاده از آنهاست:

در ترمینال تایپ کنید ps -e

برای چک کردن اینکه چه packegeهایی برای یک application خاص نصب شده‌اند:

rpm -qa | grep appname

که appname نام application مورد نظر است. مثل:

rpm -qa | grep wine

چگونه boot پیش‌فرض را در grub عوض کنیم:

بسیار ساده‌تر از آن است که کسی فکرش را بکند. در اصل کل کاری که باید انجام دهید (به عنوان ریشه یا با اختیارات ریشه) تغییر فایل boot/grub/menu.lst/ است.

این یک مثال از آخرین فایلم است:

grub.conf generated by anaconda#

#

Note that you do not have to rerun grub after making changes to this file#

NOTICE: You have a /boot partition. This means that#

all kernel and initrd paths are relative to /boot/, eg#

root (hd1,1)1################## #

kernel /vmlinuz-version ro root=/dev/hdb5 #

initrd /initrd-version.img#

boot=/dev/hda#

default=0 ***************** the first entry is default 0 so just change this to

default 1 for red hat 9 (2.4.20-8) or default 2 for Windows Xp Pro

timeout=10

splashimage=(hd1,1)/grub/splash.xpm.gz

title Red Hat 9 (2.4.20-18.9)1

root (hd1,1)1

kernel /vmlinuz-2.4.20-18.9 ro root=LABEL=/ hdd=ide-scsi

initrd /initrd-2.4.20-18.9.img

title Red Hat 9 (2.4.20-8)1

root (hd1,1)1

kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdd=ide-scsi

initrd /initrd-2.4.20-8.img

title Windows Xp Pro

rootnoverify (hd0,0)1

chainloader +1

بعد آن را ذخیره کرده و کامپیوتر را reboot کنید، این باید distro یا Os را که شما می‌خواهید را به طور اتوماتیک boot کند.

پیکربندی Grub:

این یک دستورالعمل عمومی است در مورد اینکه چگونه یک توزیع را به یک پیکربندی grub که از قبل موجود بوده اضافه کنیم. پس اجازه دهید که مثالی را که می‌خواهم با آن کار کنم را بیاورم. ممکن است مال شما متفاوت باشد اما خوشبختانه قواعد یکی است. خب بیایید مثال من را از یک سیستم با سه راه‌اندازJamd و Gentoo و Windows XP Pro بیاوریم( a triple boot system). در اینجا فایل grub.conf که در Jamd ذخیره شده را آورده‌ام:

نکته: می‌توانید انتخاب کنید که پارتیشن boot/ داشته باشید یا نه. من هیچ وقت نداشتم، ولی بعضی دارند. وقتی که grub را نصب می‌کنید باید به طور اتوماتیک به پارتیشن boot اشاره کند، ولی اگر به دلیلی نکرد خودتان باید تنظیم کنید که آن پارتیشن را بخواند.

این آموزش روشی عمومی برای اضافه کردن یا تغییر فایل grub.conf است و ممکن است برای برخی توزیع‌ها کار نکند. مثلا به نظر می‌رسد SUSE مدل مخصوص به خودش دارد و شما برای اینکه بتوانید این کار را در یک bootloader دیگر غیر از آنچه خودش دارد انجام دهید، باید خلاقانه عمل کنید. ولی این مراحل تقریبا برای هر توزیع دیگری قابل اعمال است.

هر چیز که علامت # دارد تنها اطلاعات است و در حین boot شدن خوانده نمی‌شود.

تذکرات من به رنگ قرمز است.

grub.conf generated by anaconda#

#

Note that you do not have to rerun grub after making changes to this file#

NOTICE: You do not have a /boot partition. This means that#

all kernel and initrd paths are relative to /,eg#

root(hd1,1)1 #

kernel /boot/vmlinuz-version ro root=/dev/hdb2 #

initrd /boot/initrd-version.img#

boot=/dev/hda#

این یعنی من grub را روی درایو سخت اصلی خود نصب کرده‌ام.(dev/hda/)

default=0

این یعنی اگر من چیز دیگری انتخاب نکنم به طور پیش‌فرض اولین مدخل در لیست grub لود خواهد شد.(مدخلها از صفر آغاز می‌شوند.)

timeout=10

این مقدار زمانی است که grub قبل از boot شدن به OS/distro پیش‌فرض، صبر خواهد کرد. عدد ۱۰ یعنی حدودا ۱۰ ثانیه.

splashimage=(hd1,1)/boot/grub/splash.xpm.gz

این جایی است که splash image شما لود می‌شود، می‌تواند تغییر هم بکند اما باید مراقب بود.

title JAMD (2.4.20-9)1

این عنوانی است که شما می‌خواهید برای os/distro استفاده کنید. واقعا می‌توانید هرچه را که دوست دارید انتخاب کنید، اما فقط کارکترهای عجیب و غریب استفاده نکنید.

root (hd1,1)1

مکان پارتیشن ریشه برای این distro. توجه کنید که hd1 یعنی درایو سخت دوم و آن یکی ۱ یعنی دومین پارتیشن (شمارش از صفر آغاز می‌شود.)

kernel /boot/vmlinuz-2.4.20-9 ro root=LABEL=/ hdd=ide-scsi

این نشان می‌دهد مکان دقیق کرنل کجاست و من scsi را هم اضافه کرده‌ام.

initrd /boot/initrd-2.4.20-9.img

این خط زمانی که سایر os/distro ها را به grub.conf خود اضافه می‌کنید اهمیت ندارد.

title Windows Xp Pro

rootnoverify (hd0,0)1

این مدلی است که در آن ویندوز اضافه می شود.

chainloader +1

title Gentoo

root (hd0,2) ۱

در اولین درایو سخت و سومین پارتیشن قرار گرفته است.(یادتان باشد. شمارش از صفر شروع می‌شود.)

kernel (hd0,2)/boot/bzImage root=/dev/hda3 hdd=ide-scsi

خیلی سخت است که فاصله گذاری را درست برای این تعیین کنیم. شما به مکان کرنل روی هارد و بعد از آن به نام دقیق کرنل نیاز دارید. اگر از پارتیشن جداگانه‌ای برای boot استفاده کردید باید همان را استفاده کنید چون کرنل در آنجا مقیم است. بعد باید بنویسید root=/dev/hd??1 تا نشان دهید grub کجا می‌تواند پارتیشن ریشه را در این distro بیابد. از آنجا که برای این، شمارش از ۱ آغاز می‌شود پس پارتیشن ریشه در هارد اول و در سومین پارتیشن است.

end file

شما می‌توانید فایل grub.conf را با تغییر دایرکتوری‌ها در ترمینال عوض کنید و با حق ریشه در هر ویرایشگری که دوست دارید آن را باز و ویرایش نمایید. من از nano استفاده می‌کنم پس این هم کاری که انجام می‌دهم:(زمانی که به آن نصبی boot شد که حاوی grub.conf است که استفاده می‌کردم.)

cd /etc/

su

yourrootpassword

nano -w grub.conf

تغییرات بعد از reboot اعمال خواهند شد.

شما همچنین می‌توانید روشهای متعدد boot کردن سایر distro ها را هم با استفاده از تابع edit در صفحه راه‌اندازی grub امتحان کنید. اینها تغییرات دایمی نیستند لذا زمانی که چیزی را پیدا کردید که کار می‌کرد، باید آن را در فایل grub.conf وارد، آن را ویرایش و با اطلاعات جدید ذخیره نمایید. بر خلاف lilo برای grub نیازی نیست آن را اجرا کنید. تغییرات به طور اتوماتیک بعد از reboot اعمال خواهند شد.

نوع فایل خود را ویرایش کنید:

این یعنی شما می‌توانید کنترل کنید که هر application چه فایلهایی را در زمانی که روی آن دوبار کلیک می‌کنیم باز می‌کند. مثلا فرض کنیم شما یک فایل MP3 دارید که زمانی که روی آن دوبار کلیک می‌کنید درkaboodle باز می‌شود. شما می‌توانید آن را تغییر دهید تا از به بعد در xmms باز شود. تمام کاری که باید انجام دهید این است که روی فایل راست کلیک کنید و edit file type را انتخاب کنید. بعد یک پنجره جدید باز می‌شود. نیمه پایین آن، در جایی که نوشته application order نگاهی بیندازید. در اینجا می‌توانید حذف، اضافه و اشیا را به پایین و بالا حرکت دهید. هر appliation که نام آن در بالاترین قسمت قرار داده شود به طور خودکار زمانی که روی فایل دوبار کلیک شد آن را باز می‌کند. این مخصوصا برای فایلهای ویدئویی مفید است. مثلا من می‌خواهم این فایلها را با mplayer باز کنم. خب من تنظیمات لازم را انجام میدهم و از آن به بعد فایلهای ویدئویی من با دو بار کلیک روی آنها با mplayer باز خواهند شد.

نمایش DVD:

movie player من برای نمایش DVDها، mplayer است. شما می‌توانید به راحتی آن را از طریق rpmها برای Red Hat 7.3 و 8 و 9 نصب کنید. برای Red Hat 9، صفحه خانگی Red Hat 9 را برای لیست مخصوص نیازمندی‌ها و اینکه از کجا آنها را بگیرید، ببینید.

به هر حال برای استفاده درست از mplayer باید کارهایی انجام دهید. اول آنکه وقتی mplayer را باز می‌کنید، باید تنظیمات را عوض نمایید. به preferences و سپس misc بروید. برای دیدن تصویر آن، و اینکه بفهمید منظورم چیست اینجا را کلیک کنید. اگر درایو DVD rom شما مثل من secondary master است باید dev/hdc/، و اگر secondary slave است باید dev/hdd/ را انتخاب کنید و همین طور تا آخر. شما می‌توانید این را با چک کردن مرورگر سخت‌افزار خود (مثل kde menue-system-setting-hardware browser در Red Hat 9) تغییر دهید. برای دیدن تصویر اینجا را کلیک کنید. بعد از آنکه این هم انجام شد فقط یک کار دیگر می‌ماند. باید DMA را برای DVD rom خود فعال کنید. این کار در Red Hat 8 یا نسخه‌های بعد از آن با اضافه کردن این خط (بدون کوتیشن‌ها):¨options ide-cd dma=1¨ به فایل etc/modules.conf/ (با داشتن اجازه ریشه برای ویرایش فایل) انجام می‌شود. وقتی این کارها انجام شد، یک DVD در درایو قرار دهید و ترمینال را باز کنید و تایپ کنید: gmplayer -DVD 1

بعد از آن شما می‌بینید که نمایش DVD آغاز می‌شود.

چگونه یک graphical bootdisk creation را به یک rpm based distro اضافه کنیم (اگر از قبل نداشتید):

این فایل را گرفته و آن را نصب کنید. باید در منوی KDE شما ظاهر شود. (معمولا در kde-system tools-more system tools-create bootdisk)


منبع:

http://easylinuxguide.com/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=25&page=1

Web Counter
Hit Counter
web counter