Debian 기반 배포판에서 *.run./*.bin 파일을 만드는 방법

Debian 기반 배포판에서 *.run./*.bin 파일을 만드는 방법

AMD는 Catalyst 드라이버를 다음과 같이 제공합니다.*. 달리기파일을 실행하고 빌드하고 설치할 때 압축이 풀립니다.운전사. 문제는 드라이버가 성공적으로 빌드하려면 패치가 필요하다는 것입니다. 패치를 적용하고 압축하거나 다시 만들고 싶습니다.달리기다음 번에 반복해서 할 필요가 없도록 파일로 정리하세요.

그런데 run file은 순수한 쉘 스크립트 명령이 아니며, 추출 시 파일과 폴더를 다시 생성할 수 있는 바이너리 코드가 포함된 섹션이 있습니다.

답변1

AMD는 설치를 수행하기 위해 루트로 실행해야 하는 실행 파일을 배포합니다. 그 이름과 그 이름의 끝은 거의 관련이 없습니다.

이 파일은 실행 파일이며 AMD가 선택한 방식으로 실행할 수 있습니다. 쉘 스크립트(제 생각에는)일 수도 있고 바이너리 실행 파일일 수도 있고 이론적으로는 다른 실행 파일일 수도 있습니다. 따라서 구조를 유지하면서 이와 같은 내용을 편집할 수 있는 보편적인 방법은 실제로 없습니다.

파일 실행은 순수한 쉘 스크립트 명령이 아닙니다

tar예, 해당 공급업체는 인코딩을 추출하고 이를 쉘 스크립트 내의 바이너리 아카이브(예: )에 포함하는 방법을 포함하여 시스템을 손상시켜 소프트웨어를 설치하도록 설계된 스크립트를 제공합니다 . 이것이 "바이너리 코드가 있는 섹션이 있습니다"라는 의미입니다.

그러나 공급업체가 이 아카이브를 인코딩하고 포함하기로 선택하는 방식도 완전히 임의적입니다. Base64로 인코딩된 tar 파일이거나 다른 파일일 수 있습니다.

AMD 제공 파일을 편집하려면 해당 파일을 검사하여 작동 방식을 확인한 다음 해당 파일의 일부를 디코딩 및 추출하고, 패치를 적용하고, 결과를 보관 및 다시 인코딩하고, 원래 포함된 콘텐츠를 교체해야 합니다. 당신과 함께.

결론: 이러한 유형의 임시 소프트웨어 설치 방법은 데비안이나 RPM 패키지만큼 잘 구성되어 있지 않으며 동일한 규칙성과 표준화로 작동하지 않습니다.

답변2

사용된 소프트웨어는 makeself.sh이며, megastep으로 배포되고 makeself.run으로 다운로드됩니다. 패키지를 다운로드할 수 있는 URL은 다음과 같습니다.http://stephanepeter.com/makeself/, 아카이브 생성 옵션을 설명합니다. 이를 사용하여 nvidia 드라이버 파일을 패치하고 .run 파일을 다시 만들었습니다. 아카이브에 있는 기존 설치 프로그램이 실행됩니다.

관련 정보