Bash 파일에 기계어가 있을 수 있나요?

Bash 파일에 기계어가 있을 수 있나요?

설치 중이에요아나콘다리눅스에서. Linux의 경우 Anaconda는 bash 스크립트를 제공하지만 파일 크기가 거의 300MB에 달합니다. 이유를 알아보기로 결정하고 텍스트 편집기에서 열었습니다.

아래와 같이 파일의 약 95%가 기계어 횡설수설입니다.

ºîØôЕzÒA¶©h¶¥R•„&´ìÒUÓçß3{^eÑòà(|ÄÃk뎆ºîØôЕzÒA¶©h¶¥R•„&´ìÒUÓçß3{™½ö|q ŽÖm¶¥¡ôÚ­gú¡@óìÛkkº£C»Iš)à÷¾Û¸êw½æõîJN7í×p€A¡ÈzÞÝï8

Python을 설치할 수 있으므로 파일이 손상되지 않았습니다.

대부분이 라이센스 파일에 있어서 다른 언어의 경우 유니코드인지 궁금합니다. 하지만 그게 파일의 95%를 차지하지는 않겠죠?

코드/기계어를 컴파일할 수 있나요? bash 파일에 기계어 코드를 넣는 것이 허용됩니까?

답변1

@Graeme의 의견을 확장합니다.

다운로드한 스크립트는 tarball이 포함된 bash 스크립트입니다. 이것스크립트 부분먼저 md5sum을 통해 tarball을 확인한 다음 여러 .tar.bz2아카이브가 포함된 tar의 압축을 풉니다. 그런 다음 사용자 정의 기능을 사용하여 extract_dist()아카이브의 압축을 해제합니다. 즉:

extract_dist python-2.7.10-0
extract_dist conda-3.14.1-py27_0
...

파일 추출 중:

python-2.7.10-0.tar.bz2
conda-3.14.1-py27_0.tar.bz2
...

32비트 버전의 경우스크립트다음을 통해 부품을 추출할 수 있습니다.

head -n 467 Anaconda-2.3.0-Linux-x86.sh

64비트 버전의 경우스크립트다음을 통해 부품을 추출할 수 있습니다.

head -n 466 Anaconda-2.3.0-Linux-x86_64.sh

당신이 본대로스크립트 부분exit 0bash에 의한 스크립트의 추가 처리를 중단합니다 .

타르볼은 다음을 통해 추출됩니다.

tail -n +469 $THIS_PATH | tar xf - --no-same-owner
tail -n +468 $THIS_PATH | tar xf - --no-same-owner

각각 32비트와 64비트용입니다.

예를 들어 다음과 같이 할 수 있습니다.

tail -n +469 Anaconda-2.3.0-Linux-x86.sh | tar -t

32비트 아카이브의 파일을 나열합니다.

관련 정보