कैसे विशिष्ट उपयोगकर्ताओं को / usr / share / doc में प्रलेखन पढ़ने की उम्मीद है?


43

मुझे हाल ही में पता चला कि प्रलेखन का एक बड़ा ढेर है /usr/share/doc

ऐसा लगता है कि यह बहुत अधिक gzipped है ताकि यह सीधे प्रशासनिक विशेषाधिकार के बिना सुलभ न हो:

$ gunzip examples/letter.tex.gz 
gzip: examples/letter.tex: Permission denied

जबकि इसका एक समाधान यह होगा कि प्रत्येक उपयोगकर्ता अपने होम डायरेक्टरी में प्रत्येक आइटम को केवल पढ़ने के लिए डुप्लिकेट करें, यह व्यवस्था शायद ही नियमित ब्राउज़िंग के लिए अनुकूल हो।

सामान्य लोग इस दस्तावेज़ को कैसे पढ़ते हैं?

मैं यह मानने के लिए इच्छुक नहीं हूं कि विशिष्ट उपयोगकर्ता को स्थानीय पाठ प्रलेखन को पढ़ने के लिए एक वेब सर्वर को स्थापित करने और बनाए रखने की उम्मीद है।


बस स्पष्ट होने के लिए, क्या आप / usr / share / doc निर्देशिकाओं, या सिर्फ TeX / LaTeX वाले किसी भी दस्तावेज़ से निपटने में रुचि रखते हैं?
बेलाक्वा

ठीक है, एक और सवाल - क्या आपको फाइल को .vi में या जो भी है, प्रोसेस करने की जरूरत है।
बेलाक्वा

1
मैं /usr/share/docसामान्य रूप में प्रलेखन के बारे में पूछ रहा हूं और अवलोकन पर विशेष ध्यान देने के साथ कि इसमें से बहुत कुछ एक संकुचित प्रारूप में संग्रहीत है। अगर वहाँ किसी भी प्रकार के दस्तावेज के रूप में संग्रहित किया जाना होता है, तो मुझे इसे अभी तक एनकाउंटर करना है। विशेष उदाहरण जिसका मैंने ऊपर उल्लेख किया है वह पैकेज से लाटेक्स टेम्पलेट है texlive-latex-extra-doc
ændrük


1
askubuntu.com/questions/24072/… । मुझे लगता है कि यह सभी एक सेटअप पर सबसे अच्छा समाधान है और यह इसके बाद काम करता है।
नालारो

जवाबों:


6

अधिकांश कहा गया है और बहुत अच्छी तरह से समझाया द्वारा jgbelacqua टर्मिनल में इस्तेमाल के लिए। इसे केवल उन लोगों के लिए जोड़ रहे हैं जो डेस्कटॉप मैनेजर पर हैं:

ग्राफ़िकल डेस्कटॉप (यहाँ GNOME) से डॉक्स पढ़ने का सबसे आसान तरीका /usr/share/docहै (डबल-) अपने मानक संग्रह प्रबंधक (यहाँ फ़ाइल रोलर) के साथ ज़िपित फ़ाइलों को खोलें जहाँ से आप कर सकते हैं (डबल-) पर क्लिक करें और उन्हें पढ़ें आपका मानक संपादक (यहाँ Gedit)। जब तक आप फ़ाइलों को अनज़िप न करें, तब तक कोई लिखित अनुमति की आवश्यकता नहीं है।


अद्भुत समाधान। यह वास्तव में क्यों लोग उबंटू, सूक्ति, आदि जैसी चीजों का उपयोग करते हैं .. इस तरह के कार्य को आसान बना दिया जाता है।
बेलाक्वा

20

यहां कम से कम दो मुद्दे हैं:

  1. .gz फ़ाइलों को दर्द रहित ढंग से पढ़ना
  2. निर्देशिकाओं पर अनुमति
  3. (टेक्स फ़ाइलों के लिए वैकल्पिक)

के लिए # 1 , वहाँ अनुप्रयोगों है कि मूल Gzipped फ़ाइलों के साथ सामना होगा की एक संख्या है। एक युगल जो आप उपयोग कर सकते हैं lessऔर हैं vim

 less README.gz 
 vim -R README.Debian.gz
 view Important.bits.gz

viewके लिए एक उपनाम है vim -R, जो केवल पढ़ने के लिए फ़ाइल को खोलने के लिए कहता है।

पुराने दिनों में, मेरे सिस्टम पर कम स्थापित होने से पहले, मैं gzcatआउटपुट को किसी अन्य उपयोगिता के लिए उपयोग और पाइप करूंगा । जाहिरा तौर पर, इसे zcatअब केवल उबंटू पर बुलाया जाता है , लेकिन आप इसे इस तरह उपयोग करेंगे, जैसे:

 /usr/share/doc/xpdf$ zcat changelog.Debian.gz  | more

zcat अभी भी उपलब्ध है, और इसे संपीड़ित सामग्री को पाइप के लिए उपयोग करना कुछ मामलों में उपयोगी हो सकता है। (.Bz2 फ़ाइलों के साथ स्थितियों के लिए, bzcatउपलब्ध है।)

के लिए # 2 , फ़ाइलों है कि मैं / usr / share / doc के तहत देखा है के अन्य सभी + rx अनुमति के साथ निर्देशिका में हैं, जिसका अर्थ सभी उपयोगकर्ताओं निर्देशिका (जैसे, सूची सामग्री) खोज और अंदर फ़ाइलों को पढ़ सकता है। आप क्या नहीं कर सकते हैं (क्योंकि केवल रूट ने डिफ़ॉल्ट रूप से अनुमति लिखी है), फ़ाइलों को बनाने के लिए है। क्योंकि आप उस निर्देशिका में अनज़िप करने का प्रयास कर रहे हैं, मुझे लगता है कि यह आपको अनुमति से वंचित कर रहा है क्योंकि आपने पढ़ा है लेकिन डिफ़ॉल्ट रूप से अनुमतियाँ नहीं लिखी हैं।

# 3 के लिए, मैं अनुमान लगा रहा हूं कि आप जितना उपयोग करते हैं। लेकिन यहाँ घर या एक अस्थायी फ़ाइल की नकल के बिना उनसे निपटने का एक तरीका है। इसके लिए, आप एक नामांकित पाइप बनाने जा रहे हैं, लेकिन आप अपने अन्य टेक्स पाइपिंग और प्रसंस्करण आवश्यकताओं के लिए इसका पुन: उपयोग कर सकते हैं। इसे इस तरह जाना चाहिए:

  • पाठ को zcat या gzcat करें
  • ... और आपके TeX प्रोसेसर को पाइप
  • ... और अपने नामांकित पाइप को भेजें (यहां, मैं उसे कॉल करूंगा pipey)
  • ... और फिर एक अलग स्क्रीन में पपी से अपने आउटपुट को पकड़ो
  • ... और है कि एक dvi प्रदर्शन प्रक्रिया को भेजें।

यदि आप अलग-अलग या बेहतर उपयोगिताओं का उपयोग करते हैं, तो आप इन चरणों को स्पष्ट रूप से बदल सकते हैं।

मेरे उदाहरण का उपयोग करेगा mkfifo, नामित पाइप बनाने के लिए उपयोगिता pipey। प्रक्रिया के लिए लक्ष्य फ़ाइल है /usr/share/doc/gdb/refcard.tex.gz। आपको दो शेल कमांड लाइन उपलब्ध होंगी (टर्मिनल के माध्यम से, Alt + F2, या फिर)।

आप टर्मिनल एक में टाइप करेंगे:

mkfifo pipey

अब आपके पास एक लगातार नामित पाइप है। आप इसका उपयोग कर सकते हैं ls -l

zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey

ध्यान दें कि यह कमांड तब तक वापस नहीं आएगा, जब तक कि आप आउटपुट के साथ कुछ नहीं करते हैं जो नामित पाइप पर चला गया है।

अब, टर्मिनल दो में, आप टाइप करेंगे: tex pipey | xdvi

और यह काम करता है (अच्छी तरह से, यहाँ वैसे भी)। इस प्रक्रिया को पहले से तैयार आउटपुट के लिए परिष्कृत किया जा सकता है, लेकिन यदि आप त्वरित और अपेक्षाकृत गड़बड़-मुक्त की तलाश कर रहे हैं, तो यह एक तरीका है।


1
मेरे समाधान की जाँच करें, मुझे लगता है कि आप प्रभावित होंगे। askubuntu.com/questions/24072/…
nelaaro

1
विस्तार के लिए +1। मेरे लिए, जैसा कि @nelaar द्वारा भी उल्लेख किया गया है, मैं सिर्फ अपाचे <Directory "/usr/share/doc/">निर्देशिका घोषणा (आमतौर पर /etc/apache2/sites-enabled/000-default) में कुछ निर्देश जोड़ता हूं और मेरा मानना ​​है कि अपघटन स्वयं ब्राउज़र द्वारा नियंत्रित किया जाता है। ( AddEncoding x-gzip gz tgzऔर AddType text/plain .gz)।
हटाएं

यद्यपि यह कई उपयोगी आदेशों पर एक अद्भुत और विस्तृत पाठ था, यह शायद ही एक अच्छा समाधान है कि कैसे एक आम उपयोगकर्ता को सिस्टम प्रलेखन को पढ़ने की उम्मीद है। Ubuntu के लिए, Gnome के yelp या डेबियन के dwww है सबसे दर्द से मुक्त, आसान तरीका। मेरे उत्तर में उत्तरार्द्ध का वर्णन है: askubuntu.com/a/52419/11015
मेस्त्रेलियन

1
@MestreLion सबसे यथार्थवादी अर्थों में एक 'विशिष्ट उपयोगकर्ता' को पता नहीं है कि फाइलें यहां तक ​​हैं। मुझे लगता है कि सबसे आसान समाधान वह है जिसका मैंने पहले उल्लेख किया है - उपयोग करना less। यह हर आधुनिक * निक्स प्रणाली पर डिफ़ॉल्ट रूप से स्थापित होने का अतिरिक्त लाभ है। उन उपयोगकर्ताओं के लिए जो फाइलों को जानते हैं और साल में एक-दो बार से अधिक उन्हें संदर्भित करना चाहते हैं, एक महान समाधान की तरह डीडब्ल्यूए लगता है। ख़ुद, चुटकी में, मुझे शायद डीडब्ल्यू याद नहीं है, लेकिन मुझे 'कम' जैसी बुनियादी आज्ञाएँ याद होंगी। या, जैसा कि तक्कत ने कहा, Nautilus / fileroller / etc ..
belacqua

13

शायद इसका जवाब देने में बहुत देर हो चुकी है, लेकिन मुझे सबसे अच्छा समाधान मिल गया है (उपयोग और पूर्णता दोनों में आसानी)

  • Dwww स्थापित करें डीडब्ल्यू स्थापित करें

एक विशिष्ट लिनक्स सिस्टम में कई प्रारूपों (मैनुअल पेज, इन्फो फाइल, आरईएडीएमईएस, और इसी तरह) में प्रलेखन है। डीडब्ल्यूए इन सभी को एक ही इंटरफ़ेस, एक डब्ल्यूडब्ल्यूडब्ल्यू ब्राउज़र के माध्यम से एक्सेस करना संभव बनाता है। इससे प्रलेखन का उपयोग करना आसान हो जाता है।

डीआईबी एक डेबियन सिस्टम पर सभी ऑन-लाइन प्रलेखन के लिए एक वेब इंटरफ़ेस है। यह कुछ वेब पेज बनाता है जो सभी इंस्टॉल किए गए दस्तावेजों को सूचीबद्ध करता है, और सभी दस्तावेजों को HTML में परिवर्तित करता है। रूपांतरण तब किया जाता है जब उपयोगकर्ता दस्तावेज़ का अनुरोध करता है।

  • CGI मॉड्यूल सक्षम करें, जो हाल ही में उबंटू / अपाचे में डिफ़ॉल्ट रूप से सक्षम नहीं है:

    sudo a2enmod cgi
    sudo service apache2 restart
    
  • अपना ब्राउज़र खोलें और इंगित करें: http: // localhost / dwww /

  • किया हुआ!

एक ही स्थान पर आपके सभी infoपृष्ठ, manपृष्ठ, /usr/share/docफाइलें और पैकेज विवरण! आपकी निजी प्रलेखन वेबसाइट!


इस विधि का उपयोग करें। इससे दर्द कम होता है। और आप चीजों को बहुत तेजी से खोज सकते हैं क्योंकि आप एक गूगल खोज बॉक्स की तरह होने जा रहे हैं।
उत्सुक प्रशिक्षु

1
भावी आगंतुकों के लिए, ध्यान दें कि इसके लिए CGI को सक्षम करने और Apache सेवा को फिर से शुरू करने की आवश्यकता है: askubuntu.com/questions/581118/…
Sergiy Kolodyazhnyy

7

gunzip file.gzहटाने, हटाने के file.gzलिए प्रयास करना । यही कारण है कि आपको "अनुमति अस्वीकृत" त्रुटि मिलती है, आपको लिखने की अनुमति नहीं है । किसी फ़ाइल की सामग्री प्राप्त करने के लिए, का उपयोग करें या ।filefile.gz/usr/share/docgunzip -c file.gzzcat file.gz

गज़िप-कंप्रेस्ड टेक्स्टफाइल्स पढ़ना साथ में किया जा सकता है zless। जैसा कि यह नाम सुझा सकता है, यह सिर्फ है less, लेकिन गज़िप-संपीड़ित फ़ाइलों के लिए।

उदाहरण का उपयोग:

zless /usr/share/doc/bash/NEWS.gz

.gzप्रत्यय साथ ही छोड़ा जा सकता है:

zless /usr/share/doc/bash/NEWS

हाल की प्रणालियों पर, मुझे निर्दिष्ट करने की आवश्यकता नहीं है zless, क्योंकि lessयह स्वचालित रूप से संभाल लेगा।
बेलाक्वा

1
@ काबिल सच्चा, मैं आजकल यही करता हूं। मुझे लगता है कि इसका पर्यावरण LESSOPENऔर LESSCLOSEपर्यावरण चर के साथ कुछ करना है ।
लेकेनस्टाइन

5

पहले Apache2 स्थापित करें

sudo apt-get install apache2 apache2-doc  

apache2-docयहाँ विशेष मामला है। यह आपको /usr/share/doc/अपने वेब ब्राउज़र के माध्यम से अपने प्रलेखन को ब्राउज़ करने की अनुमति देता है। मेंढक http://localhost/doc/

हालांकि यह सही नहीं है। आपको अपाचे को पाने के लिए अपाचे के विन्यास को बदलना होगा और * .gz फाइलों को सादे पाठ के रूप में दिखाना होगा।

मैंने/usr/share/doc/ निर्देशिका में * .gz दस्तावेज़ों की सामग्री दिखाने के लिए अपाचे का उपयोग करने का एक तरीका प्राप्त करने के लिए स्टैक ओवरफ़्लो पर पोस्ट किया । यह वह है जो संभव समाधान के रूप में पोस्ट किया गया था।

यहाँ उन निर्देशों को संक्षिप्त में दिया गया है। यह अपाचे को बताता है कि .gz फ़ाइलों से कैसे निपटें उन्हें सादे पाठ के रूप में संसाधित करें और उन्हें ब्राउज़र को सादे पाठ के रूप में भेजें।

sudo a2enmod headers   
sudo a2enmod deflate  
gksu gedit /etc/apache2/sites-enabled/000-default 

फ़ाइल के निचले भाग पर जाएं और Alias /doc/ "/usr/share/doc/" इस तरह दिखने के लिए अनुभाग को ढूंढें और इसे बदल दें।

Alias /doc/ "/usr/share/doc/"
<Directory /usr/share/doc>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128

    AddEncoding gzip gz
    <FilesMatch "\.gz$">
      ForceType text/plain
      Header set Content-Encoding: gzip
    </FilesMatch>
</Directory>   

फिर अपाचे को पुनरारंभ करें:

sudo apache2ctl restart   

1
मुझे यकीन नहीं है कि यह एक अलग समाधान है। मैंने अभी-अभी AddEncoding x-gzip gz tgz AddType text/plain .gzअपनी <Directory "/usr/share/doc/">प्रविष्टि में जोड़ा है और मेरा मानना ​​है कि विघटन वास्तव में ग्राहक की ओर से होता है।
हटाएं

@ चलो, नहीं यह एक अलग समाधान नहीं है यह अनिवार्य रूप से मैं क्या कर रहा हूं।
नालारो

जबकि मुझे लगता है कि यह सबसे अच्छा समाधान है (डॉक्स ब्राउज़ करने के लिए ब्राउज़र का उपयोग करके कुछ भी नहीं हरा सकता है), इसके लिए एक संपूर्ण वेब सर्वर स्थापित करने के लिए एक प्रमुख ओवरकिल है। मैं वास्तव में लिनक्स ( yelpशायद?) डॉक्स को पढ़ने के लिए किसी भी तरह से आउट ऑफ द बॉक्स तरीका चाहता हूं ।
MestreLion

अद्यतन: समाधान पूरी तरह से काम किया !!! mod "डिफ्लेट" पहले से ही बॉक्स से बाहर सक्षम था, और मैंने बड़ी लाइन बदल दी sudo service apache2 restart। अंतिम लेकिन कम से कम, पढ़ने वाले को अनुगामी के बारे में पता नहीं है "/": यह होना चाहिए लोकलहोस्ट / डॉक / , लोकलहोस्ट / डॉक काम नहीं करेगा।
MestreLion

-3

आपकी फ़ाइलों को पढ़ना नहीं चाहिए। यह मानव पठनीय प्रारूप में है, लेकिन इसे अभिक्रिया से पहले संसाधित करने के लिए डिज़ाइन किया गया है। इसे .pdf में बदलने के लिए आप टेक्स 2 पीएफडी टूल का उपयोग कर सकते हैं।


1
1) मैं लाटेक्स स्रोत को पढ़ना चाहता हूं । 2) आदेश है pdflatex। 3) यह पढ़ने से पहले फ़ाइल को गनज़िप करने की आवश्यकता के मुद्दे पर स्पर्शरेखा है।
ændrük
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.