সোলারিস 11 এ পজিক আউক?


13

এটি নিম্নোক্ত দুটিতে কম-বেশি একটি ফলোআপ প্রশ্ন:

আমি দেখতে পাচ্ছি যে সোলারিস 10 (সানোস 5.10) এ, আমি নিম্নলিখিত ফলাফলগুলি পেয়েছি:

$ type -a awk
awk is /usr/bin/awk
$ PATH="$(getconf PATH)" type -a awk
awk is /usr/xpg4/bin/awk
awk is /usr/bin/awk
$

সোলারিস 10 এ, /usr/bin/awkপসিক্স স্ট্যান্ডার্ড আওক সিনট্যাক্স যেমন গ্রহণ করে না '!x[$0]++'তবে /usr/xpg4/bin/awkতা করে। এখন পর্যন্ত যথেষ্ট ভাল।

যাইহোক, সোলারিস 11, শুধুমাত্র আছে /usr/bin/awkএমনকি getconf PATH। যদিও আছে nawkএবং oawkআছে /usr/bin, স্পষ্টতই এগুলি কোথাও থেকে সিমলিংক দ্বারা চিহ্নিত করা হয় না।

সোলারিস পোসিক্স প্রত্যয়িত তা জেনেও আমি অবাক হয়ে গেলাম।

পোর্টেবল কোড ব্যবহার করে আমি অন্যান্য পসিএক্স-কমপ্লায়েন্ট সিস্টেমগুলিতেও কাজ করব কীভাবে সোলারিস 11 এ স্ট্যান্ডার্ডভাবে একটি পসিক্স কমপ্লায়েন্ট আউক পেতে পারি? (বা যদি উপস্থিত থাকে তবে এর একটির অস্তিত্ব nawkবা তার oawkব্যবহারের জন্য পরীক্ষা করার একমাত্র বিকল্প ?)

যে বিষয়টি জন্য, কি হয় nawk এবং oawk?


/usr/xpg4/bin/awkসোলারিস 11 এ নেই? nawkএটি "নতুন awk", একটি উন্নত এটিএন্ডটি awk
কুসালানন্দ


@ স্টাফেনচেজেলাস আফাইক, কেবলমাত্র সম্পূর্ণ ওএসের ইনস্টলেশন পরীক্ষা করা হয় এবং মেনে চলার সময় উপযুক্ত হয়।
jlliagre

@ জেলিয়াগ্রে, এটি সম্পূর্ণ ওএস (সমস্ত alচ্ছিক প্যাকেজযুক্ত ওএসএস ইনস্টল করা) হতে পারে না কারণ এটি ব্যবহারিক হবে না (এমন কোনও প্যাকেজ রয়েছে যা পারস্পরিকভাবে এক্সক্লুসিভ) এবং "alচ্ছিক প্যাকেজ" এর ক্ষেত্রটি সংজ্ঞায়িত করতে হবে।
স্টাফেন চেজেলাস

@ স্টাফেনচাজেলাস হ্যাঁ সোলারিস 10-তে সম্পূর্ণ বিতরণের ধারণা ছিল এবং কার্যকরভাবে সমস্ত প্যাকেজ ইনস্টল করা হয়েছিল (নির্বাচিত লোকেলগুলির বাইরে), সোলারিস ১১-এর ক্ষেত্রে এটি আর হয় না। আমার সেরা অনুমান "সোলারিস-লার্জ-সার্ভার" গ্রুপটি পসিক্স সম্মতিতে ব্যবহৃত হয় পরীক্ষা।
jlliagre

উত্তর:


19

একটি পূর্ণ বা ডেস্কটপ সোলারিস 11 ইনস্টলেশন-এ, এখানে তিনটি awk বাস্তবায়ন উপলব্ধ রয়েছে, আরও কিছু বৈকল্পিক:

    / usr / বিন / awk pkg: / সিস্টেমে / কোর -os@0.5.11-0.175.3.1.0.2.0
    / ইউএসআর / বিন / নওক পিকেজি           : / সিস্টেমে / কোর -os@0.5.11-0.175.3.1.0.2.0
    / ইউএসআর / বিন / ওওক পিকেজি           : / সিস্টেমে / কোর -os@0.5.11-0.175.3.1.0.2.0

    / usr / gnu / bin / awk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
    / usr / bin / গোবরগনেশ           pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
    / ইউএসআর / বিন / আইগাক পিকেজি: / টেক্সট / গাগক @3.1.8-0.175.3.0.0.30.0
    / usr / বিন / pgawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0

    / usr / xpg4 / বিন / awk       pkg: / সিস্টেমে / এক্সপেন / এক্সকু 4@0.5.11-0.175.3.0.0.30.0

এগুলি সমস্তই "স্ট্যান্ডার্ড কমপ্লায়েন্ট", যদিও বিভিন্ন মানের সাথে মেনে চলে।

  • /usr/bin/awkawk1977 সালে প্রকাশিত লিগ্যাসি ইউএনআইএক্স বাস্তবায়নের সাথে সম্মতি জানায় sc পরবর্তী স্ক্রিপ্টগুলিকে নষ্ট না করার জন্য এটি পূর্বনির্ধারিত সিস্টেম PATH এ প্রথম রাখা হয় কারণ পরবর্তী awkপ্রকাশগুলি সামঞ্জস্যতা ভঙ্গ করে। oawkএর একটি প্রতিশব্দawk

  • /usr/bin/nawkawk1986 সালে SVR3.1 এ প্রথম প্রেরণ করা হয়েছে এর "নতুন" সংস্করণ। পসিক্স Awkমানটি এই বাস্তবায়নের উপর ভিত্তি করে ছিল। /usr/xpg4/bin/awkপ্রাক্তনটির সাথে প্রায় একইরকম তবে POSIX কনফারেন্স বৈধতা পরীক্ষার বিরুদ্ধে আনুষ্ঠানিকভাবে যাচাই করা হয়।

  • /usr/gnu/bin/awkএছাড়াও /usr/bin/gawk, এর GNU বৈকল্পিক awk। পরিবেশের পরিবেশ পরিবর্তনশীল যখন পরিবেশে পরিবর্তনশীল POSIXLY_CORRECTসেট করা হয় বা যখন -W posixবিকল্পটির সাথে ডাকা হয় তখন বেশিরভাগ বা সমস্ত পসিক্স মান মেনে চলার লক্ষ্য থাকে তবে অন্যথায় অসংখ্য নির্দিষ্ট নিজস্ব এক্সটেনশন যুক্ত করে। igawkএবং pgawkএগুলি নিজেরাই এক্সটেনশান হয় gawk, প্রথমটিতে সমর্থন করা ফাইলগুলির মধ্যে রয়েছে এবং দ্বিতীয়টি প্রোফাইলিং সমর্থন করে।

প্রচুর দরকারী তথ্যের জন্য GNU awkইতিহাসের অধ্যায়টিও দেখুন ।

core-osসোলারিস 11 নিয়মিত ইনস্টলেশনতে কেবল প্যাকেজ উপস্থিত থাকার গ্যারান্টিযুক্ত, কেবলমাত্র oawk/awkএবং nawkসেখানে রয়েছে are বিশেষত, আপনি যখন একটি নতুন অ-গ্লোবাল অঞ্চল তৈরি করেন, তখন এটি ডিফল্টরূপে solaris-small-serverপ্যাকেজ প্যাকেজ ধারণ করে যাতে বাইনারিগুলি xpg4বা না gnu awkপাওয়া যায় না। এটি নকশা দ্বারা। solaris-small-serverগ্রুপ একটি ন্যূনতম শুরুর বিন্দু আপনি সঠিকভাবে কাজ করার জন্য আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় প্যাকেজ যোগ যা হয়। এটি আগের (সোলারিস 10) উপায়ে আরও সুরক্ষিত এবং দক্ষ যেখানে গ্লোবাল জোনে ইনস্টল করা সমস্ত কিছু অ-বিশ্বব্যাপী ইনস্টল করা হয়েছিল তাই আপনি যখন অঞ্চলটি ন্যূনতম করতে চান তখন আপনাকে অব্যবহৃত প্যাকেজগুলি সরিয়ে ফেলতে হবে।

এই awkজাতীয় "ছোট সার্ভার" ইনস্টলেশনতে পসিক্সকে পোর্টেবল উপায়ে সহায়তা পেতে আপনার xcu4প্যাকেজটি ইনস্টল করতে হবে এবং আপনাকে প্যাসিক্স কনফর্মেন্টের সাথে PATH সেট করতে হবে:

pkg install xcu4
PATH=$(getconf PATH):$PATH

উচিত কিছু কারণে আপনি যে প্যাকেজটি ইনস্টল করতে না চান, একটি কার্যসংক্রান্ত একটি "বিবিধ" ব্যবহার করা PATHধারণকারী nawkহিসাবে awk, যেমন:

mkdir -p /opt/posix/bin
cp /usr/bin/nawk /opt/posix/bin/awk
PATH=/opt/posix/bin:$PATH

বিকল্পভাবে, আপনি প্রথমে এটি পেতে ইনস্টল GNU awkএবং সেট করতে PATHপারেন:

pkg install gawk
PATH=/usr/gnu/bin:$PATH

দ্রষ্টব্য যে এটি সোলারিস ১১-এর সাথে সুনির্দিষ্ট নয়। সোলারিস 10 এর আগে এবং এর আগেও একই ধরণের প্যাকেজ গ্রুপিং বিদ্যমান ছিল এবং পসিক্স অনুগত ইউটিলিটিগুলি কেবল "শেষ ব্যবহারকারী", "বিকাশকারী" এবং "সম্পূর্ণ ইনস্টল" মেটাক্লাস্টারগুলিতে ইনস্টল করা হয়েছিল। "কোর" বা "নেটওয়ার্কিং সমর্থন" মেটাক্লাস্টার দিয়ে একটি সিস্টেম বা একটি অঞ্চল ইনস্টল করার পরে খুব একই xpg4সমস্যা অনুপস্থিত হতে পারে ।

আরও মনে রাখবেন যে /usr/xpg4/bin/awkসোলারিস 11 সিস্টেমের অভাব কোনও পসিক্স সম্মতি ব্যর্থতা নয়। ওপেন গ্রুপ শংসাপত্র প্রোগ্রাম সহ ওરેકল এবং আইএসভি দ্বারা পরিচালিত বিস্তৃত পরীক্ষায় কেবলমাত্র সোলারিসের ইনস্টলেশন ব্যবহৃত হয় । হ্রাসকৃত ইনস্টলেশনগুলি সমর্থিত তবে যোগ্য নয় ।

সোলারিস ১১-এর জন্য যদি আপনি শেল স্ক্রিপ্টগুলি (বা অ্যাপ্লিকেশনগুলি শেল স্ক্রিপ্টগুলি এম্বেডিং / শেল কমান্ডগুলি কল করে) বিতরণ করে থাকেন তবে আপনাকে কেবল /system/xopen/xcu4তাদের আইপিএস প্যাকেজে নির্ভরতা হিসাবে সংজ্ঞা দিতে হবে এবং স্ক্রিপ্টটি সঠিকভাবে কাজ করার জন্য ইনস্টলার স্বয়ংক্রিয়ভাবে তা করবে:

depend fmri=pkg:/system/xopen/xcu4 type=require

Https://docs.oracle.com/cd/E53394_01/html/E54820/d dependtypes.html দেখুন


3
কোনও পসিক্স কমপ্লায়েন্ট অ্যাডকের অভাব একটি পসিক্স কনফর্মেন্স ব্যর্থতা। এমন একটি সিস্টেমে যার পসিক্স কমপ্লিয়েন্ট অ্যাজক নেই তারা পসিক্স অনুবর্তী স্ক্রিপ্টগুলি চালাতে পারে না। এই ছোট-সোলারিস-সার্ভারটি ইউনিক্স সিস্টেমে পোসিক্স না। এবং আমি মনে করি তারা ওপেন গ্রুপ থেকে প্রাপ্ত সোলারিস শংসাপত্রের আওতাভুক্ত নয়।
স্টাফেন চেজেলাস

1
@ স্টাফেনচাজেলাস হ্যাঁ, এই সিস্টেমগুলি উপযুক্ত নয় তাই স্পষ্টতই আচ্ছাদিত নয়। সোলারিস কোনও অযোগ্য যোগ্যতাসম্পন্ন হার্ডওয়্যারে ইনস্টল করা থাকলে একই ঘটনা ঘটবে। সোলারিসের সঠিকভাবে কাজ করার জন্য পসিক্স / ইউনিক্স সম্মতি কোনও পূর্বশর্ত নয়। সোলারিস নিজেই পসিক্স ইউটিলিটিগুলির কোনও ব্যবহার করে না যখন তারা তার নিজস্ব থেকে পৃথক হয়।
jlliagre

@ স্টাফেনচেজেলস যে কোনও ক্ষেত্রে, একটি পসিক্স awkসর্বদা সোলারিস সিস্টেম বা অ-বৈশ্বিক অঞ্চলে উপস্থিত থাকে সুতরাং বিষয়টি প্রাপ্যতার বিষয়ে নয় তবে কমান্ড ( nawkবনাম awk) এর নামে সীমাবদ্ধ । docs.oracle.com/cd/E53394_01/html/E54763/nawk-1.html
jlliagre

1
nawkপ্রায় পসিক্স (এটি CONVFMTউদাহরণস্বরূপ সমর্থন করে না ), তবে হ্যাঁ, কমপক্ষে এটি ততটা খারাপ নয় grep( যেমন পসিক্স নেই -e/ -Eউদাহরণস্বরূপ নেই) বা tr(এতে নেই tr a-f A-F)।
স্টাফেন চেজেলাস

পছন্দ করেছেন ধন্যবাদ।
jlliagre
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.