STORAGECTL(1)

الاسم
storagectl, mount.storage - حصر وتركيب وحدات التخزين التي توفرها شركات التخزين

موجز

storagectl [خيارات...] {أمر} [اسم...]

mount -t storage مُزوِّد:وَحدة_تخزين دليل

mount -t storage.نوع_نظام_ملفات مُزوِّد:وَحدة_تخزين دليل

الوصف

قد يُستخدم storagectl لفحص مُزوِّدي التخزين ووحدات التخزين التي يُظهرونها. مُزوِّد التخزين هو خدمة تُنفِّذ واجهة io.systemd.StorageProvider Varlink[1]، مُسجَّلة كمقبس AF_UNIX أسفل دليل المقابس المعروف /run/systemd/io.systemd.StorageProvider/ (في وضع النظام) أو $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/ (في وضع المستخدم). مُزوِّدا التخزين المُرفقان مع systemd هما systemd-storage-block@.service(8)، الذي يُظهر أجهزة الكتل الخاصة بالنظام، وsystemd-storage-fs@.service(8)، الذي يُظهر الملفات والأدلة العادية من نظام ملفات داعم.

توفر الأداة أيضًا مُساعد mount(8) لنوع نظام الملفات "storage"، الذي يسمح بوصل وحدات التخزين إلى أماكن عشوائية. انظر "الاستخدام كمُساعد وصل" أدناه للتفاصيل.

الأوامر

الأوامر التالية مفهومة:

volumes [نمط_عام]
    اسرد وحدات التخزين التي يُقدمها جميع مُزوِّدي التخزين الجاريين على النظام (أو، مع --user، في وقت تشغيل المستخدم). وسيط GLOB الاختياري هو نمط على غرار الصدفة (انظر fnmatch(3)) يُرشِّح النتيجة حسب اسم الوحدة. المخرجات هي جدول يحتوي على الخدمة المُقدِّمة، اسم الوحدة، نوعها ("blk" أو "reg" أو "dir")، ما إذا كانت للقراءة فقط، و— إن كان معروفًا — حجمها وعدد البايتات المُستخدمة.

    هذا هو الأمر المبدئي إن لم يُحدَّد أي أمر.

    أُضيف في الإصدار 261.

templates [نمط_عام]
    اسرد قوالب الوحدات التي تدعمها مُزوِّدي التخزين الجاريين. تُغلِّف القوالب تهيئة لاستخدامها عند إنشاء وحدات التخزين فوريًا، عند اقتنائها. دعم القالب هو ميزة اختيارية للمُزوِّدين، وتنطبق فقط على المُزوِّدين الذين يسمحون بإنشاء وحدات التخزين فوريًا. انظر وثائق المُزوِّد المعنية للتفاصيل، على سبيل المثال systemd-storage-fs@.service(8). وسيط GLOB الاختياري يُرشِّح حسب اسم القالب. مُزوِّدو التخزين الذين لا يُنفِّذون إنشاء الوحدات القائم على القوالب (مثل مُزوِّد جهاز الكتلة) لا يُساهمون في هذه المخرجات.

    أُضيف في الإصدار 261.

providers
    اسرد مُزوِّدي التخزين المعروفين للنظام. يُحدَّد هذا بمسح دليل المقابس المعروف عن مقابس AF_UNIX التي تبدو كنقاط نهاية io.systemd.StorageProvider. لكل مُزوِّد، يُبلَّغ أيضًا عما إذا كان يمكن الاتصال بالمقبس حاليًا.

    أُضيف في الإصدار 261.

الخيارات

الخيارات التالية مفهومة:

--system
    اعمل على مُزوِّدي تخزين على مستوى النظام. تُبحث المقابس في /run/systemd/io.systemd.StorageProvider/. هذا هو المبدئي.

    أُضيف في الإصدار 261.

--user
    اعمل على مُزوِّدي تخزين لكل مستخدم. تُبحث المقابس في $XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/.

    أُضيف في الإصدار 261.

--json=وضع
    يظهر المخرجات منسقة بصيغة JSON. يتوقع أحد الخيارات: "short" (لأقصر مخرج ممكن دون أي مسافات زائدة أو فواصل أسطر)، أو "pretty" (لنسخة جميلة من المخرج نفسه، مع إزاحة وفواصل أسطر) أو "off" (لإيقاف مخرجات JSON، وهو الخيار المبدئي).

--no-pager
    لا تمرر المخرجات إلى برنامج عرض (pager).

--no-legend
    لا تطبع مفتاح الرموز، أي ترويسات الأعمدة والتذييل المزود بالتلميحات.

--no-ask-password
    لا تسأل المستخدم عن الاستيثاق للعمليات ذات الامتيازات.

-h، --help
    اطبع نص مساعدة قصير واخرج.

--version
    اطبع سلسلة إصدار قصيرة واخرج.

الاستخدام كمُساعد وصل

توفر الأداة الاسم المستعار /sbin/mount.storage، الذي يُنفِّذ واجهة "المُساعد الخارجي" لـ mount(8)، مما يسمح بوصل وحدات التخزين بأمر mount العادي. تُرمَز الوحدة المراد وصلها كمصدر الوصل، بالشكل "مُزوِّد:وَحدة_تخزين"، حيث مُزوِّد هو اسم مُزوِّد تخزين (كما هو مُدرَج بواسطة storagectl providers) ووَحدة_تخزين هو اسم الوحدة. يُعرَف هجاءان لنوع نظام الملفات:

"storage"
    يقتني وحدة تخزين دليل ويصل شجرة دليلها ربطًا على الهدف.

    أُضيف في الإصدار 261.

"storage.نوع_نظام_الملفات"
    يقتني وحدة تخزين ملف عادي أو جهاز كتلة ويصلها كنظام ملفات من نوع نوع_نظام_ملفات (على سبيل المثال "storage.ext4"، "storage.btrfs"، ...).

    أُضيف في الإصدار 261.

تُمرَّر خيارات الوصل القياسية -o إلى mount. بالإضافة إلى ذلك، تُفسَّر الخيارات التالية المسبوقة بـ "storage." بواسطة mount.storage نفسه وتُستبعد من القائمة الممرَّرة:

storage.create=وضع
    يأخذ واحدًا من "any" (افتح إن وُجد، وإلا أنشئ — المبدئي)، "open" (افشل إن لم تكن الوحدة موجودة بعد) أو "new" (افشل إن كانت الوحدة موجودة بالفعل).

    أُضيف في الإصدار 261.

storage.template=اسم
    القالب لاستخدامه عند إنشاء وحدة جديدة، إن كانت مفقودة ودعم المُزوِّد الإنشاء الفوري للوحدات.

    أُضيف في الإصدار 261.

storage.create-size=بايتات
    عند إنشاء وحدة جديدة فوريًا، الحجم بالبايتات لتخصيصه. يقبل اللواحق المعتادة "K"/"M"/"G"/"T" (أساس 1024). مطلوب عند إنشاء وحدة تخزين ملف عادي.

    أُضيف في الإصدار 261.

أمثلة

مثال 1. سرد موفري التخزين المتاحين، وحدات التخزين، والقوالب

    $ storagectl providers
    $ storagectl volumes
    $ storagectl volumes '*foo*'
    $ storagectl templates

مثال 2. وصل وحدة تخزين دليل من موفر نظام الملفات

    # mount -t storage fs:myvol /mnt/myvol

إذا لم تكن وحدة التخزين "myvol" موجودةً بعد، فستُنشئ باستخدام قالب "subvolume" المبدئي.

مثال 3. إنشاء ووصل نظام ملفات ext4 من ملف عادي.

    # mount -t storage.ext4 fs:scratch /mnt/scratch -o loop

مثال 4. وصل وحدة تخزين جهاز كتلة للقراءة فقط

    # mount -t storage.ext4 -o ro block:/dev/disk/by-id/usb-foo /mnt/foo

حالة الخروج

عند النجاح، يُعاد الرقم 0، وإلا فيُعاد رمز فشل غير صفري.

البيئة

$SYSTEMD_LOG_LEVEL
    الحد الأقصى لمستوى السجل للرسائل الصادرة (تُكتم الرسائل ذات مستوى السجل الأعلى، أي الأقل أهمية). يأخذ قائمة قيم مفصولة بفواصل. يمكن أن تكون القيمة إما واحدة من (بترتيب تنازلي للأهمية) emerg، أو alert، أو crit، أو err، أو warning، أو notice، أو info، أو debug، أو رقمًا صحيحًا في النطاق من 0 إلى 7. راجع syslog(3) لمزيد من المعلومات. يمكن اختياريًا سبق كل قيمة بأحد الخيارات console، أو syslog، أو kmsg أو journal متبوعة بنقطتين لضبط الحد الأقصى لمستوى السجل لهذا الهدف المحدد (مثلاً: SYSTEMD_LOG_LEVEL=debug,console:info يحدد التسجيل بمستوى debug باستثناء التسجيل في الطرفية الذي يجب أن يكون بمستوى info). لاحظ أن الحد الأقصى العالمي لمستوى السجل له الأولوية على أي حدود مستويات سجل لكل هدف على حدة.

$SYSTEMD_LOG_COLOR
    قيمة منطقية. إذا كانت صحيحة، فستُلون الرسائل المكتوبة في الـ tty حسب الأولوية.

    هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستلون الرسائل بناءً على مستوى السجل من تلقاء نفسها.

$SYSTEMD_LOG_TIME
    قيمة منطقية. إذا كانت صحيحة، فستُسبق رسائل سجل الطرفية بختم زمني.

    هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية أو إلى ملف، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستُرفق طوابع زمنية بناءً على البيانات الوصفية للمدخلات من تلقاء نفسها.

$SYSTEMD_LOG_LOCATION
    قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل باسم الملف ورقم السطر في الشيفرة المصدرية حيث نشأت الرسالة.

    لاحظ أن موقع السجل غالبًا ما يُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.

$SYSTEMD_LOG_TID
    قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل بمعرّف الخيط الرقمي الحالي (TID).

    لاحظ أن هذه المعلومات تُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.

$SYSTEMD_LOG_TARGET
    وجهة رسائل السجل. أحد الخيارات: console (التسجيل في الطرفية المرفقة)، أو console-prefixed (التسجيل في الطرفية المرفقة ولكن مع بادئات ترميز مستوى السجل و"المرفق"، راجع syslog(3)، أو kmsg (التسجيل في ذاكرة السجل الدائرية للنواة)، أو journal (التسجيل في اليوميات)، أو journal-or-kmsg (التسجيل في اليوميات إذا كانت متاحة، وفي kmsg بخلاف ذلك)، أو auto (تحديد هدف السجل المناسب آليًا، وهو المبدئي)، أو null (تعطيل مخرج السجل).

$SYSTEMD_LOG_RATELIMIT_KMSG
    فيما إذا كان سيُحد معدل kmsg أم لا. يأخذ قيمة منطقية. القيمة المبدئية هي "true". إذا عُطّل، فلن يحد systemd من معدل الرسائل المكتوبة في kmsg.

$SYSTEMD_PAGER، $PAGER
    مستعرض الصفحات المراد استخدامه عندما لا يُعطى الخيار --no-pager. يُستخدم $SYSTEMD_PAGER إذا كان مضبوطًا؛ وإلا فيُستخدم $PAGER. إذا لم يُضبط أي من $SYSTEMD_PAGER أو $PAGER، فتُجرب مجموعة من التطبيقات المعروفة لمستعرضات الصفحات تباعًا، بما في ذلك less(1) و more(1)، حتى يُعثر على أحدها. إذا لم يُكتشف أي تطبيق لمستعرض الصفحات، فلا يُستدعى أي مستعرض. ضبط متغيرات البيئة هذه على سلسلة فارغة أو القيمة "cat" يعادل تمرير الخيار --no-pager.

    ملاحظة: إذا لم يُضبط $SYSTEMD_PAGERSECURE، فلا يمكن استخدام $SYSTEMD_PAGER و $PAGER إلا لتعطيل مستعرض الصفحات (باستخدام "cat" أو "")، ويُتجاهل فيما عدا ذلك.

$SYSTEMD_LESS
    تجاوز الخيارات الممررة إلى less (مبدئيًا "FRSXMK").

    قد يرغب المستخدمون في تغيير خيارين على وجه الخصوص:

    K
        يوجه هذا الخيار مستعرض الصفحات بالخروج فورًا عند الضغط على Ctrl+C. للسماح لـ less بالتعامل مع Ctrl+C بنفسه للعودة إلى محث أوامر المستعرض، قم بإلغاء ضبط هذا الخيار.

        إذا لم تتضمن قيمة $SYSTEMD_LESS الحرف "K"، وكان المستعرض المستدعى هو less، فسيُتجاهل Ctrl+C من قبل الملف التنفيذي، ويجب معالجته من قبل المستعرض.

    X
        يوجه هذا الخيار مستعرض الصفحات بعدم إرسال سلاسل تهيئة وإنهاء termcap إلى الطرفية. يُضبط مبدئيًا للسماح لمخرجات الأوامر بالبقاء مرئية في الطرفية حتى بعد خروج المستعرض. ومع ذلك، فإن هذا يمنع بعض وظائف المستعرض من العمل، لا سيما أن المخرجات المفصولة بصفحات لا يمكن تمريرها باستخدام الفأرة.

    لاحظ أن ضبط متغير البيئة العادي $LESS ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

    راجع less(1) لمزيد من النقاش.

$SYSTEMD_LESSCHARSET
    يتجاوز طقم المحارف الممرر إلى less (مبدئيًا "utf-8"، إذا حُدّد أن الطرفية المستدعية متوافقة مع UTF-8).

    لاحظ أن ضبط متغير البيئة العادي $LESSCHARSET ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

$SYSTEMD_PAGERSECURE
    تدعم أوامر المستعرض (pager) الشائعة مثل less(1)، بالإضافة إلى "التصفح"، أي التمرير عبر المخرجات، فتح ملفات أخرى أو الكتابة إليها وتشغيل أوامر صدفة عشوائية. عند استدعاء الأوامر بامتيازات مرفوعة، على سبيل المثال تحت sudo(8) أو pkexec(1)، يصبح المستعرض حدًا أمنيًا. يجب الحرص على استخدام البرامج ذات الوظائف المحدودة للغاية فقط كمستعرضات، وعدم السماح بالميزات التفاعلية غير المقصودة مثل فتح ملفات جديدة أو إنشائها أو بدء عمليات فرعية. يمكن تمكين "الوضع الآمن" للمستعرض كما هو موضح أدناه، إذا كان المستعرض يدعم ذلك (معظم المستعرضات لم تُكتب بطريقة تأخذ هذا في الاعتبار). يوصى إما بتمكين "الوضع الآمن" صراحةً أو تعطيل المستعرض تمامًا باستخدام --no-pager أو PAGER=cat عند السماح للمستخدمين غير الموثوق بهم بتنفيذ أوامر بامتيازات مرفوعة.

    يأخذ هذا الخيار وسيطًا منطقيًا. عند ضبطه على صحيح (true)، يُمكن "الوضع الآمن" لمستعرض الصفحات. في "الوضع الآمن"، سيُضبط LESSSECURE=1 عند استدعاء المستعرض، مما يوجه المستعرض لتعطيل الأوامر التي تفتح أو تنشئ ملفات جديدة أو تبدأ عمليات فرعية جديدة. حاليًا، يُعرف فقط less(1) بقدرته على فهم هذا المتغير وتطبيق "الوضع الآمن".

    عند الضبط إلى false، لا توضع قيود على أداة التصفح (pager). إن ضبط SYSTEMD_PAGERSECURE=0 أو عدم إزالته من البيئة الموروثة قد يسمح للمستخدم باستدعاء أوامر اعتباطية.

    عندما لا يُضبط $SYSTEMD_PAGERSECURE، تحاول أدوات systemd استنتاج ما إذا كان ينبغي تمكين "الوضع الآمن" آليًا وما إذا كان المستعرض يدعمه. يُمكن "الوضع الآمن" إذا كان معرف المستخدم الفعلي (UID) ليس هو نفسه مالك جلسة الولوج، انظر geteuid(2) و sd_pid_get_owner_uid(3)، أو عند التشغيل تحت sudo(8) أو أدوات مماثلة ($SUDO_UID مضبوط [2]). في تلك الحالات، سيُضبط SYSTEMD_PAGERSECURE=1 ولن تُستخدم المستعرضات التي لا يُعرف عنها تطبيق "الوضع الآمن" على الإطلاق. لاحظ أن هذا الاستكشاف الآلي يغطي فقط الآليات الأكثر شيوعًا لرفع الامتيازات وهو مخصص للتسهيل. يوصى بضبط $SYSTEMD_PAGERSECURE صراحةً أو تعطيل المستعرض.

    لاحظ أنه إذا أُريد احترام المتغيرات $SYSTEMD_PAGER أو $PAGER، لغير غرض تعطيل مستعرض الصفحات، فيجب ضبط $SYSTEMD_PAGERSECURE أيضًا.

$SYSTEMD_COLORS
    يأخذ وسيطًا منطقيًا (boolean)، أو قيمة خاصة. مبدئيًا (عند عدم الضبط)، سيستخدم systemd والأدوات المرتبطة به الألوان في مخرجاتها إذا أمكن ذلك. إذا ضُبط $COLORTERM على "truecolor" أو "24bit"، فستُمكّن ألوان 24 بت، وإلا فستُستخدم 256 لونًا، ما لم يشر $NO_COLOR أو $TERM إلى تعطيل الألوان.

    true
        نفس حالة عدم الضبط، باستثناء تجاهل $NO_COLOR.

    false
        سيكون المخرج أحادي اللون.

    "16"، "256"، "24bit"
        استخدم دائمًا ألوان ANSI الـ 16 الأساسية، أو 256 لونًا، أو لون 24 بت، على التوالي.

    "auto-16"، "auto-256"، "auto-24bit"
        استخدم كمية الألوان المعطاة، بشرط $TERM، وما هو متصل بالطرفية.

$SYSTEMD_URLIFY
    يجب أن تكون القيمة منطقية. تتحكم فيما إذا كان يجب توليد روابط قابلة للنقر في المخرج لمحاكيات الطرفية التي تدعم ذلك. يمكن تحديد هذا لتجاوز القرار الذي يتخذه systemd بناءً على $TERM وشروط أخرى.

انظر أيضًا

systemd(1), systemd-storage-block@.service(8), systemd-storage-fs@.service(8), varlinkctl(1), mount(8)

ملاحظات

1.  Varlink
    https://varlink.org/

2.  يوصى للأدوات الأخرى بضبط والتحقق من $SUDO_UID حسب الاقتضاء، ومعاملته كواجهة مشتركة.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.