Trình quản lý gói tập trung cho Arch Linux và các distro dựa trên Arch, sử dụng zsh với giao diện menu tương tác hiện đại, đầy màu sắc.
Version 2.1.0 - Modular Architecture
arch-zsh-manager/
├── bin/ # Executable entry points
│ └── pkgman # Main application
├── lib/ # Modular libraries
│ ├── core/ # Core modules (colors, UI, detection, utils)
│ ├── package/ # Package management
│ ├── system/ # System maintenance
│ ├── advanced/ # Advanced features
│ ├── font/ # Font management
│ └── devtools/ # Development tools
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration (future)
├── README.md
├── CHANGELOG.md
└── LICENSE
- pacman - Gói chính thức từ kho Arch
- AUR - Hỗ trợ yay/paru
- Flatpak - Ứng dụng sandbox (nếu có cài)
- ✅ Cài đặt gói từ nhiều nguồn
- ✅ Xóa gói (với/không dependencies)
- ✅ Cập nhật hệ thống (toàn bộ hoặc từng nguồn)
- ✅ Tìm kiếm gói
- ✅ Xem thông tin chi tiết gói
- 🧹 Dọn dẹp cache (pacman, AUR, Flatpak)
- 🗑️ Xóa gói orphan (không còn cần thiết)
- 📋 Liệt kê gói đã cài
- 🔍 Kiểm tra gói bị hỏng
- ⬇️ Downgrade gói về phiên bản cũ
- 📜 Xem log cài đặt/gỡ bỏ gói
- 🌐 Quản lý mirror (reflector)
- 🔧 Tự động cài đặt YAY nếu chưa có
- Nerd Fonts: FiraCode, JetBrainsMono, Hack, Meslo (cho terminal/code editor)
- System Fonts: Noto, DejaVu, Liberation, Ubuntu, Roboto
- Emoji Fonts: Noto Emoji, JoyPixels, Twemoji
- CJK Fonts: Hỗ trợ tiếng Trung, Nhật, Hàn
- MS Fonts: Arial, Times New Roman, Verdana (từ AUR)
- Liệt kê, tìm kiếm, xóa font
- Cập nhật cache font tự động
- Test hiển thị font và icons
📖 Xem chi tiết: FONT_MANAGER_GUIDE.md
🚀 Quick Start: FONT_QUICKSTART.md
- Web Development: PHP Stack, Laravel, Node.js (npm, yarn, pnpm)
- Databases: PostgreSQL, MySQL/MariaDB, MongoDB, Redis
- Programming Languages: Java (JDK), Python (pip, poetry), Go, Rust
- DevOps Tools: Docker & Docker Compose, Git & GitHub CLI
- Cài đặt nhanh, tự động cấu hình, kiểm tra version
📖 Xem chi tiết: DEV_TOOLS_GUIDE.md
- Arch Linux hoặc distro dựa trên Arch (Manjaro, EndeavourOS, v.v.)
- zsh - Z shell
- yay hoặc paru - AUR helper (script có thể tự cài yay)
- flatpak - Nếu muốn quản lý ứng dụng Flatpak
- reflector - Cho tính năng cập nhật mirror
- downgrade - Cho tính năng hạ cấp gói
- pacman-contrib - Cho lệnh paccache
# Clone repository
git clone https://github.com/mttk2004/arch-zsh-manager.git
cd arch-zsh-manager
# Chạy script cài đặt (sẽ tự động cài dependencies và setup)
chmod +x scripts/install.sh
./scripts/install.shScript cài đặt sẽ:
- ✅ Kiểm tra hệ thống Arch
- ✅ Cài đặt zsh nếu chưa có
- ✅ Cài đặt các gói cần thiết (pacman-contrib, git, base-devel, reflector)
- ✅ Hỏi cài đặt YAY (AUR helper) nếu muốn
- ✅ Cài đặt bin/pkgman vào hệ thống
# Clone repository
git clone https://github.com/mttk2004/arch-zsh-manager.git
cd arch-zsh-manager
# Cấp quyền thực thi
chmod +x bin/pkgman
# Chạy trực tiếp
./bin/pkgman
# HOẶC cài vào hệ thống
sudo cp -r bin /usr/local/
sudo cp -r lib /usr/local/share/pkgman/
# HOẶC thêm alias vào ~/.zshrc
echo "alias pkgman='$PWD/bin/pkgman'" >> ~/.zshrc
source ~/.zshrcsudo pacman -S pacman-contrib reflector base-devel git# Nếu đã cài vào hệ thống hoặc tạo alias
pkgman
# Hoặc chạy trực tiếp
./bin/pkgmanLưu ý: Không cần chạy với
sudo. Script sẽ tự yêu cầu quyền root khi cần thiết.
╔═══════════════════════════════════════════════════════════════╗
║ ARCH PACKAGE MANAGER - Quản lý gói tập trung ║
╚═══════════════════════════════════════════════════════════════╝
═══ HỆ THỐNG GÓI ═══
1. Cài đặt gói
2. Xóa gói
3. Cập nhật hệ thống
4. Tìm kiếm gói
5. Xem thông tin gói
═══ BẢO TRÌ HỆ THỐNG ═══
6. Dọn dẹp cache
7. Xóa gói orphan (không cần thiết)
8. Xem danh sách gói đã cài
9. Kiểm tra gói bị hỏng
═══ NÂNG CAO ═══
10. Downgrade gói
11. Xem log gói
12. Mirror management
═══ FONT CHỮ ═══
13. Quản lý font chữ
═══ PHÁT TRIỂN ═══
14. Môi trường phát triển
0. Thoát
- Chọn
1- Cài đặt gói - Chọn nguồn: pacman (1), AUR (2), hoặc Flatpak (3)
- Nhập tên gói
- Xác nhận cài đặt
- Chọn
13- Quản lý font chữ - Chọn loại font cần cài:
- Nerd Fonts (FiraCode, JetBrainsMono, Hack...)
- System Fonts (Noto, DejaVu, Liberation...)
- Emoji Fonts
- CJK Fonts (Chinese, Japanese, Korean)
- MS Fonts (cần AUR helper)
- Liệt kê, tìm kiếm hoặc xóa font đã cài
- Test hiển thị để kiểm tra font
- Chọn
6- Dọn dẹp cache - Chọn mức độ dọn dẹp:
- Giữ 3 phiên bản gần nhất
- Xóa toàn bộ cache
- Xóa cache AUR
- Chọn
3- Cập nhật hệ thống - Chọn nguồn cập nhật:
- Chỉ pacman
- Pacman + AUR
- Flatpak
- Tất cả
- colors.zsh - Định nghĩa màu sắc, icons, text styles
- ui.zsh - UI components (boxes, badges, menus, prompts)
- detect.zsh - Phát hiện hệ thống, packages, services
- utils.zsh - Hàm tiện ích (validation, string, file, logging)
Các module chức năng được tổ chức theo category:
lib/package/- Quản lý góilib/system/- Bảo trì hệ thốnglib/advanced/- Tính năng nâng caolib/font/- Quản lý fontlib/devtools/- Công cụ phát triển
Xem chi tiết: docs/PROJECT_STRUCTURE.md
Script tự động phát hiện và sử dụng yay hoặc paru nếu có cài đặt.
- Cài đặt font từ kho chính thức và AUR
- Hỗ trợ đầy đủ Nerd Fonts cho developer
- Tự động cập nhật cache sau khi cài/xóa
- Test hiển thị trực quan với icons, emoji, ligatures
- Sử dụng màu sắc để dễ phân biệt
- Menu phân cấp rõ ràng
- Xác nhận trước khi thực hiện thao tác nguy hiểm
- Xác nhận trước khi xóa cache toàn bộ
- Hiển thị danh sách gói orphan trước khi xóa
- Sao lưu mirrorlist trước khi cập nhật
Quản lý gói từ pacman, AUR, và Flatpak trong một giao diện thống nhất.
Mở file pkgman.zsh và tìm dòng:
sudo paccache -rThay đổi thành (ví dụ giữ 5 phiên bản):
sudo paccache -rk5Trong hàm mirror_management(), tìm dòng:
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlistTùy chỉnh theo nhu cầu:
--latest 20: Số mirror mới nhất--protocol https: Giao thức (https, http, rsync)--sort rate: Sắp xếp theo (rate, age, delay)--country 'Vietnam,Singapore': Lọc theo quốc gia
# Kiểm tra zsh đã cài chưa
which zsh
# Cài đặt zsh nếu chưa có
sudo pacman -S zsh
# Kiểm tra quyền thực thi
ls -l bin/pkgman
# Cấp quyền nếu cần
chmod +x bin/pkgmanScript có tùy chọn cài đặt YAY tự động (chọn 13 trong menu chính).
Hoặc cài thủ công:
cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -sisudo pacman -S pacman-contrib- Cần quyền sudo: Hầu hết các thao tác cần quyền root
- AUR: Luôn kiểm tra PKGBUILD trước khi cài gói từ AUR
- Cache: Nên dọn dẹp cache định kỳ để tiết kiệm dung lượng
- Mirror: Cập nhật mirror định kỳ để tăng tốc độ tải xuống
Mọi đóng góp đều được chào đón! Hãy tạo issue hoặc pull request.
- Fork repository
- Tạo branch mới (
git checkout -b feature/AmazingFeature) - Tạo module mới trong
lib/(xemlib/README.md) - Test kỹ lưỡng
- Commit thay đổi (
git commit -m 'feat: add some amazing feature') - Push lên branch (
git push origin feature/AmazingFeature) - Tạo Pull Request
Xem hướng dẫn chi tiết trong:
lib/README.md- Module structuredocs/REFACTORING_PLAN.md- Development plandocs/PROJECT_STRUCTURE.md- Project organization
MIT License - Xem file LICENSE để biết thêm chi tiết
Được phát triển với ❤️ cho cộng đồng Arch Linux
- Arch Linux team
- Cộng đồng AUR
- Các nhà phát triển yay, paru, reflector
- Issues: Báo lỗi hoặc đề xuất tính năng tại [GitHub Issues]
- Wiki: Tài liệu chi tiết tại Arch Wiki
Sau khi cài đặt, chỉ cần gõ:
pkgmanBạn sẽ thấy menu đầy màu sắc:
- 🟢 Số xanh - Các lựa chọn chính
- 🟡 Tiêu đề vàng - Phân loại chức năng
- 🔴 Số đỏ - Thoát chương trình
- 🔵 Text xanh dương - Nhập liệu
Tất cả thao tác chỉ cần nhập số, không cần gõ lệnh dài!
Dự án đã được refactor sang kiến trúc modular. Xem chi tiết:
docs/REFACTORING_SUMMARY.md- Tổng kết refactoringdocs/REFACTORING_PLAN.md- Kế hoạch chi tiếtMIGRATION_NOTES.md- Hướng dẫn migration
Old: ./pkgman.zsh (deprecated)
New: ./bin/pkgman ✅
- ✅ Script này là công cụ hỗ trợ, giúp bạn quản lý gói dễ dàng hơn
- ✅ Luôn đọc output trước khi xác nhận các thao tác quan trọng
- ✅ Với gói AUR, nên kiểm tra PKGBUILD trước khi cài
- ✅ Khuyến khích tìm hiểu pacman/yay để hiểu rõ hơn về hệ thống
Enjoy your Arch experience! 🚀 BTW, I use Arch!