http://kiros33.blog.me/220344807937
Revision History
2015/04/29 11:16:42 - 최초 작성
2016/02/15 16:46:00 - 저장소 직접 추가하는 방법
Reference Page
64비트 우분트에서 32비트 파일 (ELF 32bit) 실행하기
How to run 32-bit programs on a 64-bit system
최근에 주로 64비트 리눅스를 많이 사용하고 있습니다. 개인 공부용 서버쪽은 우분투로 주로 사용 중이구요.
헌데 종종 32비트에서 컴파일했던 실행파일을 쓰고 싶은데 파일이 없다고 무시를 해서 실행하지 못하는 경우가 있습니다. 다른 분들도 경험은 많으실꺼에요.
테스트는 우분투 기반 Linux Lite에서 진행했습니다.
이런 경우 라이브러리 몇가지만 올려주면 32비트 파일도 실행이 된답니다.
먼저 파일의 정보를 봅니다. readelf 나 file 명령을 사용하면 되겠지요!
readelf
$ readelf -h rm-pattern ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x80485d0
Start of program headers: 52 (bytes into file)
Start of section headers: 4432 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 30
Section header string table index: 27
file
$ file rm-pattern
rm-pattern: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=911c43d51238e67256c91f3e30df7e07acf2906f, not stripped
이 파일을 64비트에서 실행해보면 아래와 같이 꼼짝하지 않습니다.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Linux Lite 2.2
Release: 14.04
Codename: trusty
$ ./rm-pattern
bash: ./rm-pattern: No such file or directory
자 이제 라이브러리를 설치합니다.
우분투 12.04+
$ sudo apt-get install ia32-libs
우분투 13.10+
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
설치 후 다시 실행해보면 정상 동작하는 것을 확인 할 수 있습니다.
$ ./rm-pattern
type for pattern to remove:
Pattern 1:
2016/02/15 16:46:00 - 저장소 직접 추가하는 방법
이전 저장소에서 직접 설치하는 방법 (14.04에서 테스트됨)
이전 저장소에서 직접 설치하는 방법 (14.04에서 테스트됨)
$ sudo -i
$ cd /etc/apt/sources.list.d
$ echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
$ apt-get update
$ apt-get install ia32-libs
검색: Linux, 리눅스, Ubuntu, 우분투, ELF, Executable and Linkable Format,
댓글 없음:
댓글 쓰기