campaign-off40

آموزش لینوکس (جلسه 10) : نصب نرم افزار در لینوکس



visibility  
mode_comment   ۲۸

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

info توجه

این مطلب یک جلسه از آموزش لینوکس برای برنامه نویسان می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش لینوکس برای برنامه نویسان

comment دیدگاه کاربران
فرزاد وجوهی replyپاسخ

سلام استاد محترم
وقت بخیر
پرسشی که دارم شاید در آموزش های بعدی گفته بشه، تفاوت apt با apt-get چی هست؟

مهرداد سامی

سلام … ممنون ..

دستور apt جایگزین دستور apt-get هستش … کدهای بهینه تری داره و آپشن ها بیشتری به شما میده … از اوبونتو 16.04 به صورت رسمی جایگزین دستور apt-get شد … دستور apt-get هنوز منقضی نشده و از اون هم میتونید استفاده کنید .. ولی پیشنهاد برنامه نویسان اوبونتو این هستش که از دستور apt استفاده کنید .
موفق باشید.

محمد حسین مهرابی replyپاسخ

سلام
جلسه دهم در مورد نصب برنامه ها خیلی عالی بود
دمتون گرم

مهرداد سامی

سلام … ممنون از شما …
موفق باشید .

فرزاد وجوهی replyپاسخ

سلام استاد گرامی
با توجه به انتشار نسخه 18.04 lts در مورد تفاوت های ایجاد شده در نسخه جدید هم صحبتی خواهد شد یا خیر؟

مهرداد سامی

سلام …
بله … توی یک ویدیوی جداگانه راجع به نسخه 18.04 صحبت خواهیم کرد .. همچنین در اون ویدیو نحوه آپدیت کردن 16.04 به 18.04 رو به صورت کامل خواهیم گفت .
موفق باشید .

محمد حسین مهرابی replyپاسخ

سلام
یه سوال در مورد شبکه
توی یک شبکه وقتی یه کامپیوتر میخواد به یه سیستم یا سرور یا هرچیزی دیگه ای وصل شه
نیاز داره که مک ادرس اون سیستمو بدونه
اگه مک ادرس توی حافظه ی arp باشه ازش استفاده میکنه
در غیر این صورت با استفاده از همون arp یه پیغام به صورت broadcast برای همه ی سیستم ها میفرسته
و مثلا میپرسه که این ای پی متعلق به کدام سیستمه (توجه: این یعنی ما از قبل ip اون سیستم مورد نظرو داریم)
بعد اون سیستمی که این ای پی رو داره با سیستم ما ارتباط برقرار میکنه و مک ادرس خودشو میفرسته
سوال من اینه که ما وقتی ای پی داریم دیگه چه نیازی به مک ادرس هست؟
مگه ما اینجا با همون ای پی موفق نشدیم که اون سیستمو پیدا کنیم ؟
(ببخشید میدونم که ممکنه سوال من با موضوع آموزش ارتباط نداشته باشه ولی اگه لطف کنین و جواب سوال منو بدین بی نهایت ممنون میشم)

مهرداد سامی

سلام …
ببینید IP در لایه سه هستش و یک مبحث نرم افزاریه که برای مشخص کردن بخش های مختلف یک شبکه هستش … و مشخص کردن اینکه آیا این کامپیوتر میتونه با یک کامپیوتر دیگه ارتباط برقرار کنه یا خیر (که این میشه جزو مباحث subnetting) …. ولی مک آدرس یک آدرس سخت افزاری هستش .. و همه پروتکل هایی که در لایه ۳ هستند و میخوان با یک کامپیوتر دیگه ارتباط برقرار کنند باید حتما مک آدرس طرف مقابل رو بدانند چون از طریق مک آدرس هستتش که اطلاعات ارسال میشه ..
اگه بخوام یک مثال ساده بزنم مثل این میمونه که خونه شما یک آدرس به خصوص داره …اگه کسی یخواد بسته ای برای شما بفرسته میگه به فلان آدرس بفرست …حالا ما برای اینکه راحت تر بتونیم آدرس ها رو به هم دیگه بگیم به هر خونه یک عدد میدیم .. مثلا میگیم فلان خونه شماره ۱۰ … و یک لیست درست میکنیم که متناظر با هر عدد یک آدرس نوشتیم … از این به بعد به هرکسی بخوایم آدرس شما رو بدیم میگیم آدرس شماره ۱۰ …
به صورت کلی ما کل شبکه مون داره روی مک کار میکنه ….و آی پی هم برای اینه که ما بتونیم بخش های مختلف شبکه رو مشخص کنیم (البته یکی از وظایفش اینه) ….
این رو هم اضافه کنم که اگه دقت کرده باشید ما میگیم پروتکل TCP/IP … این پروتکل با IP کار میکنه .. ولی یک پروتکل دیگه ای مثل ناول با یک ID … توی هر ۲ شبکه ولی ما مک آدرس رو داریم …
اینجا مهم این هستش که اون پروتکلی که دارید استفاده میکنید چه قاعده ای داره و چه جوری کار میکنه ….
امیدوارم که متوجه شده باشید .
موفق باشید .

MRZ65 replyپاسخ

سلام جناب سامی.ابونتو 18.04 LTS، ریلیز شده.دستورات خط فرمان و … تغییر نکرده؟میتونیم به این نسخه مهاجرت کنیم؟

مهرداد سامی

سلام …
نه تغییر خاصی نکرده … تغییر اصلیش عوض شدن میز کار هستش که به gnome تغییر کرده … توی چند جلسه آینده حتما یک ویدیو داریم جهت مهاجرت به 18.04 …. و نحوه آپدیت کردن به این نسخه رو میگیم .
موفق باشید .

محتشم replyپاسخ

سلام . من میخوام درایو Nvidia تغییر بدم ولی هرکاری میکنم نمیشه و ارور میده . BrokenCount>0
چطور حلش کنم ؟

مهرداد سامی

سلام …
به چه صورت این کارو انجام میدین ؟‌

محتشم replyپاسخ

از طریق software updateو بعد Additional Driver

سید محمد رضا صدیقی replyپاسخ

سلام خسته نباشید
یک مورد که من دیدم توی فایل های نصبی موجود برای بعضی برنامه ها فایل هایی با پسوند .run بود آموزش نصب این گونه فایل ها را داخل ویدئو نذاشته بودید
اونجوری که من سرچ کردم باید اول دستور chmod +x filename.run بزنیم بعد ./filename.run بزنیم میخواستم بدونم دقیقا این دستورات چکاری انجام میدن ؟

مهرداد سامی

سلام …
این ها هم فایل های نصبی در لینوکس هستن … .run و یا .bin … اینها رو مثل اسکریپت اجرا میکنید تا نصب بشه … دستور chmod یک دسترسی اجرایی به این فایل میده … و اون یکی دستور اون فایل رو برای شما اجرا میکنه … توی جلسه ۱۵ این مورد به صورت کامل توضیح داده میشه …
موفق باشید .

kfariba.fkarimi replyپاسخ

سلام

استاد من چه طوری می تونم postman روی لینوکس 18.04 نصب کنم؟
https://www.getpostman.com/apps

ممنون

مهرداد سامی

سلام …
اول برنامه postman رو دانلود کنید … بعد شما یک فایل با پسوند tar.gz دارید … اون فایل رو داخل هر پوشه ای که دوست دارید extract کنید …(به صورت معمول داخل /opt بریزین )
بعدش وارد پوشه ای بشید که postman رو ریختین .. یک فایل داخلش هست به نام postman … اون رو اجرا کنید تا برنامه اجرا بشه …. دستوراتی هم که باید وارد کنید برای این کار به این صورته :‌
sudo tar xf Postman-linux-x64-6.1.3.tar.gz -C /opt
cd /opt/postman
./postman

موفق باشید .

sajad.linux replyپاسخ

سلام
یه سوال داشتم دستور snap چیه و تفاوتش با این روشی که امروز کار کردیم چی هستش؟

مهرداد سامی

snap هم یک package manager هست مثل apt که خود تیم اوبونتو اون رو گسترش داده و روی توزیع های اوبونتو قرار داده … یه سری از نرم افزار ها که داخل مخازن رسمی اوبونتو وجود نداره رو میتونید از داخل snap دانلود نصب کنید مثل نرم افزار موزیک spotify …
موفق باشید .

Farzaneh replyپاسخ

apt با apt-get فرقی دارند؟

مهرداد سامی

سلام …
apt در نسخه ۱۶٫۰۴ به بعد معرفی شد و پیشنهاد میشه از همون apt استفاده کنید .
موفق باشید .

مجتبی صفدری replyپاسخ

با سلام

مورد اول :
می خواستم jcal رو نصب کنم . ولی انگار jcal اصلا توی لیست مخازن نبود .
بعدش sudo apt update رو زدم ولی با مشکل Hash Sum mismatch بر خوردم . که راه هایی رو رفتم ولی این مورد جواب داد : عوض کردن سرور ( انگار دانلود سرور ) که من به ازبکستان تغییر دادم و دیگه اون مشکل رو نداشتم
Software & Updates > Ubuntu Software > Download from > other ,..
—> نمیدونم چرا برای شما این مورد وجود نداشته ؟

مورد دوم :
نصب از طریق سورس نرم افزار که دستور make روی سیستم من نبود و میگفت :
Command ‘make’ not found, but can be installed with:

sudo apt install make
sudo apt install make-guile
هر دوشون رو امتحان کردم ولی توی دستور بعدی یعنی make install میگفت install جزئ گزینه های این دستور نیست و با سرچ :How to install “make” in ubuntu?
به این گزینه رسیدم : sudo apt install build-essential
خب انگار برخی ابزار ضروری کامپایل نصب نبود 🙂 —> نمیدونم چرا ؟

مورد سوم :
ارور اجرا نشدن curl :
curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
که به کمک : sudo ln -s /usr/local/lib/libcurl.so.4 /usr/lib/libcurl.so.4
تونستم این مورد حل کنم .
—> چرا سافت لینک لازم بود اینجا ؟

مورد چهارم :
شما دستور sudo make uninstall رو توی پوشه نرم افزار در tmp زدید . بعد خاموش و روشن کردن سیستم چطوری نرم افزار رو حذف کنیم ؟

—————————————————————————————————————————————————-
خیلی خوبه که به فکر کیفیت دوره بودید ولی ای کاش بعد نصب تلگرام میگفتید با چی وارد تلگرام بشیم .
—> شما پیشنهادتون میدید؟

مخفف کلمات gdebi , grub چیه ؟

مهندس اگر ایراد , نکته و… در تغییرات و دستوراتی که زدم وجود داره خوشحال میشم بگین 🙂

امیدوارم این کامنت برای دوستانی که به موارد من برمی خورند مفید واقع بشه
good luck !

مهرداد سامی

سلام ….
مورد اول :‌ اینجا یه کانفلیکتی بین فایل های دانلود شده برای نصب و مخازنتون وجود داره که با دستور
sudo rm -rf /var/lib/apt/lists/*

حل میشه … البته اون کاری هم که شما انجام دادید مشکلی نداره ….
مورد دوم :‌ موقع نصب احتمالا تیک اون گزینه که ابزارهای جانبی رو هم نصب کنه نزدید … که با همون دستوری که وارد کردید همون ها رو نصب کردید … مشکلی نیست …
مورد سوم :‌ توی سیستم یکسری لایبرری وجود داره که برنامه ها برای اجرا شدن و کار کردن از اون ها استفاده میکنند ..این لایبرری ها در دایرکتوری های مختلف وجود داره … سیستم به طور پیش فرض زمانی که برنامه ای درخواست لایبرری میکنه دایرکتوری های /lib , /usr/lib رو به اضافه کانفیگی که در فایل /etc/ls.so.conf وجود داره میخونه و اگه داخل این ها وجود داشت اون لایبرری رو به برنامه مورد نظر میده … تا اون جایی که میدونم به صورت پیش فرض در اوبونتو دایرکتوری /usr/local/lib داخل این کانفیگ وجود نداره و یا باید دستی اون دایرکتوری رو به فایل کانفیگ یعنی /etc/ld.so.conf وارد کنید و یا با اینکه همین کاری که شما انجام دادید لایبرری رو به برنامه معرفی کنید …
مورد چهارم : برای این کار میتونید دستور
sudo checkinstall

رو وارد کنید … با این دستور سیستم جستجو میکنه و نرم افزارهایی که از سورس نصب شدن رو پیدا میکنه و لیست میکنه و بعدش شما میتونید با روش عادی یعنی استفاده از همون dpkg -r نرم افزار رو حذف کنید .
grub مخفف GRand Unified Bootloader هستش ….
gdebi هم اسم یک نرم افزاره .
موفق باشید .

Farzaneh replyپاسخ

برای نصب نرم افزار من با این ارور مواجه میشم.
Unmet dependencies. Try ‘apt –fix-broken install’ with no packages
سرچ کردم،‌ مراحل گفته شده رو پیش میرم،‌ اما هم چنان رفع نشده.

مهرداد سامی

سلام … دستور
apt --fix-broken install
رو تست کردید ؟‌

Farzaneh

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

فرهاد replyپاسخ

سلام استاد. ببخشید من وقتی می خوام یک نرم افزار رو از طریق سورس کد نصب کنم و از دستور ./configure برای چک کردن اینکه سیستم پیش نیازهای لازم برای کامپایل کردن سورس کد رو داره استفاده می کنم با خطا مواجه میشم. دستور make هم کار نمی کنه.
برای رفع این مشکل چیکار باید بکنم؟
ممنون

مهرداد سامی

سلام …
زمانی که خطایی در این حالت نمایش داده میشه احتمال بسیار زیاد یعنی پیش نیاز لازم برای اون نرم افزار رو شما ندارید … اون متن خطا رو در اینترنت سرچ کنید، از جواب های میتونید متوجه بشید که چه پکیج هایی رو باید داخل سیستم نصب کنید تا مشکلتون برطرف بشه.

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.