Sunday, October 30, 2005

نصب برنلمه از source code



ایجاد و نصب نرم افزارها از کدهای منبع

ایجاد و نصب نرم افزارها با استفاده از کدهای منبع
در صورتی که هیچ کد اجرایی برای نرم افزار مورد نیاز شما وجود نداشته باشد، و یا نیاز داشته باشید تا نرم افزار مربوطه را مطابق نیاز خود تغییر دهید، باید از کد منبع استفاده نمایید. کدهای منبع ممکن است هم بصورت بسته های rpm و هم بصورت بسته های tar/gz وجود داشته باشند.

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

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

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

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

استفاده از بسته های tar/gz

تقریبا تمام بسته های کد منبع که در اینترنت موجود هستند، با این فرمت ارائه می‌شوند. برای استفاده و نصب نرم افزارهایی که با این بسته ها ارائه می‌شوند باید مراحل زیر را انجام دهید :

- بسته مربوطه را از اینترنت و یا CD در یک دایرکتوری خالی کپی نمایید.

- بسته را با استفاده دستور gzip یا gunzip از حالت فشردگی خارج نمایید. نتیجه این کار یک بسته با فرمت tar است. به مثال زیر توجه کنید :

$ gzip -d mycoolapp.tar.gz

- برای باز کردن بسته tar از دستور ذکر شده در مثال زیر استفاده نمایید . این دستور تمام فایلهای موجود در بسته را در یک دایرکتوری درون دایرکتوری جاری باز میکند.

$ tar xvf mycoolapp.tar

- با استفاده از دستور cd وارد دایرکتوری مربوطه شوید.

- در صورتی که همراه با بسته فایلهایی به نام INSTALL و یا README ارائه شده است، ابتدا حتما آنها را مطالعه نمایید.

- در مرحله بعدی باید بسته را برای کامپایل شدن پیکربندی نمایید. برای این منظور باید از دستور configure استفاده نمایید . به مثال زیر توجه نمایید :

$ ./configure

توجه : حتما و حتما فایلهای INSTALL و README همراه با بسته را مطالعه نمایید. ممکن است که برای پیکربندی بسته لازم باشد تا آرگومانهای دیگری به دستور configure اضافه نمایید.

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

- در صورتی که همه چیز به خوبی پیش رفت و هیچ پیام خطایی مشاهده نکردید، اکنون باید برنامه را کامپایل نمایید. برای این منظور باید از دستور make استفاده کنید. به مثال زیر توجه کنید:

$ make

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

- برای نصب برنامه کامپایل شده باید از دستور make intall استفاده کنید.با این کار برنامه در محل خود نصب شده و از این پس می‌توانید آنرا از خط فرمان اجرا نمایید. به مثال زیر توجه کنید :

$ make install

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

نکته: بدلیل اینکه دستور gzip بسته اصلی را حذف نموده و یک بسته tar ایجاد می‌کند، در صورتی که مایل به نگهداری یک نسخه از کد منبع هستید، یک کپی از آنرا در یک مسیر جداگانه نگهداری نمایید.

- پس از اینکه نصب برنامه نیز به موفقیت به پایان رسید، می‌توانید با استفاده از دستور rm و گزینه R تمام فایلهای کد منبع را پاک کنید تا فضای دیسک شما بی جهت اشغال نشود. در صورتی که فقط بخواهید برنامه کامپایل شده را از داخل کدهای منبع پاک کرده و کدهای منبع را نگهداری کنید، از دستور make clean استفاده کنید. به مثال زیر توجه نمایید:

$ make clean

- برخی بسته‌های کد منبع، گزینه make uninstall را نیز پشتیبانی می‌کنند که از طریق آن می‌توانید برنامه‌ای را که نصب کرده‌اید، از روی کامپیوترتان پاک کنی

Saturday, October 29, 2005

FreeBSD


در مجله شبکه مقاله جالبی خواندم که دوست دارم شما هم بخوانید جالب است


اشاره
:
يكي از نگارش‌هاي سيستم‌عامل قديمي يونيكس كه همانند سلف خود در دانشگاه متولد شد،FreeBSD مي‌باشد. اين سيستم‌عامل كه در سال 1992 زاده شد، دگرگوني‌هاي بسياري را پشت سرگذاشته و همواره تكامل يافته است تا آن جا كه سايت قدرتمند ياهو، اين سيستم‌عامل را به عنوان سيستم‌عامل سرورهاي خود انتخاب كرده است. در اين نوشتار نگاهي به FreeBSD داريم.




معرفي
FreeBSD يك سيستم‌عامل قدرتمند و مشابه يونيكس است كه در سال 1992 براساس پروژه‌اي قديمي به نامBSD و توسط يك تيم نرم‌افزاري در دانشگاه بركلي كاليفرنيا (به نام‌هاي جردن كي هوبارد، گريمس، ويليامز) و با نام اوليه 386BSD Patchkit ابداع شد. سپس اين تيم با افزودن بسياري از قابليت‌ها و برطرف نمودن مشكلات اين سيستم‌عامل، نسخه‌اي جديد از آن را به نام 386BSD 0.5 طراحي كردند و در نهايت در سال 1993 شخصي به نام ديويد گريمن در والنات كريك كاليفرنيا يك سيستم‌عامل جديد به نام FreeBSD 1.0 را براساس نسخه قديمي‌اش يعني Patchkit و با همكاري سازنده اصلي آن يعني هوبارد ساخت و روانه بازار كرد. پس از آن و در سال‌هاي 1994 به بعد، نسخه‌هاي كامل‌تري از آن و تحت عنوان ويرايش‌هاي 4 و 5 توسط والنات كريك ارايه گرديد. هدف از ساخت اين سيستم‌عامل طبق گفته‌هاي جردن هوبارد، ارايه يك نرم‌افزار كامل همه منظوره و مستقل است. درضمن سورس‌كد موجود در آن طوري در اختيار كاربر قرار مي‌گيرد كه وي بتواند به راحت‌ترين و بهترين شكل از آن استفاده كند. به همين دليل اين سيستم‌عامل آزادي بيشتري را به كاربران و توسعه‌دهندگان سيستم‌عامل مي‌دهد و در اين راه نه‌تنها به ليسانس GPL كه مخصوص توسعه‌دهندگان اپن‌سورس است اكتفا نمي‌كند بلكه مجوز آزادتري براي استفاده از سورس برنامه به‌نام FreeBSD License را به علاقمندان خود اعطا مي‌نمايد. در اين ميان والنات كريك اعلام مي‌كند FreeBSD سيستم‌عاملي بسيار قدرتمند و در واقع بهترين انتخاب براي سرورهاي بزرگ محلي و يا اينترنتي محسوب مي‌شود. از بين كمپاني‌هاي سرشناس دنيا، ياهو يكي از اولين‌هايي است كه با مبنا قرار دادن FreeBSD به عنوان سيستم‌عامل سرورهاي اصلي خود، براين گفته والنات، صحه مي‌گذارد. اين سايت روزانه بيش از نيم ميليارد صفحه وب را در سراسر جهان براي كاربران خود ارسال مي‌كند كه نشان از قدرت و سرعت سيستم‌هاي مورد استفاده‌اش دارد. همچنين سرويس پست‌الكترونيك رايگان شركتي مثل مايكروسافت يعني هات‌ميل كه خود از سازندگان سيستم‌عامل‌هاي سرور است، براي تحت پوشش قرار دادن بيش از 30 ميليون كاربر در سراسر جهان، تركيبي از ويندوز، سولاريس و FreeBSD را مورد استفاده قرار مي‌دهد. طبق آزمايش‌هايي كه والنات كريك از سيستم‌عامل خود به عمل آورده، اين سيستم‌عامل موفق به انتقال دو ترابايت اطلاعات در اينترنت طي 24 ساعت شده است كه يك ركورد در نوع خود محسوب مي‌شود.

مقايسه‌
سيستم‌عاملFreeBSD از جهات بسياري با رقباي خود از دنياي لينوكس و ويندوز قابل مقايسه است. كارايي، امنيت، قابليت اطمينان و ... از مهمترين عوامل اين مقايسه محسوب مي شود.

1- قابليت اطمينان‌


تيم اصلي سازنده FreeBSD در يك كنفرانس خبري
(
نفر دوم از سمت چپ جردن هوبارد است
)

FreeBSD در اين زمينه بسيار خوب عمل مي‌كند. استفاده بسياري از سايت‌ها و مراكز كامپيوتري مربوط به مؤسسات بزرگ و مشهور، خود گوياي اين واقعيت است كه اين سيستم‌عامل از قابليت اطمينان زيادي به‌خصوص در اجراي فرآيندهاي مربوط به پايگاه داده‌ها برخوردار است. در همين حال لينوكس هم از ديرباز به دليل پايداري و عملكرد خوب در اين زمينه زبانزد متخصصان بوده است. اما در مقام مقايسه و براي كاربردهاي حجيم و بزرگ سيستم ورودي و خروجي ديسك (FreeBSD (Disk I/O بهتر عمل مي‌كند. زيرا در لينوكس به دليل اين‌كه به صورت پيش‌فرض به طور غيرهمزمان (non syncronous) كار مي‌كند، احتمال بروز اشكال در فايل‌سيستم در زمان قطع يا نوسانات برق يا خاموش شدن اتفاقي، افزايش مي‌يابد. در مورد ويندوز 2000 كه قبلاً به دليل ناپايداري بيشتر و به‌خصوص به دليل نمايش صفحه آبي مرگبار در هنگام بروز اشكال شهرت خاصي پيدا كرده بود، اكنون بايد گفت كه با به صحنه آمدن ويندوز 2003 تا حد زيادي اين مشكل رفع شده است، اما باز هم اين سيستم‌عامل به دليل يك ايراد مادرزادي خود يعني استفاده زياد از منابع سيستم مثل حافظه و CPU، ممكن است هر از چند ماهي با مشكلي مواجه شود كه آسان‌ترين راه‌حل آن بوت مجدد سرور مي‌باشد.

2- كارايي
FreeBSD
در زمينه كارايي، بسيار بي‌نقص عمل مي‌كند. عملكرد اين سيستم‌عامل در عرصه شبكه و توانايي در انتقال اطلاعات بي‌نظير است. به همين دليل برخي از بزرگ‌ترين و پرمراجعه‌ترين سايت‌هاي دنيا مثل yahoo ،Freesoftware ،Qwest ،Hotmail و ديگران از اين سيستم‌عامل بهره مي‌گيرند. سايت Freesoftware كه سايتي برمبناي انتقال با پروتكلFTP است، بيش از 2/1 ترابايت اطلاعات را در طي روز به سراسر دنيا ارسال مي‌كند. در مورد لينوكس بايد عنوان كرد كه اين سيستم‌عامل هم از سرعت پردازش و كارايي بالايي برخوردار است، اما در آزمايش‌هاي خود تحت يك محيط بزرگ شبكه‌اي پرترافيك در حدود 20 الي 30 درصد از رقيب خود يعني FreeBSD عقب مي‌ماند. البته سازندگان كرنل ادعا مي‌كنند كه اين مسأله با استفاده از نسخه 4/2 كرنل لينوكس كه داراي يك حافظه مجازي مشابه FreeBSD است حل مي‌شود. به هر حال از آن‌جايي كه هر دو اين سيستم‌عامل‌ها با سورس‌باز ارايه مي‌شوند، اين اميدواري وجود دارد كه از لحاظ سطح تكنولوژي به دليل الگوپذيري از يكديگر، هيچ‌گاه داراي اختلاف اساسي نخواهد بود.
در مورد ويندوز بايد گفت كه كارايي كم در محيط شبكه پرترافيك، هميشه از بزرگ‌ترين معضلات اين سيستم‌عامل بوده و هست. حتي با ارتقاي ويندوزNT به نسخه 2003 هم آن‌چنان تفاوت آشكاري در كارايي و سرعت سيستم به‌خصوص در زمينه‌ سرورهاي اينترنتي پركاربرد ايجاد نمي‌شود.

3- امنيت
در مقوله امنيت،FreeBSD هميشه به عنوان يكي از امن‌ترين سيستم‌ها مدنظر كارشناسان قرار داشته است. تمام ماژول‌ها و اجزاء آن بارها از جهت امنيت مورد آزمايش و بررسي قرار گرفته‌اند. اين سيستم‌عامل همچنين داراي سطوح مختلف امنيت در داخل كرنل است و به مدير سيستم اجازه مي‌دهد تا سطح دسترسي كاربران را، حتي براي توابع دروني آن كرنل مشخص كند. به علاوه اين‌كه FreeBSD داراي مكانيسم ديواره آتش، Packet Fillering و بسياري از ابزارهاي كشف و رديابي نفوذ است.
عليرغم اين‌كه لينوكس نيز همانند FreeBSD داراي ديواره آتش و ابزارهاي متعدد IDS است اما نحوه ارايه اين سيستم‌عامل به صورت سورس‌باز و اين‌كه در اختيار گروه‌هايي است كه بسياري از آن‌ها داراي دانش كافي در زمينه امنيت نمي‌باشند و همچنين تعداد زيادي شركت‌هاي توسعه‌دهنده لينوكس، به‌خصوص آن‌هايي كه به مقوله كارايي و كاربرد بيش از امنيت اهميت مي‌دهند (مثل ردهت) باعث شده تا اين سيستم‌عامل در رده‌بندي امنيتي، پايين‌تر از رقيب خود قرار گيرد.
در مورد ويندوز نيز از آن‌جا كه اين سيستم عامل داراي سورس‌باز نمي‌باشد، ضعف‌هاي دروني آن كمتر از سايرين به گوش مي‌رسد اما به هرحال اين ضعف‌ها از چشم متخصصان امنيت دور نمي‌ماند و هر از گاهي چند نمونه از اين موارد در قالب ويروس، كرم و حفره‌هاي امنيتي برملا مي‌شود به هر حال اين سيستم‌عامل براي استفاده در مكان‌هايي كه عامل امنيت ارزش زيادي دارد، انتخاب مناسبي محسوب نمي‌شود

4- فايل سيستم
FreeBSD از سيستم‌ فايلي Unix File System) UFS) كه مختص سيستم‌عامل يونيكس است استفاده مي‌كند.
اين سيستم، اندكي از سيستم مورد استفاده لينوكس يعني 2ext پيچيده‌تر و پيشرفته‌تر است و عمليات ناهمزمان خواندن و نوشتن ديسك (Asyscronous I/O) را بيشتر و بهتر انجام مي‌دهد. همچنين اين سيستم‌ فايلي از File Flag هم پشتيباني مي‌كند كه از نوشته شدن تراك‌هاي خراب بر روي ديسك جلوگيري مي‌كند. يا هر گونه تغييري را در محتويات يك فايل يا يك دايركتوري در تمام زمان عمر آن محدود مي كند، يا از حذف شدن يك فايل جلوگيري مي‌كند. اين قابليت‌ها زماني كه با توانايي‌هاي موجود در كرنل تلفيق مي‌شود، محيط كاملاً قابل كنترل و جالبي را پديد مي‌آورد.
فايل سيستم مورد استفاده لينوكس هم كارايي بسيارخوبي دارد اما نقطه ضعف آن، عدم پايداري كافي مي‌باشد. چه بسا بروز يك اشكال در زمان Mount بتواند قسمتي از يك فايل سيستم را دچار خرابي نمايد و باعث از دست رفتن اطلاعات آن قسمت شود.
در مورد ويندوز، آنچه كه از آن به نامFAT يا NTFS نام برده مي‌شود، براي موارد محدود مثل دسترسي چند كاربر به شبكه و هاردديسك، بسيار آسان و روان عمل مي‌كند اما زماني كه بحث شبكه‌هاي بزرگ به ميان مي‌آيد، مجالي براي رقابت با UFS يا ext2 پيدا نمي‌كند.

5- درايورها
FreeBSD سيستم‌عاملي است كه هم قابليت نصب درايورهاي با سورس بسته يا همان درايورهاي باينري و هم درايورهاي با سورس‌باز را دارا مي‌باشد. اما متأسفانه بسياري از سازندگان سخت‌افزار خصوصاً آن‌هايي كه سخت‌افزار ارزان و نه‌چندان مرغوب اما با توليد انبوه را فراهم مي‌كنند، هيچ تمايلي براي ارايه درايورهاي خود تحت سيستم‌عاملي به غير از ويندوز ندارند و اين يكي از بزرگ‌ترين نقاط قوت ويندوز در برابر ساير سيستم‌عامل‌ها به‌شمار مي‌رود. در مورد لينوكس هم وضعيت متفاوتي حاكم است. اين سيستم‌عامل درايورهاي با سورس‌باز را بسيار خوب شناسايي و نصب مي‌كند اما بسياري از توليدكنندگان سخت‌افزار حتي آن‌هايي كه درايورهاي غيرويندوزي را به بازار ارايه مي‌دهند علا‌قه چنداني براي توليد درايورهاي با سورس‌باز نشان نمي‌دهند.

6- نرم‌افزارهاي كاربردي
تعداد نرم‌افزارهاي كاربردي تحت FreeBSD روزبه‌روز در حال افزايش است اما هنوز هم به فراواني نرم‌افزارهاي تحت ويندوز نمي‌رسد. در عين‌حال اين سيستم‌عامل قادر است برنامه‌هايي را كه براي برخي يونيكس‌ها مثل SCO يا براي لينوكس كامپايل شده‌اند را اجرا نمايد. مشابه همين وضع براي لينوكس هم وجود دارد با اين تفاوت كه لينوكس قادر نيست برنامه‌هاي كامپايل شده براي يونيكس يا FreeBSD را اجرا نمايد. در مورد ويندوز، ناگفته پيداست كه اكثر برنامه‌هاي كاربردي اصولاً براي اجرا در اين سيستم‌عامل طراحي و ساخت شده‌اند و ويندوز از لحاظ تعدد اين نوع برنامه‌ها هيچ كمبودي ندارد و در اين زمينه تكتاز ميدان است.

7 - محيط توسعه



در زمينه برنامه‌نويسي، FreeBSD داراي يك محيط بسيارقوي و كامل براي زبان ++C مي‌باشد. همچنين ابزارهاي ديگري براي برنامه‌نويسي با جاوا، پرل و پايتون در اين سيستم وجود دارد. در لينوكس هم همين ابزارهاي برنامه‌نويسي وجود دارند اما گاهي اوقات ممكن است برنامه‌اي كه شما با يك لينوكس مثلاً RedHat كامپايل مي‌كنيد، در لينوكس ديگري مثل Slackware قابل اجرا نباشد. در ويندوز هم ابزارهاي برنامه‌نويسي خوب و متعددي براي توسعه نرم‌افزار وجود دارند اما هيچكدام از آن‌ها با خود سيستم‌عامل همراه نيستند و بايد به‌صورت جداگانه خريداري و نصب شوند.

8 - نرم‌افزارهاي رايگان
در حوزه سيستم‌عامل FreeBSD و لينوكس، هزاران برنامه كاربردي خوب و رايگان با سورس‌باز وجود دارند كه روز به روز هم در حال افزايش هستند. هزاران گيگابايت برنامه به عنوان نرم‌افزارهاي GNU ارايه شده‌اند كه به صورت مجاني قابل نصب و اجرا بر روي هر دو سيستم‌عامل مذكور مي‌باشند. به علاوه اين‌كه خود FreeBSD يك كتابخانه منحصربه‌فرد و مخصوص به نام FreeBSD Ports Collection دارد كه به نظر بسياري از متخصصان، بهترين منبع براي دسترسي به نرم‌افزارهاي سورس‌باز مي‌باشد. در مورد لينوكس تعداد محدودي برنامه تحت عنوان Shareware به صورت رايگان وجود دارد، اما اين برنامه‌ها با سورس‌كد عرضه نمي‌شوند و در نتيجه امكان مانور را از برنامه‌نويسان و طراحان سيستم در جهت عيب‌يابي و بهتر كردن اين برنامه‌ها، سلب مي‌كند. براي ويندوز نيز برنامه‌هاي رايگان بسياري وجود دارند.

9 - پشتيباني
بسياري از شركت‌ها و سايت‌هاي اينترنتي مثل BSDi.com كار پشتيباني از FreeBSD را انجام مي‌دهند. تعداد زيادي از اين سرويس‌هاي مجاني هم از طريق گروه‌هاي خبري و پست‌الكترونيكي مثل question@freebsd.org قابل دريافت مي‌باشند.
در مورد لينوكس هم، اوضاع پشتيباني از اين سيستم‌عامل، خوب به نظر مي‌رسد. تمام توليدكنندگان لينوكس مثل ردهت، مندريك و ديگران بازار رقابتي را در ارايه پشتيباني به مشتريان خود درست كرده‌اند. در مورد ويندوز هم اوضاع چندان بد به نظر نمي‌رسد. اما باز هم بسته بودن سورس‌كد در اين سيستم‌عامل باعث شده تا مقوله پشتيباني هم به صورت انحصاري و توسط سازنده‌اش يعني مايكروسافت و آن هم بيشتر از طريق تلفن و با تأخير زماني انجام شود.

10 - قيمت و هزينه
همان‌طور كه از نام FreeBSD برمي‌آيد، اين سيستم‌عامل كاملاً رايگان و از سايت freebsd.org قابل دريافت و نصب است. البته اگر بخواهيد هم مي‌توانيد با پرداخت تنها 40 دلار، يك بسته حاوي 4 سي‌دي اين سيستم‌عامل به علاوه چندين گيگابايت برنامه كاربردي را يك‌جا خريداري نماييد. در مورد لينوكس هم به غير از نسخه‌هاي Enterprise كه نسبتاً قيمت قابل توجهي دارند، بقيه محصولات متعلق به توزيع‌كننده‌هاي مختلف از قيمت بسيار مناسبي برخوردارند. اما ويندوز در اين مقايسه كمي گران به نظر مي‌رسد.

نتيجه‌گيري
با توجه به موارد ده‌گانه‌اي كه برشمرديم، درمي‌يابيم كه FreeBSD سيستم‌عاملي است كه مي‌تواند به عنوان سيستم‌عامل پايه سرورهاي قدرتمند و در شبكه‌هاي بزرگ مورد استفاده قرار گيرد. از اين نظر بد نيست كه آن را به عنوان انتخابي جديد، مورد بررسي بيشتري قرار دهيد.



Wednesday, October 26, 2005

نصب فدورا

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

کار با بسته های RPM

بسته‌های نرم‌افزاری چه هستند و چرا به آنها نياز داريم؟

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

بسته‌های نرم‌افزاری کار نصب نرم‌افزارهای کاربردی را در لینوكس آسان کرده‌اند. دیگر لازم نیست برای نصب هر نرم‌افزار، کاربر کدهای منبع را دریافت کرده، آنها را کامپایل نموده و نصب کند. کاری که بسیاری از کاربران از انجام آن ناتوان هستند.

همانطور که متوجه شدید، بسته‌های نرم‌افزاری حاوی برنامه‌های قابل اجرا و آماده برای نصب هستند. ممکن است در اینترنت به انواع مختلفی از بسته‌های نرم‌افزاری برخورد نمایید که البته همه آنها حاوی نرم‌افزارهای آماده برای نصب نیستند که جلوتر درباره آنها توضیح خواهم داد. پر کاربردترین بسته‌های آماده نصب نرم‌افزارهای کاربردی، بسته‌های نوع rpm و deb هستند. در این مقاله ما به بررسی بسته‌های نرم‌افزاری با فرمت rpm و مدیریت آنها خواهیم پرداخت و در مقاله جداگانه‌ای، مدیریت بسته‌های deb را که مخصوص لینوكس debian و توزیع‌های مبتنی بر آن است را بررسي خواهیم کرد.

درک نامگذاری و فرمت بسته های نرم‌افزاری

وقتی بسته ای را از اینترنت دانلود می‌کنید، می‌بینید که از یک نام، تعدادی شماره، نقطه، gz و tar تشکیل شده است. خوب اینها چه معنی دارند؟ ابتدا این اعداد و حرفها پیچیده به نظر می‌رسند در صورتی که اگر برایتان شرح داده شوند، بسیار ساده هستند. پس از مدتی به این شیوه نامگذاری عادت خواهید کرد. بیشتر بسته های نرم‌افزاری لینوکس از قاعده نامگذاری GNU استفاده می‌کنند. مثال‌های زیر فرمت‌های گوناگون بسته های نرم‌افزاری را نشان می‌دهد :

mycoolapp-4.2.3.i386.rpm
mycoolapp-4.2.3.tar.gz
mycoolapp-4.2.3.src.tar.gz
mycoolapp-4.2.3.bin.SPARC.tar.gz
mycoolapp-4.2.3.bin.ELF.static.tar.gz

این مثالها بسته های مختلف یک نرم‌افزار هستند. نام این بسته نرم‌افزاری mycoolapp است. پس از نام بسته ، شماره نسخه آن که 4.2.3 است قرار دارد. اولین شماره شماره اصلی یا major، دومین شماره شماره فرعی یا minor و آخرین شماره شماره وصله یا patch است. پس از شماره نسخه، نقطه ای قرار دارد که بعد از آن بخش های انتخابی قرار دارند که نشانگر محتوای بسته و چگونگی فشرده سازی آن هستند.

خط نخست یک بسته نرم‌افزاری rpm را نشان می‌دهد. rpm مخفف Redhat Package Manager است. i386 که قبل از rpm قرار دارد، نشان دهنده این است که بسته حاوی نرم‌افزار اجرایی برای کامپیوترهای PC معمولی است. فرمت rpm که ابتدا توسط Redhat ارائه شد، اکنون تبدیل به یک استاندارد برای پخش بسته های نرم‌افزاری لینوکس شده است. ببیشتر توزیع‌های لینوكس مانند ردهت، زوزه، ماندریک و... از این سیستم بسته بندی نرم‌افزار استفاده می‌کنند.

rpm در مقابل کد منبع

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

- RPM: نصب نرم‌افزارها با استفاده از بسته‌های rpm بسیار آسان است. برای نصب یک بسته rpm شما نیازی به دانستن اطلاعاتی در مورد makefile ها و کامپایلرها ندارید. همانطور که در بالا نیز اشاره کردم، ابزارهایی نیز برای مدیریت این بسته‌ها فراهم آمده است. هنگامی که یک بسته rpm را نصب می‌کنید، ابزارهای rpm سایر نرم‌افزارهای احتمالی مورد نیاز این بسته را نیز بررسی کرده و در صورت نیاز به نصب بسته دیگری به شما اعلام میکنند.

- کد منبع (Source Code) : برخی اوقات تا ایجاد بسته های rpm یک نرم‌افزار، مدتی طول می‌کشد. در این مواقع باید از کد منبع آن استفاده کنید. همچنین می‌توانید با ایجاد تغییراتی در کد منبع نرم‌افزار، آنرا برای خود مناسبتر کنید. اکثر کاربران حرفه ای لینوکس کار کردن با کد منبع را ترجیح می‌دهند.

خوب به مثال بالا برمی‌گردیم. در دوخط بعدی بسته‌هایی قرار دارند که حاوی کد منبع نرم‌افزار هستند. هـمـانطور که مـی‌بـینید، این بسته‌ها توسط دستور tar آرشیو شده (tar) و توسط دستور gzip فشرده شده‌اند (gz). شما از این دو فرمان برای باز کردن و خارج کردن از حالت فشردگی بسته‌های نرم‌افزاری استفاده خواهید کرد.

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

استفاده از انواع گوناگون آرشیوها و فرمت مستندات

بسیاری از بسته‌های نرم‌افزاری که به یک توزیع خاص (مانند ردهت، SuSE، Debian و...) وابسته نيستند از روش tar/gzip برای فشرده سازی و آرشیو کردن فایل‌ها استفاده می‌کنند. البته ممکن است در سایتهای FTP لینوکس به فرمت‌های دیگری نیز بر بخورید. لازم به ذکر است که برخی از این فایلها مستندات همراه نرم‌افزار بوده و کد منبع یا اجرایی نیستند.

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

برای اینکه بدانید یک فایل دارای چه فرمتی است، می‌توانید از دستور file استفاده کنید. به مثال زیر توجه کنید :

$ file telnet.htm
telnet.htm: HTML document text

فرمت

پسوند

شرح

Gzip file

gz or .z

این فایل با استفاده از ابزار GNU gzip فشرده شده است. این فایل توسط ابزارهای gzip یا gunzip باز خواهد شد.

Tar File

tar

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

Bzip2

bz2

این فایل با استفاده از برنامه bzip2 فشرده شده است. میزان فشرده سازی این برنامه از gzip بیشتر است.

Tar/compressed

taz or .tz

این فایل توسط دستور compress یونیکس فشرده شده است.

Linux Software Map

lsm

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

Debian binary package

deb

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

Redhat Package Manager

rpm

این فایل بسته نرم‌افزاری است که با استفاده از ابزارهای rpm ایجاد شده است و غیر از ردهت، توسط توزیع کنندگان دیگر لینوکس هم استفاده می شود.

جدول ۱ انواع فرمت بسته‌های نرم‌افزاری لینوکس

نصب برنامه های کاربردی در لینوکس ردهت

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

فرمت

پسوند

شرح

Hypertext Markup Language

.html
or .htm

این فرمت شناخته شده را می‌توانید در هر مرورگر وبی بخوانید.

PostScript

.ps

یک فایل پست اسکریپت برای ارسال به یک چاپگر پست اسکریپت.

SGML

.sgml

فایلهای SGML برای ایجاد مستنداتی بکار می‌روند که آنها را می‌توان به فرمتهای گوناگون تبدیل کرد.

DVI

.dvi

این فرمت خروجی برنامه LaTeX است. با استفاده از فرمان dvilj می‌توانید آنرا به PostScript یا HP PCL تبدیل کنید.

Plain Text

فایلهای بدون پسوند معمولا متنهای ساده با فرمت ASCII هستند.

جدول ۲ انواع فرمت مستندات همراه بسته های نرم‌افزاری

نصب و مدیریت بسته های rpm

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

برای مدیریت بسته های rpm ، دستور rpm گزینه‌هایی را برای لیست کردن بسته‌های نصب شده، ارتقا بسته‌های نصب شده، بدست آوردن اطلاعات از محتویات یک بسته و .... ارائه می‌کند. همچنین گزینه‌هایی وجود دارند که توسط آنها می‌توانید بررسی نمایید که کلیه فایل‌های یک بسته نصب شده وجود داشته و تغییر نکرده باشند. دستور rpm در حالتهای زیر کار می‌کند:

- نصب نرم‌افزار (install) با گزینه i

-ارتقا نرم‌افزار (Upgrade) با گزینه U

- کسب اطلاعات از بسته (Query) با گزینه q

- چک کردن بسته (Verify) با گزینه V

- بررسی امضا بسته (Signature check) با گزینه checksig

- برداشتن بسته (Uninstall) با گزینه e

-ساخت بسته (Build) با گزینه b

-ساخت مجدد بانک اطلاعاتی (Rebuild Database) با گزینه rebuilddb

- تصحیح مجوزها (Fix Permissions) با گزینه setperms

- تعیین مالک/گروه (Set Owners/groups) با گزینه setugids

با استفاده از این گزینه‌ها می‌توانید بسته های rpm را نصب کرده، صحت نصب بسته ها را بررسی کنید و اشکالات احتمالی را برطرف نمایید.

هشدار : برای نصب یا برداشتن بسته های rpm باید با کاربر ریشه وارد سیستم شده باشید. نمایش بسته‌های نصب شده، کسب اطلاعات از بسته و نمایش محتویات بسته نیاز به داشتن مجوز ریشه ندارد.

نصب بسته های rpm

برای نصب بسته های rpm با استفاده از دستور rpm، باید از روش زیر استفاده کنید :

$ rpm -i [option] package

package نام بسته rpm است. این بسته ممکن است در مسیر جاری شما قرار داشته باشد، یا در روی درایو CD-ROM و یا روی سایت FTP .

توجه : در صورتی که دستور نصب بسته‌ای را صادر کنید که روی سایت FTP قرار دارد، این بسته ابتدا از سایت دانلود شده و سپس نصب می‌گردد.

همراه با گزینه i هنگام نصب می‌توانید از گزینه‌های زیر استفاده نمایید:

-vv- این گزینه اطلاعات Debugging را هنگام نصب چاپ میکند. با این گزینه تمام آنچه را هنگام نصب رخ میدهد خواهید دید.

- h- فرایند نصب بسته را بصورت تعدادی کاراکتر # نشان میدهد. این کاراکترها در کنار هم تشکیل یک نوار پیشروی (Progress bar) را میدهند که برای کسب اطلاعات از وضعیت نصب بسته مفید است.

- percent- درصد پیشرفت نصب بسته را حین فرایند نصب چاپ میکند.

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

- force-- با استفاده حتی اگر بسته در حال نصب قدیمی تر از بسته نصب شده باشد، نصب خواهد شد. این کار فایلهای جدیدتر را با فایلهای قدیمی تر جایگزین خواهد کرد. این گزینه مشابه استفاده از گزینه های oldpackage، rplacefiles و replacepkgs است.

- nodeps-- بسته های مورد نیاز برا نادیده گرفته و بسته را نصب میکند. البته ممکن است بسته ای که اینگونه نصب شود، کار نکند.

- ignorearch-- با استفاده از این گزینه اگر بسته با معماری پردازنده شما سازگاری نداشته باشد نیز نصب خواهد شد.

- ignoreos-- در صورتی که بسته با سیستم عامل کامپیوترتان سازگاری نداشته باشد، نصب خواهد شد.

مثال زیر چگونگی نصب یک بسته را نشان می‌دهد :

$ rpm -i audiofile-devel-0.6-1.i386.rpm

من شخصا ترجیح میدهد هنگام نصب بسته مطلع باشم که چه چیزی رخ میدهد. برای این کار معمولا گزینه vv را هم اضافه می‌کنم:

$ rpm -ivv audiofile-devel-0.6-1.i386.rpm
D: counting packages to install
D: found 1 packages
D: looking for packages to download
D: retrieved 0 packages
D: New Header signature
D: Signature size: 160
...

با استفاده از یک خروجی اینچنینی می‌توانید به تمام جزئیات عملیاتی که هنگام نصب بسته انجام می‌شود ، پی ببرید. راه دیگری که می‌توانید بررسی کنید که آیا بسته به درستی نصب شده است یا خیر استفاده از گزینه h است. به مثال زیر توجه کنید :

$ rpm -ivh audiofile-devel-0.6-1.i386.rpm
audiofile-devel [###################################]100%

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

-خطای بسته های مورد نیاز (Package dependencies errors) : در صورتی که بسته‌هایی که نصب می‌کنید، برای کارکرد صحیح به بسته‌های دیگری نیاز داشته باشند، این خطا را دریافت خواهید کرد. برای حل این مشکل کافی است که بسته‌های مورد نیاز را نیز تهیه کرده و قبل از نصب بسته اصلی آنها را نصب کنید. البته همانطور که در بالا شرح داده شد، می‌توانید rpm را مجبور کنید تا بسته های مورد نیاز را بررسی نکند، ولی این کار به هیچ وجه توصیه نمی شود زیرا بسته نصب شده کار نخواهد کرد.

- خطاهای کاربر غیر ریشه : در صورتی که در حالت کاربر ریشه نباشید و دستور rpm را با گزینه i اجرا کنید، این خطاها را دریافت خواهید کرد. برای رفع این مشکل کافی است با استفاده از دستور su بصورت کاربر ریشه وارد شوید.

ارتقا بسته های rpm

گزینه ارتقا یا U بسیار شبیه به گزینه نصب بسته جدید می‌باشد. با این تفاوت که ابتدا بسته قدیمی را از روی سیستم برداشته و سپس بسته جدید را نصب میکند. به روش زیر توجه کنید :

$ rpm -U [options] package

ممکن است پس از نصب بسته جدید، به دلایلی نرم‌افزار مربوطه کار نکند. برای بازگشت به حالت قبلی و نصب بسته قدیمی تر باید از گزینه oldpackage استفاده نمایید. برای روشن شدن مطلب به مثال زیر توجه کنید :

$ rpm -U --oldpackage audiofile-devel-0.5-3.i386.rpm

در صورتی که بسته جدیدتر نصب باشد، از روی سیستم برداشته شده و بسته قدیمی تر نصب خواهد شد.

نکته : از گزینه U می‌توانید چه برای نصب جدید بجای گزینه i و چه برای ارتقا استفاده نمایید. گزینه U همیشه کار خواهد کرد. ولی گزینه i در صورتی که بسته قبلا نصب شده باشد، کار نخواهد کرد.

حذف بسته های rpm

در صورتی که دیگر به یک بسته نیازی ندارید و میخواهید برای آزاد شدن فضای دیسک سخت خود آنرا از روی سیستم برداشته و حذف نمایید، باید از گزینه e استفاده نمایید. روش این کار به صورت زیر است :

$ rpm -e package

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

$ rpm -q --whatrequires package

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

بدلیل اینکه معمولا در این موارد خروجی طولانی خواهد بود و از صفحه ترمینال فراتر خواهد رفت، می‌توانید خروجی را از طریق لوله بندی به یک برنامه دیگر و یا یک فایل هدایت نمایید. به مثال زیر توجه کنید:

$ rpm -evv xpilot | more

در مثال بالا خروجی rpm به برنامه more هدایت می‌شود و از طریق آن می‌توانید خروجی را بصورت صفحه به صفحه مطالعه نمایید. برای این کار می‌توانید از کلید Space استفاده کنید.

سایر گزینه هایی که می‌توانید همراه با گزینه e برای نادیده گرفتن شرایطی که مانع حذف شدن یک بسته می‌شوند، استفاده کنید به شرح زیر هستند :

nodeps-- بسته را بدون توجه به سایر بسته هایی که به آن نیاز دارند حذف میکند.

nodcripts-- بسته را بدون اجرای هر گونه اسکریپتی حذف میکند.

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

$ rpm -evv –test xpilot | more

در صورتی که همه چیز به خوبی پیش رفت، می‌توانید دستور خود را بدون گزینه test اجرا نمایید تا بسته از روی سیستم برداشته شود.

بدست آوردن اطلاعات از بسته های rpm

با استفاده از گزینه q می‌توانید اطلاعات با ارزشی را از بسته های rpm دریافت نمایید. این اطلاعات می‌تواند از لیست بسته های نصب شده تا اطلاعات جزئی هر بسته متغییر باشد. روش استفاده از این گزینه به صورت زیر است :

$ rpm -q [options]

اطلاعات مفیدی که می‌توانید با استفاده از این گزینه بدست آورید به شرح زیر هستند :

qa- لیستی از بسته‌های نصب شده را نمایش می‌دهد.

qf file- بسته‌ای که یک فایل خاص به آن تعلق دارد را چاپ می‌کند. بجای file باید مسیر کامل فایل مورد نظر را تایپ کنید و در صورتی که فایل در دایرکتوری جاری قرار دارد، تنها کافی است که نام فایل را تایپ کنید.

qi- اطلاعات جزئی یک بسته را چاپ می‌کند.

qR- اجزای مورد نیاز بسته را چاپ می‌کند.

ql- لیست فایلهایی که در بسته قرار دارند را چاپ می‌کند.

qd- مستنداتی که در بسته وجود دارند را چاپ می‌کند.

qc- فایلهای پیکربندی که در بسته قرار دارند را چاپ می‌کند.

همانطوری که در بالا گفته شد برای لیست کردن تمام بسته های موجود روی کامپیوترتان می‌توانید از گزینه qa استفاده کنید. بدلیل اینکه این لیست بسیار طولانی خواهد بود، می‌توانید خروجی آنرا به یک فایل هدایت نموده و یا با استفاده از دستور grep بسته های مورد تیازتان را پیدا کنید. برای روشن شدن مطلب به مثالهای زیر توجه کنید :

$ rpm -qa > myPackages
$
rpm -qa | grep -i php
phpdoc-4.0.6-133
mod_php4-4.1.0-104
mod_php4-core-4.1.0-104

در مثال اول خروجی دستور به فایلی به نام myPackages هدایت می‌شود. این فایل یک فایل متنی است که می‌توانید آنرا در یک ویرایشگر متنی مانند gedit یا vi مشاهده کنید. در مثال دوم، خروجی دستور به فیلتر grep هدایت شده و خواسته می‌شود تا نامهای حاوی php نمایش داده شوند. نتیجه وجود سه بسته نصب شده است.

در صورتی که به اطلاعات جزئی در مورد یک بسته خاص نیاز داشتید، می‌توانید از گزینه qi استفاده کنید. به مثال زیر توجه کنید :

$ rpm -qi phpdoc
Name : phpdoc Relocations: (not relocateable)
Version : 4.3.2 Vendor: Red Hat, Inc.
Release : 133
Build Date: Sat 23 Mar 2002 11:30:27 AM PST
Install date : Thu 12 Jun 2003 11:55:13 AM PDT
Build Host: devel.redhat.com
Size : 8592660 License: the PHP Group
Description : Documentation to PHP as HTML, PDF and RTF.

برای کسب اطلاعات از محتوای یک بسته، باید از گزینه ql استفاده کنید.مثال زیر محتویات بسته phpdoc را نمایش میدهد :

$ rpm -ql phpdoc
/usr/share/doc/packages/phpdoc/manual/x61684.html
/usr/share/doc/packages/phpdoc/manual/x61688.html
/usr/share/doc/packages/phpdoc/manual/x61694.html
/usr/share/doc/packages/phpdoc/manual/x61720.html
...

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

$ rpm -qd ppp
/usr/share/doc/packages/ppp/FAQ
/usr/share/doc/packages/ppp/README
/usr/share/doc/packages/ppp/README.cbcp
/usr/share/doc/packages/ppp/README.linux
...

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

$ rpm -qc ppp
/etc/pam.d/ppp
/etc/ppp/chap-secrets
/etc/ppp/options
/etc/ppp/pap-secrets
...

در صورتی که نیاز دارید بدانید که یک فایل یا برنامه خاص به کدام بسته تعلق دارد، می‌توانید از گزینه qf استفاده نمایید. به مثال زیر توجه کنید:

$ rpm -qf /usr/bin/wvdial
wvdial-1.52-136

بررسی صحت نصب بسته های rpm

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

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

$ rpm -V ppp
S.5......T c /etc/ppp/chap-secrets
S.5......T c /etc/ppp/pap-secrets

خروجی مثال بالا نشان می‌دهد که از بسته ppp (نرم‌افزاری که برای ایجاد تماس dialup با اینترنت به کار می‌رود) پس از نصب۲ تغییر در فایلهایش داشته است. حرف S نشاندهنده تغییر در اندازه فایل، عدد ۵ نشان دهنده تغییر در ترکیب MD5 فایل، حرف T نشاندهنده تغییر در زمان تغییر فایل و حرف c نشان می‌دهد که این فایلها فایلهای پیکربندی هستند. با بررسی فایلها متوجه می‌شویم که تغییرات اعلام شده، تغییراتی است که خود من برای تنظیم برنامه ppp انجام داده‌ام. پس بسته ppp مشکلی ندارد. علائم نشاندهنده ای که با این گزینه با آنها برخورد خواهید کرد عبارتند از :

5 : نشانگر تغییر در MD5 checksum است. نشاندهنده ایجاد تغییراتی در محتوای یک فایل میباشد.

S : نشانگر تغییر در اندازه فایل میباشد.

L : نشانگر این است که فایل تبدیل به یک لینک ظاهری (Symbolic) به فایل دیگری شده است.

T : زمان تغییر فایل را نشان میدهد.

D : فایل مورد نظر تبدیل به یک فایل مخصوص ابزار (Device Special File) شده است.

U : کاربر مالک فایل تغییر کرده است.

G : گروه کاربری فایل تغییر کرده است.

M : مالکیت یا مجوزهای دسترسی به فایل تغییر کرده است.

Web Counter
Hit Counter
web counter