Ví dụ cho câu hỏi của tôi, ~/.bashrc
tệp của tôi chứa dòng này:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
để Numpy (Python) có thể tìm thấy các thư viện cần chạy, vì nó được xây dựng với trình biên dịch MKL và Intel. Quy trình này không phải là tốt nhất, nhưng đó là một câu chuyện khác.
Câu hỏi của tôi là làm thế nào tôi có thể vượt qua các biến tùy ý (như các biến trong ~/.bashrc
) khi tôi chạy chương trình với 'sudo' (nhưng không phải root)?
Hiện tại, nếu tôi chạy:
sudo python -c "import numpy"
Tôi gặp lỗi:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Một số gợi ý như sudo -i
hoặc sudo -E
không thay đổi bất cứ điều gì ở đây.
Biên tập:
Tôi không thể trả lời câu hỏi của mình (không đủ điểm: D) nhưng tôi sẽ bình luận ở đây, với hy vọng rằng có những người mới Linux khác thắc mắc về sudo
bẫy.
[Chỉ tạm thời!] Điều này làm việc cho tôi ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'