-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patharch.sh
executable file
·109 lines (98 loc) · 3.87 KB
/
arch.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/bash
#/**************************************install*****************************************************/
tsmv ()
{
mv $1 $1_`date "+%y%m%d_%H%M%S"`
}
func_install()
{
echo "
# 1
# gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
# pacman-key -v archlinux-version-x86_64.iso.sig
#
# 2
# mount /dev/root_partition /mnt
# mount --mkdir /dev/efi_system_partition /mnt/boot
# swapon /dev/swap_partition
# pacstrap -K /mnt base linux linux-firmware
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# locale-gen
#
# /etc/locale.conf
# LANG=en_US.UTF-8
#
# /etc/vconsole.conf
# KEYMAP=de-latin1
#
# mkinitcpio
# passwd"
}
func_efibootmgr()
{
echo "+++ func_efibootmgr +++"
efibootmgr --create --disk /dev/sda --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=/dev/sda3 resume=/dev/sda2 rw initrd=\initramfs-linux.img'
}
#/***************************************pacman backup****************************************************/
DST_PACMAN_BACKUP_SERVER_PATH="/home/cliff/backup/pacman/backup_server/pkg"
DST_PACMAN_BACKUP_SERVER_PATH_DB="$(dirname ${DST_PACMAN_BACKUP_SERVER_PATH})"
SRC_PACMAN_BACKUP_CURSYS_PATH="/var/cache/pacman/pkg"
SRC_PACMAN_BACKUP_CURSYS_PATH_LIB="/var/lib/pacman/"
DST_PACMAN_BACKUP_CURSYS_PATH="/home/cliff/backup/pacman/backup_cursys/pkg"
DST_PACMAN_BACKUP_CURSYS_PATH_DB="$(dirname ${DST_PACMAN_BACKUP_CURSYS_PATH})"
func_pacman_backup_server()
{
PKGS="base base-devel grub-bios \
xorg gimp efibootmgr gcc \
curl ctags git cmake rsync lftp okular terminator nmap \
fcitx5-im fcitx5-chinese-addons fcitx5-rime gnome-shell-extension-appindicator gnome-shell-extension-dash-to-panel \
nfs-utils git-lfs ttf-hack ttf-hack-nerd qemu-system-x86 adobe-source-han-sans-cn-fonts"
echo "+++ func_pacman_backup_server +++"
mkdir -p ${DST_PACMAN_BACKUP_SERVER_PATH}
mkdir -p ${DST_PACMAN_BACKUP_SERVER_PATH_DB}
#pacman -Syw --cachedir ${DST_PACMAN_BACKUP_SERVER_PATH} --dbpath ${DST_PACMAN_BACKUP_SERVER_PATH_DB} base base-devel grub-bios xorg gimp && \
pacman -Syw --cachedir ${DST_PACMAN_BACKUP_SERVER_PATH} --dbpath ${DST_PACMAN_BACKUP_SERVER_PATH_DB} --noconfirm ${PKGS} && \
cd ${DST_PACMAN_BACKUP_SERVER_PATH} && repo-add ./custom.db.tar.gz ./*.zst &&\
tar -cvf ${DST_PACMAN_BACKUP_SERVER_PATH_DB}.tar ${DST_PACMAN_BACKUP_SERVER_PATH_DB} &&\
tsmv ${DST_PACMAN_BACKUP_SERVER_PATH_DB}.tar
}
func_pacman_backup_cursys()
{
echo "+++ func_pacman_backup_cursys +++"
mkdir -p ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}
cp -r ${SRC_PACMAN_BACKUP_CURSYS_PATH_LIB}/* ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}
cp -r ${SRC_PACMAN_BACKUP_CURSYS_PATH} ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}
cd $(dirname ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}) && tar -zcvf ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}.tgz $(basename ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}) && tsmv ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}.tgz
}
func_pacman_change_to_local_config()
{
echo "
# /etc/pacman.conf add custom before core and extra
[custom]
SigLevel = PackageRequired
Server = file://${DST_PACMAN_BACKUP_SERVER_PATH}"
}
#/***************************************pacman backup****************************************************/
#/**************************************boot uefi*****************************************************/
func_run()
{
if [ -z "$1" ];then
echo "arch.sh efi : efibootmgr"
echo "arch.sh baks : backup_server to ${DST_PACMAN_BACKUP_SERVER_PATH_DB}"
echo "arch.sh bakc : backup_cursys from ${SRC_PACMAN_BACKUP_CURSYS_PATH} to ${DST_PACMAN_BACKUP_CURSYS_PATH_DB}"
echo "arch.sh change_local : change to local config"
echo "arch.sh wiki : wiki"
elif [ "$1" == "wiki" ];then
func_install
elif [ "$1" == "efi" ];then
func_efibootmgr
elif [ "$1" == "baks" ];then
func_pacman_backup_server
elif [ "$1" == "bakc" ];then
func_pacman_backup_cursys
elif [ "$1" == "change_local" ];then
func_pacman_change_to_local_config
fi
}
func_run $@