کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

یاهو سیستم جدید ایمیل خود را معرفی کرد

شرکت یاهو نوع جدید سیستم ایمیلی را ایجاد کرده است که قابلیت انحراف پیامهای ناخواسته اینترنتی و جلوگیری از ورود آنان به آدرس ایمیل کاربران را داراست.
  
به گزارش بخش خبر سایت اخبار فن آوری اطلاعات ایران، از ایلنا، شرکت یاهو اعلام کرد این ایمیل جدید تنها با 29 دلار و 99سنت در دسترس مشترکان این شرکت قرار دارد.
 
بنابراین گزارش شمار پیامهای ناخواسته اینترنتی ارسال شده در شبکه جهانی اینترنت از ماه ژانویه تا آگوست گذشته 40 درصد افزایش داشته است و درحال حاضر روزانه 700 هزار پیام ناخواسته در شبکه اینترنت ارسال می شود.
 

تحلیل گران معتقدند که یک سوم کال پیامهای ایمیل ارسال شده بر روی اینترنت پیغام های ناخواسته هستند.


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

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

در صورتی که هیچ کد اجرایی برای نرم افزار مورد نیاز شما وجود نداشته باشد، و یا نیاز داشته باشید تا نرم افزار مربوطه را مطابق نیاز خود تغییر دهید، باید از کد منبع استفاده نمایید. کدهای منبع ممکن است هم بصورت بسته های 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 را نیز پشتیبانی می‌کنند که از طریق آن می‌توانید برنامه‌ای را که نصب کرده‌اید، از روی کامپیوترتان پاک کنید.

منبع : سایت technotux

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

امروزه بسیاری از توزیع های لینوکس بعلت سادگی و قابلیتهای غیر قابل انکار بسته های نرم افزاری با فرمت rpm از این تکنولوژی برای نصب بسته های نرم افزاری با استفاده از دستور rpm، استفاده میکنند . نصب بسته های rpm   هم ازطریق رابط گرافیکی و هم از راه تایپ مستقیم دستورات در خط فرمان لینوکس امکانپذیر است .

توجه داشته باشید که برای نصب یا برداشتن یک بسته نرم افزاری در لینوکس باید ابتدا بعنوان کاربر ریشه root وارد سیستم شوید . البته بسیاری از توزیعهای لینوکس با تهیه برنامه گرافیکی مناسب در محیطهای دسکتاپ لینوکس این مشکل را با پرسیدن رمز کاربر ریشه در ابتدای اجرای برنامه نصب یا برداشتن  بسته ها برطرف نموره اند .

شکل کامل این دستور در خط فرمان عبارتست از :

$ 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 : مالکیت یا مجوزهای دسترسی به فایل تغییر کرده است.