Linuxor ?
اگر با یوزر x دستور sudo whoami را اجرا کنیم خروچی کدام گزینه میشود؟
جواب درست گزینه دومه :
یه توضیح هم بدم به اونایی که گزینه اول رو زدن ؛
ابزار sudo کارش اجرای دستور با یه یوزر دیگه هست و ابزار whoami هم اسم یوزری که اجراش کرده رو بر میگردونه .
به عنوان مثال ما اگه بخوایم ابزار whoami رو با یوزر linuxor اجرا کنیم میزنیم ؛
sudo -u linuxor whoami
در نتیجه خروجی linuxor رو برمیگردونه اگه مشخص نکنیم با چه یوزری میخایم ابزار رو ران کنیم یعنی
sudo whoami
به صورت دیفالت با یوزر root اجراش میکنه
+ البته اینم بدونید که هر یوزری نمیتونه از sudo استفاده (چرا)
بریم سراغ گزینه ۳ و ۴ :
البته شکل درست ارور به صورت زیره :
sudo: whoami: command not found
ولی به هرحال این ارور زمانی رخ میده که اون یوزری که میخوایم با sudo باهاش کامند رو ران کنیم نتونه ابزار مورد نظر رو پیدا کنه (مثلا اون ابزار به صورت لوکال نصب شده باشه)
🐧 @Linuxor
یه توضیح هم بدم به اونایی که گزینه اول رو زدن ؛
ابزار sudo کارش اجرای دستور با یه یوزر دیگه هست و ابزار whoami هم اسم یوزری که اجراش کرده رو بر میگردونه .
به عنوان مثال ما اگه بخوایم ابزار whoami رو با یوزر linuxor اجرا کنیم میزنیم ؛
sudo -u linuxor whoami
در نتیجه خروجی linuxor رو برمیگردونه اگه مشخص نکنیم با چه یوزری میخایم ابزار رو ران کنیم یعنی
sudo whoami
به صورت دیفالت با یوزر root اجراش میکنه
+ البته اینم بدونید که هر یوزری نمیتونه از sudo استفاده (چرا)
بریم سراغ گزینه ۳ و ۴ :
البته شکل درست ارور به صورت زیره :
sudo: whoami: command not found
ولی به هرحال این ارور زمانی رخ میده که اون یوزری که میخوایم با sudo باهاش کامند رو ران کنیم نتونه ابزار مورد نظر رو پیدا کنه (مثلا اون ابزار به صورت لوکال نصب شده باشه)
🐧 @Linuxor
👍2
میدونید زمان بوت شدن کامپیوترتون چقدره؟؟
چندی پیش وقتی کامپیوتری روشن میشد init اولین پروسه ای بود که اجرا میشد و وظیفه داشت بقیه برنامه ها و سرویس ها را بالا بیاره اما وقتی os ها پیشرفته تر شدن کم کم init هم به سمت ناکارمدی رفت تا به امروز چندین جایگزین برای init ساخته شده اما هرکدوم از اونا بنا به دلایلی کنار گزاشته شده. اما systemd تونست نظر اکثر os هارو جلب کنه و تا به امروز که دارم این پست رو مینویسم اکثر توزیع ها دارن ازش استفاده میکنن.
همونطور که دیدیم systemd اولین پروسه ای هست که اجرا میشه پس میدونه کامپیوتر چقدر طول کشیده تا بوت بشه و بالا بیاد.(البته خیلی بیشتر از این چیزا میدونه :)
دستور :
مدت زمان بالا امدن os رو به صورت بخش به بخش بهتون نشون میده ؛ نمونه :
Startup finished in 3.957s (kernel) + 8.402s (userspace) = 12.360s
graphical.target reached after 6.904s in userspace
اگه به نظرتون مدت زمان بالا امدن os تون زیاده با دستور زیر
میتونید به صورت نزولی زمان اجرا سرویس ها و پروسه هارو ببینید و با systemctl اون سرویسی که مدت زمان بوت رو زیاد کرده رو disable کنید. (البته قبلش درباره اون سرویس بخونید چون بعضی سرویس ها حیاتی هستن)
🐧 @Linuxor
چندی پیش وقتی کامپیوتری روشن میشد init اولین پروسه ای بود که اجرا میشد و وظیفه داشت بقیه برنامه ها و سرویس ها را بالا بیاره اما وقتی os ها پیشرفته تر شدن کم کم init هم به سمت ناکارمدی رفت تا به امروز چندین جایگزین برای init ساخته شده اما هرکدوم از اونا بنا به دلایلی کنار گزاشته شده. اما systemd تونست نظر اکثر os هارو جلب کنه و تا به امروز که دارم این پست رو مینویسم اکثر توزیع ها دارن ازش استفاده میکنن.
همونطور که دیدیم systemd اولین پروسه ای هست که اجرا میشه پس میدونه کامپیوتر چقدر طول کشیده تا بوت بشه و بالا بیاد.(البته خیلی بیشتر از این چیزا میدونه :)
دستور :
systemd-analyzeمدت زمان بالا امدن os رو به صورت بخش به بخش بهتون نشون میده ؛ نمونه :
Startup finished in 3.957s (kernel) + 8.402s (userspace) = 12.360s
graphical.target reached after 6.904s in userspace
اگه به نظرتون مدت زمان بالا امدن os تون زیاده با دستور زیر
systemd-analyze blameمیتونید به صورت نزولی زمان اجرا سرویس ها و پروسه هارو ببینید و با systemctl اون سرویسی که مدت زمان بوت رو زیاد کرده رو disable کنید. (البته قبلش درباره اون سرویس بخونید چون بعضی سرویس ها حیاتی هستن)
🐧 @Linuxor
👍4
Linuxor ?
میدونید زمان بوت شدن کامپیوترتون چقدره؟؟ چندی پیش وقتی کامپیوتری روشن میشد init اولین پروسه ای بود که اجرا میشد و وظیفه داشت بقیه برنامه ها و سرویس ها را بالا بیاره اما وقتی os ها پیشرفته تر شدن کم کم init هم به سمت ناکارمدی رفت تا به امروز چندین جایگزین…
اگه علاقه دارید روند بوت شدن رو ببینید میتونید
با دستور
روند بوت شدن رو به صورت نمودار ببینید
+ بنا به توضیحات فایل noscript ، فایل noscript تولید شده با مروگر chrome یا firefox ترجیحا باز شود
با دستور
هم میتونید نمودار وابستگی رو توی یه فایل noscript ببینید. (عکس بالا)
🐧 @Linuxor
با دستور
systemd-analyze plot > linuxor.noscriptروند بوت شدن رو به صورت نمودار ببینید
+ بنا به توضیحات فایل noscript ، فایل noscript تولید شده با مروگر chrome یا firefox ترجیحا باز شود
با دستور
systemd-analyze dot | dot -Tnoscript > linuxor.noscriptهم میتونید نمودار وابستگی رو توی یه فایل noscript ببینید. (عکس بالا)
🐧 @Linuxor
💅1
میدونید xdg-utils چیه ؟؟
درواقع یه واسط بین دسکتاپ و اپلیکیشنه برای مثال وقتی توی مرورگر دسکتاپتون یه url وارد میکنید که نیازه مثلا با اپلیکیشنی مثل تلگرام باز بشه (عکس بالا) ابزار xdg-open این کارو براتون میکنه
این ابزار رو توی ترمینال هم میتونید استفاده کنید مثلا
یه سری دستور دیگه هم داره که خودتون توی ترمینال xdg رو بزنید و چند تا TAB بزنید میتونید ببیندشون.
🐧 @Linuxor
درواقع یه واسط بین دسکتاپ و اپلیکیشنه برای مثال وقتی توی مرورگر دسکتاپتون یه url وارد میکنید که نیازه مثلا با اپلیکیشنی مثل تلگرام باز بشه (عکس بالا) ابزار xdg-open این کارو براتون میکنه
این ابزار رو توی ترمینال هم میتونید استفاده کنید مثلا
xdg-open .
که خیلی پرکاربرده , فولدر جاری رو با فایل منیجر باز میکنه xdg-open google.com
سایت گوگل رو با مرورگر پیشفرض باز میکنه xdg-open tg://setlanguageمنوی تغییر زبان تلگرام رو باز میکنه ( تلگرام کلی از این دیپ لینک ها داره )
xdg-screensaver activate
اسکرین سیور رو فعال میکنه (البته بعید میدونم الان برای دسکتاپ هاتون باشه برای من که جاشو صفحه لاک گرفته بود و اینم بگم نیازی به بودنش هم نیست چون توی مانیتور های قدیمی وقتی صفحه برای مدتی ثابت بود مانیتور اسیب میدید اما مانیتور های الان این مشکلو ندارن )یه سری دستور دیگه هم داره که خودتون توی ترمینال xdg رو بزنید و چند تا TAB بزنید میتونید ببیندشون.
🐧 @Linuxor
👍5
از ماشین مجازی برو تو اون یکی سیستم عاملت !
لنگ یه برنامه ویندوزی بودم هی مجبور میشدم سیستم رو خاموش روشن کنم برم تو گراب ویندوز رو بوت کنم , از یه طرفی هم هیچی توی ویندوز نداشتم یعنی موقع استفاده از اون برنامه کار دیگه ای نمیتونستم کنم چون برنامه هام همه توی اوبونتوم بود.
تا همین امروز اصلا ویرچوال باکس به ذهنم نرسیده بود , واقعا راهکار ساده بود : از ماشین مجازی ویندوزت رو بوت کن !! اینجوری هم میشه از هردو سیستم عامل استفاده کرد هم اگه منابع سیستمتون کمه از هرکدومشون تکی استفاده کرد.
برای اینکار اول virtualbox رو روی سیستم لینوکسیتون نصب کنید
بعد با دستور زیر یه vmdk بسازید
بعد با دستور
بعد new رو بزنید و از قسمت Export Mode و گزینه Use an existing virtual hard disk file رو بزنید و فایل vmdk که بالا ساختید رو بهش بدید و روشنش کنید !!
🐧 @Linuxor
لنگ یه برنامه ویندوزی بودم هی مجبور میشدم سیستم رو خاموش روشن کنم برم تو گراب ویندوز رو بوت کنم , از یه طرفی هم هیچی توی ویندوز نداشتم یعنی موقع استفاده از اون برنامه کار دیگه ای نمیتونستم کنم چون برنامه هام همه توی اوبونتوم بود.
تا همین امروز اصلا ویرچوال باکس به ذهنم نرسیده بود , واقعا راهکار ساده بود : از ماشین مجازی ویندوزت رو بوت کن !! اینجوری هم میشه از هردو سیستم عامل استفاده کرد هم اگه منابع سیستمتون کمه از هرکدومشون تکی استفاده کرد.
برای اینکار اول virtualbox رو روی سیستم لینوکسیتون نصب کنید
بعد با دستور زیر یه vmdk بسازید
sudo VBoxManage internalcommands createrawvmdk -filename linuxor.vmdk -rawdisk /dev/nvme0n1ادرس اون هاردی که روش اون یکی سیستم عامله (که برای من ویندوز بود) رو بجای /dev/nvme0n1 بزارید.
بعد با دستور
sudo virtualboxماشین مجازی رو با روت بالا بیارید
بعد new رو بزنید و از قسمت Export Mode و گزینه Use an existing virtual hard disk file رو بزنید و فایل vmdk که بالا ساختید رو بهش بدید و روشنش کنید !!
🐧 @Linuxor
👍5
Linuxor ?
از ماشین مجازی برو تو اون یکی سیستم عاملت ! لنگ یه برنامه ویندوزی بودم هی مجبور میشدم سیستم رو خاموش روشن کنم برم تو گراب ویندوز رو بوت کنم , از یه طرفی هم هیچی توی ویندوز نداشتم یعنی موقع استفاده از اون برنامه کار دیگه ای نمیتونستم کنم چون برنامه هام همه…
⚠️ دوستان توی این آموزش ، سعی نکنید سیستم عاملی که الان توش هستید رو با ماشین مجازی بوت کنید
من همینجوری امدم با ماشین مجازی که توی ابونتوم بود همون ابونتویی که توش بودم رو بالا اوردم، بالا امد و ظاهرا مشکلی نداشت تا اینکه سیستم رو خاموش روشن کردم دیدم ابونتوم دیگه بالا نمیاد ؛ فایل سیستم ابونتوم پر ارور شده بود :)
البته حل کردنش چند دقیقه بیشتر زمان نبرد با یه سیستم عامل دیگه با دستور fsck خودکار ارور های فایل سیستم رفع شد.
مشکل هم دقیق نمیدونم علتش چی بود :
احتمالا توی ژورنالینگ فایل سیستم کانفلیکت به وجود امده بود
(فایل سیستم ژورنالینگ : توی فایل سیستم های لینوکسی یه مکانیزمی هست که هر کاری که قراره با فایل سیستم کنید رو ثبت میکنه و هروقت اون کار تموم شد میگه من اون کارو تموم کردم ، اینجوری وقتی مثلا برق بره سیستم عامل میفهمه اخرین کاری که داشته میکرده چی بوده همونو ادامه میده ، مثل ویندوز های قدیم دوساعت نمیره توی مود ریپیر )
حالا فرض کنید دوتا ژورنالر هست که قراره یه جا اطلاعاتشون رو ثبت کنن :)
بعضی نرم افزار ها هم یه مکانیزمی مشابه همین دارن امکان داره اونها این مشکل رو به وجود آورده بودن. البته کلی مشکل دیگه ممکنه پیش بیاد که این دوتا ساده ترینشونن خلاصه اگه حوصله فیکس کردن مشکلات رو ندارید به هیچ وجه سعی نکنید توی سیستم عامل فعلیتون خودش رو بالا بیارید !! واقعا کار بیهوده ایه :)
🐧 @Linuxor
من همینجوری امدم با ماشین مجازی که توی ابونتوم بود همون ابونتویی که توش بودم رو بالا اوردم، بالا امد و ظاهرا مشکلی نداشت تا اینکه سیستم رو خاموش روشن کردم دیدم ابونتوم دیگه بالا نمیاد ؛ فایل سیستم ابونتوم پر ارور شده بود :)
البته حل کردنش چند دقیقه بیشتر زمان نبرد با یه سیستم عامل دیگه با دستور fsck خودکار ارور های فایل سیستم رفع شد.
مشکل هم دقیق نمیدونم علتش چی بود :
احتمالا توی ژورنالینگ فایل سیستم کانفلیکت به وجود امده بود
(فایل سیستم ژورنالینگ : توی فایل سیستم های لینوکسی یه مکانیزمی هست که هر کاری که قراره با فایل سیستم کنید رو ثبت میکنه و هروقت اون کار تموم شد میگه من اون کارو تموم کردم ، اینجوری وقتی مثلا برق بره سیستم عامل میفهمه اخرین کاری که داشته میکرده چی بوده همونو ادامه میده ، مثل ویندوز های قدیم دوساعت نمیره توی مود ریپیر )
حالا فرض کنید دوتا ژورنالر هست که قراره یه جا اطلاعاتشون رو ثبت کنن :)
بعضی نرم افزار ها هم یه مکانیزمی مشابه همین دارن امکان داره اونها این مشکل رو به وجود آورده بودن. البته کلی مشکل دیگه ممکنه پیش بیاد که این دوتا ساده ترینشونن خلاصه اگه حوصله فیکس کردن مشکلات رو ندارید به هیچ وجه سعی نکنید توی سیستم عامل فعلیتون خودش رو بالا بیارید !! واقعا کار بیهوده ایه :)
🐧 @Linuxor
Linuxor ?
بعد از آپدیت کرنل لینوکس
توضیحات و جواب کوییز
+ روند دانلود و بروزرسانی کرنل مثل یک پکیج عادیه و بعد اولین ریبوت دستی خودش روی کرنل جدید بوت میشه پس گزینه 1 غلطه
+ کرنل جدید ممکنه توش مشکلاتی باشه و یا با دستگاه شما سازگار نباشه پس کرنل قبلی رو نگه میداره تا اگه مشکلی پیش امد بتونید برگردید به قبلی ، در نتیجه گزینه 2 هم غلطه
(کرنل هاتون توی فولدر boot/ هستند میتونید وقنی که سیستم بوت میشه از منوی GRUB اون رو تغییر بدید)
+ بعد آپدیت کرنل تمامی درایور های مربوط به کرنل مجددا بیلد و کانفیگ میشوند (البته اگه درایور از DKMS پشتیبانی کنه نیازی به بیلد و کانفیگ دستی نیست)
+ کرنل هیچ ربطی به یوزر خاصی نداره پس گزینه 4 هم غلط محضه (البته این گزینه فقط یه شوخی بود، تا توزیع بالا نیاد یوزر هیچ معنی نداره و وقتی که توزیع بالا امده باشه قطعا کرنل بالا امده)
کرنل چیز ترسناکی نیست گاهی اوقات با اپدیت کردنش سرعت سیستمتون بالاتر میره و یا اینکه عملکرد سخت افزار هاتون بهتر میشه
گاهی اوقات هم یه سری مشکلات جدید توی سیستمتون به وجود میاره !! ولی ترسی نداره همونطور که گفتم میتونید مثل آب خوردن کرنلتون رو به کرنل قبلی برگردونید :)
🐧 @Linuxor
+ کرنل جدید ممکنه توش مشکلاتی باشه و یا با دستگاه شما سازگار نباشه پس کرنل قبلی رو نگه میداره تا اگه مشکلی پیش امد بتونید برگردید به قبلی ، در نتیجه گزینه 2 هم غلطه
(کرنل هاتون توی فولدر boot/ هستند میتونید وقنی که سیستم بوت میشه از منوی GRUB اون رو تغییر بدید)
+ بعد آپدیت کرنل تمامی درایور های مربوط به کرنل مجددا بیلد و کانفیگ میشوند (البته اگه درایور از DKMS پشتیبانی کنه نیازی به بیلد و کانفیگ دستی نیست)
+ کرنل هیچ ربطی به یوزر خاصی نداره پس گزینه 4 هم غلط محضه (البته این گزینه فقط یه شوخی بود، تا توزیع بالا نیاد یوزر هیچ معنی نداره و وقتی که توزیع بالا امده باشه قطعا کرنل بالا امده)
کرنل چیز ترسناکی نیست گاهی اوقات با اپدیت کردنش سرعت سیستمتون بالاتر میره و یا اینکه عملکرد سخت افزار هاتون بهتر میشه
گاهی اوقات هم یه سری مشکلات جدید توی سیستمتون به وجود میاره !! ولی ترسی نداره همونطور که گفتم میتونید مثل آب خوردن کرنلتون رو به کرنل قبلی برگردونید :)
🐧 @Linuxor
👍9
لینوکس توی جیب چه لذتی داره ؟
امروز میخام سه تا روش بهتون بگم که با این روشا دیگه فرقی بین گوشی و کامپیوتر لینوکسیتون نمیمونه !!
1 - استفاده از شلی که اندروید در اختیار ما میزاره
این روش بسیار محدوده و فقط میشه باهاش برنامه های باینری محدودی رو اجرا کرد محبوب ترین برنامه هم برای این کار termux هست که برای راحتی کار هم پکیج منیجر apt رو روش شبیه سازی کردن
2 - بالا اوردن یک iso لینوکسی روی یک شبیه ساز
شبیه ساز Limbo Emulator در واقع یه ماشین مجازیه که روش میتونید با فایل iso سیستم عامل خودتون رو نصب کنید. یادمه روش kali بالا اورده بودم یکم هنگی بود البته الان دیگه فکر نمیکنم اینطوری باشه چون منابع گوشی های جدید نسبتا کافی هستن
3 - حذف رام فعلی و نصب یک توزیع لینوکسی تاچ
این کار یکم خطرناکه چون کلا اندروید حذف میشه و گوشیتون یه لینوکس واقعی میشه چندین نوع سیستم عامل هم عرضه شده اما روی مدل گوشی های زیادی تست نشده
+ Ubuntu touch
+ PostmarketOs
+ Mobian
عکس بالا متعلق به PostmarketOs هست که چند نوع دسکتاپ مختلف هم داره , اگه قصد نصبش رو دارید لیست دیوایس های تست شده رو حتما ببینید.
🐧 @Linuxor
امروز میخام سه تا روش بهتون بگم که با این روشا دیگه فرقی بین گوشی و کامپیوتر لینوکسیتون نمیمونه !!
1 - استفاده از شلی که اندروید در اختیار ما میزاره
این روش بسیار محدوده و فقط میشه باهاش برنامه های باینری محدودی رو اجرا کرد محبوب ترین برنامه هم برای این کار termux هست که برای راحتی کار هم پکیج منیجر apt رو روش شبیه سازی کردن
2 - بالا اوردن یک iso لینوکسی روی یک شبیه ساز
شبیه ساز Limbo Emulator در واقع یه ماشین مجازیه که روش میتونید با فایل iso سیستم عامل خودتون رو نصب کنید. یادمه روش kali بالا اورده بودم یکم هنگی بود البته الان دیگه فکر نمیکنم اینطوری باشه چون منابع گوشی های جدید نسبتا کافی هستن
3 - حذف رام فعلی و نصب یک توزیع لینوکسی تاچ
این کار یکم خطرناکه چون کلا اندروید حذف میشه و گوشیتون یه لینوکس واقعی میشه چندین نوع سیستم عامل هم عرضه شده اما روی مدل گوشی های زیادی تست نشده
+ Ubuntu touch
+ PostmarketOs
+ Mobian
عکس بالا متعلق به PostmarketOs هست که چند نوع دسکتاپ مختلف هم داره , اگه قصد نصبش رو دارید لیست دیوایس های تست شده رو حتما ببینید.
🐧 @Linuxor
👍7
✅ خبر فوری
به طور عجیبی پروکسی های تلگرام روی اپراتور های موبایل از دسترس خارج شدند
(دقت کنید مشکل از تلگرام نیست چون با vpn همه پروکسی ها کانکت میشن)
همچنین بعضی از سرور های vpn ها مثل openvpn و shadowsock نیز پکت های لاست شده زیادی گزارش شده
علت فعلا معلوم نیست با vpn با مکانیزم های متفاوت بیاید تلگرام اگه خبری شد همینجا میزارم.
به طور عجیبی پروکسی های تلگرام روی اپراتور های موبایل از دسترس خارج شدند
(دقت کنید مشکل از تلگرام نیست چون با vpn همه پروکسی ها کانکت میشن)
همچنین بعضی از سرور های vpn ها مثل openvpn و shadowsock نیز پکت های لاست شده زیادی گزارش شده
علت فعلا معلوم نیست با vpn با مکانیزم های متفاوت بیاید تلگرام اگه خبری شد همینجا میزارم.
👍26👎3
Linuxor ?
✅ خبر فوری به طور عجیبی پروکسی های تلگرام روی اپراتور های موبایل از دسترس خارج شدند (دقت کنید مشکل از تلگرام نیست چون با vpn همه پروکسی ها کانکت میشن) همچنین بعضی از سرور های vpn ها مثل openvpn و shadowsock نیز پکت های لاست شده زیادی گزارش شده علت فعلا…
بازرسی ژرف بسته ها !
بازرسی ژرف بسته ها یا Deep packet inspection که مخففش dpi میشه روشی بود که کلی پروکسی فعال تلگرام رو از کار انداخت ، یکی از روش های بلاک کردن پروکسی ها بود البته روش های زیادی برای بلاک کردن وجود داره مثلا
+ قرار دادن ایپی در لیست سیاه
+ قرار دادن پورت یه آیپی در لیست سیاه
+ قرار دادن دامین در لیست سیاه
+ جواب اشتباه در پرس جوی دامین
+ و کلی روش دیگه که من بی خبرم ازشون
این روش ها برای بلاک کردن صد ها هزار پروکسی تلگرام و vpn های دیگه خیلی هزینه بره چون باید ادرس ip و یا domain رو پیدا کنن و دستی بزارنش توی لیست سیاه فرق مهمی که روش dpi با موارد بالا داره اینه که نیازی نیست حتی ip یا domain پروکسی رو بدونن
حالا dpi چطوری عمل میکنه؟
فرض کنید یه شهر داریم که کلی توش ماشین هست ماشین هایی که راننده تیشرت آبی دارن پروکسی های ما هستن پلیس دنبال این افراد تیشرت آبیه ؛ توی قدم اول توی شهر گشت میزنه هر ماشین با راننده تیشرت آبی رو متوقف میکنه بعد متوجه میشه یکی دوتا نیستن صد ها هزار راننده تیشرت آبی داریم !!!
بعد به فکرش میرسه توی مسیر اصلی شهر بایسته از شیشه ماشین ها نگاه کنه هر راننده تیشرت آبی رو متوقف کنه , به این روش میگن dpi البته این روش پلیس مدت زیادی نمیتونه جواب بده !! چون ما راننده های تیشرت آبی داریم که شیشه های دودی دارن ....
شیشه دودی یعنی اینکه پکت رمزنگاری بشه به طوری که الگوریتم های بلاکینگ نتونن تشخیص بدن این پکت یه پروکسیه !
البته اینم بگم dpi چیز جدیدی نیست خیلی وقته که دارن ازش توی جا های مختلف استفاده میکنن
🐧 @Linuxor
بازرسی ژرف بسته ها یا Deep packet inspection که مخففش dpi میشه روشی بود که کلی پروکسی فعال تلگرام رو از کار انداخت ، یکی از روش های بلاک کردن پروکسی ها بود البته روش های زیادی برای بلاک کردن وجود داره مثلا
+ قرار دادن ایپی در لیست سیاه
+ قرار دادن پورت یه آیپی در لیست سیاه
+ قرار دادن دامین در لیست سیاه
+ جواب اشتباه در پرس جوی دامین
+ و کلی روش دیگه که من بی خبرم ازشون
این روش ها برای بلاک کردن صد ها هزار پروکسی تلگرام و vpn های دیگه خیلی هزینه بره چون باید ادرس ip و یا domain رو پیدا کنن و دستی بزارنش توی لیست سیاه فرق مهمی که روش dpi با موارد بالا داره اینه که نیازی نیست حتی ip یا domain پروکسی رو بدونن
حالا dpi چطوری عمل میکنه؟
فرض کنید یه شهر داریم که کلی توش ماشین هست ماشین هایی که راننده تیشرت آبی دارن پروکسی های ما هستن پلیس دنبال این افراد تیشرت آبیه ؛ توی قدم اول توی شهر گشت میزنه هر ماشین با راننده تیشرت آبی رو متوقف میکنه بعد متوجه میشه یکی دوتا نیستن صد ها هزار راننده تیشرت آبی داریم !!!
بعد به فکرش میرسه توی مسیر اصلی شهر بایسته از شیشه ماشین ها نگاه کنه هر راننده تیشرت آبی رو متوقف کنه , به این روش میگن dpi البته این روش پلیس مدت زیادی نمیتونه جواب بده !! چون ما راننده های تیشرت آبی داریم که شیشه های دودی دارن ....
شیشه دودی یعنی اینکه پکت رمزنگاری بشه به طوری که الگوریتم های بلاکینگ نتونن تشخیص بدن این پکت یه پروکسیه !
البته اینم بگم dpi چیز جدیدی نیست خیلی وقته که دارن ازش توی جا های مختلف استفاده میکنن
🐧 @Linuxor
👍26
هنوزم میتونید رایگان از Github Copilot استفاده کنید !
گیتهاب دیروز اعلام کرد که از 22 اوت که 31 مرداد ماه میشه باید برای استفاده از Github Copilot پول بدید !
از اونجا که ما با دلار قهریم این خبر برای افرادی که تازه به Copilot عادت کرده بودن اصلا خوب نبود ...
گیتهاب ۲ تا راه برای استفاده رایگان هم گفته :
راه اول اینه که دانشجو باشید
رضا توی این مقالش توضیح داده که چطور میتونید اکانت گیت هاب دانشجویی بگیرید
که البته این مقاله رو چند سال پیش برای استفاده رایگان از محصولات Jet Brains نوشته
راه دوم اینه که روی پروژه های بزرگ و اوپن سورس گیتهاب مشارکت کنید
🐧 @Linuxor
گیتهاب دیروز اعلام کرد که از 22 اوت که 31 مرداد ماه میشه باید برای استفاده از Github Copilot پول بدید !
از اونجا که ما با دلار قهریم این خبر برای افرادی که تازه به Copilot عادت کرده بودن اصلا خوب نبود ...
گیتهاب ۲ تا راه برای استفاده رایگان هم گفته :
راه اول اینه که دانشجو باشید
رضا توی این مقالش توضیح داده که چطور میتونید اکانت گیت هاب دانشجویی بگیرید
که البته این مقاله رو چند سال پیش برای استفاده رایگان از محصولات Jet Brains نوشته
راه دوم اینه که روی پروژه های بزرگ و اوپن سورس گیتهاب مشارکت کنید
🐧 @Linuxor
👍10
👎24👍13
Linuxor ?
یک MB مگابایت دقیقا چند KB کیلوبایته؟؟
زیاد دور از ذهن نیست که فکر کنید 1024 کیلوبایته ولی اینطور نیست دقیقا 1000 کیلو بایته
طبق دستگاه بین المللی یکاها (SI) پیشوند مگا برابر 1میلیون و پیشوند کیلو برار 1 هزار هست با یه تقسیم ساده میتونید به این نتیجه برسید
(پرانتز : اوایل تازه مردم با شبکه های اجتماعی اشنا شده بودن کسی میگفت مثلا یه کیلو فالور دارم بهش میخندیدن :)
(پرانتز دو : اینو اگه یادتون باشه توی دوره دبیرستان توی فیزیک دیدیدش)
اما دیتا ها توی کامپیوتر ها توی مبنای ۲ یعنی صفر و یک ذخیره میشن قطعا بسته بندیشون هم باید توی مبنای دو باشه سر همین موضوع کمیسیون الکتروتکنیکی بینالمللی امد یه پیشنهادی داد که
بجای [MB مگابایت] بگیم [MiB مبی بایت] که دقیقا 1024 [KiB کیبی بایته] !
البته این هم اشاره کنم که عموما اینا توی ذهن مردم اشتباه جا افتاده ولی توی کامپیوتر ها سعی میکنن که درستش رو بنویسن !
🐧
👍28👎8
کامند bc رو تابحال تست کردین ؟؟ bc در واقع یه زبانه که مخصوص عملیات ریاضیه
با bc میتونید ضرب های طولانی و تقسیم با هر دقتی یا هر عملیات دیگه ریاضی رو توی ترمینال انجام بدید.(عکس بالا)
برای استفاده کامند bc رو بزنید یه مفسر براتون باز میکنه اونجا بهش عملیات ریاضیتون رو بدید (توی من پیجیش راهنماش رو میتونید ببینید)
جدای از مفسر میتونید به صورت زیر هم استفاده کنید
متغیر scale دقت محاسبه رو مشخص میکنه
تابع a(1) ارکتانژانت یک رو برمیگردونه که چهارتاش میشه عدد پی
زمان اجرا بستگی به نوع سی پیوتون داره من با i7 11800h تستش کردم 11.753s طول کشید. (البته این مقیاس دقیقی برای مقایسه سی پی یو ها نیست)
🐧 @Linuxor
با bc میتونید ضرب های طولانی و تقسیم با هر دقتی یا هر عملیات دیگه ریاضی رو توی ترمینال انجام بدید.(عکس بالا)
برای استفاده کامند bc رو بزنید یه مفسر براتون باز میکنه اونجا بهش عملیات ریاضیتون رو بدید (توی من پیجیش راهنماش رو میتونید ببینید)
جدای از مفسر میتونید به صورت زیر هم استفاده کنید
bc <<< "7+9"
با سویچ -l میتونید هم از لایبری استاندارد math استفاده کنید برای مثال با فانکشن s میتونید سینوس زاویه مورد نظر رو حساب کنید که من 5 رادیان رو حساب کردمbc -l <<< "s(5)"
بریم یه کار فان کنیم , میخایم ببینیم چقدر طول میکشه عدد پی رو با دقت 5000 رقم اعشار حساب کرد :time bc -l <<< "scale=5000;4*a(1)"
دستور time زمان اجرای دستوری که به عنوان ارگومان بهش دادیم رو میدهمتغیر scale دقت محاسبه رو مشخص میکنه
تابع a(1) ارکتانژانت یک رو برمیگردونه که چهارتاش میشه عدد پی
زمان اجرا بستگی به نوع سی پیوتون داره من با i7 11800h تستش کردم 11.753s طول کشید. (البته این مقیاس دقیقی برای مقایسه سی پی یو ها نیست)
🐧 @Linuxor
👍21
توی لینوکس معمولا برای مخفی کردن یک فایل یا دایرکتوری، به اول اسم فایل یک . (دات) اضافه میکنیم.
اما یک راه دیگه هم اینه که فایلی به اسم .hidden بسازیم و نام فایل هایی میخواهیم مخفی کنیم را در آن بنویسم.
نکته: فایل .hidden باید با فایل هایی که باید مخفی شوند در یک مسیر باشد
🐧 @Linuxor ~ Arya Shabane
اما یک راه دیگه هم اینه که فایلی به اسم .hidden بسازیم و نام فایل هایی میخواهیم مخفی کنیم را در آن بنویسم.
نکته: فایل .hidden باید با فایل هایی که باید مخفی شوند در یک مسیر باشد
🐧 @Linuxor ~ Arya Shabane
👍36
کنترل کامپیوتر با گوشی و برعکس !
ابزار KDE Connect یکی از ابزارای کنترل کامپیوتر با گوشی و برعکس گوشی با کامپیوتره که با استفاده از wifi-hotspot این کارو میکنه.
البته KDE Connect مختص دسکتاپ KDE نیست و روی هر توزیعی و دسکتاپی میتونید نصبش کنید (کراس پلتفورم نوشته شده حتی روی مک و ویندوز هم میتونید ازش بیلد بگیرید ولی نسخه ای برای مک و ویندوز هنوز منتشر نشده میتونید به گیت لبش برای توضیحات بیشتر مراجعه کنید)
+ برای استفاده باید KDE Connect رو برای اندروید و لینوکس اول نصب کنید.
حالا هربار که به نقطه اتصال گوشیتون وصل میشید علاوه بر اینترنت میتونید گوشیتون رو هم کنترل کنید. مثلا فایل ها یا پیامک هاشو دسترسی داشته باشید.
از داخل برنامه اندرویدی هم یه سری ویژگی ها مثل کنترل کیبرد تاچ پد و حتی کامند های شخصی سازی شده و ... رو دارید.
🐧 @Linuxor
ابزار KDE Connect یکی از ابزارای کنترل کامپیوتر با گوشی و برعکس گوشی با کامپیوتره که با استفاده از wifi-hotspot این کارو میکنه.
البته KDE Connect مختص دسکتاپ KDE نیست و روی هر توزیعی و دسکتاپی میتونید نصبش کنید (کراس پلتفورم نوشته شده حتی روی مک و ویندوز هم میتونید ازش بیلد بگیرید ولی نسخه ای برای مک و ویندوز هنوز منتشر نشده میتونید به گیت لبش برای توضیحات بیشتر مراجعه کنید)
+ برای استفاده باید KDE Connect رو برای اندروید و لینوکس اول نصب کنید.
sudo apt install kdeconnect
بعد به نقطه اتصال گوشی وصل بشید و از داخل برنامه با کامپیوتر جفتش کنیدحالا هربار که به نقطه اتصال گوشیتون وصل میشید علاوه بر اینترنت میتونید گوشیتون رو هم کنترل کنید. مثلا فایل ها یا پیامک هاشو دسترسی داشته باشید.
از داخل برنامه اندرویدی هم یه سری ویژگی ها مثل کنترل کیبرد تاچ پد و حتی کامند های شخصی سازی شده و ... رو دارید.
🐧 @Linuxor
👍12
وقتی من رفتم تو بمون !
تصور کنید توی ترمینال یه برنامه ای باز کردید داره برای خودش یه سری کارارو میکنه الان وقتی ترمینال رو ببندید اون برنامه هم بسته میشه :/ به نظرتون چطور میتونیم کاری کنیم که این اتفاق نیفته ؟
برای این کار به ترتیب دستورات زیر رو بزنید :
Ctrl + Z
پروسس فعلی در حال اجرارو استاپ میکنه (اگه بعدش دستور jobs رو بزنید میبیندش)
bg
اخرین پروسس استاپ شده رو توی بکگراند resume میکنه (در واقع اخر دستور یه & اضافه میکنه)
disown
به اخرین پروسس اجازه میده که فراتر از شل زنده بمونه یعنی وقتی سیگنالی به شل ارسال میشه اون رو به برنامه منتقل نمیکنه (از جدول jobs هم حذفش میکنه)
پ.ن 1 : اگه سوییچ -h رو برای disown استفاده کنید از جدول jobs حذف نمیشه ولی پروسس رو علامت میزنه هر وقت به شل سیگنال SIGHUP ارسال شه اون رو به پروسس هدایت نمیکنه .
پ.ن 2 : تمام دستورات jobs , bg , disown ,... دستورات built-in شل هستند و من پیج ندارند ولی بجاش میتونید از help قبل دستور استفاده کنید.
پ.ن 3 : اگه توی سرور این کارو میکنید حواستون باشه برای برنامه های کوتاه مدت این کارو کنید چون اگه سرور ریبوت بشه برنامه مجدد اجرا نمیشه فقط این تضمین به شما داده میشه که وقتی از شل log out شدید برنامه بسته نشه پس بهتره از nohup و امثالش برای برنامه های داعم الجرا استفاده کنید.
🐧 @Linuxor
تصور کنید توی ترمینال یه برنامه ای باز کردید داره برای خودش یه سری کارارو میکنه الان وقتی ترمینال رو ببندید اون برنامه هم بسته میشه :/ به نظرتون چطور میتونیم کاری کنیم که این اتفاق نیفته ؟
برای این کار به ترتیب دستورات زیر رو بزنید :
Ctrl + Z
پروسس فعلی در حال اجرارو استاپ میکنه (اگه بعدش دستور jobs رو بزنید میبیندش)
bg
اخرین پروسس استاپ شده رو توی بکگراند resume میکنه (در واقع اخر دستور یه & اضافه میکنه)
disown
به اخرین پروسس اجازه میده که فراتر از شل زنده بمونه یعنی وقتی سیگنالی به شل ارسال میشه اون رو به برنامه منتقل نمیکنه (از جدول jobs هم حذفش میکنه)
پ.ن 1 : اگه سوییچ -h رو برای disown استفاده کنید از جدول jobs حذف نمیشه ولی پروسس رو علامت میزنه هر وقت به شل سیگنال SIGHUP ارسال شه اون رو به پروسس هدایت نمیکنه .
پ.ن 2 : تمام دستورات jobs , bg , disown ,... دستورات built-in شل هستند و من پیج ندارند ولی بجاش میتونید از help قبل دستور استفاده کنید.
پ.ن 3 : اگه توی سرور این کارو میکنید حواستون باشه برای برنامه های کوتاه مدت این کارو کنید چون اگه سرور ریبوت بشه برنامه مجدد اجرا نمیشه فقط این تضمین به شما داده میشه که وقتی از شل log out شدید برنامه بسته نشه پس بهتره از nohup و امثالش برای برنامه های داعم الجرا استفاده کنید.
🐧 @Linuxor
👍26❤2
چیزی درباره فورک بمب ها شنیدید ؟؟
درواقع یه برنامه کوچیک و ساده ان که توی یه لوپ بینهایت از پروسه خودش کپی میکنه بار اول 2 تا فورک بار بار دوم 4 تا بار سوم 8 و همینطور مثل بمب هسته ای زیاد میشن و توی کسری از ثانیه منابع سیستم رو اشغال میکنن و باعث کرش کردن کامپیوتر میشن
توی لینوکس هم یه فورک بمب معروف داریم
خب بریم با هم برسی کنیم این دستور عجیب غریب چیه :
در واقع (): یه فانکشن به اسم : داره تعریف میکنه توی بدنه فانکشن {} ما دستور &:|: داریم که داره خروجی فانکشن به اسم : رو به خودش میده که این خودش لوپ بینهایته توی اخر هم & داریم که دستور رو میبره توی بکگراند و سمی کالن ; پایان فانکشن رو مشخص میکنه و : اخر هم که فانکشن رو صدا میزنه.
پ.ن 1 : اگه نبره توی بکگراند میشه سریع با Ctrl+C قطعش کرد
پ.ن 2 : موقع تایپ :| هی تلگرام با ایموجی 😐 عوضش میکرد 😂
🐧 @Linuxor
درواقع یه برنامه کوچیک و ساده ان که توی یه لوپ بینهایت از پروسه خودش کپی میکنه بار اول 2 تا فورک بار بار دوم 4 تا بار سوم 8 و همینطور مثل بمب هسته ای زیاد میشن و توی کسری از ثانیه منابع سیستم رو اشغال میکنن و باعث کرش کردن کامپیوتر میشن
توی لینوکس هم یه فورک بمب معروف داریم
:(){ :|:& };:
که پیشنهاد میشه اجراش نکنید سوپر کامپیوتر هم داشته باشید توی چند ثانیه سیستمتون منابعش تموم میشه و کرش میکنه :)خب بریم با هم برسی کنیم این دستور عجیب غریب چیه :
در واقع (): یه فانکشن به اسم : داره تعریف میکنه توی بدنه فانکشن {} ما دستور &:|: داریم که داره خروجی فانکشن به اسم : رو به خودش میده که این خودش لوپ بینهایته توی اخر هم & داریم که دستور رو میبره توی بکگراند و سمی کالن ; پایان فانکشن رو مشخص میکنه و : اخر هم که فانکشن رو صدا میزنه.
پ.ن 1 : اگه نبره توی بکگراند میشه سریع با Ctrl+C قطعش کرد
پ.ن 2 : موقع تایپ :| هی تلگرام با ایموجی 😐 عوضش میکرد 😂
🐧 @Linuxor
👍52
مانت کردن یه ftp روی یه دایرکتوری
با ابزار curlftpfs میتونید روی یه دایرکتوری ftp رو مانت کنید
فقط کافیه اول دایرکتوری رو بسازید و بعد دستور زیرو بزنید به همین راحتی !
🐧 @Linuxor
با ابزار curlftpfs میتونید روی یه دایرکتوری ftp رو مانت کنید
فقط کافیه اول دایرکتوری رو بسازید و بعد دستور زیرو بزنید به همین راحتی !
mkdir Linuxor;جای A,B,C به ترتیب یوزنیم پسورد و ادرس اف تی پی سرور رو بزنید.
curlftpfs A:B@C Linuxor;
🐧 @Linuxor
👍24