Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
I
inary
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
1
Konular (issue)
1
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
SulinOS
inary
Commits
71e7b2b2
Kaydet (Commit)
71e7b2b2
authored
Tem 31, 2021
tarafından
Ali Rıza KESKİN
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
rewrite sulinstrapt. Now not required inary installation
üst
16ef8eb7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
106 additions
and
27 deletions
+106
-27
sulinstrapt
scripts/sulinstrapt
+106
-27
No files found.
scripts/sulinstrapt
100755 → 100644
Dosyayı görüntüle @
71e7b2b2
#!/bin/bash
#sulinstrapt betiği ile sulinos chroot oluşturabilirsiniz veya diskinize kurulum yapabilirsiniz
if
[[
"
$1
"
==
""
||
"
$1
"
==
"-*"
]]
then
set
-e
umask
022
curdir
=
$(
pwd
)
packages
=(
baselayout bash bzip2 ca-certificates
\
coreutils cracklib curl expat gdbm
\
gettext glib2 glibc gmp libcap libffi
\
libgcc libgomp libidn2 libpcre libssh2
\
libunistring libxml2 ncurses openssl
\
pam python3 python3-psutil
sed
busybox
\
python3-pycurl readline run-parts libpsl
\
sqlite timezone unzip xz zlib acl attr
)
repo
=
"https://osdn.net/frs/redir.php?m=dotsrc&f=storage/g/s/su/sulinos/SulinRepository/inary-index.xml.xz"
help_msg
(){
echo
"Usage: sulinstrapt [options] destdir"
echo
" -r : repository url"
echo
" -b : install boot packages"
echo
" -x : install x11 packages"
echo
" -d : install devel packages"
echo
" -n : install network packages"
echo
" -a : install additional packages"
exit
$1
}
get_path
(){
name
=
$1
grep
"
${
name
:0:0
}
\/
$name
/
$name
-[0-9][0-9.]*[a-f,-
\.
]"
"
$sulin
/tmp/repo"
|
sed
"s/.*<PackageURI>//g"
|
sed
"s/<
\/
.*//g"
|
sort
-V
|
head
-n
1
}
clean_tmp
(){
rm
-rf
"
$sulin
"
/tmp/install.tar.
*
rm
-rf
"
$sulin
"
/tmp/
*
.xml
rm
-rf
"
$sulin
"
/tmp/
*
.py
rm
-rf
"
$sulin
"
/tmp/scom
}
if
[[
"
$1
"
==
""
||
"
$1
"
==
"-*"
]]
;
then
echo
"Usage: sulinstrapt [directory]"
exit
0
fi
sulin
=
"
$1
"
if
[[
$UID
-ne
0
]]
then
elif
[[
$UID
-ne
0
]]
;
then
echo
"You must be root!"
exit
1
fi
if
[[
-d
"
$sulin
"
]]
then
if
[[
-d
"
$sulin
"
]]
;
then
echo
"
$sulin
already exist"
fi
if
[[
-f
"
$sulin
"
]]
then
exit
1
elif
[[
-f
"
$sulin
"
]]
;
then
echo
"
$sulin
is a file. You must delete or move."
exit
1
fi
inary ar sulin
"https://osdn.net/frs/redir.php?m=dotsrc&f=storage/g/s/su/sulinos/SulinRepository/inary-index.xml.xz"
-y
-D
$sulin
||
true
inary ur
-y
-D
$sulin
||
true
inary it baselayout
--ignore-dep
--ignore-safety
--ignore-configure
-y
-D
$sulin
inary it
-c
system.base curl
-y
--ignore-configure
-D
$sulin
if
echo
"
$2
"
|
grep
"^-"
&>/dev/null
;
then
echo
$2
|
grep
"b"
&&
inary it
-c
system.boot toybox btrfs-progs linux linux-firmware
-y
--ignore-configure
-D
$sulin
echo
$2
|
grep
"x"
&&
inary it
-c
x11
-y
--ignore-configure
-D
$sulin
echo
$2
|
grep
"d"
&&
inary it
-c
system.devel
-y
--ignore-configure
-D
$sulin
echo
$2
|
grep
"n"
&&
inary it NetworkManager
-y
--ignore-configure
-D
$sulin
echo
$2
|
grep
"a"
&&
inary it nano wget vim strace ntfsprogs tree dialog pfork scom htop
-y
--ignore-configure
-D
$sulin
while
getopts
--
':r'
OPTION
;
do
if
[[
"
$OPTION
"
==
"r"
]]
;
then
repo
=
"
${
OPTARG
[@]
}
"
fi
done
sulin
=
$(
realpath
"
$1
"
)
mkdir
-p
"
$sulin
/tmp"
if
[[
!
-f
"
$sulin
/tmp/repo"
]]
;
then
wget
-c
"
$repo
"
-O
"
$sulin
/tmp/repo"
if
LANG
=
C file
"
$sulin
/tmp/repo"
|
grep
"XZ"
&>/dev/null
;
then
mv
"
$sulin
/tmp/repo"
"
$sulin
/tmp/repo.xz"
xz
-d
"
$sulin
/tmp/repo.xz"
fi
fi
for
i
in
/dev /sys /proc /run
do
mkdir
-p
$sulin
/
$i
&>/dev/null
umount
-lf
-R
$sulin
/
$i
||
true
mount
--bind
$i
$sulin
/
$i
i
=
0
total
=
${#
packages
[@]
}
cd
$sulin
/
for
pkg
in
${
packages
[@]
}
;
do
URI
=
$(
dirname
"
$repo
"
)
/
$(
get_path
$pkg
)
echo
-e
"
\0
33[32;1m[
$i
/
$total
] Install:
\0
33[0m
$pkg
"
if
[[
!
-f
"
$sulin
/tmp/
$pkg
.zip"
]]
;
then
wget
-c
"
$URI
"
-O
"
$sulin
/tmp/
$pkg
.zip"
cd
tmp
;
unzip
-o
$sulin
/tmp/
$pkg
.zip
>
/dev/null
;
cd
..
tar
--overwrite
-xf
tmp/install.tar.
*
clean_tmp
fi
i
=
$((
$i
+
1
))
done
echo
-e
"
\0
33[32;1m[
$i
/
$total
] Install:
\0
33[0minary-develop"
if
[[
!
-f
"
$sulin
/tmp/inary-develop.zip"
]]
;
then
wget https://gitlab.com/sulinos/devel/inary/-/archive/develop/inary-develop.zip
-O
"
$sulin
/tmp/inary-develop.zip"
cd
tmp
;
unzip
-o
$sulin
/tmp/inary-develop.zip
>
/dev/null
mkdir
-p
"
$sulin
/usr/lib/sulin/inary"
cp
-prf
inary-develop/inary/
*
"
$sulin
/usr/lib/sulin/inary"
cp
-pf
inary-develop/inary-cli
"
$sulin
/usr/bin/inary-cli"
ln
-s
inary-cli
"
$sulin
/usr/bin/inary"
rm
-rf
inary-develop
clean_tmp
fi
for
i
in
$(
chroot
"
$sulin
"
busybox
--list
)
do
if
chroot
"
$sulin
"
busybox which
$i
&>/dev/null
;
then
true
else
chroot
"
$sulin
"
ln
-s
$(
chroot
"
$sulin
"
busybox which busybox
)
/usr/bin/
$i
fi
done
for
dir
in
dev sys proc run
;
do
[[
-d
"
$sulin
/
$dir
"
]]
||
mkdir
-p
"
$sulin
/
$dir
"
while
umount
-f
"
$sulin
/dev"
2>/dev/null
;
do
true
;
done
mount
--bind
/run
"
$sulin
/
$dir
"
done
cat
/etc/resolv.conf
>
"
$sulin
/etc/resolv.conf"
chroot
"
$sulin
"
update-ca-certificates
--fresh
>
/dev/null
chroot
"
$sulin
"
inary ar sulin
"
$repo
"
||
true
chroot
"
$sulin
"
inary ur sulin
-y
chroot
"
$sulin
"
inary it baselayout
--ignore-dep
--ignore-safety
-y
--ignore-configure
chroot
"
$sulin
"
inary it
-c
system.base
-y
--ignore-configure
chroot
$sulin
inary
cp
busybox
chroot
$sulin
inary
cp
baselayout
chroot
$sulin
inary
cp
if
echo
"
$2
"
|
grep
"^-"
&>/dev/null
;
then
echo
$2
|
grep
"b"
&&
chroot
"
$sulin
"
inary it
-c
system.boot toybox btrfs-progs linux linux-firmware
-y
--ignore-configure
echo
$2
|
grep
"x"
&&
chroot
"
$sulin
"
inary it
-c
x11
-y
--ignore-configure
echo
$2
|
grep
"d"
&&
chroot
"
$sulin
"
inary it
-c
system.devel
-y
--ignore-configure
echo
$2
|
grep
"n"
&&
chroot
"
$sulin
"
inary it NetworkManager
-y
--ignore-configure
echo
$2
|
grep
"a"
&&
chroot
"
$sulin
"
inary it nano wget vim strace ntfsprogs tree dialog pfork scom htop
-y
--ignore-configure
fi
rm
-rf
"
$sulin
"
/tmp
*
for
dir
in
dev sys proc run
;
do
while
umount
-f
"
$sulin
/
$dir
"
2>/dev/null
;
do
true
;
done
done
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment