Skip to Content
Guidesمحطة تطوير

محطة تطوير

يبني هذا الدليل محطة Ubuntu 24.04 GNOME بمجموعة أدوات محافظة واختبارات دخان صريحة. تتبع إصدارات اللغة والمحرر مصادر الحزم المختارة ما لم تثبّت وتراجع مصدرا آخر.

الموجه

Create an Ubuntu 24.04 GNOME development workstation with a dark color scheme, SSH, Docker, Git, Python, Node.js, curl, jq, tmux, htop, and Neovim. Create a locked-password user named dev with sudo and Docker group intent. Do not add third-party repositories unless their HTTPS URL, signing key, release support, and license are explicit. Add tests for the desktop session, tool versions, Docker service, group membership, and one container smoke test.

راجع الوصفة

{ "name": "ubuntu24-development-workstation", "base_image": "ubuntu-24.04", "os": { "features": ["desktop", "ssh", "docker", "git", "python", "nodejs"], "packages": ["curl", "jq", "tmux", "htop", "neovim"], "users": [ { "username": "dev", "groups": ["sudo", "docker"], "shell": "/bin/bash" } ], "desktop_settings": { "color_scheme": "prefer-dark", "fonts": { "monospace_font": "Ubuntu Mono 13" }, "power": { "idle_delay": 600, "sleep_inactive_ac_timeout": 0, "sleep_inactive_ac_type": "nothing" } } } }

أكد أن كل ميزة تتوسع على Ubuntu 24.04 كما هو متوقع. عضوية مجموعة docker مكافئة للجذر عادة لأنها تتحكم بعفريت Docker؛ أزلها إذا كان يجب ألا يملك المستخدم تلك السلطة.

الإصدارات والمصادر

لا تطلب «الأحدث» في محطة محكومة. سجّل الإصدارات المتاحة فعلا من اللقطة المختارة واختبر تلك الإصدارات. مستودع مورّد أو مثبت تمهيدي يضيف جذر ثقة ودورة تحديث منفصلين؛ استخدمه فقط بعد مراجعة مفتاحه وبيانات المستودع والشروط وسلوك التراجع.

أدوات مثل Rustup ومديري إصدارات اللغة وامتدادات المحرر وصور الحاويات يمكن أن تنزّل شفرة متحركة بعد بناء الصورة. إذا كانت مهمة لأساس المحطة، ثبّتها وضمّن أصلها في حزمة الأدلة.

سيناريو التحقق

{ "id": "development-smoke", "name": "Development workstation smoke test", "enabled": true, "tests": ["boot", "login", "packages", "services"], "custom_tests": [ { "description": "Confirm core tools and Docker are usable.", "assertions": [ { "type": "command_succeeds", "description": "Python reports a version.", "params": {"command": "python3 --version"} }, { "type": "command_succeeds", "description": "Node.js reports a version.", "params": {"command": "node --version"} }, { "type": "service_running", "description": "The Docker daemon is running.", "params": {"service": "docker"} }, { "type": "user_in_group", "description": "The dev account has the reviewed Docker authority.", "params": {"username": "dev", "group": "docker"} } ] } ] }

أضف تحقق واجهة لكل محرر رسومي تثبّته فعلا. فحص الحزمة لا يكشف إطلاقا أولا معطلا أو حوار ترخيص أو دمج عرض ناقص أو سطح مكتب افتراضي خاطئ.

أخيرا، اختبر الدخول عبر مسار التسجيل المعتمد أو مفتاح SSH؛ الوصفة لا تحتوي كلمة مرور عمدا.