# Script Manjaro po reinstalacji systemu

**URL:** <https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778>\
**Category:** Mabox Linux\
**Created:** [31 Styczeń 2021 08:55 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778 "2021-01-31T08:55:44Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Autor:** ![CalvinLanger](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/calvinlanger/32/3885_2.png) [@CalvinLanger](https://forum.manjaro.pl/u/CalvinLanger)\
**Data wpisu:** [31 Styczeń 2021 08:55 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/1 "2021-01-31T08:55:44Z")

</div>

```
#!/bin/bash

echo "First we refreshing your mirror's"

sudo pacman-mirrors -g

echo "initialize upadte & upgrade process..."

sudo pacman -Syy
sudo pacman -Syu
sudo pamac update

echo "Your system is update & upgrade"
echo "Now will be install snapd and flatpak"

sudo pacman -S snapd
sudo systemctl enable --now snapd.socked
sudo pamac install flatpak
sudo flatpak upgrade

echo "That's all!"
echo "Take care of you and have fun with your fresh Manjaro!!!"

```

Co myslicie o takim skrypcie w bashu po instalacji Manjaro?? Jest on dobrze napisany? Cos zmienic dodac?

Prosze o wyrozumialosc dopiero ucze sie programowac 🙂

---

<div class="post-metadata">

**Autor:** ![napcok](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/napcok/32/4088_2.png) [@napcok](https://forum.manjaro.pl/u/napcok)\
**Data wpisu:** [31 Styczeń 2021 10:18 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/2 "2021-01-31T10:18:37Z")

</div>

Powodzenia w nauce skryptowania w bashu.  
Na razie skrypt jest bardzo prosty i ciężko się do czegoś przyczepić 😉

---

<div class="post-metadata">

**Autor:** ![spirit.of.nikopol](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/spirit.of.nikopol/32/1815_2.png) [@spirit.of.nikopol](https://forum.manjaro.pl/u/spirit.of.nikopol)\
**Data wpisu:** [31 Styczeń 2021 13:25 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/3 "2021-01-31T13:25:38Z")

</div>

No to i ja dołożę swoje “trzy grosze”. Wymagana instalacja **zenity**. Program można sobie rozbudować także o inne funkcje.

```auto
#!/bin/bash

clear
yellow='\e[1;33m'
red='\e[1;31m'
blinkRed='\e[05;31m'
white='\e[1;37m'
endColor='\e[1;32m' # zielony

function main_menu() {
# SEKCJA ZBIERANIA DANYCH #
	menu_glowne=$(zenity --height=150 --width=390 --title="C o c h c e s z z r o b i ć ?" --text="M e n u g ł ó w n e" --list --radiolist --column="Wybierz" --column="Nazwa" --column="" --cancel-label="Zamknij program" --ok-label="Dalej" \
	TRUE "Aktualizuj system" "")

	if ["$menu_glowne" = "Aktualizuj system"]; then
		aktualizuj_sys;
	else
		wyjdz;
	fi

}

function aktualizuj_sys() {
# SEKCJA ZBIERANIA DANYCH #
	system=$(zenity --height=165 --width=400 --title="C o c h c e s z z r o b i ć ?" --text="W y b i e r z s y s t e m o p e r a c y j n y :" --list --radiolist --column="Wybierz" --column="Nazwa" --column="" --cancel-label="Wróć" --ok-label="Dalej" \
	TRUE "Manjaro" ""\
	FALSE "Ubuntu" "")
	
	if ["$system" = "Manjaro"]; then
		flatpak_snap=$(zenity --height=320 --width=400 --separator=" " --title="C o c h c e s z z r o b i ć ?" --text="Wybierz także inne środowiska uruchomieniowe:" --list --checklist --column="Wybierz" --column="Nazwa" --column="" --cancel-label="Wróć" --ok-label="Dalej" \
		FALSE "Flatpak" ""\
		FALSE "Snap" "")

		set -- $flatpak_snap;
		if ["$#" = 1]; then
			flatpak=$1;
			snap=$1;
		else
			flatpak=$1;
			snap=$2;
		fi
	
# SEKCJA WYKONYWANIA POLECEŃ #
		echo -e "${red} Trwa aktualizacja systemu ${yellow} Manjaro !! \n${white}"
		sudo pacman-mirrors -g
		yay -Syyu
		sudo pamac update && sudo pamac upgrade
	
		if ["$flatpak" = "Flatpak"]; then
			echo -e "${red} Trwa aktualizacja środowiska uruchomieniowego ${yellow} Ftalpak !! \n${white}"
			sudo pamac install flatpak
			sudo flatpak upgrade
		fi
	
		if ["$snap" = "Snap"]; then
			echo -e "${red} Trwa aktualizacja środowiska uruchomieniowego ${yellow} Snap !! \n${white}"
			sudo pacman -S snapd
			sudo systemctl enable --now snapd.socked	
		fi
		
	elif ["$system" = "Ubuntu"]; then
		echo -e "${red} Trwa aktualizacja systemu ${yellow} Ubuntu !! \n${white}"
		sudo apt-get update -y
		sudo apt-get upgrade -y
		sudo apt-get dist-upgrade -y
		sudo apt-get -f install -y
		sudo apt autoremove -y
		sudo do-release-upgrade -c
	fi
	zenity --width=400 --info --text="Aktualizacja systemu \"$system\" zakończona pomyślnie."
	wyjdz;
}

# ZAKOŃCZENIE DZIAŁANIA PROGRAMU aktualizuj.sh #
function wyjdz() {
	# clear
	cd /tmp
	echo "";
	echo -ne "${red} <-<-<- Bye Bye ->->-> \n${white}";
	echo -ne "$endColor";
	echo "";
	exit 0;
}

# START PROGRAMU aktualizuj.sh #
main_menu;

```

---

<div class="post-metadata">

**Autor:** ![azja](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/azja/32/2167_2.png) [@azja](https://forum.manjaro.pl/u/azja)\
**Data wpisu:** [31 Styczeń 2021 20:22 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/4 "2021-01-31T20:22:56Z")

</div>

Trzymałbym się _Pamac’a_ albo _Pacman’a_ - bez mieszania, bo od tego głowa boli. _Pamac_ ma mniejszy zestaw komend, ale wszystkie podstawowe na miejscu, więc pozostaje przemyśleć sprawę, zdecydować się na konkretny program i trzymać się go - tak w ogóle, albo w ramach skryptu.

_Snap_ i _Flatpak_, są domyślnie zainstalowane … czy tylko tak mi się wydaje, bo mam je w palcach?

---

<div class="post-metadata">

**Autor:** ![napcok](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/napcok/32/4088_2.png) [@napcok](https://forum.manjaro.pl/u/napcok)\
**Data wpisu:** [31 Styczeń 2021 20:31 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/5 "2021-01-31T20:31:22Z")

</div>

@spirit.of.nikopol jeśli bawisz się **zenity** to polecam sprawdzić też **yad** [GitHub - v1cont/yad: Yet Another Dialog](https://github.com/v1cont/yad)

---

<div class="post-metadata">

**Autor:** ![Tomek](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/tomek/32/3834_2.png) [@Tomek](https://forum.manjaro.pl/u/Tomek)\
**Data wpisu:** [31 Styczeń 2021 20:42 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/6 "2021-01-31T20:42:40Z")

</div>

> [@azja](#):
>
> _Snap_ i _Flatpak_, są domyślnie zainstalowane … czy tylko tak mi się wydaje, bo mam je w palcach?

To zależy. W tradycyjnym wydaniu są obecne, w minimalnym już nie.

---

<div class="post-metadata">

**Autor:** ![spirit.of.nikopol](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/spirit.of.nikopol/32/1815_2.png) [@spirit.of.nikopol](https://forum.manjaro.pl/u/spirit.of.nikopol)\
**Data wpisu:** [1 Luty 2021 06:48 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/7 "2021-02-01T06:48:03Z")

</div>

Dlatego w moim skrypcie instalacja **snap** i **flatpak** jest opcjonalnie.  
@napcok a co do **yad** to jak najbardziej jest wart zainteresowania. Dzięki za sugestię.

---

<div class="post-metadata">

**Autor:** ![spirit.of.nikopol](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/spirit.of.nikopol/32/1815_2.png) [@spirit.of.nikopol](https://forum.manjaro.pl/u/spirit.of.nikopol)\
**Data wpisu:** [23 Marzec 2021 17:27 UTC](https://forum.manjaro.pl/t/script-manjaro-po-reinstalacji-systemu/1778/8 "2021-03-23T17:27:59Z")

</div>

Graficzna wersja programu [pacli](https://manjaro.pl/pacli-konsolowy-menedzer-pakietow/) z wykorzystaniem **yad**. Może się komuś przyda.  
Przeróbki i dostosowanie skryptu do własnych potrzeb absolutnie dozwolone 🙂

Plik **xpacli.sh**

```auto
#! /bin/bash

source funkcje.sh

KEY=$RANDOM;
  
res1=$(mktemp --tmpdir term-tab1.XXXXXXXX)
res2=$(mktemp --tmpdir term-tab2.XXXXXXXX)
res3=$(mktemp --tmpdir term-tab3.XXXXXXXX)

# Zakładka 1
cmd1=$(yad --plug=$KEY --tabnum=1 --form --columns=2 --back="black" \
	--field="Aktualizacja Systemu"!update-manager!:FBTN "konsole -e sh work.sh 0" \
	--field="Instalacja Pakietu"!gnome-mime-x-install!:FBTN "konsole -e sh work.sh 1 'Instalacja Pakietu' 'gnome-mime-x-install'" \
	--field="Usówanie Pakietu"!edit-delete!:FBTN "konsole -e sh work.sh 2 'Usówanie Pakietu' 'edit-delete'" \
	--field="Informacja o Pakiecie"!dialog-information!:FBTN "konsole -e sh work.sh 3 'Informacja o Pakiecie' 'dialog-information'" \
	--field="Lista Pakietów"!view-list-symbolic!:FBTN "konsole -e sh work.sh 4 'Lista Pakietów' 'view-list-symbolic'" \
	--field="Drzewo zależności"!sidebar-tree-symbolic!:FBTN "konsole -e sh work.sh 5 'Drzewo zależności' 'sidebar-tree-symbolic'" \
	--field="Odwrócone drzewo zależności"!sidebar-tree-symbolic!:FBTN "konsole -e sh work.sh 6 'Odwrócone drzewo zależności' 'sidebar-tree-symbolic'" \
	--field="Instalacja starszej wersji"!package-downgrade!:FBTN "konsole -e sh work.sh 7 'Instalacja starszej wersji' 'package-downgrade'") > $res1 &
	
# Zakładka 2
cmd2=$(yad --plug=$KEY --tabnum=2 --form --columns=2 \
	--field="Naprawa błędów"!error!:FBTN "konsole -e sh work.sh 8 'Naprawa błędów'" \
	--field="Wymuszenie instalacji pakkietu"!gnome-mime-x-install!:FBTN "konsole -e sh work.sh 9 'Wymuszenie instalacji pakkietu' 'gnome-mime-x-install'" \
	--field="Wymuszenie usunięcia pakkietu"!edit-delete!:FBTN "konsole -e sh work.sh 10 'Wymuszenie usunięcia pakkietu' 'edit-delete'" \
	--field="Czyszczenie Systemu"!gconf-cleaner!:FBTN "konsole -e sh work.sh 14" \
	--field="Logi Pacman-a"!pamac-manager!:FBTN "konsole -e sh work.sh 15" \
	--field="Konfiguracja Pacmana"!pamac-manager!:FBTN "konsole -e sh work.sh 16" \
	--field="Wymuszenie aktuializacji systemu"!update-manager!:FBTN "konsole -e sh work.sh 17" \
	--field="Czyszczenie Cache"!gconf-cleaner!:FBTN "konsole -e sh work.sh 18") > $res2 &
	
# Zakładka 3
cmd3=$(yad --plug=$KEY --tabnum=3 --form --columns=2 \
	--field="Szukaj + instaluj z AUR"!gaiksaurus!:FBTN "konsole -e sh work.sh 11 'Szukaj + instaluj z AUR' 'gaiksaurus'" \
	--field="Instaluj z AUR"!gaiksaurus!:FBTN "konsole -e sh work.sh 12 'Instaluj z AUR' 'gaiksaurus'" \
	--field="Lista pakietów z AUR"!view-list-symbolic!:FBTN "konsole -e sh work.sh 13 'Lista pakietów z AUR' 'view-list-symbolic'" \
	--field="Aktualizacja AUR"!update-manager!:FBTN "konsole -e sh work.sh 19" \
	--field="Wymuszenie aktualizacji AUR"!update-manager!:FBTN "konsole -e sh work.sh 20" \
	--field="Konfiguracja Yaourt"!pamac-manager!:FBTN "konsole -e sh work.sh 21") > $res3 &

 # Główne okno dialogowe
cmd4=$(yad --window-icon="$windowicon" --image="$image1" \
	--notebook --key=$KEY --tab=$"Aktuakizacja Instalacja Informacja" --tab=$"Naprawa Czyszczenie Konfiguracja" --tab=$"AUR" \
	--center --title="$title1" --borders=10 --width=500 --fixed \
	--button="Zamlnij"!dialog-ok!Zamlnij:1)

ret=$?

[[$ret -le 252]] && wyjdz;

```

Plik **work.sh**

```auto
#! /bin/bash
source funkcje.sh

tekst1=$2;
ikona=$3;

if [[ $1 == 1 || $1 == 2 || $1 == 3 || $1 == 5 || $1 == 6 || $1 == 7 
	|| $1 == 9 || $1 == 10 || $1 == 11 || $1 == 12 ]]; then
	
	myad 'Podaj nazwę pakietu:' 400 "$tekst1" "$ikona" "$image2" "$okbutton" "$nobutton"
	[[$? == 1]] && wyjdz;
	pakiet=${pole%|*};
	
elif [[$1 == 4 || $1 == 13]]; then
		
	myad "Podaj nazwę pliku:" 400 "$tekst1" "$ikona" "$image2" "$okbutton" "$nobutton"
	[[$? == 1]] && wyjdz;
	plik=${pole%|*};
fi

if [$1 == 0]; then
	# **3 – AKTUALIZACJA SYSTEMU** #
	komunikaty "Trwa akrualizacja systemu" .
	yay -Syyuu
	#sudo pamac update 
	#sudo pamac upgrade
elif [$1 == 1]; then
	# **3 – INSTALACJA PAKIETU** #
	komunikaty "Trwa instalacja pakietu/ów \"$pakiet\" w systemie" .
	yay -S $pakiet
elif [$1 == 2]; then
	# **4 – USUWANIE PAKIETU + ZALEŻNOSCI** #
	komunikaty "Trwa usówanie pakietu/ów \"$pakiet\" + zależności w systemie" .
	yay -Rsn $pakiet
elif [$1 == 3]; then
	# **5 – INFORMACJE O PAKIECIE** #
	komunikaty "Trwa generowanie informacji o pakiecie \"$pakiet\" w systemie" .
	yaourt -Sii $pakiet | less
elif [$1 == 4]; then
	# **6 – LISTUJ PLIKI ZAINSTALOWANYCH PAKIETÓW** #
	komunikaty "Trwa generowanie listy zainstalowanych pakietów w systemie do pliku \"$plik\"" .
	pacman -Qqe > $plik
elif [$1 == 5]; then
	# **7 – DRZEWO ZALEŻNOSCI** #
	komunikaty "Trwa generowanie drzewa zależności dla pakietu \"$pakiet\" w systemie" .
	pactree -s $pakiet | less
elif [$1 == 6]; then
	# **8 – ODWRÓCONE DRZEWO ZALEŻNOŚCI** #
	komunikaty "Trwa generowanie odwróconego drzewa zależności dla pakietu \"$pakiet\" w systemie" .
	pactree -r $pakiet | less
elif [$1 == 7]; then
	# **11 – INSTALOWANIE STARSZEJ WERSJI PAKIETU** #
	komunikaty "Trwa instalowanie starszej wersji pakietu \"$pakiet\" w systemie" .
	downgrade $pakiet
elif [$1 == 8]; then
	# !!13 – NAPARAWIANIE BŁĘDÓW!! (NIEBEZPIECZNE) #
	komunikaty "Trwa naprawianie błędów pacmana w systemie" .
	sudo rm -f /var/lib/pacman/db.lck
	sudo pacman-mirrors -g 
	sudo pacman -Syyuu
	sudo pacman -Sy gnupg archlinux-keyring manjaro-keyring 
	sudo rm -r /etc/pacman.d/gnupg 
	sudo pacman-key --init 
	sudo pacman-key --populate archlinux manjaro 
	sudo pacman-key --refresh-keys
elif [$1 == 9]; then
	# !!15 – WYMUSZENIE INSTALACJI PAKIETU!! (NIEBEZPIECZNE) #
	komunikaty "Trwa wymuszanie instalacji pakietu/ów \"$pakiet\" w systemie" .
	sudo pacman -S --force $pakiet
elif [$1 == 10]; then
	# !!17 – WYMUSZENIE USUNIĘCIA PAKIETU!! (NIEBEZPIECZNE) #
	komunikaty "Trwa wymuszanie usunięcia pakietu/ów \"$pakiet\" w systemie" .
	yay -Rdd $pakiet
elif [$1 == 11]; then
	# ! **21 – SZUKAJ + INSTALUJ Z AUR** #
	komunikaty "Trwa wyszukiwanie i instalacja pakietu/ów \"$pakiet\" z AUR w systemie" .
	yaourt $pakiet
elif [$1 == 12]; then
	# **22 (220) – INSTALUJ Z AUR** #
	komunikaty "Trwa instalacja pakietu/ów \"$pakiet\" z AUR w systemie" .
	yaourt -S $pakiet
elif [$1 == 13]; then
	# **23 – LISTA PAKIETÓW ZAINSTALOWANYCH Z AUR** #
	komunikaty "Trwa generowanie listy pakietów z AUR w systemie do pliku \"$plik\"" .
	pacman -Qem > $plik
elif [$1 == 14]; then
	# **2 – CZYSZCZENIE SYSTEMU** #
	komunikaty "Trwa Czyszczenie systemu" .
	sudo pacman-mirrors -g 
	sudo pacman -Syy 
	yaourt -Qdt 
	paccache -ruvk0 
	paccache -rvk2
elif [$1 == 15]; then
	# **2 – GENEROWANIE LOGÓW PACMANA** #
	komunikaty "Trwa generowanie logów pacmana w systemie" .
	tail -2000 /var/log/pacman.log | less
elif [$1 == 16]; then
	# **2 – KONFIGURACJA PACMANA** #
	komunikaty "Konfiguracja pacmana w systemie" .
	sudo geany /etc/pacman.conf
elif [$1 == 17]; then
	# **2 – WYMUSZENIE AKTUALIZACJI SYSTEMU** #
	komunikaty "Trwa wymuszanie aktualizacji systemu" .
	yay -Syu --force
elif [$1 == 18]; then
	# !!18 – WYCZYSZCZENIE CACHE PAKIETÓW!! (NIEBEZPIECZNE) #
	komunikaty "Trwa czyszczenie pamięci podręcznej pakietów w systemie" .
	sudo pacman -Scc
elif [$1 == 19]; then
	# **19 – AKTUALIZACJA AUR** #
	komunikaty "Trwa aktualizacja repozytorium AUR w systemie" .
	yaourt -Syua
elif [$1 == 20]; then
	# **20 – WYMUSZENIE AKTUALIZACJI AUR** #
	komunikaty "Trwa wynuszenie aktualizacji repozytorium AUR w systemie" .
	yaourt -Syua && yaourt -Syua --devel --noconfirm
elif [$1 == 21]; then
	# **24 – KONFIGURUJ YAOURT** #
	komunikaty "Trwa konfiguraca yaourt w systemie" .
	$EDITOR $yaourtrc
fi

yad --width=450 --title="Informacja" --image="dialog-information" --center --window-icon="dialog-information" \
--text='<span color=\"black\" font="Verdana bold italic 11">Wszystkie zadania zostały zakończone.</span>' \
--button="Ok"!dialog-ok!Wykonaj:0

```

Plik **funkcje.sh**

```auto
#!/bin/bash

clear

# USTAWIENIA KOLORÓW #
yellow='\e[1;33m' # żółty
red='\e[1;31m' # czerwony
blinkRed='\e[05;31m' # migający czerwony
white='\e[1;37m' # biały
zielony='\e[1;32m' # zielony

# INICJALIZACJA ZMIENNYCH #
title1="Menedżer pakietów \"X-PACLI\"";
title2="Wpisz nazwę pakietu:";
title3="Wpisz nazwę pliku:";
text1="Wybierz czynność:";
okbutton="Ok"'!dialog-ok!Wykonaj:0';
nobutton="Anuluj"'!dialog-cancel!Zamknij:1';
windowicon="pamac-updater";
image1="pamac-manager";
image2="gtk-execute";
field1="Nazwa pakietu/ów";
field2="Nazwa pliku";

# WYŚWIETLANIE KOMUNIKATÓW #
function komunikaty() {
	
	sys_info=$(inxi -S);
	system_op=${sys_info#*Distro:};
	: ${system_op:1:7};
	
	komunikat1=$1;
	komunikat2=$2;
	system=$(trim_all "$system_op");
	
	echo -e "${red} $komunikat1${yellow} \"$system\" ${red}$komunikat2 ${white}"
	#exit $?
}

# TWORZENIE FORMULARZA DO WPISYWANIA DANYCH #
function myad() {
	# yad --field="Podaj nazwę pakietu:" --form --center --width 400 --fore=GREEN --title="$tekst1" --window-icon="$windowicon" --image="$image2" --button="$okbutton" --button="$nobutton"
	
	field1=$1;
	width1=$2;
	title1=$3;
	windowicon1=$4;
	image1=$5;
	buttonok=$6;
	buttoncancel=$7;
	
	pole=$(yad --field="$field1" --form --center --width="$width1" --title="$title1" --window-icon="$windowicon1" --image="$image1" --button="$buttonok" --button="$buttoncancel")
}

# ZAKOŃCZENIE DZIAŁANIA PROGRAMU #
function wyjdz() {
	cd /tmp
	echo -ne "${zielony}Zakończenie skrypyu\e[3m${yellow} \"${0##*/}\" ${white}\e[m";
	echo -e "\n"
	echo -ne "\e[5m \e[3m \e[2m ${red} <-<-<- Bye Bye ->->-> \n${white} \e[m";
	echo -e "\n"
	exit $?;
}

```
