Skip to content
This repository was archived by the owner on Jun 23, 2025. It is now read-only.

Commit e60b043

Browse files
authored
feat: added installation of the php souri repository or mirror, in case of error 451 (#80)
1 parent c2e3e29 commit e60b043

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

deb.install.sh

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,16 @@ repoExp=("jammy.list" "jammy.sources" "noble.list" "noble.sources")
5555
# Получаем текущую версию операционной системы
5656
disOs=$(lsb_release -si)
5757
relOs=$(lsb_release -sr)
58+
vCodename=$(lsb_release -sc)
5859
currOs="$disOs $relOs"
5960

61+
# Репозиторий php и зеркало
62+
suryMirror="https://packages.sury.org/php/"
63+
yandexMirror="https://www.mirror.yandex.ru/mirrors/packages.sury.org/php/"
64+
65+
# Получение HTTP статуса
66+
httpStatus=$(curl -s -o /dev/null -w "%{http_code}" "${suryMirror}dists/${vCodename}/InRelease")
67+
6068
# Проверка, есть ли currOs в массиве suppOs
6169
foundOs=false
6270
for os in "${suppOs[@]}"; do
@@ -147,11 +155,20 @@ while true; do
147155
echo "===================================" 2>&1 | sudo tee -a "$logsInst" > /dev/null
148156
echo "Репозиторий php не обнаружен. Добавляем..." | sudo tee -a "$logsInst"
149157
echo "===================================" 2>&1 | sudo tee -a "$logsInst" > /dev/null
150-
# Скачиваем ключа зеркала репозитория Sury
151-
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://www.mirror.yandex.ru/mirrors/packages.sury.org/php/apt.gpg 2>&1 | sudo tee -a "$logsInst" > /dev/null
152-
153-
# Добавляем репозиторий php
154-
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://www.mirror.yandex.ru/mirrors/packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' 2>&1 | sudo tee -a "$logsInst" > /dev/null
158+
159+
if [ "$httpStatus" == "451" ]; then
160+
# Скачиваем ключа зеркала репозитория Sury
161+
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg ${yandexMirror}apt.gpg 2>&1 | sudo tee -a "$logsInst" > /dev/null
162+
163+
# Добавляем репозиторий php
164+
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] ${yandexMirror} ${vCodename} main" | sudo tee /etc/apt/sources.list.d/php.list > /dev/null
165+
else
166+
# Скачиваем ключ репозитория Sury
167+
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg ${suryMirror}apt.gpg 2>&1 | sudo tee -a "$logsInst" > /dev/null
168+
169+
# Добавляем репозиторий php
170+
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] ${suryMirror} ${vCodename} main" | sudo tee /etc/apt/sources.list.d/php.list > /dev/null
171+
fi
155172

156173
# Обновление списка пакетов
157174
sudo apt-get -y update 2>&1 | sudo tee -a "$logsInst" > /dev/null

0 commit comments

Comments
 (0)