أكثر

أوامر قذيفة GRASS لا تعمل في QGIS

أوامر قذيفة GRASS لا تعمل في QGIS


تشغيل GRASS 6.4.3 ضمن QGIS 2.4.0 على نظام التشغيل Mac OS 10.10 Yosemite. أحاول تشغيل v.net.iso داخل صدفة GRASS ، ولكن يتم إرجاع الخطأ التالي في كل مرة:

bash: v.net.iso: الأمر غير موجود

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


هناك خطأ ما في Shell حيث لا يتم تحميل Grass / bin في $ PATH ، الحل الخاص بي هو القيام بذلك يدويًا داخل Shell.

$ echo $ PATH / usr / bin: / bin: / usr / sbin: / sbin $ PATH = "/ Applications / QGIS.app / Contents / MacOS / grass / bin: $ PATH" $ export PATH $ echo $ PATH / Applications /QGIS.app/Contents/MacOS/grass/bin:/usr/bin:/bin:/usr/sbin:/sbin

أنا أيضًا على OSX Yosemite باستخدام QGIS و GRASS ، لا يبدأ GRASS shell في QGIS ، لكن من الصعب استخدامه على أي حال (يصعب نسخه ولصقه ، الخط يصعب قراءته ولا يوجد مؤشر أو سجل أوامر ).

أبدأ GRASS في OSX Terminal ، وأقوم بجميع التحليلات هناك ، بينما أستخدم GRASS في QGIS لتصدير ملفات الأشكال إلى قاعدة بيانات GRASS ، وتحميلها مرة أخرى إلى QGIS ، دون مشاكل في خادم GRASS مغلق.

في المحطة الطرفية ، ابدأ باستخدام GRASS

تطبيقات $ / QGIS.app / المحتويات / MacOS / عشب / عشب


لم يتم العثور على البرامج النصية WinGrass7 + في سطر الأوامر

بدء تشغيل WinGrass7 مع اختصار سطح المكتب "GRASS 7.0.SVN with MSYS".

في سطر أوامر wx-gui-all exe (الذين يعيشون في C: Program

تم العثور على الملفات GRASS-70-SVN bin) والنصوص (التي تعيش في C: Program Files GRASS-70-SVN scripts).

إذا كنت أرغب في بدء برنامج نصي (يعيش في C: Program

Files GRASS-70-SVN scripts) في سطر أوامر msys-windows ، لم يتم العثور على البرامج النصية (انظر الرسائل أدناه أو لقطة الشاشة المرفقة):

Ложения (1)

قم بتنزيل كافة المرفقات بتنسيق: zip

История изменений (17)

تم التغيير منذ 11 лет بواسطة hellik

تعليق: 1 в ответ на: الوصف تم تغييره منذ 11 قبل neteler

أهلا،

أ في شجرة osgeo4w التي تم تجميعها ذاتيًا وتغليفها وتثبيتها من قبل NSIS (r42681)

بدء تشغيل WinGrass7 مع اختصار سطح المكتب "GRASS 7.0.SVN with MSYS".

في سطر الأوامر wx-gui ، تم العثور على جميع exe (الذين يعيشون في C: Program Files GRASS-70-SVN bin) والنصوص (التي تعيش في C: Program Files GRASS-70-SVN scripts).

إذا كنت أرغب في بدء برنامج نصي (يعيش في C: Program Files GRASS-70-SVN scripts) في سطر أوامر msys-windows ، فلن يتم العثور على البرامج النصية (انظر الرسائل أدناه أو لقطة الشاشة المرفقة):

هيلموت

تعليق: 2 в ответ на: الوصف تم تغييره منذ 11 بواسطة glynn

يبدو أن ماركوس قام بتحرير الوصف بدلاً من الرد. هل يمكنك حذف هذا وفتح تذكرة جديدة؟

تعليق: 3 в ответ на: الوصف تم تغييره منذ 11 قبل neteler

الزائف "غريب. ربما قضية اقتباس؟

تعليق: 4 تم تغييره منذ 11 دقيقة بواسطة neteler

الزائف "غريب. ربما قضية اقتباس؟

تعليق: 5 в ответ на: description следующий: 6 تم تغييره منذ 11 лет بواسطة glynn

تحقق من إعداد٪ GRASS_SH٪.

يجب أن يتم ضبطه بشيء مثل:

لا ينبغي أن يكون هناك أي اقتباسات ، حتى لو كان اسم الملف يحتوي على مسافات.

تعليق: 6 в ответ на: 5 تم تغييره منذ 11 лет بواسطة hellik

الرد على hellik:

تحقق من إعداد٪ GRASS_SH٪.

يجب أن يتم ضبطه بشيء مثل:

أو:

لا ينبغي أن يكون هناك أي اقتباسات ، حتى لو كان اسم الملف يحتوي على مسافات.

في grass70.bat ، الذي يستدعي العشب 70.py ، يوجد:

وفي سطر أوامر WinGrass7:

و sh.exe موجود في C: Program Files GRASS-70-SVN msys bin

تعليق: 7 следующий: 8 تم التغيير 10 منذ лет بواسطة hamish

تعليق: 8 в ответ на: 7 следующий: 9 تم التغيير 10 منذ лет بواسطة glynn

الإصدار 7.0 لم يعد يحتوي على أي برامج نصية shell ، لذا يجب أن يكون هذا موضع نقاش.

تعليق: 9 в ответ на: 8 следующий: 10 تم التغيير 10 منذ лет بواسطة hellik

الإصدار 7.0 لم يعد يحتوي على أي برامج نصية shell ، لذا يجب أن يكون هذا موضع نقاش.

تم الاختبار مع WinGRASS-7.0.SVN-r48376-1-Setup.exe

مرحبًا بك في GRASS 7.0.svn (2011)

صفحة GRASS الرئيسية: http://grass.osgeo.org هذا الإصدار يعمل من خلال: shell (C: Program Files GRASS 7.0.SVN msys bin sh.exe) المساعدة متوفرة مع الأمر: g.manual - راجع شروط الترخيص مع: g.version -c إذا لزم الأمر ، أعد تشغيل واجهة المستخدم الرسومية باستخدام: g.gui wxpython عندما تكون جاهزًا للخروج ، أدخل: خروج

جارٍ بدء تشغيل واجهة المستخدم الرسومية "wxpython" في الخلفية ، يُرجى الانتظار. GRASS 7.0.svn & gt g.manual sh.exe ": g.manual: الأمر غير موجود GRASS 7.0.svn & gt r.grow sh.exe": r.grow: الأمر غير موجود GRASS 7.0.svn & gt r.in.wms sh.exe ": r.in.wms: الأمر غير موجود GRASS 7.0.svn & gt echo $ GRASS_SH C: Program Files GRASS 7.0.SVN msys bin sh.exe GRASS 7.0.svn & gt g.manual -ui sh.exe": g.manual: الأمر غير موجود GRASS 7.0.svn & gt >>>

تعليق: 10 в ответ на: 9 следующий: 11 تم التغيير 10 منذ лет بواسطة hellik

تخطيط أفضل للرسائل

هل هناك أي تلميحات للبحث عن سبب محاولة استدعاء نصوص شل بدلاً من البرامج النصية المزخرفة فيrass70svn؟

تعليق: 11 в ответ на: 10 следующий: 12 تم التغيير 10 منذ лет بواسطة glynn

هل هناك أي تلميحات للبحث عن سبب محاولة استدعاء نصوص شل بدلاً من البرامج النصية المثقوبة في grass70svn؟

# 2 ليس مطلوبًا لـ bash ، والذي سيتعرف على سطور "#! / usr / bin / env python" بشرط أن يكون هناك مترجم Python في $ PATH (وهو ما لا ينبغي أن يكون هو الحال ، ولكن ربما يكون مع إعداد OSGeo4W ). لكن cmd.exe (و Python نفسها) سيستخدمان اقترانات الملفات لامتداد .PY (الذي ستقوم Python بإعداده إذا تم تثبيته بشكل صحيح).

راجع للشغل ، أعتقد أن "sh.exe" لأنك تكتب الأوامر في الصدفة ، وليس لأن شيئًا ما يحاول تنفيذ الأمر كبرنامج نصي للقذيفة.

تعليق: 12 в ответ на: 11 следующий: 13 تم التغيير 10 منذ лет بواسطة martinl

تعليق: 13 в ответ на: 12 следующий: 14 تم التغيير 10 منذ лет بواسطة glynn

أنا نسيت أننا نتعامل مع باش هنا. يتجاهل bash PATHEXT ، ولا يستخدم امتدادات الملفات أيضًا (باستثناء .bat؟).

OTOH ، cmd.exe يستخدم PATHEXT وامتدادات الملفات لكنه يتجاهل shebang. وفي نظام التشغيل Windows ، يستخدم كل من GRASS 'G_spawn () ونظام C () ونظام os.system في Python والعملية الفرعية. Popen () كلها تستخدم cmd.exe وليس bash.

إذا أردنا أن تعمل برامج Python النصية في bash ، فأنا أظن أننا سنحتاج إلى إنشاء أغلفة نصية للقذيفة بدون ملحق .py الذي يستدعي البرنامج النصي عبر على سبيل المثال GRASS_PYTHON دولار. أو فقط اطلب من المستخدمين كتابة ".py" عند تشغيل البرامج النصية من shell. أو ، إذا كنا مهتمين فقط بالقذائف التي بدأها GRASS ، فيمكننا تخصيص ملف .bashrc لتحديد الأسماء المستعارة لجميع نصوص Python النصية ، على سبيل المثال:

في النهاية ، سيكون استخدام bash على Windows دائمًا أمرًا صعبًا ، إنه صراع فقط لتحقيق "ملائم" ، ويكاد يكون من المستحيل تجاوز ذلك. لكنني لا أعرف ما إذا كان دعم bash مهمًا حقًا لمستخدمي Windows الفعليين (على عكس مطوري GRASS الذين يقومون بتشغيل WinGRASS فقط لأغراض الاختبار).

يجب أن تكون الأولوية للتأكد من أن أعمال الدعم "الأصلية" ، أي استدعاء نصوص من واجهة المستخدم الرسومية ، cmd.exe ، نصوص Python وبرامج C. أنا شخصياً أفضل أن يكون دعم Windows + bash مقصورًا على المعلومات الموجودة على Wiki ، حتى يفهم المستخدمون أنها ميزة "استخدام على مسؤوليتك الخاصة".

تعليق: 14 в ответ на: 13 تم تغييره منذ 10 بواسطة hellik

أنا نسيت أننا نتعامل مع باش هنا. يتجاهل bash PATHEXT ، ولا يستخدم امتدادات الملفات أيضًا (باستثناء .bat؟).

OTOH ، cmd.exe يستخدم PATHEXT وامتدادات الملفات لكنه يتجاهل shebang. وفي نظام التشغيل Windows ، يستخدم كل من GRASS 'G_spawn () ونظام C () ونظام os.system في Python والعملية الفرعية. Popen () كلها تستخدم cmd.exe وليس bash.

في الوقت الحالي ، تم بدء تشغيل wingrass7 "GRASS 7.0.SVN with MSYS" بالطريقة التالية:


2 إجابات 2

الحل الدقيق لمشكلتك هو أنك بحاجة إلى ذلك استيراد أوامر SharePoint بعد التثبيت.

ثم اكتب الأوامر المطلوبة للاتصال بالخدمة عبر الإنترنت. تحتاج أيضًا إلى أن تكون مسؤولاً عن مستأجر لبيئة Office 365 الخاصة بك.

الرجاء الرجوع إلى الصورة أدناه بالتفاصيل الدقيقة.

يحتوي SharePoint Online Management Shell على كمية أوامر أقل من الإصدار المحلي. يمكنك قراءة جميع الأوامر الممكنة هناك: https://technet.microsoft.com/en-us/library/fp161397.aspx إذا كنت تريد الاتصال بالخدمة ، فعليك أن تبدأ من هذا الأمر: Connect-SPOService ولكن عليك أن كن مسؤولاً عالمياً في Office 365 https://support.office.com/en-us/article/Introduction-to-the-SharePoint-Online-Management-Shell-c16941c3-19b4-4710-8056-34c034493429

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


الأمر لا يعمل في ملف البرنامج النصي ، ولكنه يعمل بشكل جيد مع أمر shell

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

في المقدمة ، مسارات مطلقة مختلفة.

لقد أنشأت ملفًا نصيًا ، بدءًا من #! / bin / bash ثم الأمر في السطر التالي. حاولت تنفيذه على النحو التالي:

حاول أيضًا تغيير السطر الأول إلى

حاول الجمع بين جميع مجموعات سطر الرأس وأمر التشغيل. كل مع نفس النتائج.

عند التشغيل من ملف البرنامج النصي ، لا يمكن الوصول إلى الملف الذي تم تمريره في أحد الخيارات. لكن الأمر نفسه بالضبط يعمل بشكل مثالي في shell. يتم تمرير الملف في الخيار مع المسار المطلق ، على سبيل المثال / home / ubuntu / file

تحديث: الأمر im قيد التشغيل هو s3fs. أمر لتركيب حاوية s3 على مثيل AWS كمجلد. أريد أن أجعله تلقائيًا عند بدء التشغيل / إعادة التشغيل ، والتفكير في تشغيل البرنامج النصي باستخدام cron @ reboot

لقد قمت بحل مشكلة ملف كلمة المرور عن طريق إزالة الخيار وتعيين بيانات الاعتماد في ملف كلمة المرور الافتراضية .passwd-s3fs. الآن بدون خيار ملف كلمة المرور ، يعمل الأمر بشكل جيد مع برنامج شل النصي ، ولا يعمل في ملف البرنامج النصي شل ، نفس المشكلة.

ملف البرنامج النصي الخاص بي مثل هذا:

تؤدي إضافة خيارات التصحيح إلى الأمر إلى منح مثل هذا الإخراج عند التشغيل في ملف البرنامج النصي:


أدوات التحميل القائمة على الموفر¶

بجانب Browser Panel و DB Manager ، الأدوات الرئيسية التي يوفرها QGIS لإضافة طبقات بغض النظر عن التنسيق ، ستجد أيضًا أدوات خاصة بموفري البيانات.

بعض الإضافات الخارجية اقترح أيضًا أدوات لفتح ملفات بتنسيق معين في QGIS.

تحميل طبقة من ملف¶

لتحميل طبقة من ملف ، يمكنك:

للحصول على بيانات المتجه (مثل Shapefile أو Mapinfo أو طبقة dxf) ، انقر فوق /> زر شريط أدوات Vector Layer ، وحدد طبقة ‣ إضافة طبقة ‣ />أضف طبقة المتجهات خيار القائمة أو اضغط Ctrl + Shift + V. . سيؤدي ذلك إلى ظهور نافذة جديدة (انظر الشكل_المقعد_إضافة) يمكنك التحقق منها ملف وانقر فوق [تصفح]. يمكنك أيضًا تحديد ترميز الملف إذا رغبت في ذلك.

بالنسبة للطبقات النقطية ، انقر على /> أيقونة إضافة طبقة نقطية ، وحدد ملف طبقة ‣ إضافة طبقة ‣ /> أضف طبقة نقطية خيار القائمة أو النوع Ctrl + Shift + R .

سيؤدي ذلك إلى ظهور مربع حوار قياسي مفتوح للملف (انظر الشكل_الفتح_الفتح) ، والذي يسمح لك بالتنقل في نظام الملفات وتحميل ملف شكل أو جغرافي أو مصدر بيانات آخر مدعوم. مربع الاختيار منقي يسمح لك بالتحديد المسبق لبعض تنسيقات الملفات المدعومة. تظهر فقط التنسيقات التي تم اختبارها جيدًا في القائمة. يمكن تحميل التنسيقات الأخرى غير المختبرة عن طريق التحديد كل الملفات (*.*) .

افتح مربع حوار طبقة المتجهات المدعومة من OGR

اختيار ملف من القائمة والنقر [فتح] يقوم بتحميله في QGIS. يمكن تحميل أكثر من طبقة في نفس الوقت عن طريق الضغط باستمرار على ملف كنترول أو تحول مفتاح والنقر على عدة عناصر في مربع الحوار. يوضح Figure_vector_loaded QGIS بعد تحميل ملف ألاسكا ملف.

تحميل QGIS مع ملف Shapefile من ألاسكا

لأن بعض التنسيقات مثل MapInfo (على سبيل المثال ، .التبويب ) أو أوتوكاد ( .dxf ) السماح بمزج أنواع مختلفة من الأشكال الهندسية في ملف واحد ، يؤدي تحميل هذا التنسيق في QGIS إلى فتح مربع حوار لتحديد الأشكال الهندسية لاستخدامها من أجل الحصول على هندسة واحدة لكل طبقة.

باستخدام أداة Add Vector Layer:

يمكنك أيضًا تحميل تنسيقات معينة مثل التغطية الثنائية لـ ArcInfo , المملكة المتحدة. تنسيق التحويل الوطني ، بالإضافة إلى تنسيق TIGER الخام لملف مكتب تعداد الولايات المتحدة أو OpenfileGDB . للقيام بذلك ، تحتاج & # 8217d إلى التحديد الدليل مثل نوع المصدر. في هذه الحالة يمكن تحديد دليل في مربع الحوار بعد الضغط [تصفح].

مع ال قاعدة البيانات نوع المصدر يمكنك تحديد اتصال قاعدة بيانات موجود أو إنشاء اتصال لنوع قاعدة البيانات المحدد. أنواع قواعد البيانات المتاحة هي ODBC , ناقلات OGDI , قاعدة البيانات الجغرافية الشخصية Esri , MySQL إلى جانب PostgreSQL أو MSSQL .

الضغط على [جديد] يفتح الزر قم بإنشاء اتصال قاعدة بيانات OGR جديد الحوار الذي تكون معلماته من بين المعلمات التي يمكنك العثور عليها إنشاء اتصال مخزن. الضغط [فتح] يمكنك الاختيار من بين الجداول المتاحة على سبيل المثال قاعدة البيانات التي تدعم PostGIS.

نوع المصدر الأخير ، بروتوكول، يمكّن من فتح البيانات من الويب باستخدام على سبيل المثال GeoJSON أو CouchDB صيغة. بعد تحديد النوع ، يجب عليك ملء URI الخاص بالمصدر.

تحميل الطبقات والمشاريع من محركات الأقراص الخارجية المثبتة على macOS

في نظام macOS ، لا تظهر محركات الأقراص المحمولة المثبتة بجانب محرك الأقراص الثابتة الأساسي كما هو متوقع أسفل ملف ‣ افتح المشروع. نحن نعمل على مربع حوار فتح / حفظ أكثر لنظام التشغيل macOS لإصلاح ذلك. كحل بديل ، يمكنك الكتابة /أحجام في ال اسم الملف مربع والصحافة يدخل . ثم يمكنك الانتقال إلى محركات الأقراص الخارجية وحوامل الشبكة.

استيراد ملف نصي محدد¶

ملف نصي محدد (على سبيل المثال .csv , .رسالة قصيرة ) في QGIS باستخدام الأدوات الموضحة أعلاه. ومع ذلك ، عند تحميله بهذه الطريقة ، فإنه & # 8217ll يظهر مثل بيانات جدول بسيط. في بعض الأحيان ، يمكن أن تحتوي الملفات النصية المحددة على بيانات هندسية تريد & # 8217d تصور هذا ما هو ملف أضف طبقة نص محددة مصمم ل.

انقر فوق أيقونة شريط الأدوات Add Delimited Text Layer في ملف إدارة الطبقات شريط الأدوات لفتح ملف قم بإنشاء طبقة من ملف نصي محدد الحوار ، كما هو موضح في الشكل figure_delimited_text.

أولاً ، حدد الملف المراد استيراده (على سبيل المثال ، qgis_sample_data / csv / elevp.csv ) من خلال النقر على [تصفح] زر. بمجرد تحديد الملف ، يحاول QGIS تحليل الملف بآخر محدد تم استخدامه. لتمكين QGIS من تحليل الملف بشكل صحيح ، من المهم تحديد المحدد الصحيح. يمكنك تحديد محدد من خلال تنشيط:

  • CSV (قيم مفصولة بفواصل)
  • المحددات المخصصة، بالاختيار من بين بعض المحددات المحددة مسبقًا مثل فاصلة , الفضاء , التبويب , فاصلة منقوطة .
  • أو محدد التعبير العادي وإدخال النص في ملف تعبير مجال. على سبيل المثال ، لتغيير المحدد إلى علامة تبويب ، استخدم t (هذا تعبير عادي لحرف الجدولة).

بمجرد تحليل الملف ، اضبط تعريف الهندسة ل إحداثيات النقطة واختيار X و ص الحقول من القوائم المنسدلة. إذا تم تعريف الإحداثيات على أنها درجات / دقائق / ثانية ، فقم بتنشيط ملف إحداثيات DMS خانة الاختيار.

أخيرًا ، أدخل اسم طبقة (على سبيل المثال ، الارتفاع ) ، كما هو موضح في الشكل figure_delimited_text. لإضافة الطبقة إلى الخريطة ، انقر فوق [نعم]. يعمل الملف النصي المحدد الآن مثل أي طبقة خريطة أخرى في QGIS.

يوجد أيضًا خيار مساعد يسمح لك بقص المسافات الأمامية والخلفية من الحقول & # 8212 تقليم الحقول. أيضا ، من الممكن تجاهل الحقول الفارغة. إذا لزم الأمر ، يمكنك فرض الفاصلة لتكون الفاصل العشري عن طريق التنشيط الفاصل العشري هو الفاصلة.

إذا تم تمثيل المعلومات المكانية بواسطة WKT ، فقم بتنشيط نص معروف الخيار وحدد الحقل مع تعريف WKT للكائنات النقطية أو الخطية أو المضلعة. إذا كان الملف يحتوي على بيانات غير مكانية ، فقم بتنشيط بلا هندسة (جدول السمات فقط) وسيتم تحميله كجدول ترتيبي.

بالإضافة إلى ذلك ، يمكنك تمكين:

    استخدم الفهرس المكاني لتحسين أداء عرض الميزات واختيارها مكانيًا استخدم فهرس المجموعة الفرعية مشاهدة الملف لمشاهدة التغييرات التي تم إجراؤها على الملف بواسطة التطبيقات الأخرى أثناء تشغيل QGIS.

استيراد ملف DXF أو DWG¶

DXF و DWG يمكن إضافة الملفات إلى QGIS عن طريق السحب والإفلات البسيط من لوحة المتصفح العامة. & # 8217 ستتم مطالبتك بتحديد الطبقات الفرعية التي & # 8217d ترغب في إضافتها إلى المشروع. تتم إضافة الطبقات بخصائص نمط عشوائية.

ملفات DXF التي تحتوي على عدة أنواع هندسية (نقطة و / أو خط و / أو مضلع) ، سيتم إنشاء اسم الطبقة من & ltfilename.dxf & gt الكيانات & ltgeometry type & gt.

للاحتفاظ ببنية dxf / dwg ورموزها في QGIS ، قد ترغب في استخدام مشروع ‣ استيراد DWG / DXF. أداة. في الواقع ، فإن استيراد DWG / DXF يتيح لك مربع الحوار استيراد أي عنصر من عناصر ملف الرسم إلى قاعدة بيانات GeoPackage.

في مربع الحوار ، عليك أن:

  • أدخل موقعًا لملف GeoPackage ، والذي سيتم إنشاؤه لتخزين محتوى DWG / DXF في
  • حدد النظام الإحداثي الذي توجد به البيانات الموجودة في بيانات DWG
  • ثم استخدم ملف [يستورد] زر لتحديد ملف DWG / DXF المراد استخدامه (واحد لكل حزمة جغرافية). سيتم ملء قاعدة بيانات GeoPackage تلقائيًا بمحتوى ملف الرسم. اعتمادًا على حجم ملف * CAD ، قد يستغرق هذا بعض الوقت
  • />قم بتوسيع مراجع الكتلة ستحول الكتل الموجودة إلى عناصر عادية
  • />استخدم المنحنيات يقوم بترقية نوع هندسة طبقات الإخراج إلى أ منحن واحد.

بعد .dwg أو .dxf يتم استيراد البيانات إلى قاعدة بيانات GeoPackage ، ويتم ملء الإطار الموجود في النصف السفلي من مربع الحوار بقائمة الطبقات من الملف المستورد. هناك يمكنك تحديد الطبقات التي تريد إضافتها إلى مشروع QGIS:

  • في الجزء العلوي ، قم بتعيين ملف أسم المجموعة لتجميع ملفات الرسم في المشروع
  • التحقق من الطبقات لإظهارها: تتم إضافة كل طبقة محددة إلى مجموعة مخصصة تحتوي على طبقات متجهة لميزات النقطة والخط والتسمية والمساحة لطبقة الرسم. يتم إعداد نمط كل طبقة بحيث يشبه الشكل الذي كانت عليه في الأصل في * CAD
  • تحقق مما إذا كانت الطبقة يجب أن تكون مرئية عند الفتح
  • بدلا من ذلك باستخدام دمج الطبقات الخيار يضع كل الطبقات في مجموعة واحدة
  • صحافة [نعم] لفتح الطبقات في QGIS.

استيراد ناقلات OpenStreetMap¶

في السنوات الأخيرة ، اكتسب مشروع OpenStreetMap شعبية لأنه في العديد من البلدان لا تتوفر بيانات جغرافية مجانية مثل خرائط الطريق الرقمية. الهدف من مشروع OSM هو إنشاء خريطة مجانية قابلة للتحرير للعالم من بيانات GPS أو التصوير الجوي أو المعرفة المحلية. لدعم هذا الهدف ، يوفر QGIS الدعم لبيانات OSM.

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

لتجنب العمل مع مثل هذا الهيكل المعقد للبيانات ، ولتكون قادرًا على تحديد الميزات التي تحتاجها فقط بناءً على علاماتها ، يوفر QGIS أداة استيراد OpenStreetMap أساسية ومتكاملة تمامًا:

  • للاتصال بخادم OSM وتنزيل البيانات ، افتح القائمة Vector ‣ OpenStreetMap ‣ تنزيل البيانات. . يمكنك تخطي هذه الخطوة إذا كنت قد حصلت بالفعل على ملف .osm ملف XML باستخدام JOSM أو Overpass API أو أي مصدر آخر
  • قائمة الطعام Vector ‣ OpenStreetMap ‣ استيراد الطوبولوجيا من XML. سوف يحول الخاص بك .osm ملف في قاعدة بيانات SpatiaLite وإنشاء اتصال قاعدة البيانات المقابلة
  • قائمة الطعام Vector ‣ OpenStreetMap ‣ تصدير الطوبولوجيا إلى SpatiaLite. ثم يسمح لك بفتح اتصال قاعدة البيانات ، وتحديد نوع البيانات التي تريدها (النقاط ، أو الخطوط ، أو المضلعات) واختيار العلامات المراد استيرادها. يؤدي هذا إلى إنشاء طبقة هندسة SpatiaLite يمكنك إضافتها إلى مشروعك بالنقر فوق /> إضافة زر شريط أدوات SpatiaLite Layer أو عن طريق تحديد />أضف طبقة SpatiaLite. خيار من طبقة القائمة (انظر القسم طبقات SpatiaLite).

يمكن تحميل بيانات GPS في QGIS باستخدام المكون الإضافي الأساسي: أدوات GPS . التعليمات موضحة في القسم GPS Eklenti.

نجيل¶

تم وصف العمل مع بيانات متجه GRASS في القسم تكامل GRASS GIS.

طبقات SpatiaLite¶

في المرة الأولى التي تقوم فيها بتحميل البيانات من قاعدة بيانات SpatiaLite ، ابدأ بـ:

  • النقر على /> إضافة زر شريط أدوات SpatiaLite Layer
  • تحديد />أضف طبقة SpatiaLite. خيار من طبقة ‣ إضافة طبقة قائمة
  • أو عن طريق الكتابة Ctrl + Shift + L .

سيظهر هذا نافذة تسمح لك إما بالاتصال بقاعدة بيانات SpatiaLite المعروفة بالفعل لـ QGIS ، والتي يمكنك الاختيار من القائمة المنسدلة ، أو تحديد اتصال جديد بقاعدة بيانات جديدة. لتحديد اتصال جديد ، انقر فوق [جديد] واستخدم متصفح الملفات للإشارة إلى قاعدة بيانات SpatiaLite ، وهي عبارة عن ملف بامتداد .sqlite تمديد.

يدعم QGIS أيضًا طرق العرض القابلة للتحرير في SpatiaLite.

الأدوات المتعلقة بقاعدة البيانات¶

إنشاء اتصال مخزن¶

لقراءة الجداول وكتابتها من العديد من تنسيقات قواعد البيانات ، يدعمك QGIS & # 8217 ، ستحتاج إلى إنشاء اتصال بقاعدة البيانات هذه. في حين لوحة مستعرض QGIS هي الطريقة الأبسط والموصى بها للاتصال واستخدام قواعد البيانات بداخلها ، يوفر QGIS أدوات محددة يمكنك استخدامها للاتصال بكل منها وتحميل جداولها:

    أضف طبقة PostGIS. أو عن طريق الكتابة Ctrl + Shift + Dأضف طبقة مكانية MSSQL أو عن طريق الكتابة Ctrl + Shift + M.أضف طبقة أوراكل المكانية. أو الكتابة Ctrl + Shift + Oأضف الطبقة المكانية DB2. أو الكتابة السيطرة + Shift + 2

هذه الأدوات يمكن الوصول إليها إما من إدارة شريط أدوات الطبقات أو ال طبقة ‣ إضافة طبقة ‣ قائمة. الاتصال بقاعدة بيانات SpatiaLite موصوف في طبقات SpatiaLite.

قم بإنشاء اتصال بقاعدة البيانات من لوحة مستعرض QGIS

حدد تنسيق قاعدة البيانات المطابق في شجرة المتصفح ، وانقر بزر الماوس الأيمن واختر اتصال سيوفر لك مربع حوار اتصال قاعدة البيانات.

تتبع معظم مربعات حوار الاتصال أساسًا مشتركًا سيتم وصفه أدناه باستخدام أداة قاعدة بيانات PostGreSQL كمثال.

في المرة الأولى التي تستخدم فيها مصدر بيانات PostGIS ، يجب عليك إنشاء اتصال بقاعدة بيانات تحتوي على البيانات. ابدأ بالنقر فوق الزر المناسب كما هو موضح أعلاه ، وافتح ملف إضافة جدول (جداول) PostGIS الحوار (انظر الشكل_add_postgis_tables). للوصول إلى مدير الاتصال ، انقر فوق [جديد] زر لعرض ملف إنشاء اتصال PostGIS جديد الحوار.

إنشاء مربع حوار اتصال PostGIS جديد

يتم عرض المعلمات المطلوبة لاتصال PostGIS أدناه. بالنسبة لأنواع قواعد البيانات الأخرى ، راجع الاختلافات في متطلبات التوصيل الخاصة.

اسم: اسم لهذا الاتصال. يمكن أن يكون هو نفسه قاعدة البيانات.

خدمة: يتم استخدام معلمة الخدمة بدلاً من اسم المضيف / المنفذ (وربما قاعدة البيانات). يمكن تعريف هذا في pg_service.conf . افحص ال ملف اتصال خدمة PostgreSQL لمزيد من التفاصيل.

مضيف: اسم مضيف قاعدة البيانات. يجب أن يكون هذا اسم مضيف قابل للحل مثل استخدامه لفتح اتصال TCP / IP أو اختبار اتصال المضيف. إذا كانت قاعدة البيانات على نفس جهاز الكمبيوتر مثل QGIS ، فما عليك سوى إدخال مضيف محلي هنا.

ميناء: رقم المنفذ الذي يستمع إليه خادم قاعدة بيانات PostgreSQL. المنفذ الافتراضي لـ PostGIS هو 5432 .

قاعدة البيانات: اسم قاعدة البيانات.

وضع SSL: كيف سيتم التفاوض على اتصال SSL مع الخادم. لاحظ أنه يمكن تحقيق عمليات تسريع هائلة في عرض طبقة PostGIS عن طريق تعطيل SSL في محرر الاتصال. الخيارات التالية متاحة:

  • إبطال: جرب فقط اتصال SSL غير مشفر
  • تسمح: جرب اتصالاً بخلاف SSL. إذا فشل ذلك ، فجرّب اتصال SSL
  • تفضل (الافتراضي): جرب اتصال SSL. إذا فشل ذلك ، فجرّب اتصالاً بخلاف SSL
  • تطلب: جرب اتصال SSL فقط.

اسم المستخدم: اسم المستخدم المستخدم لتسجيل الدخول إلى قاعدة البيانات.

كلمه السر: كلمة المرور المستخدمة مع اسم المستخدم للاتصال بقاعدة البيانات.

يمكنك حفظ أي من أو كلاهما اسم االمستخدم و كلمه السر المعلمات ، وفي هذه الحالة سيتم استخدامها افتراضيًا في كل مرة تحتاج فيها إلى الاتصال بقاعدة البيانات هذه. إذا لم يتم الحفظ ، فسيُطلب منك & # 8217 ملء بيانات الاعتماد المفقودة للاتصال بقاعدة البيانات في جلسات QGIS التالية ، بينما يتم تخزين معلمات الاتصال التي أدخلتها في ذاكرة تخزين مؤقت داخلية مؤقتة وإعادتها كلما طلب اسم مستخدم / كلمة مرور لقاعدة البيانات نفسها ، حتى تقوم بإغلاق عملية QGIS الحالية.

إعدادات وأمان مستخدم QGIS

في ال المصادقة علامة التبويب ، حفظ اسم االمستخدم و كلمه السر سيحتفظ ببيانات الاعتماد غير المحمية في تكوين الاتصال. أولئك ستكون أوراق الاعتماد مرئية إذا قمت ، على سبيل المثال ، بمشاركة ملف المشروع مع شخص ما. لذلك ، من المستحسن حفظ بيانات الاعتماد الخاصة بك في ملف تكوين المصادقة في حين أن (التكوينات علامة التبويب - انظر نظام المصادقة لمزيد من التفاصيل) أو في ملف اتصال الخدمة (انظر ملف اتصال خدمة PostgreSQL على سبيل المثال).

اختياريًا ، بناءً على نوع قاعدة البيانات ، يمكنك تنشيط مربعات الاختيار التالية:

    إظهار الطبقات فقط في سجلات الطبقة& # 8217t حل نوع الأعمدة غير المقيدة (الهندسة)ابحث فقط في مخطط & # 8216public & # 8217قم أيضًا بإدراج الجداول بدون هندسةاستخدم بيانات تعريف الجدول المقدرة

استخدم بيانات تعريف الجدول المقدرة لتسريع العمليات

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

بمجرد تعيين جميع المعلمات والخيارات ، يمكنك اختبار الاتصال بالنقر فوق ملف [اختبار الاتصال] زر أو تطبيق ضرب [نعم]. من إضافة جدول (جداول) PostGIS، انقر الآن [الاتصال] ويمتلئ مربع الحوار بجداول من قاعدة البيانات المحددة (كما هو موضح في الشكل _add_postgis_tables).

متطلبات الاتصال الخاصة¶

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

ملف اتصال خدمة PostgreSQL¶

يسمح ملف اتصال الخدمة بربط معلمات اتصال PostgreSQL باسم خدمة واحد. يمكن بعد ذلك تحديد اسم الخدمة هذا بواسطة العميل وسيتم استخدام الإعدادات المرتبطة.

& # 8217s يسمى .pg_service.conf تحت أنظمة * nix (GNU / Linux و macOS وما إلى ذلك) و pg_service.conf على نظام التشغيل Windows.

يبدو ملف الخدمة بالشكل التالي:

هناك نوعان من الخدمات في المثال أعلاه: خدمة المياه و خدمة الصرف الصحي . يمكنك استخدام هذه للاتصال من QGIS و pgAdmin وما إلى ذلك عن طريق تحديد اسم الخدمة التي تريد الاتصال بها فقط (بدون الأقواس المرفقة). إذا كنت ترغب في استخدام الخدمة مع بسكل عليك أن تفعل شيئًا مثل تصدير PGSERVICE = water_service قبل تنفيذ أوامر psql الخاصة بك.

يمكنك العثور على جميع المعلمات هنا

إذا كنت لا تريد & # 8217t حفظ كلمات المرور في ملف الخدمة ، يمكنك استخدام خيار .pg_pass.

في أنظمة التشغيل * nix (GNU / Linux و macOS وما إلى ذلك) يمكنك حفظ ملفات .pg_service.conf ملف في الدليل الرئيسي user & # 8217s وسوف يكون عملاء PostgreSQL على دراية به تلقائيًا. على سبيل المثال ، إذا كان المستخدم المسجل هو الويب , .pg_service.conf يجب حفظها في / الرئيسية / الويب / الدليل للعمل مباشرة (دون تحديد أي متغيرات بيئة أخرى).

يمكنك تحديد موقع ملف الخدمة عن طريق إنشاء ملف ملف PGSERVICEFILE متغير البيئة (على سبيل المثال ، قم بتشغيل تصدير PGSERVICEFILE = / home / web / .pg_service.conf الأمر تحت نظام التشغيل * nix OS لتعيين ملف ملف PGSERVICEFILE عامل)

يمكنك أيضًا إتاحة ملف الخدمة على مستوى النظام (جميع المستخدمين) إما عن طريق وضع ملف .pg_service.conf ملف في pg_config - sysconfdir أو عن طريق إضافة PGSYSCONFDIR متغير البيئة لتحديد الدليل الذي يحتوي على ملف الخدمة. في حالة وجود تعريفات خدمة بنفس الاسم في المستخدم وملف النظام ، يكون لملف المستخدم الأسبقية.

هناك بعض المحاذير تحت Windows:

  • يجب حفظ ملف الخدمة كملف pg_service.conf وليس مثل .pg_service.conf .
  • يجب حفظ ملف الخدمة بتنسيق Unix حتى يعمل. طريقة واحدة للقيام بذلك هي فتحه باستخدام Notepad ++ و تحرير ‣ تحويل موسوعة الحياة ‣ تنسيق UNIX ‣ حفظ الملف.
  • يمكنك إضافة متغيرات بيئية بطرق مختلفة ، أحدها تم اختباره ، والمعروف أنه يعمل بشكل موثوق به لوحة التحكم ‣ النظام والأمان ‣ النظام ‣ إعدادات النظام المتقدمة ‣ متغيرات البيئة مضيفا ملف PGSERVICEFILE ومسار النوع ج: المستخدمون جون pg_service.conf
  • بعد إضافة متغير بيئة ، قد تحتاج أيضًا إلى إعادة تشغيل الكمبيوتر.
الاتصال بـ Oracle Spatial¶

تساعد الميزات المكانية في Oracle Spatial المستخدمين في إدارة البيانات الجغرافية وبيانات الموقع في نوع أصلي داخل قاعدة بيانات Oracle. بالإضافة إلى بعض الخيارات في إنشاء اتصال مخزنيقترح مربع حوار الاتصال:

  • قاعدة البيانات: SID أو SERVICE_NAME لطبعة Oracle
  • ميناء: رقم المنفذ الذي يستمع إليه خادم قاعدة بيانات Oracle. المنفذ الافتراضي هو 1521
  • مساحة العمل: مساحة العمل للتبديل إليها.

اختياريًا ، يمكنك تنشيط مربعات الاختيار التالية:

    ابحث فقط في جدول البيانات الوصفية: يقصر الجداول المعروضة على تلك الموجودة في all_sdo_geom_metadata منظر. يمكن أن يؤدي ذلك إلى تسريع العرض الأولي للجداول المكانية ابحث فقط عن جداول المستخدم & # 8217s: عند البحث عن جداول مكانية ، احصر البحث في الجداول التي يملكها المستخدم قم أيضًا بإدراج الجداول بدون هندسة: يشير إلى أنه يجب أيضًا إدراج الجداول التي لا تحتوي على أشكال هندسية بشكل افتراضي استخدم إحصائيات الجدول المقدرة لبيانات تعريف الطبقة: عند إعداد الطبقة ، يلزم وجود بيانات وصفية مختلفة لجدول Oracle. يتضمن ذلك معلومات مثل عدد صفوف الجدول ونوع الشكل الهندسي والنطاقات المكانية للبيانات في عمود الهندسة. إذا كان الجدول يحتوي على عدد كبير من الصفوف ، فقد يستغرق تحديد البيانات الوصفية وقتًا طويلاً. من خلال تنشيط هذا الخيار ، يتم إجراء عمليات البيانات الوصفية السريعة التالية للجدول: يتم تحديد عدد الصفوف من all_tables.num_rows . يتم تحديد نطاقات الجدول دائمًا باستخدام وظيفة SDO_TUNE.EXTENTS_OF ، حتى إذا تم تطبيق مرشح طبقة. يتم تحديد هندسة الجدول من أول 100 صف هندسي غير فارغ في الجدول أنواع الهندسة الموجودة فقط: قم بإدراج أنواع الهندسة الموجودة فقط ولا تعرض إضافة أنواع أخرى قم بتضمين سمات هندسية إضافية.

طبقات أوراكل المكانية

عادةً ، يتم تعريف طبقة Oracle Spatial بإدخال في ملف USER_SDO_METADATA الطاولة.

الاتصال بـ DB2 المكاني¶

بالإضافة إلى بعض الخيارات الموضحة في إنشاء اتصال مخزن، الاتصال بقاعدة بيانات DB2 (انظر الطبقات المكانية DB2 لمزيد من المعلومات) باستخدام اسم Service / DSN المعرّف لـ ODBC أو باستخدام معلومات برنامج التشغيل والمضيف والمنفذ.

ODBC الخدمة / DSN يتطلب الاتصال اسم الخدمة المعرّف لـ ODBC.

يتطلب اتصال السائق / المضيف / المنفذ:

  • سائق: اسم برنامج تشغيل DB2. عادةً ما يكون هذا برنامج تشغيل IBM DB2 ODBC.
  • مضيف DB2: اسم مضيف قاعدة البيانات. يجب أن يكون هذا اسم مضيف قابل للحل مثل استخدامه لفتح اتصال TCP / IP أو اختبار اتصال المضيف. إذا كانت قاعدة البيانات على نفس جهاز الكمبيوتر مثل QGIS ، فما عليك سوى إدخال مضيف محلي هنا.
  • منفذ DB2: رقم المنفذ الذي يستمع إليه خادم قاعدة بيانات DB2. منفذ DB2 LUW الافتراضي هو 50000 . منفذ DB2 z / OS الافتراضي هو 446 .

الطبقات المكانية DB2

يتم تحديد طبقة DB2 المكانية بصف في ملف DB2GSE.ST_GEOMETRY_COLUMNS منظر.

من أجل العمل بفاعلية مع جداول DB2 المكانية في QGIS ، من المهم أن تحتوي الجداول على عمود INTEGER أو BIGINT محدد على أنه PRIMARY KEY وإذا كان سيتم إضافة ميزات جديدة ، يجب أن يكون لهذا العمود أيضًا الخاصية GenERATED.

من المفيد أيضًا تسجيل العمود المكاني بمعرف إسناد مكاني محدد (غالبًا 4326 لإحداثيات WGS84). يمكن تسجيل العمود المكاني عن طريق استدعاء ST_Register_Spatial_Column الإجراء المخزن.

الاتصال بـ MSSQL Spatial¶

بالإضافة إلى بعض الخيارات في إنشاء اتصال مخزن، فإن إنشاء مربع حوار اتصال MSSQL جديد يقترح عليك ملء ملف مزود / DSN اسم. يمكنك أيضًا عرض قواعد البيانات المتاحة.

تحميل طبقة قاعدة بيانات¶

Once you have one or more connections defined to a database (see section Creating a stored Connection), you can load layers from it. Of course, this requires having available data. See e.g. section Importing Data into PostgreSQL for a discussion on importing data into a PostGIS database.

To load a layer from a database, you can perform the following steps:

  1. Open the “Add <database> table(s)” dialog (see Creating a stored Connection),
  2. Choose the connection from the drop-down list and click [Connect].
  3. Select or unselect />Also list tables with no geometry.
  4. Optionally, use some />Search Options to reduce the list of tables to those matching your search. You can also set this option before you hit the [Connect] button, speeding this way the database fetching.
  5. Find the layer(s) you wish to add in the list of available layers.
  6. Select it by clicking on it. You can select multiple layers by holding down the تحول key while clicking.
  7. If applicable, use the [Set Filter] button (or double-click the layer) to start the Query builder dialog (See section Query Builder) and define which features to load from the selected layer. The filter expression appears in the sql column. This restriction can be removed or edited in the Layer Properties ‣ General ‣ Provider Feature Filter frame.
  8. The checkbox in the Select at id column that is activated by default gets the features ids without the attributes and speed in most cases the data loading.
  9. اضغط على [Add] button to add the layer to the map.

Add PostGIS Table(s) Dialog

Load database table(s) from the Browser Panel

Like simple files, connected database are also listed in the Browser Panel. Hence, you can load tables from databases using the Browser:

  1. Find the layer to use with the Filter Browser tool at the top the browser panel (see The Browser Panel for the search options)
  2. select and drag-and-drop it in the map canvas.

3 إجابات 3

To reset your path, remove the line that sets the path from your

/.bash_profile or equivalent, then reopen your Terminal.

Edit it with /usr/bin/nano, or /usr/bin/open, or TextMate, or any other text editor. It's not that no command can be reached, but that the PATH doesn't include these binaries—they can still be manually opened by providing the path or using cd to the directory.

You corrupted your PATH variable definition. Without any indication of which method you choosed to modify it, I will make the hypothesis that you modified it within your

To recover from this situation, you will have to come back to a working shell environment and then try to fix correctly and test your


Can I modify iTerm window titles for some but not all running commands?

I was looking for a solution to auto set custom title in the terminal based on what command is being run on the current terminal. So, rather than java showing in many tabs - I'd love to have it pick apart which java program is running not that all say just java.

I found very interesting and different answers yet not fully useful for my requierment

currently, I have written below line in

which works somewhat fine in **iTerm2 ** but it displays the complete command as a title but I want the specific argument or part of the string of command as a title

suppose I run this command in the terminal

sudo java - jar xyz_service/build/lib/xxx_snapshot.jar

and the terminal title being set as it is but I only want to set xyz_service as a title

note: above command always display update_terminal_cwd as a title in default bash shell terminal

my other trials which are not working though

  • macOS HighSierra v 10.13.3
  • iTerm2 build 2.15
  • shell is bash v 2.8 (400)

Can I do this without a wrapper alias in bash that explicitly sets the variable name?


2 إجابات 2

Since you said you were experiencing this issue when running the script through cron, here are a couple ideas.

99% of the problems that arise when running scripts through cron are because of $PATH . The path used by cron is very minimal. You do specify the full path to the init script, so I wouldnt expect this to be the issue. Your script doesnt do anything else does it?

Also, in your script, if you are using bash, you can change the first line (the shebang) and add a second line as follows


Elastic Beanstalk configuration using ebextensions container_commands combining leader_only and test

For our Django app running on AWS Elastic Beanstalk, we use a web-server/worker setup. The same code is deployed to the web-server and worker environments, and environment-specific configuration is achieved with .ebextensions config files, using the test option for container_commands , among other things.

Now there are بعض container commands we would like to execute فقط during deployment or environment-creation (so we use leader_only: true , see bottom), but, in addition, they should never be executed on the worker environment.

The latter could be achieved using the test option, but that cannot be used not in combination with leader_only , according to the docs:

. A command can be leader-only or have a test, but not both (leader_only takes precedence).

Now, to work around this, we do something like the following, in .ebextensions/foo.config :

where ENV_NAME contains the environment name, which is automatically retrieved with the help of option_settings (see docs).

Note that the config file is in YAML format and the commands and tests execute in a shell (I assume bash , since the extended test construct [[ works, but could not find any specifics in the AWS docs).

As I am ليس an expert, I would really appreciate your comments on the following points:

The solution above works, but is this the simplest way to do it?

Are there any compelling reasons ليس to use this kind of set-up?

I tried setting a variable instead of creating a file (in command 0100 ), but the variable does not appear to persist between container commands. Is there some way to achieve this? (I tried to export , but that didn't help. Is each container command executed in a separate shell, or how does this work?)

Some general background from the AWS docs:

You can use leader_only to only run the command on a single instance, or configure a test to only run the command when a test command evaluates to true. Leader-only container commands are only executed during environment creation and deployments, while other commands and server customization operations are performed every time an instance is provisioned or updated. Leader-only container commands are not executed due to launch configuration changes, such as a change in the AMI Id or instance type.


2 إجابات 2

Simply, you cannot do that.

You sat up multi/handler with meterpreter reverse_tcp as payload and then you're gone to your victim machine and visited it like a website.

See, the multi/handler expect a connection from a meterpreter payload not from a web browser. That's why you couldn't execute anything.

To back up what I said, try it another time without the j and z options. When you go to your windows machine and visit your attack box, you will see that the connection is dropped after the user-agent string is showing.

How are you connecting from the target Windows machine back to your attacking machine?

It looks like since you're automatically backgrounding the session, you're not seeing where the session is never created. Try just "exploit" without the flags and you shouldn't get the meterpreter prompt like you are now. Does the session die after a minute or so?

In order to make this work, you'll need to find a vulnerability to exploit, which will deliver the payload and make it connect back to you. You should only have to use multi/handler for exploits launched outside of Metasploit, but it's not clear if you're doing that or not.

I searched around, found, and tested a vulnerable application that you can use to practice with in Windows 10. I don't know what the rules are for posting links for vulnerable software, so I'll just kind of direct you: Serviio Media Server has a command execution vulnerability in some of its older versions. Info on the Metasploit module is located here. I tested this with 1.7.1, so go to http://serviio.org/download and copy the link for the Windows version and change current version they're serving up (1.9.1) to 1.7.1 (literally just change the 9 to a 7).

Install Serviio Media Server on your Windows 10 box. I would recommend temporarily whitelisting the Drive:Program FilesServiioin directory in Windows Defender because it will catch Meterpreter.

From your attacking machine:

You'll see that you need to set the RHOST (your Win10 machine) and SRVHOST (your attacking machine).


شاهد الفيديو: QGIS 3D Map using 3D View Version