تبليغاتX
SuSE Linux

SuSE Linux

همه چيز راجع به SuSE لينوكس

فشرده سازی فایل ها با Zip

مي خوام يه كم در مورد آرشيو كردن و فشرده كردن و اين چيزا حرف بزنم. حتما براي هر كدوم از ما اين مسئله پيش مياد كه بخواهيم تعدادي فايل رو از روي يك سيستم لينوكس به جاي ديگه انتقال بديم يا مثلا چيزي كه براي خود من پيش اومد، مي خواستم سر يك ساعتي يك فولدر با كليه محتواش رو آرشيو و فشرده كنم تا از طريق مثلا يك سرويس دهنده سمبا ديگرون بتونن اون آرشيو را از روي يك ماشين ويندوز بردارن.
خب، اون قسمت اول كه توي cron صحبتش رو كرديم. ولي براي آرشيو كردن و فشرده سازي روش هاي مختلفي توي لينوكس هست، مثل zip ،tar ،bzip ،gzip و .... از اونجايي كه فايل هاي زيپ توسط ويندوز XP بدون احتياج به برنامه اضافي و جانبي مي تونن مورد استفاده قرار بگيرن، من در اينجا نحوه زيپ كردن فايل ها و فولدرها رو مي گم:

ساده ترين حالت فشرده سازي يك فايل تكي است:

zip zip_file.zip original_file.ext

براي فشرده سازي بيش از يك فايل:

zip zip_file.zip original_file1.ext original_file2.ext ...

براي زيپ كردن يك فولدر، در حالتي كه خودش داراي ساب فولدر نباشه، ميشه از دستور زير استفاده كرد:

zip zip_file.zip folder_name/

مي تونيم ميزان فشرده سازي رو براي برنامه ZIP مشخص كنيم:

zip  -[0-9] zip_file.zip folder_name/

عدد 0 به معني اينه كه اصلا فشرده سازي صورت نگيره، چيزي كه مشابه tar بدون حالت فشرده سازي است. هرچي عدد بالاتر بره سرعت عمليات فشرده سازي كمتر ميشه و ميزان فشرده كردن بالاتر. مقدار پيش فرض سيستم هم عدد 6 است. اگر بخواهيم مي تونيم با تعريف يك alias در سيستم عامل، مقدار پيش فرض رو عدد دلخواه بگذاريم:

alias zip='zip -9'

يكي از اون مواردي كه خودم خيلي دنبالش بودم، محافظت از فايل زيپ شده توسط كلمه عبور است. براي اينكار دو تا راه وجود داره، اولي اينكه موقع عمليات فشرده سازي، خودمون كلمه عبور رو هم بهش بديم:

zip -P 123456 moby.zip *.txt

اين براي اون وقتايي بدرد مي خوره كه مثل كار من، لازم باشه تمام عمليات اتوماتيك و مثلا توسط cron انجام بشه. اما اگر قراره كه از پاي سيستم عمليات فشرده سازي انجام بشه، آوردن كلمه عبور به شكل بالا زياد كار عاقلانه اي نيست. ميشه كاري كرد كه سيستم بدون اينكه كلمه عبور رو نمايش بده، از كاربر رمز رو دريافت كنه:

zip -e moby.zip *.txt
Enter password:
Verify password:

خب،  تا اينجا هرچي گفتيم مربوط بود به ساختن فايل زيپ. اگر بخواهيم فايل زيپ شده رو باز كنيم، از برنامه unzip بايد استفاده كنيم. ساده ترين روش استفاده هم:

unzip file_name.zip

اگر بخواهيم جزئيات عمليات رو هم ببينيم، بايد از سوئيچ v استفاده كنيم:

unzip -v file_name.zip

براي ديدن فايل هاي موجود در يك فايل زيپ هم بايد از سوئيچ l استفاده كنيم:

unzip -l  file_name.zip

براي آزمايش سلامت فايل هاي موجود در يك آرشيو زيپ هم مي تونيم از دستور زير استفاده كنيم:

unzip -t moby.zip
Archive: moby.zip
testing: bible/               OK
testing: bible/genesis.txt    OK
testing: bible/job.txt        OK
testing: moby-dick.txt        OK
testing: paradise_lost.txt    OK
No errors detected in compressed data of moby.zip.

+ نوشته شده در  چهارشنبه بیست و دوم اسفند 1386ساعت 13:49  توسط امير حسين روشناس  | 

مديريت RPM packages

احتمالا تا بحال اسم RPM رو شنیدین. RPM توسط شرکت رد هت برای مدیریت  package ها درست شده و از طریق اون می تونید برنامه ها رو به فرمت اجرایی قابل نصب در لینوکس منتشر کنین. و البته از این فایل ها برای نصب برنامه ها استفاده کنین.
یه چیز من درآوردی که خیلی در دنیای اوپن سورس باب شده، اینه که اول یه اسمی رو انتخاب می کنن، بعدش می گردن براش تفسیر پیدا می کنن! گاهی وقتا هم می بینن که این مخففی که درست کردن، بیانگر قابلیت های برنامه نیست یا کلاسشو داره میاره پایین، بنابراین میگردن یه مخفف دیگه براش پیدا می کنن. نمونه اش PHP که اول راسموس لردورف به عنوان مخفف Personal Home Page انتخابش کرده بود، بعدا که دیدن عجب چیز خفنی شد، گفتن نه، PHP مخفف recursive برای PHP, HTML Preprocessor هستش. در مورد RPM هم فکر می کنم اول مخفف Redhat Package Manager بوده، بعدا که توزیع های دیگه هم به صورت گسترده ازش استفاده کردن، گفتن که مخفف RPM Package Manager  هستش. حالا با این کاری نداریم.
می خوام یه سری دستورات کاربردی برای RPM ها رو اینجا بیارم:

برای نصب (یا همون install) از دستور زیر استفاده می کنیم:

rpm -ivh package_name.rpm

برای حذف از روی سیستم هم دستور زیر:

rpm -e package_name

دقت کنید که دیگه اینجا پسوند rpm رو ذکر نمی کنیم.

برای بروز رسانی (update) یک package از دستور زیر استفاده می شه:

rpm -Uvh package_name.rpm

با صادر کردن دستور بالا، لینوکس ورژن قدیمی برنامه رو پاک می کنه و جدید رو نصب می کنه. بجای استفاده از سوئیچ i-، بهتره که از U- استفاده کنیم، اینطوری مطمئن می شیم که برنامه بهم نمی ریزه.

اگر دستور زیر رو صادر کنیم، اسم package به همراه ورژن و سایر اطلاعاتش برامون نمایش داده می شه. همینطور می تونیم بفهمیم که اصلا یه همچین چیزی روی سیستم نصب شده یا نه:

rpm -q package_name

اگر بخواهیم لیست فایل های موجود داخل یک package رو ببینیم، باید از دستور زیر استفاده کنیم:

rpm -ql package_name

+ نوشته شده در  یکشنبه پنجم اسفند 1386ساعت 10:59  توسط امير حسين روشناس  |