ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

Redhat Package Manager

 
Post new topic   Reply to topic    ParsX.com Forum Index -> مفاهيم اوليه سيستم عامل / Linux
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3061
Location: Tehran

PostPosted: Mon Aug 01, 2011 10:51 am    Post subject: Redhat Package Manager Reply with quote

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 قرار مي گيرد. كه مشابه رجيستري ويندوز مي باشد.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3061
Location: Tehran

PostPosted: Mon Aug 01, 2011 10:52 am    Post subject: Reply with quote

با دستور زير مي توان تاريخ و ساعت را عوض كرد :
date 08010948

مي توان با سايز فايل packages كه در زير /var/lib/rpm قرار دارد فهميد چقدر پكيج در سيستم نصب است.
فايل هايي كه در زير پوشه /var/lib/rpm قرار دارند از نوع بانك اطلاعاتي مي باشند مي توانيد با زدن file * در اين مسير نوع فايل ها را مشاهده كنيد.
فورمت دستور نصب :
 rpm –I package-file_name

دستور زير باعث مي شود كه بسته نرم افزاري هر طوري هست نصب شود درست است كه خطاهايي وجود دارد.ولي در هر حال نصب مي كند . –h براي نمايش درصد پيشرفت مي باشد.
rpm –I --force -h packagename


براي پاك كردن پكيج از فلگ –e استفاده مي كنيم.
با دستور rpm –q talk نسخه مربوطه را مي گويد.
براي اينكه بفهميم يك فايل مربوط به چه پكيجي مي باشد ؟

[v.aghamohammadi@parsx rpm]$ rpm -qf /etc/passwd 
setup-2.5.58-7.el5                               

براي بدست اوردن نام تمام بسته هاي نرم افزاري نصب شده :
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 كرد . يعني مشكل پكيج را برطرف مي كند.
اگر مشكلي داشته باشد مي گويد وگرنه چيزي نمي گويد.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3061
Location: Tehran

PostPosted: Mon Aug 01, 2011 10:54 am    Post subject: Reply with quote

براي عوض كردن home كاربران مي توان در فايل زير تغيير داد.
Vi /etc/passwd

راه ديگر اينست كه يك دايركتوري به نام all ايجاد كنيم و chmod 777 را مي زنيم .
 mkdir /all
Chmod 777 /all

مشكل اساسي اين كار اينستكه مديريت فايل ها ديگر ممكن نيست.
با Access Control List مي توان براي هر userid دسترسي هاي مختلف تعريف كرد.
Man acl
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> مفاهيم اوليه سيستم عامل / Linux All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
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