انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: watermelon در 16 اسفند 1394، 07:51 بظ
-
توی ویندوز ساختار فایل های نصبی خیلی ساده و قابل فهم. همه نرم افزارها توی درایو c هستن و اگر هر نرم افزار جدید نصب کنی میره توی پوشه program file و یه پوشه به اسم همون نرم افزار اون جا ساخته میشه که همه فایل های مورد نیاز برای اجرای اون نرم افزار اون جاست. و از فایل اجرایی که توی اون پوشه هست یه شورت کات میسازه روی دسکتاپ. به همین سادگی! ولی توی لینوکس من کلا نفهمیدم که داستان چیه؟؟!! شورت کات هایی که میسازه فایل اصلیش کجاست؟؟؟ program file لینوکس کجاست. البته شنیدم که میگن توی فایل bin . ولی اون جا هم رفتم به جر کلی فایل با اسم های عجبب غریب چیز دیگ ای نبود.من ساختار دایرکتوری های لینوکس رو درک نکردم!
یا مشکل از درک من , یا مشکل از پیچیدگی ساختار دایرکتوری لینوکس ???
-
مشکل اینه که شما اون رو با ویندوز مقایسه میکنید و میخواید مثل ویندوز ازش استفاده کنید. :)
-
همونطور که دوست عزیزمون گفتند ، لینوکس ویندوز نیست : http://linuxbook.ir/chapters/linux_is_not_windows.html
لینوکس بسیار بسیار ساختار نظام مندی داره . برای آشنایی باهاش می تونید این رو مطالعه کنید : https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
-
اصلا مهم نیست که فایلها کجا میرن
من در طول این مدت ۷-۸ سالی که گنو/لینوکس استفاده کردم تا حالا برام سؤال نبوده که مثلا فایل اجرای فایرفاکس کجا ذخیره شدن
مهم اینه که وقتی یه برنامه گرافیکی نصب میشه خودش میاد در منوهای مربوطه مثلا فایرفاکس در بخش اینترنت قرار میگیره
اگه هم برنامه خط فرمان باشه که یه ترمینال باز میشه و دستور زده میشه
پس لزوما اهمیتی نداره که مثلا فایل اجرایی فایرفاکس کجاست، تنها چیزی که مهمه اینه که تنظمیات من داخل home ذخیره میشه که به سادگی در دسترسه
-
ساختار لینوکس، درختیه. که خیلی سادهتر از ساختار ویندوزه. همه چیز از / شروع میشه.
شورت کات های برنامه های گرافیکی نصب شده، در این شاخه وجود داره:
/usr/share/applications
که کاملا هم معنی مشخصی داره:
یوزر/فایلهای اشتراکی/اپلیکیشنها
هر باینری، فایل های خودش رو توی جاهای مختلف میریزه که کار باهاشون راحت تر باشه. نه مثل Program Files که پیچیدگی زیادی داره!
تمام تنظیمات برنامه ها در شاخه etc/ قرار میگیره درصورتی که توی ویندوز هر برنامهای تنظیماتش توی دایرکتوری خودشه که باید دردسر بکشی واسه کار کردن باهاشون.
توی لینوکس همه چیز فایله. پس باید سعی کنی بهش عادت کنی چون برات بهتره و سادهتر و قابل فهمتر میشه در نهایت و اصلا هم پیچیدگی نداره.
یه برنامه رو که نصب میکنی، فایل هاش توی این دایرکتوریها میره. مثلا:
/.
/usr
/usr/bin
/usr/bin/gxmessage
/usr/share
/usr/share/info
/usr/share/info/gxmessage.info.gz
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/48x48/apps/gxmessage.png
/usr/share/locale
/usr/share/locale/sk
/usr/share/locale/sk/LC_MESSAGES
/usr/share/locale/sk/LC_MESSAGES/gxmessage.mo
/usr/share/locale/en_NZ
/usr/share/locale/en_NZ/LC_MESSAGES
/usr/share/locale/en_NZ/LC_MESSAGES/gxmessage.mo
/usr/share/locale/sv
/usr/share/locale/sv/LC_MESSAGES
/usr/share/locale/sv/LC_MESSAGES/gxmessage.mo
/usr/share/locale/de
/usr/share/locale/de/LC_MESSAGES
/usr/share/locale/de/LC_MESSAGES/gxmessage.mo
/usr/share/locale/en_AU
/usr/share/locale/en_AU/LC_MESSAGES
/usr/share/locale/en_AU/LC_MESSAGES/gxmessage.mo
/usr/share/locale/en_GB
/usr/share/locale/en_GB/LC_MESSAGES
/usr/share/locale/en_GB/LC_MESSAGES/gxmessage.mo
/usr/share/locale/en_CA
/usr/share/locale/en_CA/LC_MESSAGES
/usr/share/locale/en_CA/LC_MESSAGES/gxmessage.mo
/usr/share/doc
/usr/share/doc/gxmessage
/usr/share/doc/gxmessage/examples
/usr/share/doc/gxmessage/examples/gxdialup
/usr/share/doc/gxmessage/examples/gxman
/usr/share/doc/gxmessage/examples/gxaddress
/usr/share/doc/gxmessage/examples/nautilus-word-count
/usr/share/doc/gxmessage/examples/gtkrc
/usr/share/doc/gxmessage/examples/gxdict
/usr/share/doc/gxmessage/examples/gxview
/usr/share/doc/gxmessage/README
/usr/share/doc/gxmessage/TODO
/usr/share/doc/gxmessage/copyright
/usr/share/doc/gxmessage/NEWS.gz
/usr/share/doc/gxmessage/AUTHORS
/usr/share/doc/gxmessage/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/gxmessage.1.gz
/usr/bin/gmessage
/usr/share/info/gmessage.info.gz
/usr/share/man/man1/gmessage.1.gz
ما تو دنیا از این سادهتر نداریم دیگه :) هر بخشی از برنامه رفته سر جای خودش و برنامه های دیگه هم دقیقا به همین شکل عمل می کنن. واسه همین میری توی etc/ می بینی به به! تمام تنظیمات برنامه ها اونجان و همه رو از اونجا میشه تنظیم کرد و نیازی نیست دونه دونه بری توی هر دایرکتوری یک برنامه تا بگردی ببینی فایل تنظیماتش کجاس ???
یا تمام آیکن ها میرن یک جا. تمام باینری ها میرن یک جا. برنامه های سیستمی یکجا و برنامه های یوزر در جای دیگه. فایل های موقت، شورتکاتها، راهنماها، لوگهاشون و تمام چیزای سیستمت حساب کتاب شده در دایرکتوری های مربوطه خودشون قرار دارن. مثل ویندوز درهم و برهم و پیچیده نیست :)
ویرایش:
البته یه چیز هم بگم. تقصیر شما نیست. چندسال با یه چیز غیراستاندارد و غیراصولی کار کردی، برات سخته که اصولیش رو یاد بگیری. واسه هرکسی که قبلا ویندوز داشته و حالا لینوکس داره همین اتفاقات پیش میاد. راه حلش هم اینه که لینوکس رو یاد بگیری تا بتونی ساختار و رفتارش رو درک کنی. و وقتی هم که درکش کنی اونقدر برات ساده میشه که حتی چیزایی که تو عمرت باهاشون مواجه نشده بودی رو میتونی با استفاده از همون اصول اولیه به راحتی تشخیص بدی و حلشون کنی.
-
دیگ واقعا بااین توضیحی که شما دادی ساختار لینوکس تا مغز و استخوانم رفت و با گوشت و پوست لینوکس رو درک کردم. :) دمت گرم که وقت گذاشتی و توضیح کامل و شفاف دادی. kosha دم تو هم گرم که کتاب رو معرفی کردی. کتاب خوبیه!
به نظرم با حال تر از سیستم عامل لینوکس و قدرست فنی ش فلسسفه گنو که باعث میشه کاربر هاش بدون هیچ چشم داشتی این قدر هوا ی تازه وارد ها رو داشته باشن و کمک کنن.
-
دیگ واقعا بااین توضیحی که شما دادی ساختار لینوکس تا مغز و استخوانم رفت و با گوشت و پوست لینوکس رو درک کردم. :) دمت گرم که وقت گذاشتی و توضیح کامل و شفاف دادی. kosha دم تو هم گرم که کتاب رو معرفی کردی. کتاب خوبیه!
به نظرم با حال تر از سیستم عامل لینوکس و قدرست فنی ش فلسسفه گنو که باعث میشه کاربر هاش بدون هیچ چشم داشتی این قدر هوا ی تازه وارد ها رو داشته باشن و کمک کنن.
اون کتاب لینوکس ویندوز نیست، سادهترین چیزیه که یه آدم میتونه به راحتی باهاش کنار بیاد و درکش کنه. واقعا چیزایی میگه که هر لینوکس کار معتقد به فلسفهی گنولینوکس، تأییدش میکنه. چه از لحاظ تئوری چه عملی.
ساختار لینوکس بحث مفصلتری نسبت به چیزی که من گفتم داره. همون لینک ویکیپدیا که کوشا گذاشت رو حتماً نگاه کن. من در حدی توضیح دادم که متوجه بشی توی لینوکس اصولا محتویات یه برنامه چجوری روی حافظه ذخیره میشن.
پیچیدگی لینوکس فقط دلیلش عادت کردن کاربر به ویندوزه. درصورتی که لینوکس کلا چیز پیچیدهای نداره و عین یه زبون برنامه نویسی میمونه فقط باید انگلیسی بلد باشی :) برای همین میگن لینوکس بهشت برنامهنویسهاس. شما چه بخوای چه نخوای توی لینوکس برنامه نویس میشی :D چون خشت اولش رو اینجوری گذاشتن. چون اولین کدهاش رو یه عده گیک و خورهی برنامه نویسی نوشتن و همیشه هم خروجیش یه برنامه نویسه :) شما لینوکس رو یاد نگرفتی مگر اینکه خودتو ببینی که برنامه نویس شدی.
مسلما فان بودن گنولینوکس به خاطر فلسفهشه و همین فلسفهشه که باعث شده از نظر قنی هم قوی بشه. شما دقیقا قدرت لینوکس رو جاهایی می بینی که به خاطر فلسفهش (که آزادی نرم افزاره) بوجود اومده.
شما پای یه توزیع لینوکسی که میشینی، خودت رو شُل بگیر، ببین تا کجاها که نمی بردت ;) (یعنی از چیزایی که باهاش مواجه میشی نترس و سعی کن درکش کنی و مقاومت نکن)
-
شما لینوکس رو یاد نگرفتی مگر اینکه خودتو ببینی که برنامه نویس شدی.
این جملهات رو خیلی دوست داشتم. چشمتو باز میکنی میبینی برنامهنویس شدی!
-
این جملهات رو خیلی دوست داشتم. چشمتو باز میکنی میبینی برنامهنویس شدی!
;)
لینوکس کاری به سر آدم میده که برای لحظات فان زندگی و حتی کارهای روزمره آدم میشینه برنامه می نویسه. درصورتی که توی سیستم عامل های غیریونیکسی، آدم زمانی دست به کد میشه که قرار باشه از یه برنامه پول دربیاره. کلا شرایط محیطی لینوکس اینجوریه و آدم سریع باهاش وفق پیدا میکنه (سریع که میگم یعن ۲−۳ سال) اصلا همین نگاه که میگیم یه لینوکسکار برنامه نویس میشه، به خاطر فلسفهشه وگرنه کسی که فلسفهی گنولینوکس رو ندونه، اصلا براش قابل هضم نیست که چرا باید برای زندگی کردن توی لینوکس، برنامه نویس بشه ;D
-
البته ۲-۳ سال هم خیلی دیگه زیاده :)
-
... چرا باید برای زندگی کردن توی لینوکس، برنامه نویس بشه ;D
برای این که ۷۸.۳۲٪ برنامههای مورد نیاز در رپوزیتوریها (به فارسی مخازن میگن؟) وجود ندارند و باید آنها را از سورس کامپیال کرد :P
-
من تا حالا به انجام همچین کاری نیاز پیدا نکردم و بر عکس نظر شما فکر میکنم :) برنامه هایی که نیازند ، اغلب داخل مخازن موجودند .
-
منم هرچی میخواستم توی مخازن بودن.
-
بله. من شوخی کردم. اکثر برنامههای مورد نیاز در مخازن وجود دارند. هیچکس هم اینقدر دچار توهم نیست که سورس همه برنامهها را برای اینکه جاسوس افزار نداشته باشند مطالعه کند. یا اینقدر نیاز به آخرین نسخه برنامهها داشته باشد که مجبور شود از سورس کامپایل کند. امیدوارم دوستان این حقیر را بابت شوخی ببخشند.
جدا از شوخی، خیلی از سوالاتی که در انجمن هستند به این خاطر است که ما وقت کمی برای Wiki انجمن میگذاریم.
-
:)
در مورد ویکی موافقم ، اگر کامل بشه ، خیلی از نقاط ابهام رفع خواهند شد .
-
البته ۲-۳ سال هم خیلی دیگه زیاده :)
برای درک تمامی نقاط گنولینوکس ۲−۳ سال حداقلشه :)
ما آدم داریم ۵ سال لینوکس کار میکنه ولی هنوز نمیدونه چرا لینوکس کار میکنه ;)
برای این که ۷۸.۳۲٪ برنامههای مورد نیاز در رپوزیتوریها (به فارسی مخازن میگن؟) وجود ندارند و باید آنها را از سورس کامپیال کرد :P
خب همون کامپایل کردنش باعث میشه کاربر به سمت برنامه نویس شدن سوق پیدا کنه. از وقتی که دست به کد میشی توی لینوکس، یعنی لینوکس داره آمادهت میکنه که برنامه نویس بشی :D
یعنی از همون اولی که میزنی sudo، لینوکس داره یه برنامه نویس جدید معرفی میکنه به دنیا ;D
البته تا برنامه نویس شدن چندسالی وقت لازمه ولی جرقهی اولش رو همون sudo میزنه ;D
-
برای درک تمامی نقاط گنولینوکس ۲−۳ سال حداقلشه :)
ما آدم داریم ۵ سال لینوکس کار میکنه ولی هنوز نمیدونه چرا لینوکس کار میکنه ;)
خب شما نگفتید "درک تمامی نقاط" ، گفتید برای اینکه "وفق پیدا کنیم" . برای وفق پیدا کردن و احساس راحتی چند ماه بیشتر زمان نیستش اما برای درک تمامی نقاط اون ۲-۳ سال خیلی هم کمه .
-
منظور من از وفق پیدا کردن یعنی درک تمامی نقاط ;D
اینکه فقط یاد بگیری چجوری باهاش کار کنی به معنی وفق نیست. وفق کامل یعنی اینکه گنولینوکس رو با تمام وجودت حس کنی و درکش کنی. یعنی تمامی نقاطش رو بشناسی و درک کنی. اون موقع اون وفق پیدا کردنه بوجود میاد.