گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

گیت (Git) و مشکل تغییر Permission ها و نیاز به Staged کردن دوباره فایل ها

نویسنده:
3 فوریه 18

من از Git و مخازنم (Repo ها) در مکان‌های مختلفی استفاده میکنم و Permission ها و تغییرات توی دسترسی فایل‌ها سیستم به سیستم متفاوت هست. اخیراً متوجه شدم برخی مواقع وقتی میخوام Pull کنم یکسری فایل که تغییری هم نداشتن به عنوان تغییر یافته نیاز به Staged شدن توسط Git گزارش میشه که خیلی این موضوع برام عجیب بود.

بعد از استفاده از git diff و خروجی که به صورت Old Mode و New Mode بود متوجه شدم به خاطر تغییر Permission هست که Git اعلام تغییر میکنه و میخواد فایل دوباره Staged بشه.

خوب دقیقاً نمیدونم چرا چنین بررسی لازم هست اما قطعاً میدونم روی ماشین‌های Development من نیازی نیست بررسی روی تغییرات chmod یا همون Permission ها انجام بشه. پس دنبال راه حل گشتم و متوجه شدم با دستور زیر توی مخزن جاری میشه اون را غیر فعال کرد:

git config core.filemode false

اگه هم مثل من میخواین روی کل Repo ها اعمال بشه Global غیر فعال کنین :

git config --global core.filemode false

نصب و حذف برنامه ها در Ubuntu

نویسنده:
18 سپتامبر 14

معمولاً خیلی‌ها که در Ubuntu تازه کار هستند برنامه‌ها را از Software Center نصب و حذف میکنند و شاید خیلی در مورد دستورات نصب و حذف برنامه‌ها یا پکیج ها نمیدونند. اما مواقعی پیش میاد که ما میخوایم برنامه‌ها را با دستوارت نصب یا حذف کنیم که از apt یا Advanced Package Tool استفاده میکنیم ، توی این پست از دو تا دستور این پکیج یعنی apt-cache و apt-get استفاده میکنیم.

Ubuntu و دیگر توزیع‌های لینوکسی از Repository ها یا مخازن برای نگهداری برنامه‌ها و در اشتراک گذاری اونها برای کاربران استفاده میکنند. نمیخواهم در مورد مخازن صحبت کنم ولی مثلاً اگه بخواهیم توی مخازنی که سیستم ما میشناسه دنبال برنامه یا package ی بگردیم از دستور زیر استفاده میکنیم :

apt-cache search [regex]

مثلاً میشه دنبال پکیج های مرتبط با php گشت :

apt-cache search php

حالا که پکیج مورد نظر را پیدا کردیم و میخوایم نصبش کنیم از دستور apt-get استفاده میکنیم :

apt-get install [package name]

پس جستجوی پکیج ها و نصبشون اصلاً کار سختی نیست. اما ممکنه پس از مدتی بخواهیم پکیجی را حذف کنیم. این را باید بدونیم که هر پکیجی شامل سه وابستگی هست ، خودش ، فایل‌های تنظیمات یا همون config و dependency ها یا پکیج های وابسته. پس ما دستوری نیاز داریم که خود پکیج و تنظیماتش را حذف کنه و dependency های اضافه نصب شده یا همون Orphaned Package ها را هم حذف کنه. شما با این دستور میتونید این کار را انجام بدین :

sudo apt-get --purge autoremove [package name]

این اطلاعات برای کسی که در جستجوی این مطلب باشه مفید هست ولی باید در مورد دستورات بیشتر بخونید تا بتونین در جای درست ازشون استفاده کنین. همیشه از دستور man برای اطلاعات بیشتر در مورد دستورات استفاده کنید.