انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: { AliReaza } در 23 اسفند 1394، 11:58 قظ
-
سلام به همه دوستان
تفاوت اصلی بین Android و Linux در چیست؟
نمی خوام بگین که چه فرقی دارند و ... :-X
کلا از نظر برنامه و ساختار می خوام بدونم تفاوتشون در چیه؟!
مثلا آموزش هایی هست که با Chroot توزیعات مختلف Linux را بر روی Android پیاده سازی میکنند.
اما من نمی خوام توزیع پیاده سازی کنم و میخوام در خوده Android برنامه مستقیم نصب کنم. مثلا Mail Server یا Nginx و... ;D
اصلا این کارها شدنی هست؟
چطوری؟
یا مثلا در Android از Bionic استفاده میشه، آیا میشه GNU C را هم در کنارش نصب کرد؟ اصلا تفاوت این دوتا چیه؟ :o
کلا هسته Linux استفاده شده در Android چقدر با هسته Linux استفاده شده در توزیعات PC ( مثل Ubuntu ) تفاوت و شباهت داره؟ ???
مثلا همان طور که میدانید در توزیعات مختلف می توان چند کاربر ساخت، چطوری میشه همین کار را در Android انجام داد؟ :P
یا مثلا چطوری میشه از sudo در Android استفاده کرد؟ :P
با توجه به اینکه گفته میشه Android از هسته Linux استفاده میکنه، آیا می توان تمام کارهایی که در توزیعات رومیزی انجام داد را در Android هم انجام داد؟ ???
-
بهتر میشد اگر برای هر سوال یک مطلب ایجاد میکردی تا دیگران بعداً راحتتر به جواب برسن (برای مثال؛ تفاوت کرنل لینکوس و اندروید).
http://www.zdnet.com/article/patrick-brady-dissects-android
-
بهتر میشد اگر برای هر سوال یک مطلب ایجاد میکردی تا دیگران بعداً راحتتر به جواب برسن (برای مثال؛ تفاوت کرنل لینکوس و اندروید).
http://www.zdnet.com/article/patrick-brady-dissects-android
خیلی ممنون
چندی از این سوالات زیاد مهم نیستند. ( نه که اهمی )
اصل سوال اینه که آیا میتوان به هسته Android به عنوان یک هسته Linux کامل نگاه کرد و برنامه هایی که در توزیعات دیگر استفاده می شوند را روی آن نصب کرد؟ چطوری؟
-
اصل سوال اینه که آیا میتوان به هسته Android به عنوان یک هسته Linux کامل نگاه کرد و برنامه هایی که در توزیعات دیگر استفاده می شوند را روی آن نصب کرد؟ چطوری؟
خیلی از کارهایی که در سایر توزیعات لینوکس میشوند انجام داد، بر روی Android نیز قابل اجرا هستند. تجربه شخصی من نصب و کامپایل برنامههایی مانند midnight commander و ncdu و خیلی برنامههای دیگر بر روی یک گوشی root شده آندروید است. برای این کار باید Cross Compile یا کامپایل کردن برنامههای برای CPU غیر از دسکتاپ خودتان را بلد باشید. یا اینکه gcc را بر روی خود گوشی نصب کنید. تقریبا تمام گوشیها و تبلتها و سایر وسایل Android از CPU های خانواده ARM استفاده میکنند که با CPU های خانواده x86 کامپیوترهای معمولی متفاوت است. بنابراین باید باینری قابل اجرا مخصوص آن CPU ها از سورس برنامه کامپایل شود.
از سوالات شما این طور برداشت میکنم که تجربه زیادی در کار با gcc و کامپایل کردن برنامهها از سورس آنها ندارید. به نظر من مدتی وقت بگذارید و کامپایل و نصب برنامهها از سورس به جای استفاده از مخازن را تمرین کنید. سپس یک گوشی ارزان قیمت یا دست دوم قدیمی آندروید را root کنید یا کلا CyanogenMod روی آن نصب کنید (یک نسخه آندروید مناسب برای برنامه نویسها). بعد از نصب برنامهای مانند SSHDroid میتوانید به گوشی SSH کنید. و با نصب برنامهای مانند BusyBox (https://en.wikipedia.org/wiki/BusyBox) این امکان را خواهید داشت که اکثر فرامین پر استفاده خط فرمان لینوکس را بر روی گوشی داشته باشید. مسیرهای mount شدن و home directory و خیلی چیزهای دیگر با اوبونتو یا سایر توضیعهای لینوکس کمی فرق دارند. ولی در کل یکی است.
پس از آن میتوانید از گوشی برای خیلی کارها استفاده کنید. مثلا بگذارید Torrent های شما را در شب دانلود کند (و بر روی sdcard ذخیره کند). یا برای اشتراک گذاشتن فایلها، web server و خیلی کارهای دیگر.
استفاده از منابعی انگلیسی لازم خواهد بود. منابع فارسی محدود میباشند. در هر صورت باید یک Learning Curve (https://en.wikipedia.org/wiki/Learning_curve) را طی کنید. یعنی برای راه افتادن باید وقت بگذارید و شروع کار سخت خواهد بود. موفق باشید.
-
سلام
خیلی ممنون از پاسخ کاملتان
فقط اگر میشه کارهایی که انجام دادید را هم در اینجا توضیح دهید.
مثلا چطوری Complie کردید و...
چطوری میشه gcc و برنامه های دیگر را نصب کرد.
میدونم گفتید که بهتره مطالعه کرد و غیره، اما اگر از تجربه خودتون هم در اینجا قرار بدید آن هم به زبان فارسی، فوق العاده میشه.