آموزش آرشیو و فشرده‌سازی فایل‌ها + تنظیم ویژگی‌های فایل در لینوکس (سطح پیشرفته) پرینت


## 🎯 آموزش آرشیو و فشرده‌سازی فایل‌ها + تنظیم ویژگی‌های فایل در لینوکس (سطح پیشرفته)

در دنیای مدیریت سیستم‌های لینوکسی، دانستن نحوه‌ی آرشیو/فشرده‌سازی فایل‌ها و همچنین مدیریت ویژگی‌های (Attributes) فایل‌ها، نقش کلیدی در امنیت، عملکرد و نگهداری داده‌ها دارد.

این مقاله به صورت پیشرفته این مباحث را پوشش می‌دهد.

---

# بخش اول: 🗜️ آرشیو و فشرده‌سازی فایل‌ها

### ✅ ترکیب دستورات tar و فشرده‌سازی‌های مختلف

- **فشرده‌سازی با Gzip:**
```bash
tar -czvf archive.tar.gz /path/to/directory
```

- **فشرده‌سازی با Bzip2 (بالاترین سطح فشرده‌سازی در حجم):**
```bash
tar -cjvf archive.tar.bz2 /path/to/directory
```

- **فشرده‌سازی با XZ (حرفه‌ای‌ترین فشرده‌سازی):**
```bash
tar -cJvf archive.tar.xz /path/to/directory
```

- **آرشیو بدون فشرده‌سازی (فقط جمع‌آوری فایل‌ها):**
```bash
tar -cvf archive.tar /path/to/directory
```

---

### ✅ نکات حرفه‌ای در آرشیو/فشرده‌سازی

| تکنیک | توضیح |
|------|-------|
| فیلتر کردن فایل‌ها حین آرشیو | `tar --exclude='*.log' -czvf backup.tar.gz /var/log/` |
| تقسیم آرشیو بزرگ به قطعات کوچک | `split -b 700M backup.tar.gz backup_part_` |
| ساخت آرشیو incremental | `tar --listed-incremental=snapshot.file -czvf backup.tar.gz /path` |
| ساخت آرشیو فقط فایل‌های تغییر یافته | `find /path -newer timestamp.file | tar -czvf changed.tar.gz -T -` |

---

# بخش دوم: 🛡️ تنظیم ویژگی‌های فایل (File Attributes)

در لینوکس، فایل‌ها فراتر از پرمیشن‌ها (rwx) ویژگی‌های (Attributes) بیشتری دارند که کنترل دقیق‌تری فراهم می‌کند. ابزار اصلی برای این کار `chattr` است.

### ✅ مشاهده ویژگی‌های فایل با `lsattr`
```bash
lsattr filename
```

نمونه خروجی:
```
----i--------e-- filename
```

---

### ✅ تغییر ویژگی‌های فایل با `chattr`

| ویژگی | توضیح |
|-------|-------|
| `i` | فایل غیرقابل تغییر (immutable) می‌شود |
| `a` | فقط اجازه اضافه کردن داده (append only) |
| `d` | فایل از بکاپ‌های معمولی حذف می‌شود |
| `e` | فایل برای عملیات خاص رزرو می‌شود |

---

### 🎯 مثال‌های واقعی:

- **قفل کردن فایل (هیچ‌کس حتی root نتواند حذف یا تغییر دهد):**
```bash
sudo chattr +i important.doc
```

- **باز کردن قفل فایل:**
```bash
sudo chattr -i important.doc
```

- **تنظیم حالت Append-only روی لاگ‌ها (هیچ چیزی پاک نشود، فقط اضافه شود):**
```bash
sudo chattr +a /var/log/secure
```

- **حذف ویژگی append:**
```bash
sudo chattr -a /var/log/secure
```

---

## ✨ ترکیب حرفه‌ای: آرشیو + تغییر ویژگی

سناریوی رایج: می‌خواهی یک آرشیو بکاپ شده را غیرقابل تغییر کنی.

۱. ساخت آرشیو:
```bash
tar -czvf /backups/important_backup.tar.gz /etc /var/www
```
۲. قفل کردن آرشیو:
```bash
sudo chattr +i /backups/important_backup.tar.gz
```

✅ حالا حتی اگر کسی اشتباهی بخواهد آن را پاک کند، سیستم اجازه نمی‌دهد!

---

## 🧠 نکات حرفه‌ای بیشتر:

- تغییر ویژگی‌های فایل به صورت بازگشتی روی دایرکتوری:
```bash
sudo chattr -R +i /path/to/directory
```
- بعضی فایل سیستم‌ها مثل `ext4` این ویژگی‌ها را پشتیبانی می‌کنند، ولی مثلاً در `NTFS` روی لینوکس ممکن است پشتیبانی نشود.
- `chattr` ابزار بسیار خطرناکی هم هست! چون اگر فراموش کنید ویژگی `immutable` را بردارید، حتی با `root` هم نمی‌توانید فایل را حذف کنید مگر ویژگی را تغییر دهید.

---

## ✅ نتیجه‌گیری

- آرشیو و فشرده‌سازی فایل‌ها با ابزارهای ترکیبی `tar`, `gzip`, `bzip2`, `xz` در لینوکس قدرت مانور بالایی ایجاد می‌کند.
- با استفاده از `chattr` و `lsattr` می‌توان امنیت فایل‌ها را در بالاترین سطح ممکن کنترل کرد.

تسلط به این مفاهیم یکی از نشانه‌های حرفه‌ای بودن مدیر سیستم (SysAdmin) در لینوکس است! 🚀

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت