내 시스템에서 모든 32비트 프로그램을 어떻게 찾아야 합니까? 저는 64비트 운영 체제를 실행하고 있습니다.
(일부 있을 수도 있지만 잊어버렸습니다)
답변1
이것은 약간 조잡하지만 트릭을 수행해야합니다
find / -mount -type f -perm /111 -exec sh -c 'objdump -f {} | grep -q elf32 && echo {}' \;
-mount
/
파일 시스템 에 보관하자-type f
파일만-perm /111
실행 가능한 비트가 있는 파일로 제한- 그런 다음
objdump -f
파일과echo
파일 이름(objdump
포함된 경우) 에 대해 실행합니다.elf32
처음 3개 필터는 objdump
모든 항목에 대해 실행하지 않고도 결과의 범위를 약간 좁힐 수 있도록 하기 위한 것입니다.
답변2
이것은 영원히 걸릴 것입니다:
find /|parallel -n100 file {}|grep "ELF 32.*executable"
하지만 작동해야합니다. GNU parallel
설치 되었는지 확인해야 합니다.