60 lines
2.2 KiB
Bash
60 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
SOURCES_MIRRORS_FILE="packages/mirrors.list"
|
|
MIRRORS_SPEED_FILE="/tmp/mirrors_speed.list"
|
|
function get_ping_speed()
|
|
{
|
|
local speed=`ping -W1 -c1 $1 2> /dev/null | grep "^r" | cut -d '/' -f5`
|
|
echo $speed
|
|
}
|
|
function test_mirror_speed()
|
|
{
|
|
rm $MIRRORS_SPEED_FILE 2> /dev/null; touch $MIRRORS_SPEED_FILE
|
|
cat $SOURCES_MIRRORS_FILE | while read mirror
|
|
do
|
|
if [ "$mirror" != "" ]; then
|
|
echo -e "正在ping $mirror 检测中"
|
|
local mirror_host=`echo $mirror | cut -d '/' -f3` #change mirror_url to host
|
|
local speed=$(get_ping_speed $mirror_host)
|
|
if [ "$speed" != "" ]; then
|
|
echo "测速时间是 $speed"
|
|
echo "$mirror $speed" >> $MIRRORS_SPEED_FILE
|
|
else
|
|
echo "链接失败."
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
function get_fast_mirror()
|
|
{
|
|
sort -k 2 -n -o $MIRRORS_SPEED_FILE $MIRRORS_SPEED_FILE
|
|
local fast_mirror=`head -n 1 $MIRRORS_SPEED_FILE | cut -d ' ' -f1`
|
|
echo $fast_mirror
|
|
}
|
|
test -f $SOURCES_MIRRORS_FILE
|
|
if [ "$?" != "0" ]; then
|
|
echo -e "$SOURCES_MIRRORS_FILE 不存在.\n"; exit 2
|
|
else
|
|
test_mirror_speed
|
|
fast_mirror=$(get_fast_mirror)
|
|
if [ "$fast_mirror" == "" ]; then
|
|
echo -e "无法找到连通的网站数据源,请检查你的列表 $SOURCES_MIRRORS_FILE\n"
|
|
exit 0
|
|
fi
|
|
fi
|
|
echo $fast_mirror
|
|
[ ! -e slitaz-rolling-core64.iso ] && wget $fast_mirror/iso/rolling/slitaz-rolling-core64.iso
|
|
mkdir iso-old
|
|
[ ! -d iso-old/boot ] && 7z x slitaz-rolling-core64.iso -y -r -o./iso-old
|
|
[ ! -e packages/linux64-3.16.55.tazpkg ] && wget -O ./packages/linux64-3.16.55.tazpkg http://ecoo.top:8083/dl/slitaz/linux64-3.16.55.tazpkg
|
|
[ ! -e packages/teasiu-5.0.tazpkg ] && wget -O ./packages/teasiu-5.0.tazpkg http://ecoo.top:8083/dl/slitaz/teasiu-5.0.tazpkg
|
|
[ ! -e packages/updatetime.txt ] && wget -O ./packages/updatetime.txt http://ecoo.top:8083/dl/slitaz/iso/rolling/slitaz-rolling-core64-chinese-updatetime.txt
|
|
docker build -t newrootfs -f ./dockerfile-rootfs64 .
|
|
docker run --name myrootfs newrootfs
|
|
docker cp myrootfs:/tmp/rootfs-new.gz ./iso64/mkiso/rootfs.gz
|
|
docker stop myrootfs
|
|
docker rm myrootfs
|
|
docker rmi newrootfs
|
|
cd iso64
|
|
sh iso.sh
|