اگه رفتین مهمونی، سر غذا حواستون باشه یهو دستتون رو دراز نکنید دوغ رو از وسط میز بردارید ...
چون ممکنه یه نفر دیگه قبل از شما دوغ (Resource) رو بخاد و زود تر شما برش داره ! توی دنیای کامپیوتر یه الگوریتم جالبی برای حل این مشکل داریم به اسم Exponential backoff به این صورته که اگه دوغ میخای باید یه مجموعه به صورت زیر برای خودت داشته باشی
{1, 2, 4, 8 ,16 ,...}
که طول مجموعه برابر تعداد دفعاتیه که ناموفق شدی اون دوغ رو برداری، هر بار که دوغ میخای یه عدد رندوم از این لیست خودت برمیداری و به اندازه اون صبر میکنی (sleep) بعد سعی میکنی که دوغ رو برداری. اگه دوباره ناموفق شدی اون لیست یدونه بزرگ تر میشه، هرکی هم یه لیست مجزا برای خودش داره. و این الگوریتم رو مجزا برای خودش اجرا میکنه و اگه دوغ بخواد باید این کارو کنه.
با این الگوریتم هر تعداد نفر هم باشید به همتون با یه احتمال خوبی دوغ میرسه 😂
🐧 @Linuxor
چون ممکنه یه نفر دیگه قبل از شما دوغ (Resource) رو بخاد و زود تر شما برش داره ! توی دنیای کامپیوتر یه الگوریتم جالبی برای حل این مشکل داریم به اسم Exponential backoff به این صورته که اگه دوغ میخای باید یه مجموعه به صورت زیر برای خودت داشته باشی
{1, 2, 4, 8 ,16 ,...}
که طول مجموعه برابر تعداد دفعاتیه که ناموفق شدی اون دوغ رو برداری، هر بار که دوغ میخای یه عدد رندوم از این لیست خودت برمیداری و به اندازه اون صبر میکنی (sleep) بعد سعی میکنی که دوغ رو برداری. اگه دوباره ناموفق شدی اون لیست یدونه بزرگ تر میشه، هرکی هم یه لیست مجزا برای خودش داره. و این الگوریتم رو مجزا برای خودش اجرا میکنه و اگه دوغ بخواد باید این کارو کنه.
با این الگوریتم هر تعداد نفر هم باشید به همتون با یه احتمال خوبی دوغ میرسه 😂
🐧 @Linuxor
🤣114👍27🤝7🤔3❤2
میدونستین با دستور زیر میتونین Gateway خودتون رو پینگ کنید و ایپیشو بدست بیارین :
ping _gateway
🐧 @Linuxor ~ LinuxHandbook
ping _gateway
thatstraw : The functionality to resolve _gateway as a hostname to the default gateway's IP address is provided by systemd-resolved (Synthetic Records). It provides fake A/AAAA records pointing to your gateway. This service is part of the systemd suite, which is not available on systems that do not use systemd as the init system.
#linux
🐧 @Linuxor ~ LinuxHandbook
🔥39👍24👎3❤2⚡2
وقتی یه رفیق فاب داری که همه جوره کنارته !
گرِگ Greg یکی از توسعه دهنده های اصلی کرنل لینوکس، ابزار ها و فیچر هایی مثل udev و sysfs و ... هستش.
گرِگ از نویسندگان کتاب های افسانه ای
Linux Device Drivers
و
Linux Kernel in a Nutshell
هم هستش که خوندش برای علاقه مندان به کرنل بسیار توصیه میشه.
🐧 @Linuxor
گرِگ Greg یکی از توسعه دهنده های اصلی کرنل لینوکس، ابزار ها و فیچر هایی مثل udev و sysfs و ... هستش.
گرِگ از نویسندگان کتاب های افسانه ای
Linux Device Drivers
و
Linux Kernel in a Nutshell
هم هستش که خوندش برای علاقه مندان به کرنل بسیار توصیه میشه.
🐧 @Linuxor
👍70❤18🔥3💅3⚡1
چطوری کرنل لینوکس رو دستکاری کنیم ؟
کرنل لینوکس این اجازه رو به شما میده با ابزار sysctl پارامتر های اون رو مشاهده یا ریکانفیگور کنید :
مثلا میتونیم یه کاری کنیم PID حداکثر 2000 باشه
+ نگران نباشین کرنل الگوریتم wrap around داره و PID تموم شه میره از اول شروع میکنه و ثانیا سویچ w- بعد از ریبوت کانفیگ هارو بر میگردونه به حالت دیفالتش
مقدار جدید رو میتونید الان ببینید.
بریم یه حرکت دیگه بزنیم مثلا ما یه سرور خفن داریم و میخوایم یه کاری کنیم دیگه جواب ping رو به بقیه نده :
الان دیگه سیستممون هرکی صداش کنه جواب نمیده (مغرور کی بودی تو)😂😂
+ میتونید با سویچ a- بقیه پارامتر های قابل کانفیگ رو ببینید .
🐧 @Linuxor
کرنل لینوکس این اجازه رو به شما میده با ابزار sysctl پارامتر های اون رو مشاهده یا ریکانفیگور کنید :
مثلا میتونیم یه کاری کنیم PID حداکثر 2000 باشه
sysctl -w kernel.pid_max=2000+ نگران نباشین کرنل الگوریتم wrap around داره و PID تموم شه میره از اول شروع میکنه و ثانیا سویچ w- بعد از ریبوت کانفیگ هارو بر میگردونه به حالت دیفالتش
sysctl kernel.pid_max مقدار جدید رو میتونید الان ببینید.
بریم یه حرکت دیگه بزنیم مثلا ما یه سرور خفن داریم و میخوایم یه کاری کنیم دیگه جواب ping رو به بقیه نده :
sysctl -w net.ipv4.icmp_echo_ignore_all=1
الان دیگه سیستممون هرکی صداش کنه جواب نمیده (مغرور کی بودی تو)😂😂
+ میتونید با سویچ a- بقیه پارامتر های قابل کانفیگ رو ببینید .
🐧 @Linuxor
😁50👍17🤣6🔥4💅3
چرا لینوکسیا از اسنپ ابونتو خوششون نمیاد ؟
یکی از دلایلی که میشه بهش اشاره کرد همراه بودن وابستگی ها کنار خود برنامس این یعنی هر برنامه ای که نصب میکنید حتی اگه وابستگی هاش قبلا توی یه برنامه از قبل نصب شده بوده باشه از اون satisfied نمیشه و دوباره حجم اشغال میکنه (مثل سی دی برنامه های ویندوز که همچی تو یه پکه)
برای پایچارم پرو که حجم اسنپش یک گیگه من یه تستی کردم اومدم وابستگی های برنامه رو جدا کردم ببینم حجمش چقدر میشه بعد از جدا کردن (lib,modules,plugins,jbr) کل حجم برنامه شد 18 مگابایت !
حالا تو اسنپ چرا نیومدن وابستگی هارو جدا کنن ؟
مشکل اصلی سخت بودن مدیریت دیپندنسی برای برنامه های گرافیکیه چون اولا برنامه های گرافیکی با تکنولوژی های یکسان ساخته نمیشن دیپندنسی هاشون متفاوته مثلا برای پایچارم اکثر دیپندنسی ها jar هست ولی ممکنه یه برنامه دیگه چیز دیگه ای باشه. و مدیریت کردن هر نوع دیپندنسی روش های خاص خودشو داره.
دوما ممکنه دیپندنسی ها باهم تداخل داشته باشن ولی اگه توی یه پک باشن این تضمین رو داریم که برنامه به درستی و بدون دردسر اجرا میشه.
🐧 @Linuxor
یکی از دلایلی که میشه بهش اشاره کرد همراه بودن وابستگی ها کنار خود برنامس این یعنی هر برنامه ای که نصب میکنید حتی اگه وابستگی هاش قبلا توی یه برنامه از قبل نصب شده بوده باشه از اون satisfied نمیشه و دوباره حجم اشغال میکنه (مثل سی دی برنامه های ویندوز که همچی تو یه پکه)
برای پایچارم پرو که حجم اسنپش یک گیگه من یه تستی کردم اومدم وابستگی های برنامه رو جدا کردم ببینم حجمش چقدر میشه بعد از جدا کردن (lib,modules,plugins,jbr) کل حجم برنامه شد 18 مگابایت !
حالا تو اسنپ چرا نیومدن وابستگی هارو جدا کنن ؟
مشکل اصلی سخت بودن مدیریت دیپندنسی برای برنامه های گرافیکیه چون اولا برنامه های گرافیکی با تکنولوژی های یکسان ساخته نمیشن دیپندنسی هاشون متفاوته مثلا برای پایچارم اکثر دیپندنسی ها jar هست ولی ممکنه یه برنامه دیگه چیز دیگه ای باشه. و مدیریت کردن هر نوع دیپندنسی روش های خاص خودشو داره.
دوما ممکنه دیپندنسی ها باهم تداخل داشته باشن ولی اگه توی یه پک باشن این تضمین رو داریم که برنامه به درستی و بدون دردسر اجرا میشه.
🐧 @Linuxor
👍98😁4❤3👎2🤣2
بعضی از کامند های لینوکس کار کردن باهاشون یکم دردسر داره توی این لیست یه ابزار معادل که کار رو راحت کرده آوردم :
find -> fd
du -> dust
tree -> broot
cut -> choose
man -> tldr , cheat
grep -> ripgrep
ls -> exa , lsd
car -> bat
top -> htop , gtop , bottom , glances
diff -> delta
df -> duf
ack -> ag
sed -> jq , sd
history -> mcfly
ping -> gping
ps -> procs
curl -> curlie , httpie , xh
cd -> zoxide
dig -> dog
برای نصب هرکدوم و دیدن اطلاعات بیشتر اینجا کلیک کنید.
🐧 @Linuxor
find -> fd
du -> dust
tree -> broot
cut -> choose
man -> tldr , cheat
grep -> ripgrep
ls -> exa , lsd
car -> bat
top -> htop , gtop , bottom , glances
diff -> delta
df -> duf
ack -> ag
sed -> jq , sd
history -> mcfly
ping -> gping
ps -> procs
curl -> curlie , httpie , xh
cd -> zoxide
dig -> dog
برای نصب هرکدوم و دیدن اطلاعات بیشتر اینجا کلیک کنید.
🐧 @Linuxor
❤45👍12🗿6💅3
بر خلاف سیستم عامل هایی مثل ویندوز، اوپن سورس بودن لینوکس باعث شده ماهیانه صدها باگ توش پیدا بشه.
کرکهوف یه جمله جالبی داره که میگه امینت یه سیستم باید به کلید اون وابسته باشه، نه به مبهم موندن طراحی اون.
شرکت های بزرگ هم انتظار بیشتری ندارن مثلا وقتی یه شرکتی درشو قفل میکنه و کلیدشو میزاره زیر گلدون جلوی در، انتظارش اینه که بدون اون کلید در باز نشه حداقل، حالا هرکی تونست اون کلیدو پیدا کنه نوش جونش.
شرکت های بزرگ از این روش خیلی استفاده میکنن که بهش میگن Security through obscurity یعنی امنیت از طریق ابهام؛ برای مثال میان نوع لینوکس مورد استفاده توی سرور هاشون رو مخفی میکنن و عملا اگه باگ خطرناکی هم توی لینوکس باشه، آسیبی بهشون نمیزنه و اینطوری هم امنیت خوب بودن طراحی رو دارن و هم امنیت مبهم بودن.
🐧 @Linuxor
کرکهوف یه جمله جالبی داره که میگه امینت یه سیستم باید به کلید اون وابسته باشه، نه به مبهم موندن طراحی اون.
شرکت های بزرگ هم انتظار بیشتری ندارن مثلا وقتی یه شرکتی درشو قفل میکنه و کلیدشو میزاره زیر گلدون جلوی در، انتظارش اینه که بدون اون کلید در باز نشه حداقل، حالا هرکی تونست اون کلیدو پیدا کنه نوش جونش.
شرکت های بزرگ از این روش خیلی استفاده میکنن که بهش میگن Security through obscurity یعنی امنیت از طریق ابهام؛ برای مثال میان نوع لینوکس مورد استفاده توی سرور هاشون رو مخفی میکنن و عملا اگه باگ خطرناکی هم توی لینوکس باشه، آسیبی بهشون نمیزنه و اینطوری هم امنیت خوب بودن طراحی رو دارن و هم امنیت مبهم بودن.
🐧 @Linuxor
🔥57👍34❤5🤔3💅2
این Vulkan چیه که انقدر توی لینوکس سرو صدا کرده؟
در واقع Vulkan یه رابط گرافیکیه که به بازی ها و برنامه ها اجازه میده از سخت افزار گرافیکی استفاده کنن (دقیقا مثل OpenGL یا DirectX مایکروسافت و Metal اپل)
خوبی Vulkan اینه که روی همچی اجرا میشه و فقط مختص لینوکس نیست، بخاطر سربار کمتر استفاده بهینه تر از سخت افزار به شما پرفومنس بالا تری میده و از سال پیش داره توسط NVIDIA پشتیبانی میشه و ایده اصلیش از پروژه مشابه که مال شرکت AMD که تجربه زیادی توی ساختن رابط گرافیکی داره مشتق شده. (نجار ها اره های بهتری رو انتخاب میکنن)
البته Vulkan فقط برای لینوکس نیست، در واقع روی همه سیستم ها کار میکنه و توی اندروید 13 تمرکز زیادی روش شد و روی نیتیندو سویچ و حتی هارمونی او اس هم پیاده شده.
البته Vulkan روی لینوکس تهدیدی برای مایکروسافت و ویندوز نیست، Vulkan اوپن سورسه و روی ویندوز هم اجرا میشه. اما خلاء لینوکس رو توی گیمینگ رو پر میکنه و ممکنه توی این صنعت که از ویندوز عقب تر بود به کمک عوامل بهتر دیگه ای که داره جلو بزنه.
🐧 @Linuxor
در واقع Vulkan یه رابط گرافیکیه که به بازی ها و برنامه ها اجازه میده از سخت افزار گرافیکی استفاده کنن (دقیقا مثل OpenGL یا DirectX مایکروسافت و Metal اپل)
خوبی Vulkan اینه که روی همچی اجرا میشه و فقط مختص لینوکس نیست، بخاطر سربار کمتر استفاده بهینه تر از سخت افزار به شما پرفومنس بالا تری میده و از سال پیش داره توسط NVIDIA پشتیبانی میشه و ایده اصلیش از پروژه مشابه که مال شرکت AMD که تجربه زیادی توی ساختن رابط گرافیکی داره مشتق شده. (نجار ها اره های بهتری رو انتخاب میکنن)
البته Vulkan فقط برای لینوکس نیست، در واقع روی همه سیستم ها کار میکنه و توی اندروید 13 تمرکز زیادی روش شد و روی نیتیندو سویچ و حتی هارمونی او اس هم پیاده شده.
البته Vulkan روی لینوکس تهدیدی برای مایکروسافت و ویندوز نیست، Vulkan اوپن سورسه و روی ویندوز هم اجرا میشه. اما خلاء لینوکس رو توی گیمینگ رو پر میکنه و ممکنه توی این صنعت که از ویندوز عقب تر بود به کمک عوامل بهتر دیگه ای که داره جلو بزنه.
🐧 @Linuxor
🔥86👍37❤🔥1🤣1🗿1
یه تئوری جالبی تو احتمالات هست که میگه اگه 57 نفر توی یه اتاق باشن به احتمال 99 درصد دونفرشون تاریخ تولد یکسانی دارن ! (پارادوکس تاریخ تولد)
یه تابع هش کننده فایل، تعداد محدودی خروجی داره (توی مسئله بالا تابع هش ما که تاریخ تولد بود 365 تا خروجی داشت) با استفاده از این تئوری میشه با تست کردن کمتر از اون چیزی که فکرشو کنید دوتا فایل ساخت که هش هاشون یکسان باشه.
🐧 @Linuxor
یه تابع هش کننده فایل، تعداد محدودی خروجی داره (توی مسئله بالا تابع هش ما که تاریخ تولد بود 365 تا خروجی داشت) با استفاده از این تئوری میشه با تست کردن کمتر از اون چیزی که فکرشو کنید دوتا فایل ساخت که هش هاشون یکسان باشه.
🐧 @Linuxor
🔥52🤔34👍11👎6🗿3