أكثر

كيفية إدراج البيانات في قاعدة بيانات postgis باستخدام phpPgAdmin؟

كيفية إدراج البيانات في قاعدة بيانات postgis باستخدام phpPgAdmin؟


لدي 50 عنصرًا سطرًا بتنسيق .shp في مجلد على جهاز الكمبيوتر الخاص بي. أحتاج إلى إدراجه في قاعدة بيانات postgis على الخادم البعيد ... عندما أقوم بتسجيل الدخول إلى phpPgAdmin ، تقول أنه يعمل على المضيف المحلي: 5433. ما هي الطريقة السريعة لإدراج بيانات .shp الخاصة بي في قاعدة البيانات؟


يمكنك تشغيل shp2pgsql لتحويل ملف الأشكال إلى SQL. يجب أن تكون قادرًا على تنفيذ ملف SQL الناتج في phpPgAdmin.

يقدم QGIS واجهة مستخدم رسومية لـ shp2pgsql عبر البرنامج المساعد "Postgis Manager". يمكنك الاتصال بقاعدة البيانات البعيدة وتحميل ملفات الأشكال مباشرة دون الحاجة إلى phpPgAdmin.


على النوافذ يوجد PgAdmin III ضمن Start-> Programs-> PostgreSQL 8.4-> PgAdmin III عادةً ما يتم تسجيل الدخول باستخدام المستخدم المتميز postgres وكلمة المرور التي اخترتها أثناء التثبيت. إذا نسيت ذلك ، فانتقل إلى pg_hba.conf (فقط افتحه باستخدام محرر مثل المفكرة أو محرر مبرمج). ضع الخط

استضافة جميع md5 127.0.0.1/5433 لاستضافة جميع الثقة 127.0.0.1/5433

إذا كنت تثق في استخدامه

استضافة كل المضيف المحلي / 5433 الثقة (المضيف الكل 0.0.0.0/0 md5 سيمنح جميع المستخدمين الوصول)

هناك طريقة أخرى للقيام بذلك وهي استخدام أنفاق SSH - استخدم المعجون (أو عميل SSH آخر) لتسجيل الدخول إلى الجهاز البعيد وتعيين نفق من المضيف المحلي: 5433 إلى جهاز التحكم عن بعد: 5433. راجع http://howto.ccs.neu.edu/howto/windows/ssh-port-tunneling-with-putty/ لمزيد من التفاصيل. ثم يمكنك تشغيل PGAdmin على جهازك المحلي وسيتحدث مباشرة إلى الجهاز البعيد.


كيفية تصدير واستيراد قاعدة بيانات Postgresql

يعد PostgreSQL نظامًا قويًا ومفتوح المصدر لقواعد البيانات الارتباطية للكائنات ويوفر سمعة قوية من حيث الموثوقية وتكامل البيانات وصحتها. تدير PostgreSQL أنظمة تشغيل مثل Linux و UNIX (AIX و BSD و HP-UX و SGI IRIX و Mac OS X و Solaris و Tru64) و Windows.

تصدير قاعدة بيانات PostgreSQL

تصدير قاعدة بيانات PostgreSQL إلى ملف باستخدام برنامج سطر الأوامر pg_dump

pg_dump هي أداة فعالة لإجراء نسخ احتياطي لقاعدة بيانات postgres. يتم استخدام pg_dump لعمل نسخة احتياطية من قاعدة البيانات المحلية واستعادتها على قاعدة بيانات بعيدة في نفس الوقت ، باستخدام أمر واحد.

1) تسجيل الدخول إلى حساب الاستضافة عبر SSH.

2) اكتب هذا الأمر واستبدل اسم المستخدم و dbname.

# pg_dump -U USERNAME DBNAME & gt dbexport.pgsql

3) اكتب كلمة المرور في موجه كلمة المرور.

4) يتم نقل جميع محتويات قاعدة البيانات DBNAME إلى ملف dbexport.pgsql.

تصدير قاعدة بيانات PostgreSQL باستخدام phpPgAdmin

phpPgAdmin هي أداة إدارية على شبكة الإنترنت لـ PostgreSQL مكتوبة بلغة PHP. يعتمد على واجهة phpMyAdmin الشهيرة المكتوبة في الأصل لإدارة MySQL.

2) انقر فوق phpPgAdmin في قسم قاعدة البيانات.

3) قم بتوسيع الخوادم ، قم بتوسيع PostgreSQL في نافذة phpPgAdmin.

4) انقر فوق اسم قاعدة البيانات التي تريد تصديرها.

5) انقر فوق "تصدير" في الجزء العلوي من شريط القائمة.

6) انقر فوق الهيكل والبيانات.

10) في مربع حوار الملف ، حدد موقعًا لحفظ الملف ، ثم انقر فوق حفظ.

أنشئ قاعدة بيانات PostgreSQL جديدة وعيِّن مستخدمًا

1) قم بتسجيل الدخول إلى حساب cPanel.

2) انقر فوق قواعد بيانات PostgreSQL في قسم قواعد البيانات في شاشة cPanel الرئيسية.

3) اكتب اسم قاعدة البيانات في مربع نص "اسم قاعدة البيانات" ضمن "إنشاء قاعدة بيانات جديدة".

5) انقر فوق "رجوع" بعد إنشاء قاعدة البيانات.

6) حدد المستخدم الذي تريد إضافته في مربع قائمة المستخدم ضمن إضافة مستخدم إلى قاعدة البيانات.

7) حدد قاعدة البيانات الجديدة في مربع قائمة قاعدة البيانات.

بعد إنشاء قاعدة بيانات جديدة في cPanel ، يمكنك استيراد محتويات قاعدة البيانات & # 8217s.

استيراد قاعدة بيانات PostgreSQL

استيراد قاعدة بيانات PostgreSQL باستخدام برنامج psql

الواجهة الأمامية الأساسية لـ PostgreSQL هي برنامج سطر الأوامر psql. يمكن استخدامه لإدخال استعلامات SQL مباشرة ، أو تنفيذها من ملف. يوفر psql عددًا من الأوامر الوصفية وميزات مختلفة تشبه الصدفة لتسهيل كتابة البرامج النصية وأتمتة مجموعة متنوعة من المهام على سبيل المثال ، إكمال علامة التبويب لأسماء الكائنات وبناء جملة SQL.

1) انقل ملف dbexport.pgsql إلى حساب الاستضافة الخاص بك باستخدام SCP أو SFTP أو FTP.

2) قم بتسجيل الدخول إلى حساب الاستضافة عبر SSH.

3) اكتب الأمر التالي واستبدل اسم المستخدم باسم المستخدم و DBNAME باسم قاعدة البيانات التي تريد استيراد البيانات إليها.

# psql -U اسم المستخدم DBNAME & lt dbexport.pgsql

4) يجب أن تحتوي قاعدة بيانات DBNAME الآن على البيانات الموجودة في ملف dbexport.pgsql.

استيراد قاعدة بيانات PostgreSQL باستخدام phpPgAdmin

2) انقر فوق phpPgAdmin في قسم قواعد البيانات في شاشة cPanel الرئيسية.

3) قم بتوسيع الخوادم ، قم بتوسيع PostgreSQL في الجزء الأيمن من نافذة phpPgAdmin ثم انقر فوق اسم قاعدة البيانات التي تريد استيراد البيانات إليها.

4) في شريط القائمة العلوي ، انقر فوق SQL.

6) حدد مكان وجود ملف الاستيراد ، ثم انقر فوق فتح.

إذا كنت بحاجة إلى مزيد من المساعدة ، فيرجى الاتصال بقسم الدعم.

رد واحد على & # 8220 كيفية تصدير واستيراد قاعدة بيانات Postgresql & # 8221

مرحبًا ، لقد قمت بتصدير قاعدة بيانات pgsql الخاصة بي إلى ملف .pgsql وهي تحتوي على كل استعلامات إنشاء الجداول وبيانات الجدول. الآن أريد استيراد ملف .pgsql إلى جهاز الكمبيوتر الآخر الخاص بي ويتم استيراده ولكن قاعدة البيانات الجديدة لا تحتوي على جدول أو بيانات. لقد استخدمت pg_dump. شكرا جزيلا على الرد وأنا أقدر ذلك.


تاريخ PostgreSQL

بدأ مشروع PostgreSQL في عام 1986 في قسم علوم الكمبيوتر في بيركلي ، جامعة كاليفورنيا.

تم تسمية المشروع في الأصل POSTGRES ، في إشارة إلى قاعدة بيانات Ingres القديمة التي تم تطويرها أيضًا في بيركلي. كان الهدف من مشروع POSTGRES هو إضافة الحد الأدنى من الميزات اللازمة لدعم أنواع بيانات متعددة.

في عام 1996 ، تمت إعادة تسمية مشروع POSTGRES إلى PostgreSQL لتوضيح دعمه لـ SQL. اليوم ، يتم اختصار PostgreSQL بشكل عام باسم Postgres.

منذ ذلك الحين ، تواصل مجموعة PostgreSQL Global Development Group ، وهي مجتمع متخصص من المساهمين ، إصدار إصدارات مشروع قاعدة البيانات المفتوحة المصدر والمجانية.

في الأصل ، تم تصميم PostgreSQL للتشغيل على منصات شبيهة بـ UNIX. وبعد ذلك ، تم تطوير PostgreSQL وتشغيله على منصات مختلفة مثل Windows و macOS و Solaris.


8 إجابات 8

النهج القياسي هو قياس المدخلات بحيث يكون متوسطها 0 وتباين 1. كما أن الارتباط الزخرفي الخطي / التبييض / pca يساعد كثيرًا.

إذا كنت مهتمًا بحيل التجارة ، يمكنني أن أوصي بورق backprop الفعال من LeCun.

1- يحتفظ التطبيع الأدنى-الأقصى بالتوزيع الأصلي للدرجات باستثناء عامل القياس ويحول جميع الدرجات إلى نطاق مشترك [0 ، 1]. ومع ذلك ، فإن هذه الطريقة ليست قوية (أي أن الطريقة حساسة للغاية للقيم المتطرفة.

2- التوحيد القياسي (Z-Score calization): الأسلوب الأكثر استخدامًا ، والذي يتم حسابه باستخدام المتوسط ​​الحسابي والانحراف المعياري للبيانات المعطاة. ومع ذلك ، فإن كلا من الانحراف المتوسط ​​والمعياري حساسان للقيم المتطرفة ، ولا تضمن هذه التقنية نطاقًا عدديًا مشتركًا للدرجات المعيارية. علاوة على ذلك ، إذا لم تكن درجات المدخلات موزعة بطريقة Gaussian ، فإن هذه التقنية لا تحتفظ بتوزيع المدخلات عند المخرجات.

3- الوسيط و MAD: إن الانحراف المطلق الوسيط والوسيط (MAD) غير حساسين للقيم المتطرفة والنقاط في الأطراف المتطرفة للتوزيع. لذلك فهي قوية. ومع ذلك ، فإن هذه التقنية لا تحتفظ بتوزيع المدخلات ولا تحول الدرجات إلى نطاق رقمي مشترك.

4- مقدرات التانه: مقدرات التانه قدمها Hampel et al. قوية وذات كفاءة عالية. يتم التطبيع من قبل

حيث μGH و GH هما متوسط ​​وتقديرات الانحراف المعياري ، على التوالي ، لتوزيع النقاط الحقيقي على النحو الذي قدمه مقدرو Hampel.


استخدام

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

راجع للشغل ، يمكنك التحقق من متغير PATH لعملية ما بالنظر إلى بيئتها في / proc / [pid] / environ (استبدل [pid] بالرقم من ps axf). على سبيل المثال استخدم grep -z "^ PATH" / proc / [pid] / environ

لا تحلل bash كصدفة تسجيل دخول .profile إذا كان أي من .bash_profile أو .bash_login موجودًا. من مان باش:

/.profile ، بهذا الترتيب ، ويقرأ وينفذ الأوامر من أول واحد موجود وقابل للقراءة.

انظر الإجابات أدناه للحصول على معلومات حول .pam_environment أو .bashrc للأصداف التفاعلية التي لا تتطلب تسجيل الدخول ، أو قم بتعيين القيمة عالميًا لجميع المستخدمين عن طريق وضع برنامج نصي في /etc/profile.d/ أو استخدام /etc/X11/Xsession.d / للتأثير على جلسة مديري العرض.

قم بتحرير .bashrc في الدليل الرئيسي الخاص بك وإضافة السطر التالي:

ستحتاج إلى الحصول على مصدر .bashrc الخاص بك أو تسجيل الخروج / تسجيل الدخول (أو إعادة تشغيل الجهاز) حتى تصبح التغييرات سارية المفعول. للحصول على مصدر .bashrc الخاص بك ، اكتب ببساطة

المكان الموصى به لتعريف دائم ، على مستوى النظام متغيرات البيئة التي تنطبق على جميع المستخدمين في:

(حيث يتم تحديد المسار الافتراضي)

سيعمل هذا في سطح المكتب أو وحدة التحكم أو gnome-terminal أو TTY أو المطر أو اللمعان)

للتعديل ، افتح Terminal واكتب:

(أو افتح الملف باستخدام sudo في محرر النصوص المفضل لديك)

لجعله يعمل دون إعادة التشغيل ، قم بتشغيل. / etc / environment أو المصدر / etc / environment. نظرًا لأن هذا الملف هو مجرد برنامج نصي بسيط ، فسيتم تشغيله وتعيين المسار الجديد لمتغير بيئة PATH. للتحقق من تشغيل env ورؤية قيمة PATH في القائمة.

أعتقد أن الطريقة المتعارف عليها في Ubuntu هي:

قم بإنشاء ملف جديد ضمن /etc/profile.d/

ومنحه إذن التنفيذ

للمبتدئين الكاملين (مثلي) الذين يشعرون براحة أكبر مع واجهة المستخدم الرسومية:

  1. افتح مجلد $ HOME.
  2. اذهب إلى رأي & rarr أظهر الملفات المخفية أو اضغط على Ctrl + H.
  3. انقر بزر الماوس الأيمن فوق الملف الشخصي وانقر فوق فتح باستخدام محرر النصوص.
  4. قم بالتمرير إلى أسفل وأضف PATH = "$ PATH: / my / path / foo".
  5. يحفظ.
  6. قم بتسجيل الخروج ثم تسجيل الدخول مرة أخرى لتطبيق التغييرات (دع Ubuntu يقوم بالفعل بتحميل الملف الشخصي.).

& quot في Terminal & ndash Aseem 26 مارس 2019 الساعة 7:13

لمتغيرات البيئة الثابتة المتاحة لمستخدمين معينين فقط. أوصي بشدة بوثائق Ubuntu الرسمية.

بالإشارة إلى الوثائق أعلاه ، لقد قمت بإعداد أدوات مسار Android SDK بواسطة:

يتم الحصول عليها كلما فتحت محطة طرفية

تعديل: استنادًا إلى التعليقات أدناه ، للحصول على إعداد أكثر عمومية يتم تطبيقه على جميع الأصداف (بما في ذلك عندما تضغط على Alt - F2 في Unity) ، أضف السطر إلى

/. ملف التعريف. ربما لا يجب أن تفعل كلا الأمرين ، حيث ستتم إضافة المسار مرتين إلى بيئة PATH الخاصة بك إذا فتحت محطة طرفية.

& # 47.باشرك ، سيكون متاحًا فقط في المحطات الطرفية التي تفتحها. على سبيل المثال إذا ضغطت على Alt + F2 وحاولت تشغيل أمر من هذا الدير ، فلن تجده. إذا قمت بتعيينه

& # 47.pam_environment ، سترث جلسة جنوم (أو أيهما DE الذي تستخدمه). إلحاق PATH بتنسيق

& # 47.bashrc لديه أيضًا عيب أنه إذا فتحت / exec bash بشكل تفاعلي من قذيفة bash تفاعلية أخرى ، فسيتم إلحاقها عدة مرات. & ndash geirha 31 يوليو 12 الساعة 4:58

& # 47.الملف الشخصي صحيح للمسارات الشخصية ، على الرغم من أن & # 39 حيث تضيف Ubuntu ملف

& # 47bin دليل. وأعترف أنني بالغت قليلاً في عدد الطرق - قليلاً فقط. & ndash مارتي فرايد 31 يوليو 12 الساعة 5:02

& # 47.الملف الشخصي في هذه الحالة أيضًا. & ndash geirha 31 يوليو 12 الساعة 5:14

لتعيينه على مستوى النظام ، قم بإلحاق سطر تصدير PATH = / path / you're / added: $ PATH في نهاية / etc / profile.

لإضافة دليل للمستخدم الذي قام بتسجيل الدخول فقط ، قم بإلحاق نفس السطر بـ

ستعمل إضافته إلى .bashrc ولكني أعتقد أن الطريقة الأكثر تقليدية لإعداد متغيرات المسار الخاص بك هي في .bash_profile عن طريق إضافة الأسطر التالية.

وفقًا لهذا الموضوع ، يبدو أن سلوك Ubuntu مختلف قليلاً عن RedHat والمستنسخات.

في المحطة ، cd إلى the_directory_you_want_to_add_in_the_path

لم تكن هذه فكرتي. لقد وجدت هذه الطريقة لتصدير المسار في هذه المدونة هنا.

عندما أقوم بتثبيت مجلد البرامج النصية BASH الخاصة بي ، أتبع نمط الاختبار لمجلد $ HOME / bin الموجود في معظم ملفات .profile في الإصدارات الحديثة من Ubuntu. أضع اختبارًا يشبه

إنه يعمل بنسبة 100 ٪ تقريبًا من الوقت ، ويترك لي الحرية في تغييره في محرر نصوص واجهة المستخدم الرسومية باستخدام "استبدال الكل" سريعًا إذا قررت نقل / البرامج النصية في مكان ما أقرب إلى مجلد $ HOME الخاص بي. لم أفعل ذلك في 6 تثبيتات لـ Ubuntu ، ولكن هناك "دائمًا غدًا." س

الطريقة الموصى بها لتحرير PATH هي من ملف / etc / environment

مثال لإخراج / etc / بيئة:

على سبيل المثال ، لإضافة المسار الجديد لـ / home / username / mydir

متغيرات البيئة على مستوى النظام

الملف المناسب لإعدادات متغيرات البيئة التي تؤثر على النظام ككل (وليس مجرد مستخدم معين) هو / etc / environment. البديل هو إنشاء ملف للغرض في الدليل /etc/profile.d.

/ الخ / البيئة

هذا الملف مخصص بشكل خاص لإعدادات متغيرات البيئة على مستوى النظام. إنه ليس ملف نصي ، ولكنه يتكون من تعبيرات مهمة ، واحد لكل سطر.

ملحوظة: التوسع المتغير لا يعمل في / etc / بيئة.


كيفية تغيير قاعدة بيانات Postgresql من للقراءة فقط إلى قابلة للكتابة

أنا جديد في إدارة الخوادم ، وخاصة postgresql على Ubuntu Server ، لذا تحمل معي.

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

على سبيل المثال ، إذا أردت إنشاء دور ، فسأحصل على:

أو إذا كنت أرغب في إنشاء جدول ، فسأتلقى رسالة خطأ:

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

بالمناسبة ، أنا أقوم بتشغيل PostgreSQL الإصدار 9.1 على Ubuntu Server 12.04.


6 إجابات 6

لقد حاولت على Windows XP SP3 باستخدام مفتاح .reg هذا. ليس لديك Windows 7 في الوقت الحالي لاختباره بشكل صحيح ولكن يجب أن يكون هو نفسه تقريبًا.

  1. افتح المفكرة والصق الرمز من الأسفل.
  2. تحرير حسب حاجتك.
  3. حفظ باسم MyScript1.reg
  4. انقر نقرًا مزدوجًا للاستيراد في التسجيل.
  5. اختبار عن طريق النقر بزر الماوس الأيمن على أي دليل في Explorer

في الواقع ، الإجابة الحالية ليست قديمة. لقد جربت نفس الشيء بالضبط على نظام التشغيل Windows 10 وتمكنت من إضافة البرنامج النصي Run Batch إلى قائمة السياق لجميع المجلدات في Windows.

هذا هو محتوى البرنامج النصي الدفعي الخاص بي (لن يعمل مع مسارات UNC):

يمكن نسخ تغييرات التسجيل التي أجريتها باستخدام ملف REG هذا:

يؤدي هذا فقط إلى إضافة عنصر قائمة السياق لجميع الدلائل / المجلدات في Windows. إذا كنت تريد عرضه لكل ملف بدلاً من ذلك ، فيمكنك استخدام هذا:

بدلاً من ذلك ، يمكنك إضافة البرنامج النصي الدفعي الخاص بك إلى قائمة عنصر الإرسال إلى عن طريق إنشاء اختصار للبرنامج النصي الدفعي الخاص بك ووضعه ضمن٪ APPDATA٪ Microsoft Windows SendTo (أو أدخل shell: sendto في شريط العناوين)

إذا كنت تريد أن يظهر البرنامج النصي الخاص بك في قائمة السياق التي تظهر عند النقر بزر الماوس الأيمن فوق المساحة الفارغة داخل دليل (خلفية الدليل؟) ، يمكنك استخدام ملف REG التالي:

لا تحتاج إلى سطر "Icon" = "٪ SystemRoot٪ System32 shell32.dll ، 71". إنه ببساطة يضيف رمزًا إلى قائمة السياق الخاصة بك يبدو كالتالي:


إذا كان /etc/resolv.conf يحتوي على خادم أسماء 127.0.0.1 ، فإن إضافة إدخالات إلى /etc/resolvconf/resolv.conf.d/tail لن تؤدي إلى أي شيء مفيد حقًا.

إذا كنت تستخدم NetworkManager ، فيجب عليك بدلاً من ذلك إضافة عناوين خادم الأسماء بشكل ثابت عبر مؤشر الشبكة: تحرير الاتصالات. | يحرر. | إعدادات IPv4 | خوادم DNS إضافية.

اذا أنت حقا تريد إضافة المزيد من الإدخالات إلى /etc/resolv.conf ، أنشئ /etc/resolvconf/resolv.conf.d/tail وأضفها هناك.

كما هو الحال مع كل إصدار من Ubuntu ، يوصى بقراءة ملاحظات إصدار Ubuntu المتاحة هنا:

يحتوي قسم سطح المكتب والبنية التحتية العامة على ارتباط بـ

لقد وجدت طريقة أخرى هنا تتضمن إضافة سطر مثل السطر أدناه إلى /etc/dhcp/dhclient.conf:

وبالمثل ، وجدت طريقة ثالثة هنا تتضمن إضافة خطوط إلى / etc / network / interfaces:

تحديث: هنا الوثائق الرسمية للنهج الثالث.

يبدو أنك تتحدث عن حزمة resolvconf.

الجزء العلوي من الملف تحذير مخيف. يتم إنشاء الملف /etc/resolv.conf تلقائيًا من محتويات هذا الملف ، والتحذير موجود حتى يتم وضعه في /etc/resolv.conf عند إنشاء /etc/resolv.conf. إلى نهاية الملف ، أضف

اضغط على Ctrl x وأجب بنعم لحفظ الملف. للإنهاء ، أعد إنشاء /etc/resolv.conf حتى يتم تطبيق التغييرات الآن:

ثم تحقق من محتويات /etc/resolv.conf لترى السطر الذي أضفته موجود الآن. علاوة على ذلك ، سيظل موجودًا في المرة التالية التي يتم فيها تشغيل جهازك أو إعادة تشغيل خدمة الشبكة ، أيهما يأتي أولاً.

سأوضح لك أدناه أفضل طريقة وجدتها منذ أن قمت بتشغيل إصدار Ubuntu Server واستخدم ifup بدلاً من NetworkManager.

في الواقع لقد جعلوا هذا الأمر أسهل بالنسبة لي :) بوضعه جميعًا في ملف / etc / network / interfaces. يمكن الآن أن تكون نفس التكوينات التي كتبتها إلى resolv.conf في نفس الملف مثل تكوينات محول الشبكة كما في المثال أدناه:

آمل أن يساعد هذا الأمر ويجعل الأمر أسهل بالنسبة لي ، والآن يمكننا إنشاء عناوين IP ثابتة وإضافة خوادم الأسماء ومجال DNS في ملف واحد :)

يعمل Mine على تشغيل Ubuntu Server 12.04. لقد أجريت التغييرات التالية وأعدت تشغيل الخادم (عادةً ما يمكن القيام بذلك عن طريق خفض واجهة الشبكة فقط ، أي ifdown eth0 أو ifup eth0).

في ملف /etc/resolvconf/resolv.conf.d/base أضفت الإدخالات التالية:

يمكنك استخدام NetworkManager كما هو مذكور في إجابة فرانك ، ولكن إذا كنت تفضل تحرير /etc/resolv.conf يدويًا ، فيمكنك القيام بذلك عن طريق حذفه (إنه في الواقع رابط رمزي) ثم إنشاء ملف عادي جديد بالمحتوى الذي تريده. لا تكتب الأداة المساعدة resolvconf إلا في الملف /run/resolvconf/resolv.conf.

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

قم بتحرير /etc/dhcp3/dhclient.conf وأضف:
تبعيتها لخوادم اسم المجال 127.0.0.1

(في الواقع ، هذا السطر موجود بالفعل ، كل ما عليك فعله هو إلغاء التعليق عليه.)

resolvconf عديم الفائدة. أنا على خادم Linux وعنوان IP الخاص بي ثابت وخوادم DNS ثابتة. لا أحتاج إلى resolvconf أو NetworkManager.

الحفاظ على البساطة هو سياستي عند العمل على الخادم. كلما كان التعقيد أقل ، كان من الأسهل إدارته / إصلاحه عندما تنكسر الأشياء.

لذلك قمت بإزالة ملف resolvconf من aptitude وتأكدت يدويًا من أن /etc/resolv.conf ليس رابطًا رمزيًا وأنشأت للتو ملفًا ثابتًا. فقط في حالة محاولة أحد البرامج تغيير الملف ، قمت بإجراء chattr + i (غير قابل للتغيير) إلى /etc/resolv.conf كإجراء احترازي.

يفترض معظم ما سبق أن لديك نظامًا أصليًا ، ولكن الحقيقة غالبًا ما تكون قد قمت بتثبيت عملاء dhcp مختلفين ، وقمت بتعطيل مدير الشبكة في إصدار سابق معين من Ubuntu ، وما إلى ذلك. قد يكون من المفيد معرفة ما يلي. لقد كنت أستخدم dnsmasq لفترة من الوقت ، لكنني ألغيت تثبيته. يحتوي نظامي حاليًا على المحتويات التالية من /etc/resolv.conf (وهو رابط رمزي لـ /run/resolvconf/resolv.conf على نظامي):

لا يهم عدد المرات التي أقوم فيها بتشغيل sudo resolvconf -u أو sudo dpkg-إعادة تكوين resolvconf ، فهو لم يحدّث خادم الأسماء إلى تلك التي قمت بتعيينها في NetworkManager. المعلومات التي يستخدمها resolvconf من NetworkManager كانت موجودة:

ومع ذلك ، فقد تبين أنه في حالة وجود ملفات متعددة في هذا الدليل ، فقد لا يتم استخدام هذا الملف على الإطلاق. كان الجاني ملفًا لم تتم إزالته مع إلغاء تثبيت dnsmasq:

مجرد إزالة هذا الملف (وتشغيل sudo resolvconf -u بعد ذلك) أدى إلى حل مشكلات نظام أسماء النطاقات الخاصة بي:

آمل أن يساعد هذا الآخرين في تصحيح الأخطاء (التفاعلات المعقدة بين جميع أدوات الشبكة المختلفة هذه) أيضًا. إذا كنت تستخدم resolvconf ، فتأكد من تشغيل ls / run / resolvconf / interfaces لمعرفة ما هو موجود.

لقد حذفت للتو رابطًا في /etc/resolv.conf وأنشأت ملفًا منظمًا بعناوين خوادم الأسماء. إنه يعمل ، ولا أرى أي أسباب لاستخدام هذا البناء الغريب إلى حد ما الذي أنشأه مطورو Ubuntu.

يمكنك تحرير الاتصال "AUTO ETH0" أو أيًا كان الاسم الذي تستخدمه للاتصال في NM. يمكنك القيام بذلك عن طريق النقر بزر الماوس الأيمن على NM واختيار "تحرير الاتصالات". في علامة التبويب IPv4 ، يمكنك تحديد "عناوين تلقائية (DHCP) فقط" باعتبارها "الطريقة" وسيسمح لك NM بتعيين عنوان (عناوين) خادم الأسماء يدويًا حتى يتم تسليم العناوين عبر DHCP.

إضافة جزئي إلى القائمة الطويلة بالفعل ، إليك طريقة أخرى (تم اختبارها في 12.04):

تحرير / تشغيل / resolvconf / واجهة / مدير الشبكة لتناسب احتياجاتك. هذا مثال:

ثم ، كما هو مذكور في معظم الأمثلة الأخرى ، قم بعمل sudo resolvconf -u. الآن سوف تجد ملف resolv.conf الخاص بك يبدو كالتالي:

ما زلت لا أحب الطريقة التي يتم تنفيذها بها الآن (يبدو أن Ubuntu تحتاج إلى خدمة لكل foo تقوم بها) ، وأفضّل resolv.conf سهل بالتأكيد. لكن يبدو أن هذا النهج هو أفضل حل وسط بالنسبة لي حتى الآن. لا ينبغي أن تؤذي "localhost-NS" المضافة كثيرًا.

لقد أصلحت هذا عن طريق تغيير ترتيب المصادر. قمت بنقل مصدر DNS قبل mdns في /etc/nsswitch.conf:

يمكنك الاحتفاظ بإعداداتك والاستمرار في استخدام خادم التخزين المؤقت المحلي بهذه الطريقة.

sudo dpkg-إعادة تكوين resolvconf

قبل ذلك ، استخدم Network Manager لتغيير عنوان DNS وتغيير الطريقة إلى

ثم قم بتشغيل الأمر أعلاه وأعد التشغيل. هذا هو الحل بالنسبة لي.

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

تكمن المشكلة في التفاعل بين resolvconf و NetworkManager. يحتوي موقع resolvconf على هذا الملف المسمى / etc / resolvconf / interface-order. على الأقل على أنظمتي ، مدير الشبكة ليس في هذا الملف على الإطلاق (باستثناء أنه مغطى بعلامة * wild في النهاية). إذن ما يحدث هو أن أحدث تقرير من dhclient إلى resolvconf له الأسبقية على أي شيء يقوله NetworkManager.

وهكذا ، على الأقل في حالتي ، كانت الإجابة الفعلية هي الإضافة

في أو بالقرب من الجزء العلوي من / etc / resolvconf / interface-order.

(نعم ، أعرف أن العديد من الأشخاص يقولون فقط "إلغاء تثبيت resolvconf" ، والتي تبدو لي فكرة سيئة في حد ذاتها. ولكن أكثر من ذلك ، على الأقل ، على الأقل ، على الأقل ، على الأقل ، يعتبر أن resolvconf جزءًا حيويًا من النظام [على سبيل المثال ، ubuntu -minimal يعتمد عليه] ، لذلك سيكون من الصعب الحفاظ على نظامك في حالة متسقة ومحدثة بدون resolvconf.)

عند الطلب يمكنني تقديم المزيد من التفاصيل حول كيفية اكتشاف ذلك. (تعديل: يبدو أنني لم أفعل ذلك عندما طُلب منه ذلك ، آسف. في هذه المرحلة ، لا أتذكر الكثير من التفاصيل عما سأقوله بعد ذلك :) باختصار ، لقد استبدلت ملف resolvconf القابل للتنفيذ بغطاء غلاف حوله والذي أفرغ الوسائط والمدخلات والمخرجات و stderr إلى الملفات وأضفت set -x لتحديث البرامج النصية لـ resolvconf.

(تعديل: أنا علبة قل أن ما أعنيه بالجزء الأول هو أنني استخدمت sudo لنقل ملف resolvconf الفعلي القابل للتنفيذ ، والذي يمكن العثور عليه باستخدام الأمر الذي أو الأمر type. ثم قم بإنشاء برنامج نصي شل يقوم في النهاية بتنفيذ الأمر resolvconf الذي تم نقله ، ولكنه يقوم أيضًا بترديد الوسائط لبعض الملفات ، ويستخدم إعادة توجيه shell لإرسال stdin و stdout و stderr إلى ملفات أخرى مختلفة. لا أذكر مكان وجود "البرامج النصية لتحديثات resolvconf" ولا يمكنني التحقق منها بسهولة في الوقت الحالي. أعتقد أن العديد من خبراء Linux يمكنهم معرفة ما أعنيه ربما سيقدم بعض السامريين الجيدين مزيدًا من التفاصيل في تعليق.)


المحدد
يفصل هذا الخيار التحديد إلى كائن جديد.

بواسطة الأجزاء السائبة
يفصل الشبكة في أجزائها غير المتصلة.
حسب المادة
ينشئ كائنات شبكة منفصلة لكل مادة.

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

لاحظ أيضًا أنه يمكنك تحديد الهندسة المرتبطة عن طريق:

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

سيؤدي الضغط على Ctrl L إلى تحديد كل الأشكال الهندسية المتصلة بأي عنصر (عناصر) محددة.

للوصول إلى الخيار من القائمة استخدم مش & GT متفرق


4 إجابات 4

يمكنك تشغيل هذا الأمر في Terminal ، والذي سيُلحق السطر بـ bash_profile.

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

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

يقوم الأمر export PATH = / usr / local / bin: $ PATH بإلحاق الدليل / usr / local / bin بالمسار الحالي ، بحيث يصبح أول دليل يتم البحث فيه بواسطة الصدفة.

.bash_profile مجرد ملف نصي عادي - يمكنك تحريره باستخدام أي محرر نصوص ، بما في ذلك vi أو nano ، أو حتى محرر رسومي مثل TextEdit. الأمر متروك لك - فقط تذكر حفظه كملف نص عادي.