Ubuntu 16.10에서는 /etc/environment 파일에 시스템 전체 환경 변수를 설정했습니다. 변수는 길이가 수천자인 문자열입니다(문자열은 쉼표로 구분된 작은 알파벳 코드 목록입니다). 문제는 환경 변수가 잘린다는 것입니다.
X라는 변수를 사용하여 /etc/environment 파일의 내용을 생성하는 Python 코드:
fp = open('/etc/environment','w')
fp.write('X="' + ",".join([str(i) for i in range(2000)]) + '"')
fp.close()
셸에서 로그아웃하고 다시 로그인하여 환경 변수를 표시합니다.
echo $X
내 컴퓨터에서 결과는 다음과 같습니다.
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72
환경 변수에 128K 제한이 있다고 들었는데 변수 길이가 상대적으로 작습니다. 왜 그것이 잘리는지 설명할 수 있고, 더 중요한 것은 상황을 해결하기 위해 무엇을 할 수 있는지 설명할 수 있습니까?
편집: dpkg -l libpam-modules의 출력:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================================-============================-============================-==================================================================================================
ii libpam-modules:amd64 1.1.8-3.2ubuntu2 amd64 Pluggable Authentication Modules for PAM
답변1
이것이 Mark가 제안한 것과 정확히 일치하는지 확실하지 않지만 /etc/environment 파일을 업데이트했으며 이제 다음 구문을 갖습니다.
export X="1,2,..."
/etc/profile에 다음 줄을 추가했습니다.
source /etc/environment
이것이 좋은 접근 방식인지는 모르겠지만 작동합니다.