![有没有一种方法可以用一个文件在新的 Linux 发行版中自动安装我需要的任何东西?](https://linux22.com/image/210890/%E6%9C%89%E6%B2%A1%E6%9C%89%E4%B8%80%E7%A7%8D%E6%96%B9%E6%B3%95%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%9C%A8%E6%96%B0%E7%9A%84%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%E4%B8%AD%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%E6%88%91%E9%9C%80%E8%A6%81%E7%9A%84%E4%BB%BB%E4%BD%95%E4%B8%9C%E8%A5%BF%EF%BC%9F.png)
我知道这个问题的编辑很差,我找不到合适的词语,让我解释一下。我想要的是创建一个文件(我想这可以用一个文本文件来完成,但我对编码和Linux的了解很少),其中包含我想要的任何程序的所有安装命令行,然后是能够在任何新发行版中运行该文件,这样我只需运行该行并拥有该文件即可获得所需的一切。
我知道安装行必须根据发行版进行更改,问题旨在如何创建(或可能)要运行的文件。
任何帮助表示赞赏。
答案1
使用 Bash 脚本是可能的。事实上,我和我认识的其他一些人在启动全新安装后都使用我们自己的 bash 脚本来安装我们需要的一切。例如,以下是我的 Installation.sh 中的第一行:
#!/bin/bash
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install mplayer tmux irssi emacs openssh-server nmap lynx links surf i3 i3status htop feh filezilla mpv palemoon thunderbird steam audacious audacious-plugins qbittorrent atril wireshark pan gimp audacity virtualbox virtualbox-guest-additions-iso bmon ncdu ncmpc qpdfview lxqt icewm
有几点需要注意:这是为使用 apt-get 前端的基于 Debian 的发行版而设计的,但可以对其进行调整以轻松使用另一个发行版的前端。install
一次可以读取多个程序,但如果其中一个拼写错误,就会出错。在虚拟机或类似的测试环境中对其进行测试,以确保它不会出错。如果您使用 flatpaks 或 snap,也可以包含这些的 CLI 前端。请阅读您首选的安装命令的手册页,以确保您使用正确的语法和参数。
完成后,您还需要运行chmod a+x $scriptName
(对于所有用户)或(对于文件所有者,大概是您)。chmod u+x $scriptName
这将其标记为可执行。没有它,您将无法运行该脚本。
这将帮助您入门,但我强烈建议您观看 bash 脚本教程,因为它是一种功能强大的语言,可让您自动执行各种任务。如果您发现 bash 不适合这项工作,请尝试不同的 shell 并学习它。