त्वरित सुधार: चूंकि आपके पास पहले से ही $PATH
अपने वातावरण में सही /etc/profile
बदलाव है ( संशोधनों के माध्यम से ) जिनका आप उपयोग कर सकते हैं:
sudo env PATH="$PATH" tlmgr
असल में, सूडो$PATH
एक "ज्ञात अच्छे" के मूल्य (पूरे वातावरण, वास्तव में) को रीसेट करता है
, और इस प्रकार आपके स्थानीय वातावरण में किए गए किसी भी बदलाव को अनदेखा कर रहा है।
Env सेट उपरोक्त आदेश PATH
के वातावरण में चर tlmgr
वह निष्पादित तो यह चलाता है के मूल्य के साथ $PATH
आप कमांड लाइन पर निर्दिष्ट करें।
प्रत्येक TeXlive कमांड के लिए वह सब टाइप करने से बचने के लिए, आप अपने शेल में एक उपनाम को परिभाषित कर सकते हैं
: .bashrc
अपने घर में फ़ाइल में निम्न पंक्ति जोड़ें :
alias psudo='sudo env PATH="$PATH"'
और फिर आप इसे बस कमांड प्रॉम्प्ट पर जारी कर सकते हैं:
psudo tlmgr
इसके अलावा, sudo कमांड को निष्पादित करने के लिए एक लॉगिन शेल नहीं चलाता है, यही वजह है कि आपके "profile.d" ट्रिक्स रूट के लिए काम नहीं करते थे। आप सूडो को एक शेल में एक कमांड निष्पादित करने के लिए मजबूर कर सकते हैं
, जो समान प्रभाव को प्राप्त करने का एक वैकल्पिक तरीका है:
sudo sh -l -c tlmgr
फिर से आप इसे छोटा करने के लिए शेल कमांड उपनाम को परिभाषित कर सकते हैं :
alias shsudo='sudo sh -l -c'
जिसका उपयोग निम्न प्रकार किया जा सकता है:
shsudo tlmgr