گوگل به پیشبرد تساوی نژادی برای جوامع سیاه متعهد است. ببینید چگونه.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

طریقه استفاده مبارک

استفاده از -h پرچم با هر happy-* دستور برای نمایش کمک و لیستی از گزینه های برای آن دستور.

فایل های دولت

فروشگاه های مبارک و با دقت در یک فایل JSON با یک سابقه را حفظ دولت توپولوژی آن است. با استفاده از این فایل دولت، مبارک می تواند دستورات مناسب برای ایجاد و یا حذف یک توپولوژی اجرا کنید.

فایل حالت پیش فرض است که در واقع ~/.happy_state.json . نام حالت پیش فرض است happy ، همانطور که در دیده happy-state خروجی:

 happy-state

State Name:  happy 

کشورهای موازی

پشتیبانی مبارک چند ایالت همزمان موازی. وضعیت فعلی توسط دیکته HAPPY_STATE_ID متغیر محیط زیست است. اگر HAPPY_STATE_ID کند در محیط وجود ندارد، ارزش حالت پیش فرض از happy استفاده شده است.

HAPPY_STATE_ID است در هنگام نصب مبارک ایجاد نمی شود. درست یک با یک مقدار دیگر از state می خواهد که فورا به حالت مبارک دیگری تغییر دهید.

 export HAPPY_STATE_ID="sunny"

در حال حاضر چک happy-state نتایج در دولت های مختلف:

 happy-state

State Name:  sunny 

هر ایالت در خود را حفظ ~/.${HAPPY_STATE_ID}_state.json فایل. برای جابجایی بین کشورهای، اجرا export HAPPY_STATE_ID=" <state-name> " دستور دوباره.

حذف با کشورهای موازی

اگر شما استفاده از کشورهای مبارک موازی و شما می خواهید به حذف مبارک، مطمئن شوید که برای اجرا happy-state-delete با هر حالت فعال. این تضمین می کند همه فضانام های شبکه ایجاد شده توسط مبارک را از سیستم خود حذف بدون تاثیر تنظیمات شبکه لینوکس.

به عنوان مثال، با دو حالت happy و sunny :

 export HAPPY_STATE_ID="sunny"
happy-state-delete
export HAPPY_STATE_ID="happy"
happy-state-delete 

دستی حذف هر فایل دولت موازی به عنوان مورد نیاز:

 rm -f ~/.sunny_state.json
rm -f ~/.sunny_state.json.lock
rm -f ~/.happy_state.json
rm -f ~/.happy_state.json.lock 

گزارش ها

مبارک سیاهههای مربوط می فرستد به syslog به طور پیش فرض. ورود به سیستم پشتیبان گیری دوم به ارسال /tmp/${HAPPY_STATE_ID}_debug_log.txt .

به نمایش سیاهههای مربوط مبارک، اجرا happy-state -l در یک پنجره ترمینال جداگانه. وقتی که شما وارد دستورات مبارک، سیاهههای مربوط را نشان می دهد که پوسته فرمان مسائل مبارک در پس زمینه. این یک راه خوب برای درک اینکه چگونه کار می کند مبارک، اگر شما علاقه مند در فضاهای نام شبکه لینوکس است.

به عنوان مثال، happy-node-add node00 یک گره مبارک ایجاد می کند. خروجی ورود به سیستم برای این دستور:

DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 does not exist
DEBUG [Driver:writeState():365] Happy: writing Happy state to file
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns add happy000
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 exists
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns exec happy000 ifconfig lo up

همه Driver:CallCmd() خطوط دستورات پوسته که مبارک می نامد. در نظر بگیرید هر خط در ورود به سیستم:

# Check to see if the target namespace (happy000) exists
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 does not exist

# Write the link between node00 and happy000 in ~/.happy_state.json
DEBUG [Driver:writeState():365] Happy: writing Happy state to file

# Create the network namespace for the node
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns add happy000

# Check to see if the target namespace (happy000) exists
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 exists

# Bring up the loopback interface within the happy000 namespace
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns exec happy000 ifconfig lo up

توپولوژی نمونه

توپولوژی نمونه در هر دو شاد و OpenWeave مخازن برای آزمایش گنجانده شده است. همچنین آنها را به یادگیری دستورات برای ساخت توپولوژی پیچیده استفاده کنید.

توپولوژی در قالب JSON و شل اسکریپت می باشد.

JSON

فایل های توپولوژی JSON با استفاده از لود happy-state-load و یا weave-state-load دستورات. اگر توپولوژی شامل بافت، شما باید با استفاده از weave-state-load به بار توپولوژی، در غیر این صورت دستورات بافت خاص نادیده گرفته می شود.

برای مثال، یک توپولوژی بدون بافت:

happy-state-load thread_wifi_ap_internet.json

توپولوژی با بافت:

weave-state-load three_nodes_on_thread_weave.json

برای صرفه جویی در توپولوژی در حال حاضر خود را به عنوان یک فایل JSON جداگانه برای استفاده های بعدی (برای مثال، یک آزمون اسکریپت مورد )، استفاده از happy-shell -s :

happy-shell -s my_topology.json

این موجب صرفه جویی فایل وضعیت توپولوژی در $HOME دایرکتوری.

اسکریپتهای پوسته

شل فایل های توپولوژی اسکریپت شامل مجموعه ای از مبارک و دستورات بافت برای ایجاد توپولوژی در مربوط به فایل های JSON. این اسکریپت به طور پیش فرض مجوز اجرایی ندارد. آنها را می توان به دو روش اجرا:

با استفاده از bash دستور:

bash thread_wifi_ap_internet.sh

با استفاده از مجوز اجرایی:

chmod +x thread_wifi_ap_internet.sh
./thread_wifi_ap_internet.sh

پیکر بندی

مبارک دارای سه فایل های پیکربندی:

فایل پیکربندی شرح
~/.happy_conf.json متغیرهای پیکربندی برای استفاده شخصی یا پلاگین در. تنظیم این مقادیر با استفاده از happy-configuration فرمان.
<path-to-happy> /happy/conf/main_config.json متغیرهای پیکربندی مبارک اولیه.
<path-to-happy> /happy/conf/log_config.json پیکربندی ورود.

اضافه کردن متغیرهای پیکربندی

ما توصیه می کنیم شما با استفاده از happy-configuration فرمان برای تنظیم هر متغیر های شخصی و یا پلاگین در فراتر از پیش فرض که استقرار خاص خود را از مبارک نیاز دارد.

به عنوان مثال، به اجازه مبارک مطمئن شوید که برای پیدا کردن بافت test-apps دایرکتوری برای تست اسکریپت، مجموعه ای از weave_path متغیر:

happy-configuration weave_path <path-to-openweave-core> /build/x86_64-unknown-linux-gnu/src/test-apps

فروشگاه های مبارک متغیر در پیکربندی ~/.happy_conf.json .

فرآیندهای در گره

مبارک فراهم می کند دستورات برای شروع و فرآیندهای توقف در گره های شبیه سازی شده.

برای شروع یک روند:

happy-process-start <node-name> <custom-process-name> <command>

به عنوان مثال، به طور مداوم اجرا پینگ در یک ThreadNode گره به نام:

happy-process-start ThreadNode ContinuousPing ping 8.8.8.8

در مثال بالا، ContinuousPing نام تعریف شده توسط کاربر برای این فرایند است که مبارک با استفاده از برای مدیریت فرایند است. استفاده از happy-process-wait را به حالت تعلیق اجرای فرآیند و happy-process-stop برای کشتن روند.

خروجی فرآیند در /tmp . برای مثال، پس از شروع فرآیند ContinuousPing، بررسی /tmp دایرکتوری:

ls /tmp/happy*
/tmp/happy_018691_1524087014.192197_ContinuousPing.out

این .out پرونده حاوی خروجی برای فرآیند ContinuousPing است.

طریقه استفاده از sudo

مبارک تغییر تنظیمات شبکه است که توسط کرنل لینوکس کنترل می شود. از آنجا که تنها root می توانید پیکربندی هسته را تغییر دهید، مبارک دهید شما را به sudo رمز عبور در حین کار.

مبارک با استفاده از $SUDO متغیر محیطی سیستم را به پاسخ sudo . اگر $SUDO تعریف نشده است، خوشحال می کند طبیعی sudo پاسخ.

برنامه نویسی پایتون

پس از نصب، بسته مبارک پایتون را می توان به یک محیط پایتون با استفاده از زیر وارد import بیانیه:

import happy

ماژول فرمان یافت شده در /happy به شرح زیر وارد:

import happy.HappyNodeAdd

برای بازیابی گزینه های ماژول، پاسخ option() تابع. به عنوان مثال، برای بازیابی HappyNodeAdd گزینه های ماژول:

module options
import happy.HappyNodeAdd
options = happy.HappyNodeAdd.option()