README.md
This commit is contained in:
parent
989550aea1
commit
365cd911f2
23
README.md
23
README.md
|
@ -1,32 +1,29 @@
|
||||||
`packelf` was inspired by [the idea of Klaus D](https://askubuntu.com/a/546305). It is used to pack a ELF program and its dependent libraries into a single executable file.
|
`packelf` was inspired by [the idea of Klaus D](https://askubuntu.com/a/546305). It is used to pack a ELF program and its dependent libraries into a single executable file.
|
||||||
|
|
||||||
|
|
||||||
## Usage (packelf):
|
## Usage packelf:
|
||||||
|
|
||||||
```
|
```
|
||||||
Usage: ./packelf.sh <ELF_SRC_PATH> <DST_PATH> [ADDITIONAL_LIBS]
|
Usage: ./packelf.sh <ELF_SRC_PATH> <DST_PATH> [ADDITIONAL_LIBS]
|
||||||
```
|
```
|
||||||
|
|
||||||
First, pack a ELF program. For example, you can pack `ls` like this:
|
Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
# ./packelf.sh /bin/ls /root/ls
|
# ./packelf.sh /usr/bin/mpv mpv-x86_64.AppRun
|
||||||
tar: Removing leading `/' from member names
|
|
||||||
'/bin/ls' was packed to '/root/ls'
|
|
||||||
Just run '/root/ls ARGS...' to execute the command.
|
|
||||||
Or run 'PACKELF_UNPACK_DIR=xxx /root/ls' to unpack it only.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You can execute the packed program directly:
|
Note: Every time the packed program is executed, an internal unpacking operation is performed automatically, which results in a slower startup of the program.
|
||||||
|
|
||||||
|
## Extract without running:
|
||||||
|
|
||||||
|
You can extract the files of a created package without executing it with the following command:
|
||||||
|
|
||||||
```
|
```
|
||||||
# /root/ls -lh /root/ls
|
# ./<package> --packelf-extract
|
||||||
-rwxr-xr-x 1 root root 1.3M May 21 08:35 /root/ls
|
|
||||||
```
|
```
|
||||||
|
|
||||||
However, every time the packed program is executed, an internal unpacking operation is performed automatically, which results in a slower startup of the program.
|
## Usage Extra Tools:
|
||||||
|
|
||||||
## USAGE EXTRA TOOLS:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Usage: ./packelf-copylibs.sh <ELF_SRC_PATH> <PATH_TO_COPY_LIBRARIES>
|
Usage: ./packelf-copylibs.sh <ELF_SRC_PATH> <PATH_TO_COPY_LIBRARIES>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user