ব্যবহারকারী ডিরেক্টরিতে আমি ম্যানুয়াল পৃষ্ঠাগুলি কোথায় ইনস্টল করব?


13

আমি লিখেছি এমন একটি ছোট পার্ল ইউটিলিটির জন্য একটি মেকফিল তৈরি করার চেষ্টা করছি, এবং আমি যখন নন-রুট ব্যবহারকারী makeহিসাবে চালিত হয় তখন আমার ম্যান পৃষ্ঠাটি কোথায় ইনস্টল করতে পারি তার উপায় খুঁজে বের করার জন্য আমি সংগ্রাম করছি ।

আমি বর্তমানে ডিরেক্টরিতে manpathপ্রথম পাথটি বের করার আউটপুটটি পার্স করছি $HOME... এবং এটি প্রায় ভাল কাজ করে।

আমি যে পথগুলি পেয়েছি তা হ'ল ~/manএবং~/share/man

একমাত্র সমস্যা হ'ল যদি সেই ডিরেক্টরিগুলি প্রথম স্থানে না থাকে তবে সেগুলির manpathকোনও আউটপুট দেয় না।

প্রশ্নাবলি

  • ব্যবহারকারীর OME হোম ডিরেক্টরিতে আমার ম্যান পেজগুলি কোথায় ইনস্টল করা উচিত তা খুঁজে পাওয়ার কোনও পোর্টেবল উপায় আছে?
  • যদি তা না হয় তবে তাদের মধ্যে কোনটি পছন্দ করা উচিত?

উত্তর:


13

আপনি এই ডিরেক্টরিতে ম্যান পৃষ্ঠাগুলি রাখতে পারেন:

$HOME/.local/share/man

সরাসরি অ্যাক্সেস করা হচ্ছে

এবং তারপরে আপনি এগুলি সরাসরি ব্যবহার করে অ্যাক্সেস করতে পারবেন man:

man $HOME/.local/share/man/manX/manpage.1.gz

$ MANPATH

$MANPATHকমান্ডটি দিয়ে কী তা পরীক্ষা করতে পারেন manpathবা পরিবেশ ভেরিয়েবল প্রতিধ্বনি করতে পারেন $MANPATH

উদাহরণ

$ manpath
manpath: warning: $MANPATH set, ignoring /etc/man_db.conf
/home/saml/apps/perl5/perlbrew/perls/perl-5.14.0/man:/home/saml/.rvm/rubies/ruby-1.9.2-p180/share/man:/home/saml/.rvm/man:/usr/local/share/man:/usr/share/man:/usr/brlcad/share/man:/usr/man:/usr/brlcad/share/man:/usr/brlcad/share/man

$ echo $MANPATH
/home/saml/apps/perl5/perlbrew/perls/perl-5.14.0/man:/home/saml/.rvm/rubies/ruby-1.9.2-p180/share/man:/home/saml/.rvm/man:/usr/local/share/man:/usr/share/man:/usr/brlcad/share/man:/usr/man:/usr/brlcad/share/man:/usr/brlcad/share/man

আপনি অস্থায়ীভাবে মানপথে জিনিসগুলি যুক্ত করতে পারেন:

MANPATH=$HOME/.local/share/man:$MANPATH

আপনি যদি এই স্থায়ী করতে চান তবে আপনার /etc/profile.d/ডিরেক্টরিতে myman.bashউপরের MANPATH=লাইনের সাথে ডাকা একটি ডিরেক্টরি যুক্ত করুন । এটি প্রত্যেকের জন্য সিস্টেমকে প্রশস্ত করে তুলবে। যদি আপনি এটি কেবল আপনার জন্য হতে চান তবে এটি আপনার $HOME/.bash_profileবা আপনার সাথে যুক্ত করুন $HOME/.bashrc


2
সেট করা manpathসম্পর্কে সতর্কতা দমন MANPATHকরতে, আপনি -qবিকল্পটি পাস করতে পারেন ।
জোসেফ আর।

2
হ্যাঁ, আমি জানি যে আমি manকোথায় দেখতে হবে তা বলতে পারি । আমি জেনেরিক ইনস্টলেশনের জন্য একটি জেনেরিক, বহনযোগ্য উপায়ের সন্ধান করছি (যেমন: যেখানে manএকটি স্ট্যান্ডার্ড কনফিগারেশন সন্ধান করা হচ্ছে)
রোমাল্ড ব্রুনেট

একটি করুন echo $MANPATHএবং দেখুন যা দেখায়। এগুলি অনুসন্ধান শুরু করার জন্য ভাল জায়গা বা manpathআমার উত্তরটিতে যেমন আদেশটি দেখানো হয়েছে তেমন ব্যবহার করুন ।
slm

0

উত্তরণ দিয়ে উত্তর দিন

আমি যখন উইন্ডোজ 7. তে সাইগউইন চালাচ্ছি When

echo $MANPATH

আমি কিছুই পাই না। নতুন manপৃষ্ঠাগুলি কোথায় রাখবেন তা সন্ধানের আমার পোর্টেবল উপায় ।

$ { find / -maxdepth 2 -type d -name "*man*" 3>&2 2>&1 1>&3 | \
grep -v 'Permission denied' >&3; } 3>&2 2>&1

(এই ক্রেজি কমান্ডের একটি নোট এই উত্তরের নীচে রয়েছে))

আপনি কেবল /সঙ্গে প্রতিস্থাপন করতে পারে ~আরেকটি সম্ভাবনা নীচে অন্য নোট বিভাগের অধীনে।

আমার মেশিনে, findকমান্ডটি ফিরে এসেছে:

 /etc/openwsman
 /lib/filemanager-actions
 /lib/gnome-commander
 /lib/help2man
 /lib/window-manager-settings
 /share/man
 /usr/man

আমার কাছে, এর অর্থ দুটি সম্ভাবনা ছিল: /share/manএবং /usr/man

আমি ব্যবহার করতে বেছে নিয়েছি /usr/man, যা আপনি না চান তবে আমার আরও কিছু অন্বেষণ করা দরকার।

$ ls -l /usr/man
total 0
drwxr-xr-x+ 1 me Users 0 April 31 17:13 man1

সুতরাং, যেখানে আমার কর্মক্ষম ডিরেক্টরিটির manএকটি doc/উপ ডিরেক্টরিতে আমার নতুন ফাইল ছিল , আমি ব্যবহার করেছি

$ cp -R doc/* /usr/man/man1

এখন, আমি টাইপ করে আমার "ম্যানুয়াল" এ যেতে পারি

$ man my_new_executable

যদি আপনি কোনও সম্ভাব্য প্রার্থী না দেখেন তবে আপনি এই অংশটি সরিয়ে ফেলতে পারেন বা এটি পরিবর্তন করতে পারেন, যেমন -maxdepth 3, বা 4, বা 5, অথবা আপনার যা প্রয়োজন তা সন্ধান করতে আরও গভীর লাগে। আমি যখন এটি দিয়েছিলাম তখন আমি আরও 3দুটি প্রার্থী খুঁজে পেয়েছি /var/cache/manএবং usr/share/manআমি ইতিমধ্যে একটি কার্যনির্বাহী সমাধান খুঁজে পেয়েছি, সুতরাং আমি তাদের সাথে গণ্ডগোল করিনি।


আরেকটি নোট

আমি বিশ্বাস করি যে /share/man/man1বা /var/cache/manঅনুরোধহীন ব্যবহারকারীদের কাছে আপনি যেমন অনুরোধ করেছিলেন তেমন উপলব্ধ থাকবে। দয়া করে, আমি ভুল হলে আমাকে সংশোধন করুন।


নীচে প্রতিশ্রুত নোট

নোট করুন যে আমি এই -maxdepth 2বিকল্পটি ব্যবহার করেছি find, কারণ আমি অনুভব করেছি যে manডিরেক্টরিটি ফাইল সিস্টেমের মূলের দুটি ডিরেক্টরিতে হবে এবং আমি খুব বেশি বহিরাগত ডিরেক্টরি পেতে চাইনি যা মানুষেরman মতো করেও একটিরকম স্ট্রিং ছিল ।/lib/gnome-coder

আপনার কাছে অ্যাক্সেস না থাকলে বা ব্যবহারের ক্ষেত্রে findকোনও Permission deniedত্রুটি দমন করার জন্য চারপাশের অতিরিক্ত জিনিসগুলি রয়েছে । এখানে যা ঘটছে তার দুর্দান্ত বর্ণনা দেওয়া হল। ("Gniourf_gniourf" দিয়ে শুরু হওয়া লাইনের সন্ধান করুন))susudo


0

আমি সংস্থাপিত কয়েকটি অ্যাপ্লিকেশন ইনস্টল করেছি এবং ইনস্টল configureকরার জন্য সংশ্লিষ্ট এস সেট সহ ${HOME}/usr/local

আমি এখন পাই যে আমার ডিরেক্টরি আছে

~/usr/local/share/man/man1
~/usr/local/share/man/man3
~/usr/local/share/man/man5

manpages সঙ্গে gnuplot.1, gnuplot-ja.1, python3.1, python3.5.1, libpng.3, libpngpf.3, zlib.3, png.5, তাই আমি (আমার প্রিফিক্স দেওয়া হয়) অনুমান এটা স্থানীয়ভাবে ইনস্টল অ্যাপসের জন্য একটি প্রশংসনীয় মান অবস্থান।

এটি সেই ক্ষেত্রে ক্ষেত্রে প্রার্থীর অবস্থান যেখানে কোনও স্থানীয় manডিরেক্টরি নিজেই চয়ন করতে হয় ।

অবশ্যই, কেউ manপৃষ্ঠাগুলির জন্য স্বেচ্ছাসেবক পাথগুলি যুক্ত করতে পারে (এবং এটি কেবলমাত্র উল্লেখ করা সাধারণ ক্ষেত্রে করা উচিত)

export MANPATH="$HOME/usr/local/share/man${MANPATH:+:${MANPATH}}"

(দেখুন এই )।

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