SemaphoreUI için snap kurulum yönteminin kullanımdan kaldırılmasıyla (deprecated), yakın zamanda başka bir barındırma yöntemine geçiş sürecine başladım. Semaphore’un paket sürümünü aynı sisteme kurmayı seçtim. Başlangıçta yeni bir kurulumda yedekleme ve geri yükleme özelliklerini kullanmayı amaçlamıştım ancak hepsi düzeltilmiş görünen fakat snap’teki en son Semaphore sürümünü etkileyen birden fazla hatayla karşılaştım. Daha sonra başkalarının geçiş yapabilmesi için belgelenmiş bir yol olarak burada önerdiğim farklı bir yöntem izledim.
Semaphore Snap Dosyalarını Paket Yöneticisi veya Binary Kurulumu ile Kullanılacak Şekilde Taşıma Adımları: NOT: Bu yöntem SemaphoreUI veritabanı olarak boltdb’yi korur
sudo su -veya başka geçerli bir yöntemlerootolarak oturum açın- SemaphoreUI’ın snap sürümünü durdurun
snap stop semaphore.semaphored - Dosyaları snap’ten
semaphoreadlı yeni bir sistem kullanıcısının ev dizini olacak yeni dizine kopyalayıncp -rf /root/snap/semaphore/common /home/semaphore repositoriesklasörünü yeni geçici klasör konumuna taşıyınmv -f /home/semaphore/repositories /tmp/semaphoreconfig.jsondosyasınıdatabase.boltdbve geçici klasörün yeni yollarıyla güncelleyinsed -i 's/\/root\/snap\/semaphore\/common\/database.boltdb/\/home\/semaphore\/database.boltdb/' /home/semaphore/config.jsonsed -i 's/\/root\/snap\/semaphore\/common\/repositories/\/tmp\/semaphore/' /home/semaphore/config.json- Ev klasörü
/home/semaphoreolansemaphoreadlı yeni bir sistem kullanıcısı ve grubu oluşturunadduser --system --group --home /home/semaphore --no-create-home --shell /bin/bash semaphore /home/semaphoreve tüm dosyaların sahipliğini yeni sistem kullanıcısına devredinchown -R semaphore:semaphore /tmp/semaphorechmod o-rwx /home/semaphorechown -R semaphore:semaphore /home/semaphore
Bu adımlar tamamlandığında, servis kullanıcısı veya grubu olarak semaphore kullanarak semaphore’u paket yöneticisi aracılığıyla kurun ve yapılandırın. Tüm ayarlar ve önceki çalıştırmalar yeni SemaphoreUI örneğinde görünmelidir. Memnun kaldığınızda, snap örneği sudo snap remove semaphore ile kaldırılabilir.
Tüm bu adımları şu bash dosyasıyla otomatikleştirdim:
#/bin/bash
#File: migrate-semaphore-snap.sh
#Migrate SemaphoreUI from snap as root to package/binary as semaphore
sudo su -l root <<EOF
set -x
snap stop semaphore.semaphored
cp -rf /root/snap/semaphore/common /home/semaphore
mv -f /home/semaphore/repositories /tmp/semaphore`
sed -i 's/\/root\/snap\/semaphore\/common\/database.boltdb/\/home\/semaphore\/database.boltdb/' /home/semaphore/config.json
sed -i 's/\/root\/snap\/semaphore\/common\/repositories/\/tmp\/semaphore/' /home/semaphore/config.json
adduser --system --group --home /home/semaphore --no-create-home --shell /bin/bash semaphore
cp /etc/skel/.* /home/semaphore/
chown -R semaphore:semaphore /tmp/semaphore
chmod o-rwx /home/semaphore
chown -R semaphore:semaphore /home/semaphore
EOF
