اردیبهشت ۱۲ ۱۳۹۷

نسخه نهایی لینوکس فدورا ۲۸ منتشر شد

fedora28

 

فدورا ۲۸ اینجاست! سرانجام پس از انتشار نسخه ی بتا از فدورا ۲۸ اکنون به اطلاع می رساند که نسخه نهایی توزیع Fedora 28 منتشر شد و هم اکنون در دسترس و قابل استفاده می باشد.فدورا توزیعی از سیستم عامل قدرتمند گنو/لینوکس می باشد که همواره سعی می کند آخرین فناوری های نرم افزارهای آزاد را به ارمغان بیاورد.

فدورا ۲۸ در این نسخه شاهد تغییراتی می باشد که برخی از آنها به شرح زیر می باشند :

 

  • پشتیانی از نسخه ی ۶۴ بیتی برای معماری ARM
  • استفاده از میزکار Gnome 3.28 در نسخه ی Workstation
  • استفاده از VirtualBox guest additions به صورت پیش فرض
  • استفاده از Kebernetes 1.9 در Fedora 28 Atomic Host برای orchestrating container-native
  • استفاده از نسخه ی glibc 2.27
  • استفاده از آخرین نسخه ی  GNU Compiler Collection (GCC) 8
  • بروزرسانی چندین زبان برنامه نویسی از جمله Golang 1.10 و Ruby 2.5
  • رفع باگ و بروزرسانی چندین بسته ی نرم افزاری

 

 

فدورا ۲۸ دارای طیف وسیعی از نسخه ها می باشد که با میزکارهای مختلف و همچنین برای معماری های گوناگون منتشر می شود.اکنون با توجه به معماری سیستم و سلیقه ی خود می توانید نسخه ی مانسب را دانلود کنید.

 

 

دانلود نسخه نهایی فدورا ۲۸ :

 

برای دانلود نسخه ی workstation که برای کاربران خانگی می باشد و به صورت پیش فرض با میزکار Gnome می باشد می توانید از لینک پایین استفاده کنید :

 

https://getfedora.org/workstation/

 

برای دانلود فدورا ۲۸ با میزکارهای مختلف مانند KDE,XFCE,LXDE و سایر میزکارها که مناسب کاربران خانگی می باشند می توانید نسخه ی مورد نظر خود را از لینک پایین دانلود کنید :

 

 

https://spins.fedoraproject.org/

جهت دانلود نسخه ی Atomic Host می توانید از لینک پایین استفاده کنید :

 

https://getfedora.org/atomic/

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

 

 

https://getfedora.org/server/

جهت دانلود فدورا ۲۸ برای کارهای آزمایشگاهی و خاص می توانید از نسخه ی Fedora Labs استفاده کنید :

 

https://labs.fedoraproject.org/

برای اجرای فدورا در محیط های ابری مانند EC2 Amazon یا OpenStack  و یا سایر محیط های ابری می توانید از Fedora Cloud Base استفاده کنید :

 

https://cloud.fedoraproject.org/

برای دانلود فدورا ۲۸ برای دستگاه هایی با معماری ARM مانند Raspberry Pi 2 و Raspberry Pi 3 می توانید از لینک پایین استفاده کنید :

 

https://arm.fedoraproject.org/

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

 

https://torrent.fedoraproject.org/

 

 

 


فروردین ۱۴ ۱۳۹۷

تسکی که به خیر گذشت.

توی شرکت به این نتیجه رسیده بودیم که یه تعداد از فایل‌هایی که روی سرور داریم اضافی هست و باید کلاً پاک بشن. من که می‌گم یه تعداد شما خودتون یه تعداد خیلی بالا رو در نظر بگیرید. برای این کار از طرف یه تیم دیگه لیست فایل‌هایی که برامون مهم هستن و باید بمونن رو بهم ارسال کرده بودن (لیست A) و من باید همه‌ی فایل‌های غیر از اونها رو از روی استوریج پاک می‌کردم.

سناریوی خیلی پیچیده‌ای نیست کافیه من لیست فا‌یل‌های موجود رو تهیه کنم (لیست B)، فایل‌هایی از لیست ‌B که داخل لیست A هستن رو حذف کنم و لیست C رو بسازم و دونه دونه‌ی فایل‌های موجود توی لیست C رو حذف کنم. 🙂 خب من هم همین کار رو کردم. طبیعتاً این کار رو دستی انجام نمی‌دم و انتخاب اوّلم برای انجامش اسکریپت Bash بود. یه حلقه‌ی while که خطوط لیست B رو دونه دونه می‌خوند و توی لیست A دنبال اون می‌گشت اگر پیداش نمی‌کرد اون رو به یه فایل دیگه تحت عنوان فایل‌های لیست C اضافه می‌کرد.

از اونجایی که آدم خیلی محتاطی هستم و عملاً امکان تهیه‌ی نسخه‌ی پشتیبان نداشتم (حجم و تعداد فایل‌ها این اجازه رو به ما نمی‌داد!) حداقل‌ها رو برای کاهش خطا انجام دادم. در مرحله‌ی اوّل تعداد فایل لیست‌ها رو با یه جمع و تفریق ساده بررسی کردم چون اصولاً باید

(تعداد فایل‌های لیست B) – (تعداد فایل‌های لیست A) = (تعداد فایل‌ها لیست C)

حداقل دوّم این بود که چند تا از فایل‌های توی لیست C رو به صورت رندم توی لیست A چک کنم تا مبادا (احتمال خیلی خیلی پایین) اسکریپت اشتباه کرده باشه.

من در مرحله‌ی جمع و تفریق به مشکل خوردم. این معادله برقرار نبود!!!! تعداد اختلاف خیلی خیلی بالا بود. اسکریپت به خوبی و بدون خطا داشت اجرا می‌شد، بدون خطا تموم می‌شد ولی خروجی اون چیزی نبود که باید باشه. چیزای مختلفی رو چک کردم. کنار لیست C یه لیست دیگه به اسم D ساختم تا شروط به شکل if … else بررسی بشن و دقیقاً عملکرد اسکریپت رو ببینم ولی نتیجه تفاوتی نداشت. انواع لاگ‌ها رو فعال کردم ولی چیزی عایدم نشد. اسکریپت بدون خطا تموم می‌شد ولی جمع و تفریق اختلاف خیلی خیلی زیادی با مقادیر مورد انتظار داشت. در نهایت به صورت تصادفی متوجه شدم اسکپریت داخل لیست B از یه خطی جلوتر نمی‌ره و فقط ۱۵۰هزار تا (البته حدوداً چون مقدار واقعی یه خورده کمتر بود!) فایل رو چک می‌کنه!! هنوز نمی‌دونم مشکل چی بوده ولی خیلی مسخره بود. پس این اسکریپت رو بی‌خیال شدم و رفتم سراغ پایتون. خیلی بهتر از Bash عمل کرد و کار رو یک سره کرد برام.

بعد از اینکه دوتا حداقل احتیاطی رو رد کردم لیست واقعی فایل‌هایی که باید حذف می‌شدن جلوی روم بود. اقدام احتیاطی سوّم این بود که به جای حذف فایل‌ها اونها رو به یه دایرکتوری دیگه منتقل کنم و مثلاً چند روز منتظر بمونم اگر داد کسی در نیومد در نهایت یه جا پاکشون کنم ولی حجم فایل‌ها، تعداد فایل‌ها، ددلاین و فشار‌های کاری دیگه این اجازه رو بهم ندادن و مجبورم کردن مستقیم وارد پرسه‌ی حذف بشم و تا تموم شدن اون و حتی تا چند روز بعد از اون استرسش تحمل کنم. الان که دیگه همه چیز به خوبی و خوشی تموم شده به این نتیجه رسیدم اگر بار دیگه همچین تسکی داشته باشم و حتی اگر حجم و تعداد فایل‌ها اجازه‌ی تهیه‌ی پشیبان رو ندن به این صورت عمل کنم که همه‌ی فایل‌ها رو به شکل کاملاً ترتیبی تغییر نام بدم تا اگر فایلی به اشتباه داخل این لیست بود بتونم به راحتی ریکاورش کنم (البته به شرطی که اون «فشار‌های کاری دیگه» که بالا گفتم وجود نداشته باشن.)

چون آدم فراموشکاری هستم اینها رو نوشتم تا اون «دفعه‌ی بعد» بدونم چه تصمیماتی داشتم. شما چه ایده‌/تجربه‌ای دارید؟


بهمن ۲۶ ۱۳۹۶

چرا باید زبان برنامه نویسی پایتون را یاد بگیریم؟

سال ۲۰۱۷ نقطه عطفی برای زبان برنامه نویسی پایتون بود. به گواه آمار و داده های وبسایت Stack Overflow ، پایتون در این سال در […]

نوشته چرا باید زبان برنامه نویسی پایتون را یاد بگیریم؟ اولین بار در اوپن مایند. پدیدار شد.