کالی یوزر | Kali User

دفترچه یادداشت ماجراجویی های لینوکسی

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

نرم افزار ها یا  فایل های اجرایی که در اغلب توزیع های لینوکس باهاشون مواجه میشیم، فرمت های مختلفی دارن که من در این مطلب شما رو با "چند تا" از رایج ترین ها آشنا میکنم :) 

آره ...

یادتونه تو ویندوز فایل های اجرایی یا نرم افزار های نصبی معمولا فرمت شون exe یا msi بود؟

تو لینوکس هم چند تا فرمت فایل خیلی رایج داریم که مثلا deb برای خوانواده دبیان و rpm برای فدورا و ردهت و سنت او اس رو برای نمونه میشه مثال زد.

 

از طرفی اگه تو ویندوز اهل انگولک کردن فایل های داخل درایو ویندوز یا ویروس نویسی بودید، حتما با فایل های اجرایی تحت خط فرمان bat آشنایی دارید.(اگه ندارید برید ویروس نویسی در خط فرمان ویندوز رو سرچ کنید و یاد بگیرید. چون کاربرد های دیگه هم داره)

تو لینوکس هم فایل های sh یا "بش اسکریپت" ها رو داریم.

 

اینم بگم که یه قسمت این آموزش (که در مورد فرمت فایل deb هست) برای توزیع دبیان(Debian) و فرزند هاش(مثلا اوبونتو، کالی و مینت) هست :) اما باقی مفاهیم برای همه توزیع ها صدق میکنه.

فرمت sh :

این فرمت تقریبا تو همه توزیع های محبوب لینوکس کاربرد داره و به این فایل ها "بش اسکریپت" (Bash Script) گفته میشه.

این ها، فایل های اجرایی خط فرمان (Shell) مبتنی بر یونیکس (لینوکس) هستند که معادل ویندوزی شون در سیستم عامل ویندوز، فایل های با فرمت bat میشن.

که البته بش اسکریپت (اسکریپتی که برای اجرا توسط خط فرمان لینوکس نوشته شده و مثلا فرمتش sh هست ) بسیار قدرتمندتر از اسکریپت های خط فرمان ویندوز هستن و تو لینوکس همه کار میشه باهاشون کرد خیلی ازشون استفاده میشه.

این فرمت فایل رو "بیشتر" مواقعی میبینیم که فایل اجرایی مون (که مثلا از اینترنت دانلودش کردیم و قصد اجرای اون رو داریم)، برای توزیع خاصی بسته بندی (Package) نشده باشه. یعنی شما موقع دانلود میبینی که این نرم افزار کلا برای لینوکس هست، و معمولا میبینید اشاره ای به توزیع خاصی نشده.

به عنوان مثال نرم افزار xdm که یک دانلود منیجر هست رو دانلود کردید و در پوشه دانلود (که آدرسش Download هست) قرار دادید؛ 
اینم داخل پرانتز ازم داشته باشید که
شروع پرانتز فرضی
جناب xdm به زبان جاوا نوشته شده، و همونطور که مستحضرید یکی از بارزترین ویژگی های برنامه های نوشته شده به زبان جاوا، چند سکویی بودنشون هست، یعنی شما یه کد میزنی بعدش همون کد رو با کمی تغییرات اساسی میتونی رو هر سکو(پلتفرم) ای اجرا کنی مثلا همین جناب xdm رو خود من هم تو ویندوز هم اوبونتو هم کالی و مینت استفاده کردم ازش و اگه اشتباه نکنم باید رو فدورا هم به خوبی کار بکنه (دوستان فدورایی اگه روزی روزگاری از اینورا داشتین رد میشدین، یه تایید ای چیزی بکنین خدا رو خوش میاد)
پایان پرانتز فرضی
پس برای اجرای اون :

قدم اول:

    وارد پوشه ای که فایل اجرایی مون اونجا قرار داره میشیم (دستور cd برای تغییر دادن مسیر جاری دستورات خط فرمان هست) :

cd Download

قدم دوم:

حالا این امکان رو به فایلمون میدیم که اجرا بشه . ( اسم فایل من اینجا مثلا xdm.sh هستش ) پس :

sudo chmod +x xdm.sh

قدم سوم:

   و بعد فایل اجرایی مون رو با دستور مشهور "نقطه اسلش" اجرا میکنیم ( اسم فایل من اینجا مثلا xdm.sh هستش ) :

sudo ./xdm.sh

هشدار ! هیچ کدام از فایل هایی که در بسته موجود بودند نباید پاک بشوند .

 

فرمت deb :

همون طور که از ظاهرش پیداست، این فرمت مختص خوانواده دبیان (مثلا اوبونتو، کالی و مینت و اِم ایکس) است، و این ها پکیج های نرم افزاری مخصوص پک شده برای دبیان ای ها هستن و برای نصب نرم افزار ها استفاده میشن.

این فرمت رو میشه هم به صورت گرافیکی نصب کرد(یعنی مثل ویندوز، همینجوری روش دابل کلیک کنیم تا اجرا شه) هم با خط فرمان.

من اینجا روش خط فرمان ایش رو میگم {روش قبلی را به عنوان تمرین در خانه انجام دهید :))) }

اینو یادتون بمونه که نصاب (نصب کننده) پکیج های با فرمت deb ابزار مشهوری به نام dpkg هستش (در همه دبیانی ها موجود است) همونطور که تو ویندوز وقتی روی یه فایل اجرایی exe دابل کلیک میکنید، در حقیقت ابزاری به نام Windows Installer هست که داره بسته نرم افزاری تون رو نصب میکنه.

به عنوان مثال پیام رسان "بله" که یک پیام رسان داخلی و خوب هست رو دانلود کردید و در پوشه دانلود قرار دادید و میخواید از طریق خط فرمان نصبش کنید.

 پس :

اول وارد پوشه دانلود میشیم :

cd Download

و بعد نصب میکنیم (اسم رو تغییر بدید !! در اینجا اسم فایل من bale.deb هست، فایل شما شاید چیزه دیگه ای باشه ) :

sudo dpkg -i bale.deb

* نکته سامورایی :  عزیزان دقت بنمایند به اون "i-" که بعد از اسم dpkg اومده... نمودید؟... خب؛ خدمتتون عارضم که : به اون میگن سویچ(switch). یعنی من اینجا دارم ابزار dpkg رو با سویچ i که اشاره به install دارد، فراخوانی میکنم که یعنی جناب dpkg مشهور، لطف کنند و پکیج deb من رو نصب کنند. کلی سویچ های دیگه هم داریم. باشد که روزی استاد خط فرمان لینوکس شوید :)

فرمت run :

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

اول وارد پوشه دانلود میشیم :

cd Download
بعد بهش قابلیت اجرا شدن می دهیم :
sudo chmod +x name.run

و در انتها اجرا میکنیم :

./name.run

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

_________________________________________________________________________________________________

ضمیمه شماره یک:

در حقیقت در یونیکس و به تبع اون لینوکس، فرمتی برای فایل اجرایی در نظر گرفته نمی‌شد اما در طی سال‌ها و بعد از محبوبیت ابزارهای تحت ویندوز، فرمت‌ها به فایل‌ها برای خوانایی در ابزارها و سیستم‌ها و زبان‌های مختلف لحاظ شد و هر فایلی می‌تونه قابلیت اجرایی در لینوکس داشته باشه و حتی بدون فرمت. [با تشکر از آقای محمدرضا]

ضمیمه شماره دو:

فایل‌های با فرمت sh،به فایل‌های شل اسکریپت نسبت داده میشه که bash (بَش) یکی از شل‌های موجود بورن شل و زی شل (zsh) و ... هست. [با تشکر از آقای محمدرضا]

+ ممنونم از جناب "Delete It" و "محمدرضا" که اشکال مطلب را گوشزد کردند :)

++ کالی یوزر یه مخاطبایی داره که همتا ندارن، عااالی، یکی از یکی خوب تر، مخصوصا اونایی که اشکالات رو گوشزد میکنن؛ از پشت همین تریبون اعلام میکنم که "آی لاو یو وری ماچ" همگی.

با آرزوی بهترین ها برای شما. کالی یوزر|kaliuser
Copyright © 2018 kaliuser

نظرات  (۱۱)

عالی بود .. ممنونم :)
پاسخ:
سلام .
مدیران کالی یوزر هم از شما ممنون هستند



++* این قسمت از پاسخ از طرف نویسنده سابق کالی یوزر(Elcerodito) اضافه شد، که از قدیم الایام شیفته سبک و سیاق وبلاگ سیلاک بوده و هست :

"خواهش میکنم، باعث افتخاره که مطالبمون برای شما، همراهِ گرانقدرِ قدیمیِ وبلاگِ کوچکِ ما، مفید واقع بشن :))"
موفق و پیروز باشید. 
پاسخ:
سلام. همچنین
  • دنیای کامپیوتر ...
  • سلام علیرضا
    پاسخ:
    سلام علیکم
    مطلب مختصر و خوانا و مفیدی بود ... متوجه هستم که مطلب برای کاربری که برای اولین بار به این موارد بر می‌خوره نوشته شده ... و برای تکمیل بحث می‌خوام ذکر کنم :

    ۱. در حقیقت در یونیکس و به تبع اون لینوکس، فرمتی برای فایل اجرایی در نظر گرفته نمی‌شد اما در طی سال‌ها و بعد از محبوبیت ابزارهای تحت ویندوز، فرمت‌ها به فایل‌ها برای خوانایی در ابزارها و سیستم‌ها و زبان‌های مختلف لحاظ شد و هر فایلی می‌تونه قابلیت اجرایی در لینوکس داشته باشه و حتی بدون فرمت ...

    ۲. فایل‌های با فرمت sh، فایل‌های به فایل‌های شل اسکریپت نسبت داده میشه که bash (بَش) یکی از شل‌های موجود بورن شل و زی شل (zsh) و ... هست که به خوبی توضیح دادین ... :)
    پاسخ:
    متشکرم از نگاه دقیق شما، و بزودی توضیحات شما رو به مطلب اضافه میکنم(الان با گوشی همینجوری اومده بودم ببینم اوضاع چطوره (: )
    ممنونم از همراهیتون
    خیلی خیلی خیلی زیاد از مطالب آموزنده شما سپاسگذارم.انشاءالله در همه ضمینه ها موفق باشید،باتشکر فراوان
    پاسخ:
    سلام. بسیار خوشحالم از اینکه وقت هایی که برای انتشار این مطالب اختصاص دادیم هدر نرفتن و برای شما عزیران مفید واقع شدن.
    ممنون از ابراز لطفتون که باعث ایجاد انگیزه برای ادامه این راه میشه.
    سربلند و پیروز باشید.
  • حسین مسرور
  • سلام
    وبلاگ خیلی خوبی دارید. شانسی برای یه مطلب از گوگل پیداتون کردم اما نه که به لینوکس علاقه دارم و ماشالا شما هم یه لینوکس باز قهاری نشستم کلی مطالبتونو مطالعه کردم.
    فقط خواستم بگم کاش بتونید درباره فرمت های جدید برنامه ای لینوکس که تو این مطلب قید نکردید هم مطلبی بنویسید مثل فرمت AppImage. که ظاهراً یه برنامه با کل کتابخانه های مورد نیازش به صورت Portable توشه نمونه برنامه هم MKVToolNix که میتونید به این فرمت پرتابل هم از سایتش دانلود کنید.
    یا پکیج های Snap که جدیداً شرکت سازنده Ubuntu ارائه داده و میشه روی توزیع های دیگه هم Snap Store رو نصب کرد و یا حتی پکیج های FlatPak و...
    البته من خودم شخصاً پکیج های اصلی هر سیستم عامل یا به اصلاح Native Package ها رو بیشتر میپسندم چون هم سرعت اجرای بیشتری دارن و هم حجم کمتری مثل همون deb ها برای Debian و زیرشاخه اش اما خب بعضی اوقات پکیج های Snap و Flatpak هم شاید نیاز بشه.
    مثلاً من هیچ راه ساده ای برای نصب نرم افزار AviDeMux روی لینوکس مینت پیدا نکردم و آخرش مجبور شدم پکیج FlatPak اش که حجم حدودی ۵۰۰ مگابایت (به خاطر کتابخانه های Flatpak و فکر کنم‌ KDE و...)‌ نیاز داشت رو نصب کنم (البته خود برنامه به تنهایی ۳۷ مگابایت بود ولی چون خود FlatPak رو نصب نداشتم اولین بار انقدر حجمش زیاد بود).
    راستی یه سوال هم داشتم امیدوارم شما بلد باشید.
    ببینید حتماً از Wine و اجرای فایل های EXE در لینوکس استفاده کردید مگه نه؟ خب مسلماً‌ حتماً از پروژه Mono که میتونه برنامه های DotNet مایکروسافت رو اجرا کنه هم باخبرید خب حالا سوال من اینه که چرا وقتی با Wine فایل EXE رو باز میکنم میشه قشنگ توی اون برنامه ویندوزی حروف فارسی تایپ کرد اما وقتی با Mono همون فایل EXE رو باز میکنم حروف فارسی کاراکتر هاش جدا جدا و برعکس نشون داده میشه؟ یعنی اینطوری مثلاً سلام میشه م ا ل س. به نظرتون چرا؟
    یکی حتی این سوالو تو سایت معروف stackoverflow.com پرسیده اما جوابی نگرفته:
    میدونم میشه با همون Wine که مشکل نداره سر کرد اما متاسفانه سرعت اجرای برنامه های DotNet با Wine خیلی خیلی پایینه و تقریباً بعضی اوقات بیشتر از ۲ دقیقه طول میده اما با Mono برنامه های DotNet برام درجا ۱ ثانیه ای باز میشن ولی متاسفانه نمیتونم توشون فارسی بنویسم که نیاز واجبمه و برای برنامه ای هم که میگم مشابه درست و حسابی لینوکسی نیست.
    ببخشید زیادی حرافی کردم نه که احساس کردم آدم درستی پیدا کردم قشنگ سفره دل باز کردم ظاهراً 😁
    پاسخ:
    سلااااام علیکم :)
    همین ابتدا تشکر کنم از دقت نظری که داشتید و اشتراک تجربیاتتون با ما

    عرض شود که،
    والا من هر دفعه اومدم از این فلت و اسنپ استفاده کنم آخرش مقایسه که کردم دیدم فعلا با نیتیو ها سر کردن و در مواقع خاص استفاده از ویندوز راحت تر هست. آخه یه مشکل بزرگی که دارم اینه که تخصصم کامپیوتر نیست و اکثر اوقات با مسائل دیگه ای درگیرم و ... در نتیجه فقط دنبال راه حل راحت(و نه راه حل های راحت) و کار راه انداز میگردم و اگه ببینم راه حل لینوکسی یه کاری سخته، از ویندوز استفاده میکنم (مخصوصا نرم افزار های مهندسی که دیگه چاره ای برام نمیذارن به غیر از یک مولتی او اس یوزر بودن)
    واین (wine) رو هم استفاده کردم و از مونو واسه برنامه نویسی سی شارپ تو لینوکس، اما حقیقتا در حال حاضر هر دو شون جا واسه تکمیل تر شدن دارن و من در این مورد هم استفاده از ویندوز رو راحت تر میدونم. در حال حاضر ویژوال استودیو استفاده میکنم واسه سی شارپ، چون دوستان بهم میگن که مونو یه ضعف هایی داره مخصوصا تو ۶۴ بیت
    راستش من تو برنامه نویسی هام اگه مجبور بشم برنامه فارسی طراحی کنم هم از انواع ترفند ها مثل فتوشاپ و فونت بیت مپ و... استفاده میکنم اما از کاراکتر فارسی نه. بخاطر همین تا حالا مجبور نشدم راه حلی برای مشتری هام برای این مورد ارائه بدم (مصرف کننده نرم افزار های فارسی هم نیستم زیاد)

    راستش من یه لینوکسی محض نیستم و هر وقت لازم باشه بین سیستم عامل های مختلف سوییچ میکنم و برنامه هام رو اگه بخوام مولتی پلتفورم باشن تحت وب یا جاوا مینویسم بیشتر تا به این مشکلات بر نخورم.


    ++ خواهش میکنم من هم خوشحالم که افراد علاقه‌مند وبلاگمون رو قابل میدونن و برای نظر دادن وقت میذارن

    من واسه پدا کردن این مطلب کلی زمان صرف کردم ولی اصلا هیچی نمیفهمیدم 

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

    از شما تشکر میکنم 

    پاسخ:
    سلام. خواهش میکنم موفق باشید.

    با تشکر ممنون میشم پسوند applmage رو توضیح بدین

    پاسخ:
    سلام . فرمت appimage تقریبا شبیه run هست برای همین توی مطلب نزاشتمش . فقط کافیه بهش دسترسی اجرایی بدید و برنامه تون اجرا میشه .

    سلام 

    برنامه ایی با فرمت run به صورت گرافیکی نصب کردم الان میخوام حذفش کنم ولی اسمش تو لیست برنامه هام نیس الان چکار کنم چه جوری حذفش کنم

    پاسخ:
    سلام. لطفا اسم برنامه ای که میخواید حذف کنید رو ذکر کنید.
  • محمدحسین حسینی
  • سلام . دمتون گرم خیلی خیلی عالی بود...سایتتون رو بوک مارک گذاشتم انقد خوبید...

    و راستی من روی فدورا هم امتحان کردم بسیار عالی اجرا میشه

    پاسخ:
    سلام ممنون مرسی؛ لطف دارید.
    هر جا که هستید سربلند و سلامت باشید.

    ++ دلم برای روزایی که تو کالی یوزر پست میزاشتیم تنگ شده؛ انشاا.. دوباره فراغ بال پیدا کنیم برای نشر تجربیات و ارتباط با هم وطنای عزیز

    دستورات sh که گفتید رو کجا باید اجرا کنیم؟

    پاسخ:
    سلام. 
    در اغلب مواقع تمامی دستورات ذکر شده در راهنماها، باید در برنامه Terminal اجرا شوند.

    ارسال نظر

    لطفا در صورت ارسال نظر خصوصی ایمیل خود را در فرم نظرات ذکر کنید! درصورت نبود ایمیل هیج راه ارتباطی برای پاسخ دادن سوال شما وجود ندارد.
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی
    کالی یوزر | Kali User

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

    آخرین نظرات
    نویسندگان