چطور در میان بسته ها / برنامه های اوبونتو / لینوکس apt جستجو کنیم

برای جستجو در میان بسته های اوبونتو از دستور apt search package یا از دستور apt-cache search package استقاده میکنم. این دوتا نام بسته رو در میون همه چیز های موجود جستجو میکنن. حالا اگر خواستین نتیجه نهایی رو هم فیلتر کنین از پایپ گرپ استفاده کنیم به این صورت apt-cache search package | grep anotherFilter اگر باز نتایج نهایی زیاد بود، میتونین از پایپ لس استفاده کنین به اینصورت میشه:

apt-cache search package | grep anOtherFilter | less

راهنما و منبع: How do I search for available packages from the command-line

برطرف کردن خطای Skipping acquire of configured file ‘contrib/binary-i386/Packages’

وقتی میخوایم VirtualBox 6 رو روی Ubuntu 18.04 نصب کنیم، با خطای زیر ممکنه مواجه بشیم:

N: Skipping acquire of configured file 'contrib/binary-i386/Packages' as repository 'http://download.virtualbox.org/virtualbox/debian bionic InRelease' doesn't support architecture 'i386'

دلیلشم اینه راهنمایی که از روی اون VirtualBox 6 رو نصب کردیم مناسب cpu ما نبوده و برای رفعش لازمه فایل
sudo nano /etc/apt/sources.list.d/virtualbox.list
رو ویرایش کنیم، داخل این فایل دنبال خطر زیر گردین:
deb https://download.virtualbox.org/virtualbox/debian bionic contrib
و اونو تغییر بدین به:
deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian bionic contrib
که در اصل فقط اولش یه [arch=amd64]  اضافه کردیم.

من این راهنما رو از اینجا پیدا کردم و در اینجا یک بش اسکریپت برای نصب و راه اندازی راحت VirtualBox 6 وجود داره که میتونین استفاده کنین.

معرفی چند برنامه های کاربردی برای اوبونتو ۱۸

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

  1. برنامه ClipIt
    برنامه ای برای مدیریت کلیپبوردهاتونه. خفن واجب و اجباریه اصن. شما با این برنامه ۱۰-۲۰ متنی که آخرین بار کپی کرده بودید رو همیشه دارین و میتونین استفاده کنین. برنامه قابلیت تعریف میانبر هم داره و من برای خودم میانبر Ctrl+Alt+C رو انتخاب کردم و میتونم از صفحه ای چندین متن رو کپی کنم و بعد به ویرایشگرم برم و متن هارو پیست کنم بجای اینکه برای هر متن هی بین صفحه ها حرکت کنم! امکانات خوبی هم داره مثلا میتونین تو کیلیپبورد های خیلی گذشتتون سرچ کنین و…
  2. برنامه Kate
    یک ویرایشگر متنی برای زبان های برنامه نویسی هست. حالا چرا اینو معرفی کردم؟من خودم از PHPStrom و Atom استقاده میکنم. اولی که خیلی حرفه ایه و دومی هم خیلی قابلیت هک و شخصی سازی دره اما از اونجایی که کامپیوتر من کمی قدیمیه و سرعتش زیاد نیست موقع باز کردن اتم زمان زیادی از دست میدم و در حالی که میخوام در یک لحظه سریع یک فایل رو ویرایش کنم Kate اینجا بکار میاد. سبک و سریع! برای ویرایش های کوچیک عالیه و امکانات خوبی هم داره. مطمئنم از کار کردن باهاش لذت میبرین. ممکنه بگین خود اوبونتو nano و… داره یا محیط گنوم Text Editor داره. آره درسته. نانو برای محیط ترمینال هست و تکست ادیتور هم دیگه زیادی سادس ولی کیت علاوه بر اینکه سبکه امکانات ابتدایی ویرایش زبان های برنامه نویسی مثل سینتکس و هایلایت کلمات و … رو داره.
  3. برنامه Pinta
    اینم مثل کیت انتخاب کردم. هدفم برنامه های سبک برای کارهای ابتدایی بود. خیلی تو گرافیک نمیرم وگرنه GIMP هست و عالیه. فتوشاپیه برای خودش
  4. برنامه Dropbox
    نیاز به توضیح نداره. از اونجایی که هاردم که روش ویندوز نصب بود سوخت و اطلاعاتم رو از دست دادم اینو برای بکاپ گذاشتم که خودش کار سینک رو انجام میده و من فقط تنظیمات اولیه رو انجام دادم. ۲ گیگ فضا دارین و ازش حداکثر استقاده رو ببرین.
  5. برنامه uGet
    به هر حال میخواین یه چیزایی هم دانلود کنین دیگه! پس به یک دانلود منیجر خوب هم نیاز دارین. من uGet رو پیدا کردم و ازش راضی هستم. سادس. سبکه. راحته. خوش میگذره باهاش 🙂
  6. برنامه VLC
    طبیعتا با اوبونتو فیلم هم نگاه میکنین. خب چه برنامه ای بهتر از VLC برای موزیک و فیلم و… کلا از همه نوع پسوند ها هم پشتیبانی میکنه و خیلی سریع و بی باگ هم هست.
  7. مرورگر های Firefox & Chrome
    شاید براتون سوال بشه که فایرفاکس که از اول هست… چرا دوباره معرفی کردم و چرا با کروم؟ تو معرفی شماره ۷  به جای معرفی برنامه میخوام بهتون توضیه کنم حتما از امکان Sync کردن های مرورگرتون استفاده کنین. من هاردم سوخت و همه اطلاعاتم رفت! تو هزارتا سایت هم عضو هستم و نمیتونم رمز عبورم رو تک تک رو اونها بیاد بیارم. خب اینجا لاگین کردن به مرورگر و سینک اطلاعات منو راحت کرده. روی هر پلتفرم و سیستم عاملی که میرم راحت بعد لاگین همه اطلاعات و رمز عبور و بوکمارک های خودمو دارم. البته این نکته رو هم بگم تا بحال به هیچ وجه روی موبایل کسی یا کامپیوتر کسی یا کافینت از این طریق وارد نشدم به شما هم توصیه میکنم این کارو نکنین. فقط کامپیوتری که خوودتون صبح تا شب بهش دسترسی دارین و باهاش کار میکنین.
  8. برنامه Telegram
    نیاز به معرفی نداره. خب خیلی به کارم میاد و همه دوستان و مشتریان هم از همین طریق ارتباط برقرار میکنن.
  9. برنامه FileZilla
    یک برنامه برای مدیریت فایل ها در بستر ftp هست و اگر برنامه نویس هستین حتما میشناسین.
  10. برنامه یا اکستنشن گنوم Persian Calendar
    همه ما به یک تقویم فارسی شدیدا نیاز داریم و تقویم فارسی که معرفی کردم علاوه بر نمایش تاریخ روز در نوار بالایی صفحه تعطیلات و تاریخ میلادی و هجری رو هم نشون میده و تبدیل تاریخ هم داره.
  11. برنامه GtkHash
    یه برنامه خیلی کم حجم برای گرفتن هش برنامه ها. حالا اگه نمیدونین هش چی هست خیلی سریع بگم هر برنامه ای یه کد منحصر به فرد داره که اگه فایل اون برنامه به هر نحوی دستکاری بشه حتی یک فاصله در کدش باعث میشه هش اون تغییر کنه. حالا این هش به چه درد میخوره؟ میخواستم ویندوز دانلود کنم (بله متاسفانه دوباره ویندوز 😐 برای تدریس تو کلاس ها نیاز دارم) و مایکروسافت اجازه دانلود نمیداد حتی با اینکه کد اورجینال داشتم. مجبور شدم از سایت دیگه ای ویندوزو دانلود کنم برای اینکه مطمئن بشم فایلی که دانلود کردم اصله و بدون دستکاری هش اونو برسی کردم با هش اصلیه مایکروسافت یکی باشه.
  12. برنامه K3b (اسم جالبیم داره میشه خوند کاسبی هاهاها !!! )
    با حجم زیر یک مگابایت واقعا فوق العادست و امکانات کاملی داره. قبلا یک برنامه دیگه دانلود کرده بودم گزینه ای برای پاک کردن دی وی دی های ری رایتبل نداشت. این برنامه هم امکانات خوبی داره هم تنظیمات کافی. خلاصه کارتونو برای کار با سی دی و دی وی دی رام راه میندازه حسابی

 

من این لیست رو به مرور زمان به روز میکنم و برنامه های جدیدو معرفی میکنم. Atom و PhpStorm و Docker و Xampp و ….

دور زدن تحریم ها در اوبونتو

چطور تحریم ها رو در اوبونتو دور بزنیم؟ خیلی راحت دستور زیر رو تایپ کنید:

sudo apt install sshuttle

 

وقتی که نصب پکیج تموم شد با دستور زیر میتونین از ترافیک سرور استفاده کنین:

sudo sshuttle -r username@sshserver 0.0.0.0/0

 

گزینه `r-` برای مشخص کردن سرور ریموت هست و بعد نام کاربری و آی پی سرور رو وارد کنین. آی پی صفر رو همونطور که هست قرار بدین. برای پورت خاصی برای ssh از port: استقاده کنین و برای اینکه از dns سرور استفاده کنین هم از dns–  که دستورتون شبیه زیر میشه

sudo sshuttle --dns -r username@sshserver:port 0.0.0.0/0

به روز رسانی: اگر با خطای زیر مواجه شدین:

packet_write_wait: Connection to xxx.xxx.xxx.xxx port YYY: Broken pipe
client: fatal: server died with error code 255

راه حلش اینه که پورت سرورتونو استثنا بگیرید. برای اینکار به دستور قبلی آی پی سرور رو هم اضافه میکنیم:

sshuttle --dns -x XXX.XXX.XX.XXX -r username@XXX.XXX.XX.XXX:YYY 0.0.0.0/0

 

اگه سطح دسترسی روت نباشین بعد اجرای دستور بالا اول میخواد که رمز بزنین و به سطح روت برسین و بعد رمز ssh  رو میپرسه. حالا ترافیک کل سیستم عامل از طریق سرور و آی پی خارج ردوبدل میشه (البته اگر سرورتون خارج باشه). اگرم نه نیاز داشتید مثلا فقط وارد ساید لنوو یا اینتل بشین و یه چی دانلود کنین و نمیخواستین پکیج نصب کنین و یه تونل سریع کارو راه میندازه… بجای نصب پکیج بالا تو ترمینال تایپ کنین:

ssh -D 3003 -f -C -q -N username@server -p 1234

 

اینجا با گزینه D به ssh میگه که ما یه تونل SOCKS رو پورت مشخص شده میخوایم (عددی که بعدش میاد). این عدد چیزی بین ۱۰۲۵-۶۵۶۳۵ باید باشه.
گزینه f دستور رو در بکگراند اجرا میکنه و شما میتونین ترمینال رو ببندین
گزینه C دیتا ها رو قبل فرستادن فشرده میکنه
گزینه q  از مود quiet استفاده میکنه (بدون خروجی)
گزینه N هم به ssh میگه که وقتی تونل فعاله هیچ دستوری قرار نیست قرستاده بشه
با این دستور یه تونل میزنین به سرور و رو برنامه کلایننتون لازمه ساکس ۵ رو فعال کنین.

نکته اینکه ۳۰۰۳ پورت لوکالتونه و ۱۲۳۴ پورت ssh سرور.
برای بستن ssh هم یه دستور ps aux | grep ssh تایپ کنین و پراسس آی دی اونو کیل کنین.

اینم تنظیمات فایرفاکس برای تونل (راه حل دوم)
firefox proxy socks

(اونقدری مشغول این موضوع بودم یادم رفت میخواستم با داکر کار کنم و داکر ایرانو تحریم کرده… الان اومدم سراغ داکر یادم اومد کلا این آموزش ها برای چی بود. هاهاهاها)

موفق باشید

Filezilla custom editor یا ویرایشگر پیشفرض فایلزیلا

چیز پیچیده ای نیست ولی خب وقتی سرچ میکردم به جواب های درست نمیرسیدم. من از اوبونتو ۱۸  اتسفاده میکنم و وقتی سرچ میکردم ubuntu filezilla open with atom (در اصل دنبال محل باینری ویرایشگر اتم بودم) برام usr/bin/atom یا usr/local/bin/atom میاورد که حقیقتا تو سیستم من وجود نداشت ممکنه نسخه های قبل باشه! خلاصه با دستور sudo find / -name atom محل باینری اتم رو پیدا کردم که میشه این:

/snap/bin/atom

و مثل عکس زیر تنظیمات رو انجام میدیم و تمام.

atom filezilla custom editor setting

خطای bash: php: command not found

بعد نصب زمپ و احتمالا نصب کومپوزر هنگامی که دستور php رو در کمند لاین تایپ میکنین حتما با خطای bash: php: command not found روبرو میشین. دلیلش هم اینه php  در زیر شاخه زمپ نصب شده و برای استفاده global باید اونو در فولدر باینری سیستم لینک کنین. چطوری؟ لمپ بصورت پیشفرض در آدرس زیر نصب میشه

/opt/lampp

 

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

sudo ln -s /opt/lampp/bin/php /usr/bin/php

 

موردی که بعد این بهتر بهش توجه داشته باشین اینه که احتمالا بخاط تست و خطا یا… فایل باینری php  در مسیر های دیگه ای هم نصب شده. برای اینکه ببینیم php که توسط xampp نصب شده در کدوم مسیره به آدرس http://localhost/dashboard/phpinfo.php برین و «Loaded Configuration File » مسیر فایل php.ini رو نشون میده که تو سیستم من /opt/lampp/etc/php.ini هست و  فایل باینریه php در مسی /opt/lampp/bin/php هست (چون متن rtl بود / جلوی php اوند)

همین موضوع که از یک فایل باینتری دیگه ایتفاده کرده بودم باعث شد هنگام اجرای دستور php artisan  با خطای «PHP Warning: PHP Startup: Unable to load dynamic library » مواجه بشم که به اشتباه رفتم فایل php.ini همون باینتری رو ویرایش کردم و سیمیکالون جلوی extension=php_mbstring.dll رو برداشتم و این اشتباه دوم بود چرا که فایل های dll مختص ویندوز هست و نه لینوکس. در لینوکس شما باید متعلقات php  رو بصورت sudo apt-get install php-mbstring نصب کنین و برای غیر فعال کردنش از دستور sudo phpdismod mbstring و فعال کردن دوباره دستور sudo phpenmod mbstring استفاده کنین.

بروز رسانی: امان از این حافظه! فراموش کردم قبلا این کارو انجام داده بودم و از اونجایی که دوباره اوبونتو نصبیدم مجبور شدم دوباره این کارو انجام بدم و یادم نبود… دنبال راه حل گشتم و راه دیگه ای پیدا کردم. راه حل دوم:

cd ~
nano .profile

//متن زیر رو به انتهای فایل اضافه کنین
PATH="/opt/lampp/bin:$PATH"

 

بروز رسانی: روش اول global هست و راحتتر در همه یوزر ها خصوصا  root میتونید باهاش کار کنید.

پیروز باشید 🙂

نصب lampp یا xampp در اوبونتو ۱۸

lampp معادل کلمات linux apache mysql php perl هست. و معمولا اینها همیشه در کنار هم هستند و کار میکنن. اما زمپ بسته ای هست که اینهارو یکجا داره و یکجا نصب میکنیم. یعنی نیازی نیست بصورت جداگانه هر کدوم از اونها رو نصب کنین و با یکدیگر کانفیگ کنیم. ابتدا از https://www.apachefriends.org/download.html زمپ با نخسه ای که میخواین رو دانلود کنین. فرضا در پوشه Download ذخیره کردین. (این نوشته در دوتاریخ بروزرسانی شده، کد زیر متناسب با تاریخ اوله و شما اونو با برنامه خودتون وقف بدین – کد تو عکس ها هم برای تاریخ و نسخه جدیدتره). اگر فایل دانلودیتون قابلیت  اجرایی نداشته باشه با دستور زیر قابلیت اجرایی رو به اون اضافه کنین:

cd ~/Downloads
chmod +x xampp-linux-x64-7.2.10-0-installer.run

حالا فایل رو اجرا کنین. برای این کار نیازه کاربر root باشین:

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

مرحله اول نصب زمپ

مرحله دوم نصب زمپ

مرحله سوم نصب زمپ

مرحله چهارم نصب زمپ

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

مرحله پنجم

مرحله ششم نصب زمپ

 نصب زمپ

نصب با موفقیت به پایان رسید. برای اجرای زمپ Finish رو بزنین (اون تیکی هم که تصویر میبینین براتون زمپ رو اجرا میکنه)

استارت زدن زمپ آپاچی و mysql

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

اگر در این مرحله Apache استارت نخورد و همچنان قرمز موند دلیلش اینه قبلا پورت ۸۰ اشغال شده و اگر از اوبونتو ۱۸ استفاده میکنین احتمالا بخاطر اینه که قبلا apache نصب بوده. شما دستور زیر رو تایپ کنین تا آپاچی حذف بشه:

sudo apt remove apache2

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

/opt/lampp

اگر نیاز به کنترل پنل زمپ داشتین با ترمینال به همین مسیر بیاین و با کاربر روت sudo ./manager-linux-x64.run رو اجرا کنین.

حتما بعد نصب کامل با ترمینال به مسیر /opt/lampp برین و دستور زیر رو بزنین که سطح دستری داخل htdocs در اختیار کاربر معمولی قرار بگیره.

hamidreza@hamidreza-pc:/opt/lampp$ sudo chown -R hamidreza:hamidreza htdocs

اگر نیاز به php بصورت global دارین از اینجا کمک بگیرید

همین! و تمام.

نصب کومپوزر Composer و برطرف کردن خطای php not found یا همون نصب php globaly

نصب کومپوزر در اوبونتو

برای نصب composer کافیه دستور زیر رو در ترمینال وارد کنید:

sudo curl -s https://getcomposer.org/installer | /opt/lampp/bin/php
mv composer.phar /usr/bin/composer

نصب کومپوزر در اوبونتو

پیش نیاز: نصب Xampp زمپ و برطرف کردن خطای PHP Not Found یا همون PHP Globaly یا php-cli دسترسی به php از command line

چطور هنگام بالا آمدن اوبونتو xampp خودکار اجرا شود؟

چطور هنگام بالا آمدن اوبونتو lampp خودکار اجرا شود؟ یا چطور همگام بالا آمدن سیستم لمپ بصورت خودکار اجرا شود؟

برای اینکه هنگام استارت آپ سیستم lampp خودکار start بشه کافیه ترمینال رو باز کنین و دستورات زیر رو تایپ کنین

sudo crontab -e

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

اجرای خودکار زمپ در اوبونتو

در انتهای فایل خط زیر رو اضافه کنین

@reboot /opt/lampp/lampp start

اجرای خودکار زمپ در اوبونتو ویرایش در crontab

Ctrl + X  بزنین  Y و بعد اینتر و تمام…

روز خوش 😉