mirror of
https://github.com/erenfro/gen2stage4.git
synced 2024-11-13 02:38:57 -05:00
fix -k bug
This commit is contained in:
parent
bdcafb5b0e
commit
bbf898d45e
2 changed files with 55 additions and 7 deletions
37
README.md
37
README.md
|
@ -5,6 +5,8 @@ The script is a new edition of an earlier [mkstage4 script](https://github.com/g
|
|||
|
||||
More information on mkstage4 can be found on its own Chymeric Tutorials article: [mkstage4 - Stage 4 Tarballs Made Easy](http://tutorials.chymera.eu/blog/2014/05/18/mkstage4-stage4-tarballs-made-easy/).
|
||||
|
||||
Chinese Introduction [中文说明](http://liuk.io/blog/gentoo-stage4)
|
||||
|
||||
## Installation
|
||||
|
||||
The script can be run directly from its containing folder (and thus, is installed simply by downloading or cloning it from here - and adding run permissions):
|
||||
|
@ -48,11 +50,37 @@ Command line arguments:
|
|||
-l: excludes lost+found directory.
|
||||
-e: an additional excludes directory (one dir one -e).
|
||||
-s: makes tarball of current system.
|
||||
-k: separately save current kernel moudules and src (smaller).
|
||||
-k: separately save current kernel modules and src (smaller & save decompression time).
|
||||
-t: makes tarball of system located at the <target-mountpoint>.
|
||||
-h: displays help message.
|
||||
```
|
||||
|
||||
eg.
|
||||
```bash
|
||||
liuk@localhost ~/proj/mkstage4 $ sudo ./mkstage4.sh -l -s -k -e /dataA -e /home/liuk/dataZ1/ /dataB/gentoo-stage4-20180511 --exclude=/dataB/* --exclude=/ssd/*
|
||||
Are you sure that you want to make a stage 4 tarball of the system
|
||||
located under the following directory?
|
||||
/
|
||||
|
||||
WARNING: since all data is saved by default the user should exclude all
|
||||
security- or privacy-related files and directories, which are not
|
||||
already excluded by mkstage4 options (such as -c), manually per cmdline.
|
||||
example: $ mkstage4.sh -s /my-backup --exclude=/etc/ssh/ssh_host*
|
||||
|
||||
COMMAND LINE PREVIEW:
|
||||
tar -cjpP --ignore-failed-read --exclude=/home/*/.bash_history --exclude=/dev/* --exclude=/var/tmp/* --exclude=/media/* --exclude=/mnt/*/* --exclude=/proc/* --exclude=/run/* --exclude=/sys/* --exclude=/tmp/* --exclude=/usr/portage/* --exclude=/var/lock/* --exclude=/var/log/* --exclude=/var/run/* --exclude=/dataA --exclude=/home/liuk/dataZ1/ --exclude=/usr/src/* --exclude=/lib64/modules/* --exclude=dataB/gentoo-stage4-20180511.tar.bz2 --exclude=lost+found --exclude=/dataB/* --exclude=/ssd/* -f /dataB/gentoo-stage4-20180511.tar.bz2 /*
|
||||
|
||||
tar -cjpP --ignore-failed-read -f /dataB/gentoo-stage4-20180511.tar.bz2.ksrc /usr/src/linux-4.16.6-gentoo*
|
||||
|
||||
tar -cjpP --ignore-failed-read -f /dataB/gentoo-stage4-20180511.tar.bz2.kmod /lib64/modules/4.16.6-gentoo*
|
||||
|
||||
Type "yes" to continue or anything else to quit: yes
|
||||
```
|
||||
|
||||
### -k separately save current kernel modules and src
|
||||
|
||||
It will save current running kernel modules and src in separate tar file. It save decompression time.
|
||||
|
||||
## Extract Tarball
|
||||
|
||||
Tarballs created with mkstage4 can be extracted with:
|
||||
|
@ -61,6 +89,13 @@ Tarballs created with mkstage4 can be extracted with:
|
|||
tar xvjpf archive_name.tar.bz2
|
||||
```
|
||||
|
||||
If you use -k option, extract src & modules separately
|
||||
|
||||
```bash
|
||||
tar xvjpf archive_name.tar.bz2.kmod
|
||||
tar xvjpf archive_name.tar.bz2.ksrc
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
* **[Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell))** - in [Portage](http://en.wikipedia.org/wiki/Portage_(software)) as **app-shells/bash**
|
||||
|
|
25
mkstage4.sh
25
mkstage4.sh
|
@ -25,9 +25,9 @@ USAGE="usage:\n\
|
|||
-c: excludes connman network lists.\n\
|
||||
-b: excludes boot directory.\n\
|
||||
-l: excludes lost+found directory.\n\
|
||||
-e: an additional excludes directory (one dir one -e).\n\
|
||||
-e: an additional excludes directory (one dir one -e, donot use it with *).\n\
|
||||
-s: makes tarball of current system.\n\
|
||||
-k: separately save current kernel moudules and src (smaller).\n\
|
||||
-k: separately save current kernel modules and src (smaller & save decompression time).\n\
|
||||
-t: makes tarball of system located at the <target-mountpoint>.\n\
|
||||
-h: displays help message."
|
||||
|
||||
|
@ -117,7 +117,7 @@ shift;OPTIONS="$@"
|
|||
|
||||
if [ ${S_KERNEL} -eq 1 ]
|
||||
then
|
||||
USER_EXCL+=" --exclude=${TARGET}/usr/src/* "
|
||||
USER_EXCL+=" --exclude=${TARGET}usr/src/* "
|
||||
if [ ${x86_64} -eq 1 ]
|
||||
then
|
||||
USER_EXCL+=" --exclude=${TARGET}lib64/modules/* "
|
||||
|
@ -182,6 +182,19 @@ then
|
|||
echo ""
|
||||
echo "COMMAND LINE PREVIEW:"
|
||||
echo "tar $TAR_OPTIONS $EXCLUDES $OPTIONS -f $STAGE4_FILENAME ${TARGET}*"
|
||||
if [ ${S_KERNEL} -eq 1 ]
|
||||
then
|
||||
echo ""
|
||||
echo "tar $TAR_OPTIONS -f $STAGE4_FILENAME.ksrc ${TARGET}usr/src/linux-$(uname -r)*"
|
||||
if [ ${x86_64} -eq 1 ]
|
||||
then
|
||||
echo ""
|
||||
echo "tar $TAR_OPTIONS -f $STAGE4_FILENAME.kmod ${TARGET}lib64/modules/$(uname -r)*"
|
||||
else
|
||||
echo ""
|
||||
echo "tar $TAR_OPTIONS -f $STAGE4_FILENAME.kmod ${TARGET}lib/modules/$(uname -r)*"
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
echo -n "Type \"yes\" to continue or anything else to quit: "
|
||||
read AGREE
|
||||
|
@ -193,12 +206,12 @@ then
|
|||
tar $TAR_OPTIONS $EXCLUDES $OPTIONS -f $STAGE4_FILENAME ${TARGET}*
|
||||
if [ ${S_KERNEL} -eq 1 ]
|
||||
then
|
||||
tar $TAR_OPTIONS $OPTIONS -f ksrc_$STAGE4_FILENAME ${TARGET}usr/src/linux-$(uname -r)*
|
||||
tar $TAR_OPTIONS -f $STAGE4_FILENAME.ksrc ${TARGET}usr/src/linux-$(uname -r)*
|
||||
if [ ${x86_64} -eq 1 ]
|
||||
then
|
||||
tar $TAR_OPTIONS $OPTIONS -f kmod_$STAGE4_FILENAME ${TARGET}lib64/modules/$(uname -r)*
|
||||
tar $TAR_OPTIONS -f $STAGE4_FILENAME.kmod ${TARGET}lib64/modules/$(uname -r)*
|
||||
else
|
||||
tar $TAR_OPTIONS $OPTIONS -f kmod_$STAGE4_FILENAME ${TARGET}lib/modules/$(uname -r)*
|
||||
tar $TAR_OPTIONS -f $STAGE4_FILENAME.kmod ${TARGET}lib/modules/$(uname -r)*
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue