first commit
This commit is contained in:
44
archiso/airootfs/root/.automated_script.sh
Executable file
44
archiso/airootfs/root/.automated_script.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
script_cmdline() {
|
||||
local param
|
||||
for param in $(</proc/cmdline); do
|
||||
case "${param}" in
|
||||
script=*)
|
||||
echo "${param#*=}"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
automated_script() {
|
||||
local script rt
|
||||
script="$(script_cmdline)"
|
||||
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
|
||||
if [[ "${script}" =~ ^((http|https|ftp|tftp)://) ]]; then
|
||||
# there's no synchronization for network availability before executing this script
|
||||
printf '%s: waiting for network-online.target\n' "$0"
|
||||
until systemctl --quiet is-active network-online.target; do
|
||||
sleep 1
|
||||
done
|
||||
printf '%s: downloading %s\n' "$0" "${script}"
|
||||
curl "${script}" --location --retry-connrefused --retry 10 --fail -s -o /tmp/startup_script
|
||||
rt=$?
|
||||
else
|
||||
cp "${script}" /tmp/startup_script
|
||||
rt=$?
|
||||
fi
|
||||
if [[ ${rt} -eq 0 ]]; then
|
||||
chmod +x /tmp/startup_script
|
||||
printf '%s: executing automated script\n' "$0"
|
||||
# note that script is executed when other services (like pacman-init) may be still in progress, please
|
||||
# synchronize to "systemctl is-system-running --wait" when your script depends on other services
|
||||
/tmp/startup_script
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ $(tty) == "/dev/tty1" ]]; then
|
||||
automated_script
|
||||
fi
|
||||
96
archiso/airootfs/root/.bashrc
Executable file
96
archiso/airootfs/root/.bashrc
Executable file
@@ -0,0 +1,96 @@
|
||||
#
|
||||
# ~/.bashrc
|
||||
#
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# 基础别名
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
alias grep='grep --color=auto'
|
||||
|
||||
# 安全操作
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
|
||||
# 导航别名
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
|
||||
# 系统信息
|
||||
alias df='df -h'
|
||||
alias du='du -h'
|
||||
alias dus='du -sh * | sort -nr'
|
||||
alias free='free -h'
|
||||
|
||||
# Git 快捷方式
|
||||
alias gs='git status'
|
||||
alias ga='git add'
|
||||
alias gc='git commit'
|
||||
alias gp='git push'
|
||||
alias gl='git log --oneline'
|
||||
|
||||
alias tms='sh /home/smart/.tms3/starter/tms-tools.sh'
|
||||
alias rtms='sh /home/smart/.tms3/starter/restart'
|
||||
|
||||
# 文件大小查看别名
|
||||
alias size='ls -lahSr' # 简单版本
|
||||
alias sizes='du -sh * | sort -h' # 准确版本
|
||||
alias sizeall='du -sh .[!.]* * 2>/dev/null | sort -h' # 包含隐藏文件
|
||||
|
||||
# 详细版本,显示文件权限和大小
|
||||
alias sizedetail='du -sh * | sort -h | while read s n; do ls -ld "$n" | awk '\''{printf "%-10s %-5s %-8s ", $1, $3, $4}'\''; echo "$s $n"; done'
|
||||
|
||||
# 文件大小查看函数
|
||||
fsize() {
|
||||
local path="${1:-.}" # 默认当前目录
|
||||
local depth="${2:-0}" # 目录深度
|
||||
|
||||
echo "=== 文件大小统计: $path ==="
|
||||
|
||||
if [ "$depth" -eq 0 ]; then
|
||||
# 只显示当前目录下的文件
|
||||
du -sh "$path"/* 2>/dev/null | sort -h
|
||||
else
|
||||
# 显示指定深度的目录结构
|
||||
find "$path" -maxdepth "$depth" -type f -exec du -sh {} + 2>/dev/null | sort -h
|
||||
fi
|
||||
}
|
||||
|
||||
# 快捷别名
|
||||
alias sz='fsize . 0'
|
||||
alias sz1='fsize . 1'
|
||||
alias sz2='fsize . 2'
|
||||
|
||||
# 环境变量
|
||||
export EDITOR=vim
|
||||
export VISUAL=vim
|
||||
export HISTSIZE=10000
|
||||
export HISTFILESIZE=20000
|
||||
|
||||
# Wine 环境变量 - 添加到 PATH
|
||||
export WINE_HOME="/home/smart/wine"
|
||||
export PATH="$WINE_HOME/bin:$PATH"
|
||||
|
||||
# 彩色提示符
|
||||
PS1='\[\033[01;33m\]\t\[\033[00m\] \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
|
||||
# 实用函数
|
||||
mkcd() { mkdir -p "$1" && cd "$1"; }
|
||||
findf() { find . -name "$1" -type f 2>/dev/null; }
|
||||
|
||||
# 检查 wine 是否可用
|
||||
wine-check() {
|
||||
if command -v wine >/dev/null 2>&1; then
|
||||
echo "✓ Wine is available: $(which wine)"
|
||||
wine --version
|
||||
else
|
||||
echo "✗ Wine not found in PATH"
|
||||
echo "Current PATH: $PATH"
|
||||
fi
|
||||
}
|
||||
4
archiso/airootfs/root/.gnupg/scdaemon.conf
Executable file
4
archiso/airootfs/root/.gnupg/scdaemon.conf
Executable file
@@ -0,0 +1,4 @@
|
||||
disable-ccid
|
||||
disable-pinpad
|
||||
pcsc-driver /usr/lib/libpcsclite.so
|
||||
pcsc-shared
|
||||
6
archiso/airootfs/root/.zlogin
Executable file
6
archiso/airootfs/root/.zlogin
Executable file
@@ -0,0 +1,6 @@
|
||||
# fix for screen readers
|
||||
if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then
|
||||
setopt SINGLE_LINE_ZLE
|
||||
fi
|
||||
|
||||
~/.automated_script.sh
|
||||
24
archiso/airootfs/root/customize_airootfs.sh
Executable file
24
archiso/airootfs/root/customize_airootfs.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 更新 pacman 数据库,确保能找到本地仓库的包
|
||||
pacman -Sy
|
||||
|
||||
# 安装本地仓库的 linux 和 linux-headers
|
||||
# 由于 [custom] 仓库优先级最高,pacman 会从这里安装
|
||||
pacman -S --noconfirm linux linux-headers
|
||||
|
||||
# 重新生成 initramfs,确保新内核能启动
|
||||
# 这通常在安装内核时由 pacman 自动处理,但手动安装后最好确认一下
|
||||
mkinitcpio -P
|
||||
|
||||
# 清理 pacman 缓存
|
||||
pacman -Scc --noconfirm
|
||||
|
||||
# 删除本地仓库的数据库文件,避免在最终系统上占用空间
|
||||
# rm -rf /localrepo/custom.db.tar.gz /localrepo/custom.files.tar.gz
|
||||
# rm -rf /localrepo/*.pkg.tar.zst
|
||||
# rmdir /localrepo
|
||||
|
||||
# 如果你希望在安装完成后移除本地仓库的定义,可以编辑 pacman.conf
|
||||
# 但对于 livecd 或安装介质,通常不需要这样做,因为它是临时环境
|
||||
# sed -i '/^\[custom\]/,/^Server = file:\/\/\/localrepo/d' /etc/pacman.conf
|
||||
12
archiso/airootfs/root/jing_test
Normal file
12
archiso/airootfs/root/jing_test
Normal file
@@ -0,0 +1,12 @@
|
||||
bbt tms 自定义镜像
|
||||
|
||||
镜像内置软件
|
||||
1.抱抱堂TMS软件
|
||||
2.dcpomatic2
|
||||
3.teamviewer
|
||||
4.向日葵
|
||||
5.todesk
|
||||
6.nec放映机连接软件 dcc/dccv2/dccs2
|
||||
7.巴克放映机和服务器软件 communicator/commander
|
||||
8.vnc/rdp连接软件remmina
|
||||
9.浏览器 firefox/chrome
|
||||
Reference in New Issue
Block a user