Posted: Mon Aug 01, 2011 10:51 am Post subject: Redhat Package Manager
Package Manager Redhat:
فرض كنيد يك فايل داريم به نام Sin كه زاويه مورد نظر را مي گيرد و خروجي مي دهد.
به نظر شما اين فايل را install كنيم يا كپي كنيم ؟
مشكلات كپي كردن:
1. تداخل( احتمال دارد يك فايل قبلا كپي شده باشد)
2. عدم سازگاري ( يعني فايل مربوطه براي 64 بيتي باشد نه 32 بيتي)
3. استفاده از توابع ديگر ( مثلا در تابع سينوس از سري فوريه يا لاگرانژ استفاده شده است چون اين توابع نيامده است در نتيجه كپي جواب نمي دهد).
بنابراين installer ها كارهاي زيادي انجام مي دهند .
دو روش براي نصب وجود دارد يكي استفاده از سورس ها است كه در نتيجه اين كار باعث مي شود با داشتن سورس روي هر سيستمي كه سازگار باشد سورس را كامپايل كرد كه البته مشكل ان نصب بودن ابزار توسعه است .
نرم افزار RPM براي مديريت پكيج ها مي باشد.
از جمله مزاياي استفاده از اين نرم افزار مي توان پكيج ها را به سادگي نصب كرد. درپشت ماجرا يك ديتابيس وجود دارد مثل ديتابيس مايكروسافت كه رجيستري نام دارد.
فورمت كلي نحوه نام گذاري محصول :
Packagename + version + release or build + architecture . rpm
مثلا farsilinux1.0.5 2 I686.rpm
mpg123-devel-1.7.1-1.el5.rf.i386.rpm
معمولا پكيج ها را در زير /opt و در آن يك پوشه rpms درست كنيد و rpm فايل هايتان را در آنجا بريزيد.
در نام بعضي پكيج ها devel وجود دارد مخفف Development مي باشد يعني ابزار توليد مي باشد. نر م افزار mpg123 براي پخش موسيقي مي باشد. با وجود devel در آن مي توان نر م افزار مربوطه را طوري ويرايش كرد كه مورد پسند خودمان است.
در بعضي پكيج ها جاي معماري نوشته است noarch يعني ربطي به معماري خاصي ندارد:
awstats-6.9-1.el5.rf.noarch.rpm
در بعضي ديگر لغت doc دارد كه بيانگر مفهوم راهنما بودن اين پكيج ها مي باشد .
asciidoc-8.1.0-1.el5.noarch.rpm
با زدن دستور
less packagename.rpm
مشخصات پكيج را مي دهد:
Name : talk Relocations: (not relocatable)
Version : 0.17 Vendor: CentOS
Release : 29.2.2 Build Date: Sun 07 Jan 2007 10:07:38
AM IRST
Install Date: (not installed) Build Host: builder1.centos.org
Group : Applications/Internet Source RPM: talk-0.17-29.2.2.src.rpm
Size : 25936 License: BSD
Signature : DSA/SHA1, Wed 04 Apr 2007 03:57:51 AM IRST, Key ID a8a447dce856289
هنگام نصب يك پكيج فايل هايي در /var/lib/rpm قرار مي گيرد. كه مشابه رجيستري ويندوز مي باشد.
مي توان با سايز فايل packages كه در زير /var/lib/rpm قرار دارد فهميد چقدر پكيج در سيستم نصب است.
فايل هايي كه در زير پوشه /var/lib/rpm قرار دارند از نوع بانك اطلاعاتي مي باشند مي توانيد با زدن file * در اين مسير نوع فايل ها را مشاهده كنيد.
فورمت دستور نصب :
rpm –I package-file_name
دستور زير باعث مي شود كه بسته نرم افزاري هر طوري هست نصب شود درست است كه خطاهايي وجود دارد.ولي در هر حال نصب مي كند . –h براي نمايش درصد پيشرفت مي باشد.
rpm –I --force -h packagename
براي پاك كردن پكيج از فلگ –e استفاده مي كنيم.
با دستور rpm –q talk نسخه مربوطه را مي گويد.
براي اينكه بفهميم يك فايل مربوط به چه پكيجي مي باشد ؟
براي بدست اوردن نام تمام بسته هاي نرم افزاري نصب شده :
Rpm –qa | sort | less
با دستور زير مي توان شمرد چند پكيج نصب است :
Rpm –qa | sort | wc –l
با زدن دستور rpm –qi packagename درواقع يك query information مي گيرد و نمايش مي دهد كه اين پكيج نصب شده چي است و از كجا امده و در چه تاريخي نصب شده و كامپايل شده است .
با زدن دستور rpm –qia اطلاعات كليه پكيج هاي نصب شده را مي دهد .
با زدن دستور rpm –ql packagename فايل هاي پكيج را نمايش مي دهد.
با زدن دستور rpm –ql gcc | wc –l مي توان فهميد چند فايل است.
با زدن دستور rpm –qla تمامي فايل هايي كه تا بحال نصب كرده ايم است.
* درهر پكيج حداكثر چهار اسكريپت دارد كه دو تاي ان مربوط به install مي باشد pre و post و براي uninstall نيز دو پكيج وجود دارد pre و post
با زدن دستور rpm –qp –script packagename اسكريپت هاي نصب پكيج مي ايد
با دستور rpm –V packagename مي توان پكيج را verify كرد . يعني مشكل پكيج را برطرف مي كند.
اگر مشكلي داشته باشد مي گويد وگرنه چيزي نمي گويد.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum