sudoism – Telegram
sudoism
24 subscribers
26 photos
3 videos
3 files
19 links
میشه باگ من رو حل کنی؟

در مسیر دنیایی زیباتر با نرم افزار آزاد.
کامپیوتر من نرم افزارهای متن باز بیشتری میخواد.

Github: github.com/sisyx

Telegram: @sajadLoop
Download Telegram
ـxfce اعلام کرد تقریبا 14 میلیون کاربر لینوکس از محیط دسکتاپ xfce استفاده میکنن. xfce سریع، سبک، استیبل، قابل شخصی سازی و متن بازه و همونطور که از اسمش پیداست، فقط با پروتکل Xorg کار میکنه.

لینک خبر:
https://alexxcons.github.io/blogpost_9.html
#خبر
پروتون ساخت برنامه های دسکتاپ لینوکسش رو شروع کرده. و الآن پروتون میل بتا برای توزیع ها دبیان بیس و رد هت بیس قابل نصبه.

https://proton.me/mail/download
#خبر
👍1🔥1
😁61
LPI_Learning_Material_101_500_en.pdf
8 MB
یه کتاب خوب برای یادگیری الپیک 1 از خود سازمان الپیک. زبان انگلیسیه و بهترین رفرنس برای یادگیریه.

#کتاب
3
برای برنامه های آزاد اندرویدی گوگل استور جای خوبی نیست. اکثر برنامه هاش انحصاری ین و حقوق کاربر رو در نظر ندارن.

به جایش میونین از اف-دروید که منبع خوب و منظم نصبِ برنامه های اندرویدی آزاده استفاده کنیم.

https://f-droid.org/fa

#جایگزین #نرم_افزار_آزاد
همچنین دیدن این لیست 40 تایی برنامه های آزاد خالی از لطف نیست.

https://itsfoss.com/open-source-android-apps/?ref=news.itsfoss.com

#نرم_افزار_آزاد
بخشی از سورس ls

با زبان C نوشته شده. این قسمت یه ساختمان داده یا data STRUCTure تعریف می‌کنه که قراره اسم فایل، اسم لینک اگه وجود داشت، نوع فایل، نوع لینک و چند تا چیز دیگه رو در خودش ذخیره کنه.

یه فکت جالب در مورد زبان c اینه که وقتی از ستاره پشت یه متغییر استفاده میکنی یعنی اون متغییر صرفا یه لینکه به یه بخشی از حافظه ی رم.
اینم پنجاه کامیت اول این پروژه‌.

http://git.savannah.gnu.org/cgit/coreutils.git/log/?ofs=30050

#نرم_افزار_آزاد
1
fstab: file system table

سیستم عامل لینوکسی با خوندن fstab‌ میفهمه هر پارتیشنی رو کی، چطور، کجا با چه دسترسی هایی و... مونت* کنه.
چیزی که در عکس(1) می‌بینید از فایل
/etc/fstab
منه.

اینجا هر خط یه ورودی میگیره که کافیگ مخصوص یک پارتیشن رو در خودش داره. مثلا خط سوم کانفیگ پارتیشن روت(/) رو داره.

برای هر پارتیشن ۶ فیلد داریم که باید همه شون پر بشن. اولین فیلد، همون‌طور که در عکس هم پیداست برای تعیین پارتیشنه. یعنی با این فیلد میفهمیم که کدوم پارتیشن رو می‌خوایم تو این خط کانفیگ کنیم. توی این فیلد میتونیم UUID، اسم(/dev/sdxY) لیبل، /cdrom یا... ی پارتیشن مورد نظر رو قرار بدیم. که من فقط از UUID استفاده کردم. با کامند
lsblk -f 

هم میتونیم اطلاعات مورد نیاز پارتیشن مثل اسم، UUID, لیبل، نوع فایل سیستم رو به دست بیارم. خروجیش‌ رو برای من در عکس(2) می‌بینید.
👍2
فیلد دوم mountpoint رو تعیین میکنه. محلیه که درنهایت پارتیشن درونش مونت میشه. بدیهیه که پارتیشن روت رو در / مونت میکنیم و بوت رو در /boot. بهتره که پارتیشنها رو در mountpoint های نامرتبط مونت نکنیم. مثلا یه پارتیشن که فیلم هامون رو میداریم توش نباید توی /boot مونت بشه. که باعث میشه سیستم به درستی بوت نشه. mountpoint های مناسب پارتیشن های اضافی و غیر اصلی میتونه
/mnt/DIR /tmp/DIR /use/run/media
باشن. چرا که اینها وظیفه ی خاصی بر عهده ندارن و ارزششون به اندازه‌ی mountpoint هایی مثل
/etc, /lib, /bin
نیست.
/etc
محل تنظیمات و فایلهای کانفیگ،
/lib
کتابخونه‌های اشتراکی و
/bin
باینری ها هست.
اما جایی مثل /tmp فقط برای فایلهای موقتی هست که بعد از ریبوت شدن سیستم پاک میشن و مسئولیت خاصی توی سیستم بر عهده نداره. البته اینها استانداردهای سیستم های لینوکسی ین و تغییر دادنشون دست خودمونه.

فیلد سوم نوع فایل سیستمه. اینجا فقط نیازه که اسم فایل سیستم پارتیشن رو بنویسیم. اگر
فایل سیستم روشی یه که سیستم عامل برای ذخیره، مدیریت و منظم کردن فایل ها و دایرکتوری ها استفاده می‌کنه. بعضی فایل سیستم ها مثل ext4 میتونین دسترسی به فایل ها رو برای افراد محدود کنن، بعضی ها قابلیت journaling دارن که اتفاقات رو ضبط و ذخیره میکنن.

فایل سیستم اصلی(و انحصاری) ویندوز
NTFS(New Technology File System)
هست.
فایل سیستم لینوکس در ابتدا Minix بود ولی EXT به زودی جاش رو گرفت. در حال حاضر هم معمولا از ext4 و ext2 استفاده میکنن که اینها نسخه‌های ارتقاء یافته‌ی همون EXT هستن. سیستم عامل های لینوکسی معمولا ext4 رو برای پارتیشن روت و ext2 رو برای پارتیشن بوت در نظر میگیرن.
در لینوکس یه فایل سیستم قوی و عجیب هم هست به اسم swap. این فایل سیستم میتونه به عنوان رم استفاده بشه، یعنی اگر رم پر شد میتونه مقداری از اطلاعات رم که کمتر استفاده میشن رو بریزه توی خودش تا فضای رم خالی بشه و سیستم بتونه کار کنه. اما باید در نظر داشت که اگه حافظه‌ی زیادی بهش اختصاص بدیم در حالی که حافظه‌ی رم پایینه ممکنه باعث کندی سیستم بشه.

فایل سیستم usb ها معمولا fat32 هست که می‌تونه هم در لینوکس و هم در ویندوز بدون مشکل استفاده بشه.

فیلد چهارم ویژگی های مونته.
ـ auto/noauto: اگه auto در گزینه ها باشه یعنی پارتیشن به همراه بوت شدن سیستم مونت میشه. noauto برعکسش عمل میکنه.
ـ exec/noexec: تعیین میکنه فایلهای پارتیشن قابل اجرا باشن یا نه.
ـ ro/rw: این اپشنها نوع دسترسی به فایل رو تعیین میکنن. RO مخفف read-only و RW مخفف read-write ـه. اگه ro جزو گزینه ها باشه یعنی نمیتونیم تغییری در پارتیشن ایجاد کنیم و اگه rw باشه یعنی این اجازه رو داریم.
ـ defaults:
=rw, suid, dev, exec, auto, nouser, async
ـ x-gvfs-show: اگه چنین ویژگی ای لیست شده باشه یعنی میتونیم پارتیشن رو در لیست پارتیشن های منوی فایل منیجر ببینیم. اگه هم نه باید بریم توی جایی که مونتش کردیم که این باعث میشه گاهی چنین چیزی رو برای رسیدن بهش بنویسیم:
cd /usr/run/USER/media/LABLE

فیلد پنجم تعیین میکنه از پارتیشن توسط dump backup utility یا ابزار بکاپ دامپ(=|) بکاپ بگیریم یا نه. اگه 0 باشه یعنی نه، اگه 1 باشه یعنی آره. اما این ابزار دیگه خیلی استفاده نمیشه و بهتره همه پارتیشنا رو بذاریم روی 0.


فیلد ششم ترتیب چک کردن پارتیشن ها رو توسط fsck که مسئولیت تشخیص و تعمیر فایل سیستم رو بر عهده داره معین میکنه.

اگه 0 باشه یعنی پارتیشن اصلا چک نشه.
اما بعد از صفر هرچقدر عدد بزرگتر باشه یعنی دیرتر چک بشه. به همین خاطر برای پارتیشن بوت این فیلد رو 1 قرار میدن.

#لینوکس
👍5
#شل_اسکریپت

تغییر اسم کامند
با django-admin امتحان میکنیم. ولی برای کامندای دیگه هم میشه استفاده کرد.

اول یه فایل می‌سازیم به اسم dja:
touch dja

اسم فایل در نهایت اسم کامند میشه. پس هرچی که باهاش راحت تر بودیم میذاریم. بعدش فایل /bin/django-admin رو در dja کپی میکنیم:
cat /bin/django-admin > dja

بعدش فایل dja رو در دایرکتوری /bin کپی میکنیم:
cp dja /bin

حالا میتونیم اجراش کنیم، اما قبلش باید بهش اجازه‌ی اجرا شدن بدیم:
chmod +x /bin/dja

حالا میتونیم پروژه های جنگو رو با dja بسازیم. کامند قبلی هم در دسترسه.
2
پروژه‌ی نئوفچ به آخر خطش رسید. توسعه دهنده‌ش تصمیم گرفت به کشاورزی روی بیاره.

https://news.itsfoss.com/neofetch-rip/
دوره‌ی فوق‌العاده‌ی آموزش بش اسکریپت:
https://youtube.com/playlist?list=PLALZo15hcTS5-tA444SsCCWik4P24olH_&si=zXRYrbEL3Pt5hIU4

و همچنین یه برگه تقلب(cheat sheet) عالی بش اسکریپت(مرسی از MH DaneshPejooh):
https://devhints.io/bash

#شل_اسکریپت
برای اینکه کدهای پایتونتون مستقیما توسط پایتون اجرا بشن میتونید اول کد بنویسین
#! /usr/lib/python3

یا برای rust:
#! /usr/lib/rustc

یا zsh به جای bash
#! /usr/bin/zsh

این ‌شبنگه و مفسر فایل رو تعیین میکنه. با تعیین شبنگ هر جا کد اجرا بشه مفسرش همیشه یکسان خواهد بود.

https://en.m.wikipedia.org/wiki/Shebang_(Unix)
#شل_اسکریپت
👏1
Dylan Araps - Pure Bash Bible (2018).pdf
271.3 KB
کتاب مقدس بش خالص

The goal of this book is to document commonly-known and lesser-known methods
of doing various tasks using only built-in bash features.
هدف این کتاب این است که متدهای شناخته شده و شناخته نشده‌ی انجام کارهای مختلف را تنها با خاصیت های بش معرفی کند.(از مقدمه‌ی کتاب)

#شل_اسکریپت
#کتاب
sudoism
Dylan Araps - Pure Bash Bible (2018).pdf
نویسنده‌اش از 14 سالگی مدرسه رو ول کرده بود و رفت دنبال برنامه نویسی و لینوکس و از همون بچگی تو این کار آدم موفقی بوده.
یه کتاب دیگه هم داره که مثل قبلیه ولی این بار زبانش به جای بش، shـه. مرسی از Wowland و Mr. 3.14 بابت معرفی.

https://github.com/dylanaraps/pure-sh-Bible
👏1🙏1