嘿! 大家好,GNU/Linux 用戶,今天我帶來了一個超級有用且超級快速的條目,當從一個發行版(或發行版)跳到另一個發行版(發行版跳躍)時,或者當使用相同的發行版重新格式化 PC 時,這肯定會非常有用,我將不再拐彎抹角,讓我們開始吧。
該腳本用於在運行腳本時自動安裝程序,對於像我這樣的發行版愛好者來說非常有用。
使用此命令我們創建文件 install.sh(.sh 是 bash 文件)
touch install.sh
通過此命令,我們使文件 install.sh 可執行, sudo 因為否則它不會讓我們編輯權限
sudo chmod a+x install.sh
在這裡,您可以選擇您最喜歡的文本編輯器:vim、nano、emacs、kate、gedit...好吧,您知道您最喜歡哪一個,我使用 sudo 來保存更改,就我而言,我將選擇 Vim。
sudo vim install.sh
當我們在所有內容的開頭進行編輯時,我們必須編寫
#!/bin/bash
接著
# -*- ENCODING: UTF-8 -*-
再往下我們編寫命令來更新我們的發行版:
Debian, Ubuntu 和他的數百萬 衍生品 :
su && apt update && apt upgrade
CentOS的 y 紅帽 喜歡:
sudo yum update
Fedora:
sudo dnf update
openSUSE的:
sudo zypper update
Arch Linux, Manjaro, 安特戈斯、卡操作系統……:
sudo pacman -Syu o yaourt -Syua
或者其他人,如 Gentoo 或 Slackware,使用更新和安裝命令...,在我的例子中,我使用 Arch Linux,所以在我的腳本中應該是:
編寫完成後,我們將要安裝的程序分為 7 類:
- 公用事業
- 網際網路
- 遊戲
- DE(桌面環境,或桌面)
- 多媒體
- 生產率
- 發展
我們寫:
# 實用程序 # 開發 # 互聯網 # 遊戲 # DE 和 WM # 多媒體 # 生產力
我們這樣做是為了更好地將應用程序和實用程序分類,稍後我們根據我們的發行版編寫我們想要的軟件包的安裝命令,通常您應該知道您的發行版是什麼以及如何安裝軟件包,以便我們安裝我們想要的東西,例如 chromium、steam 和 gnome-shell
sudo pacman -S 鉻 sudo pacman -S steam sudo pacman -S gnome-shell gnome-extra
最後我們保存腳本並:
cd (腳本所在位置) && ./install.sh
一個例子是這樣的:
好了,這就是今天的全部內容,我希望您會發現它非常有用,並在其他條目中見到您。
對於我們這些沒有太多想法的人來說非常好的入門,但我們喜歡發行版,安裝東西並最終毀掉髮行版哈哈哈
嗯,這是最簡單的基礎,以後可以變得更複雜
我有 Debian 版的,但對於任何其他發行版來說,它都可以相對容易地進行修改。
https://github.com/xr09/kaos
感謝您的評論,我已經看過您的腳本,並從中我將製作我的複雜腳本。
我也看過你的博客,寫得很好,如果我對 PyQT 有任何疑問,我知道該問誰。
哇哦,我很高興它是你的基礎,該腳本的靈感來自於我在工作中看到的一個安裝 Fedora 的腳本,非常好。 我命名的“KaOS”與發行版無關,事實上,我認為當我開始編寫腳本時,發行版尚未公佈。
Lihuen 與桌面環境► LXDE 與集成► LibreOffice
結果非常好,這是一個快速且非常成功的成功,我正在將它安裝給幾個人,並且我目前正在使用它。
如:卡奈瑪; 特里奎爾; 瓜達線; lliurex 這些使用非常重且緩慢的環境(如 GNone 和 KDE)作為默認%
他們沒有品質 像他們那樣設計 你是唯一想到讓 Linux 變得如此快速和穩定的人
並在 32 位和 64 位平台上提供非常有用的程序包。
並分為四種必備桌面Lihuen LXDE和Lihuen教育應用程序以及計算機科學專業學生的Linux
=我想像一個以環境為基礎的世界:LXDE和Cinnamon
->我祝賀你優秀的操作系統他們刪除了UD/s
感謝上帝付給你...
“希望委內瑞拉政府使用這個 Linux Lihuen 並將其放入 Canaima 並在委內瑞拉的人口、公共機構和家庭中推廣它的速度”
-> 我將在我所在州的大學以及我的朋友和家人中推廣它,我喜歡快速且易於安裝的偉大產品
演示文稿 Q 有
->謝謝,祝您在委內瑞拉->特魯希略州度過愉快的時光。
始終發布 Linux Lihuen 我將下載並使用它,並將其推薦給我認識的所有使用 PC 的人
需要澄清的是,KaOS 不使用 yaourt,因為它不是基於 Arch,而是使用 kcp。
問候。
我知道,我已經使用 KaOS 一段時間了,它說 pacman 是兩個發行版之間的通用版本,yaourt 來自 Arch,kcp 來自 KaOS,kcp -i 包
我不知道其他發行版的情況,但使用 Gentoo 時,問題要容易一些,因為要列出所有已安裝的程序,您只需執行
cat /var/lib/portage/world
例如: 所以 這就是我的世界文件的樣子(已經包含分類)。
至於腳本,我會通過使用像這樣的數組來改進它:
declare -a paquetes
Si bien pareciera que las categorías están dentro del array, estas son ignoradas ya que son comentarios
paquetes=(
categoría1
paquete1
paquete2
paquete3
categoría2
paquete4
paquete5
)
Iteramos sobre el array para instalar los paquetes secuencialmente
for contador in ${!paquetes[@]}
do
sudo apt-get install ${paquetes[$contador]}
done
這也使得更改安裝命令變得更加容易(另一個問題是軟件包在不同的發行版中是否保持相同的名稱)。
要一次安裝所有軟件包,您可以將上面代碼中的 for 循環更改為:
sudo apt-get install $(echo ${paquetes[@]})
Seria lo mismo que escribir sudo apt-get install paquete1 paquete2 paquete3...
如果由於某種原因您想使用任何其他字符而不是空格作為分隔符, 這裡 解釋了一些實現方法。
顯然,WordPress 在代碼標籤中按照需要解釋換行符和數字/哈希標記(或者我做錯了什麼)。 我只是把腳本代碼 這裡 以便更好地理解。
格拉西亞斯POR EL aporte
例如,您可以使用 bash 做一些更完整的事情,我強調這只是一個例子:
例如,您可以使用 bash 做一些更完整的事情
#!/斌/慶典
- -編碼:UTF-8- -
Title=“發行版或衍生品更新程序”
問題=»請選擇一個選項:»
發行版=(
“ArchLinux”
“ Debian”
«centos»
“ Fedora”
“OpenSuSE”
“出去”
)
函數發行版(){
判斷/etc/issue是否存在
if test -f /etc/issue
then
DISTRO_DESTINO="Manjaro Linux"
DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)
if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
DISTRO=ArchLinux
fi
DISTRO_DESTINO="Debian"
DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01)
if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
DISTRO=Debian
fi
DISTRO_DESTINO="Ubuntu"
DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)
if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
DISTRO=Debian
fi
DISTRO_DESTINO="Elementary"
DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)
if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
DISTRO=Debian
fi
DISTRO_DESTINO="Fedora"
DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01)
if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
DISTRO=Fedora
fi
“確定 /etc/issue 是否存在”結束
fi
如果不存在,則返回文本“Unknown Distro”
其他
echo '
Distro desconocida
'
fi
}
更新發行版(){
case $1 in
ArchLinux)
sudo pacman -Syu
yaourt -Syua
;;
Debian)Versiones
sudo apt-get update
sudo apt-get -y upgrade
;;
CentOS)
sudo yum update
;;
Fedora)
sudo dnf update
;;
OpenSuSE)
sudo zypper update
;;
esac
}
至此就結束了😀
錯過
echo '請使用號碼'
echo '更新所需的發行版'
錯過
回顯“$標題”
PS3=”$問題”
選擇“${Distros[@]}”中的選項; 做
打印“\n”
案例“$REPLY”
1 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
2 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
3 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
4 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
5 ) echo "Hasta La Proxima!" $'\n' && break;;
Salir ) echo "Hasta La Proxima!" $'\n' && break;;
$(( ${#Distros[@]}+1 )) ) echo && echo "Hasta Luego!" && echo; break;;
*) echo "Opcion Invilada. Por Favor Elige Una Opcion Valida." $'\n';continue;;
esac
完成
fi
示例結束。 我建議,如果你要做一些非常複雜的事情,在這種情況下,你最好使用“dialog”來製作文本安裝程序,就像 Debian 附帶的那樣
你可以在這裡看到一個例子 -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes
我知道可以用 if then fi 做什麼,我要自己做,我將製作一個盡可能完整的腳本,包含我知道的所有發行版,感謝您的幫助,您已經澄清了一些如何做,當我完成腳本時,我會把它給您
對這裡的 Slackware 感興趣! 有人幫忙嗎?
我認為使用 sabopkg – i package 而不是 apt get 或 pacman,要更新我不知道,我還沒有瀏覽過那個發行版。
@eruzama
這篇文章太棒了,我很喜歡它,就是FreeBSD Unix通過命令運行的方式,現在我對腳本逐漸了解,在FreeBSD Unix中也可以這樣做嗎?
非常好的註釋。 我最近不得不重新安裝操作系統,並遇到了重新安裝所需的所有內容的問題,因此我創建了一個安裝後腳本: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh
它是為 Arch 製作的,它配置並安裝一些軟件包。 它是基於可以註釋掉的函數來僅使用必要的函數。 突然之間,它也可以作為某人的基地。
這篇文章非常有趣,我認為最好的事情是讓腳本能夠獲取已安裝內容的列表並保存它,以便在將來的格式中它將安裝該列表中的內容,這就是為什麼我最近沒有更改我的發行版。
非常感謝。
好帖子,10分,最喜歡山貓。
我將更深入地研究這些腳本,為 Ubuntu 創建我自己的腳本。
我記得在 Linux 的 Slice 頁面上,他們常常將這些腳本放在“安裝後要做什麼”的帖子中。
問候社區..!!
哇。!!
通過閱讀評論,我發現這個腳本可以變得像你想要的那樣複雜和完整。
例如,我發現了一個 xubuntu 的安裝後腳本,甚至包括一個顏色代碼,以使其更美觀,可以說,我什至敢於使用它。
在這裡,我想我可以製作第一個腳本,通過 if then fi 條件,可以首先驗證它是哪個發行版,並且在相應的條件內; 調用適當的腳本來安裝相應發行版中的軟件包。
這是為了使它們盡可能簡單,並且這些腳本既不那麼廣泛也不那麼複雜,並且更容易維護/更新。