[törölve] az igazi, ha magam válogathatnám ki az összes alkalmazást
[törölve] egy a feltelepített rendszerből egy csomót kitöröltem és egy csomót meg felraktam
Végeredményben akkor kiválogattad, nem?
😉
[törölve] Más linuxoknál nincsen ilyen megoldás?
Amennyire tudom, mindegyik disztrónál van egy alaptelepítés, ami tartalmazza az alaprendszert, meg pár alkalmazást.
Akinek meg kell még valami, az tudja telepíteni magának, akinek meg útban van valami, az el tudja távolítani.
Elvileg nyitott a lehetőség, hogy ki-ki elkészítse saját telepítőmédiáját, egyedi beállításokkal, tartalommal.
Jó nyelvek szerint én is csináltam ilyet, bár most nem találom a linkjét.
Ami nekem bevált, és ezt merem javasolni neked is, meg tulajdonképpen bárkinek:
Egy új rendszer belakásakor lejegyzem, hogy miket változtatok rajta, hogy nekem tetszedjék.
Az a jó a Linuxban, hogy gyakorlatilag minden ilyen változtatást lehet automatizálni, így ezeket összeszedem egy szkriptbe, és ha valaha újra kellene telepíteni, akkor egyszerűen elindulok a gyári alaptelepítésből, lefuttatom a szkriptet (vagy szkripteket), és előáll a számomra kívánatos telepített rendszer.
Hogy ne a levegőbe beszéljek, megmutatom, milyen egy ilyen.
Az aktuális kedvenc rendszerem a Debian 12 Cinnamon 6.4 felülettel. Ezt most nem írom végig, csak az első lépést a az alaptelepítés után. Az alábbi szkript előállítja azt az állapotot, ami a standard Debian Cinnamon tekintetében megfelel nekem:
#!/bin/bash
cat <<_EOF >/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware
# Backports allow you to install newer versions of software made available for this release
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware
_EOF
apt update
apt install wget -y
dpkg --add-architecture i386
apt update
################## setup repos
##Seafile repo
wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seafile-deb/$(lsb_release -cs)/ stable main" > /etc/apt/sources.list.d/seafile.list
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seadrive-deb/$(lsb_release -cs)/ stable main" >> /etc/apt/sources.list.d/seafile.list
##home repo
echo "deb [signed-by=/usr/share/keyrings/ungvar44.gpg ] https://ungvar44.dynu.net/repo/bookworm ./ " > /etc/apt/sources.list.d/ungvar44.list
curl -sS https://ungvar44.dynu.net/repo/bookworm/public.gpg | gpg --dearmor | tee /usr/share/keyrings/ungvar44.gpg
##Spotify repo
curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | gpg --dearmor | tee /usr/share/keyrings/spotify.gpg
echo "deb [signed-by=/usr/share/keyrings/spotify.gpg] http://repository.spotify.com stable non-free" > /etc/apt/sources.list.d/spotify.list
##Softmaker repo
curl -fsSL https://shop.softmaker.com/repo/linux-repo-public.key | gpg --dearmor | tee /usr/share/keyrings/softmaker.gpg
echo "deb [signed-by=/usr/share/keyrings/softmaker.gpg] https://shop.softmaker.com/repo/apt stable non-free" > /etc/apt/sources.list.d/softmaker.list
##Google repo
curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | tee /usr/share/keyrings/google-chrome.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
#xcurl -fSsL https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc | gpg --dearmor | tee /usr/share/keyrings/teamview.gpg
#echo "deb [arch=amd64 signed-by=/usr/share/keyrings/teamview.gpg] http://linux.teamviewer.com/deb stable main" > /etc/apt/sources.list.d/teamviewer.list
##Vrtualbox repo
curl -fsSL https://www.virtualbox.org/download/oracle_vbox_2016.asc| gpg --dearmor -o /etc/apt/trusted.gpg.d/vbox.gpg
curl -fsSL https://www.virtualbox.org/download/oracle_vbox.asc| gpg --dearmor -o /etc/apt/trusted.gpg.d/oracle_vbox.gpg
echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" > /etc/apt/sources.list.d/virtualbox.list
##element
#wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
#echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | tee /etc/apt/sources.list.d/element-io.list
apt update
apt upgrade -y
##install basic components
apt purge gnome-text-editor gnome-calculator -y
#alap alkatrészek
apt install -y sstp-client cifs-utils lightdm-gtk-greeter-settings alsa-tools alsa-tools-gui openssh-server mc sshpass gparted gnome-disk-utility lshw cups cups-client foomatic-db system-config-printer intel-microcode firmware-linux bluetooth rfkill bluez bluez-tools pulseaudio-module-bluetooth blueman pavucontrol font-manager qt5ct qt5-style-plugins gvfs-fuse ttf-mscorefonts-installer va-driver-all vdpau-driver-all samba smbclient python3-smbc rsync smartmontools sysstat htop earlyoom dcfldd plank sane xsane mate-calc ddcutil sstp-client
apt install intel-media-va-driver-non-free -y
#multimédia
apt install -y musescore3 ardour guvcview mkvtoolnix mkvtoolnix-gui mediainfo-gui fontforge audacious audacity minikonverter obs-studio ffmpeg obs-color-monitor obs-advanced-scene-switcher celluloid mpv
apt install -y -t bookworm-backports obs-ashmanix-blur-filter
#apt install nerolinux davinci-resolve -y
#ln -s /usr/lib/nero /usr/lib64/nero
#grafika
apt install -y simple-scan gimp fontforge inkscape scribus dia gthumb xnview rawtherapee
#fejlesztés és virt
#apt install -y lazarus doublecmd-gtk
apt install -y virtualbox-7.0
#tanulás és játék
apt install -y r-base rstudio
#apt install -y steam
#apt install -y stellarium avogadro -y
apt install -y supertuxkart-repack
# 0ad -y
#internet
apt install -y seafile-gui seadrive-gui thunderbird-l10n-hu megasync google-chrome-stable mumble m3dviewer zoom discord chromium chromium-l10n thunderbird evolution caprine spotify-client
apt install -y 4kvideodownloaderplus
#iroda
apt install -y gimagereader tesseract-ocr tesseract-ocr-hun gucharmap pdfarranger softmaker-freeoffice-2024
apt install -y -t bookworm-backports calibre libreoffice libreoffice-l10n-hu libreoffice-gtk3 --install-recommends
apt install -y doublecmd-gtk
#java
#apt install -y openjdk-8-jre
apt install -y oracle-jre
#csicsa
#util és csicsa
#apt install -y *gtk-theme *icon-theme mint-themes --install-recommends --install-suggests
apt install -y systemback autoupdater
apt install -y myfonts mycinnamonexts numix-icon-theme -y
#rendszerpiszka
rm /etc/apparmor.d/usr.bin.evince
#mpv quicksynchez:
mkdir -p /etc/mpv
cat << _EOFMPV > /etc/mpv/mpv.conf
hwdec
hwdec-codecs=all
vd=h264_qsv,hevc_qsv,mpeg2_qsv,mjpeg_qsv,vp8_qsv,vp9_qsv,vc1_qsv,av1_qsv
_EOFMPV
## USB írható admin nélk.
echo 'KERNEL=="sd*", SUBSYSTEMS=="usb", MODE="0666"' | tee /etc/udev/rules.d/99-usb-storage.rules
#instruct dconf to store data in text:
echo "service-db:keyfile/user" > /etc/dconf/profile/user
#overwirite freshly installed samba a sane conf's with previous stored configs:
cp smb.conf /etc/samba/
#cp net.conf /etc/sane.d/
cat << _EOF-sane > /etc/sane.d/dll.conf
# dll.conf - Configuration file for the SANE dynamic backend loader
#
# Backends can also be enabled by configuration snippets under the dll.d/
# directory -- third party backends can drop their configuration file in
# this in this directory, named after the backend.
#
# The next line enables the network backend; comment it out if you don't
# need to use a remote SANE scanner over the network -- see sane-net(5)
# and saned(8) for details.
airscan
_EOF-sane
##system configuration changes
echo fs.inotify.max_user_watches=524288 | tee -a /etc/sysctl.conf
echo vm.min_free_kbytes=8192| tee -a /etc/sysctl.conf
## USB attached disks will be writeable without root privileges
echo 'KERNEL=="sd*", SUBSYSTEMS=="usb", MODE="0666"' | tee /etc/udev/rules.d/99-usb-storage.rules
#load on boot i2c for ddcutil
echo i2c-dev >> /etc/modules
#lightdm állítgatás
mkdir -p /etc/lightdm/lightdm.conf.d
cat << _01conf > /etc/lightdm/lightdm.conf-d/01.conf
[Seat:*]
greeter-hide-users=false
_01conf
##ez csak a nagygépen kell
#apt install turboprint
#apt install nvidia-driver libcuda1 libnvidia-encode1 nvidia-opencl-icd
#ln -s /usr/lib/x86_64-linux-gnu/libcuda.so /usr/lib64/libcuda.so
#WINE
apt install -y winetricks wine wine32 wine64
##tisztítás
apt purge -y plasma-discover lightsoff rhythmbox* brasero sound-juicer gnome-calculator totem* pipewire* usbguard pidgin* hexchat* apache* flatpak* exim* gnome-software unattended-upgrades snap* anthy* mozc* fcitx*
apt purge -y five-or-more gnome-calculator hamster* goldendict transmission* hdate* hitori gnome-music quadrapassel swell-foop tali aisleriot blender gnome-mines gnome-2048 gnome-klotski gnome-mahjongg gnome-nibbles gnome-robots gnome-sound-recorder gnome-sudoku gnome-taquin gnome-tetravex vlc nautilus rhythmbox* brasero sound-juicer totem* usbguard pidgin* hexchat* apache* flatpak* exim* gnome-software unattended-upgrades snap* anthy* mozc* fcitx*
apt purge -y task-albanian-desktop task-amharic-desktop task-arabic-desktop task-asturian-desktop task-basque-desktop task-belarusian-desktop task-bengali-desktop task-bosnian-desktop task-brazilian-portuguese-desktop task-british-desktop task-bulgarian-desktop task-catalan-desktop task-chinese-s-desktop task-chinese-t desktop task-croatian-desktop task-cyrillic-desktop task-czech-desktop task-danish-desktop task-dutch-desktop task-dzongkha-desktop task-esperanto-desktop task-estonian-desktop task-finnish-desktop task-french-desktop task-galician-desktop task-georgian-desktop task-german-desktop task-greek-desktop task-gujarati-desktop task-hebrew-desktop task-hebrew-gnome-desktop task-hindi-desktop task-icelandic-desktop task-indonesian-desktop task-irish-desktop task-italian-desktop task-japanese-desktop task-japanese-gnome-desktop task-kannada-desktop task-kazakh-desktop task-khmer-desktop task-korean-desktop task-korean-gnome-desktop task-kurdish-desktop task-latvian-desktop task-lithuanian-desktop task-macedonian-desktop task-malayalam-desktop task-malayalam-gnome-desktop task-marathi-desktop
apt purge -y task-nepali-desktop task-northern-sami-desktop task-norwegian-desktop task-persian-desktop task-polish-desktop task-portuguese-desktop task-punjabi-desktop task-romanian-desktop task-russian-desktop task-serbian-desktop task-sinhala-desktop task-slovak-desktop task-slovenian-desktop task-south-african-english-desktop task-spanish-desktop task-swedish-desktop task-tamil-desktop task-tamil-gnome-desktop task-telugu-desktop task-telugu-gnome-desktop task-thai-desktop task-thai-gnome-desktop task-turkish-desktop task-ukrainian-desktop task-uyghur-desktop task-vietnamese-desktop task-welsh-desktop task-xhosa-desktop
apt autoremove --purge -y
Második lépésben futtatok egy lopott kölcsönzött szkriptet, ami a Debian alaptelepítés részét képező rengeteg koreai, szanszkrit, arab, meg mittomén milyen betűtípusokat lepucolja, továbbá a lokalizációkból is csak a magyart meg az angolt hagyja fönt:
#!/bin/bash
# purge-alien-loc.sh - V. 1.1.0
# Remove oriental/medio-oriental/african/etc. fonts
# + Libreoffice localization not of use in IT/GB/USA
#
# Author: Rik - www.riksoft.it
# Licence: LGPL
#
# Changelog
# 1.1.0 Added fonts-teluguvijayam
#--------- CONFIG ------------------------------
# localisations to keep (pipe separated)
KEEP="en-gb|en-us|hu"
#-----------------------------------------------
sudo apt update
# Remove all oriental/arabic/asian fonts in Debian/Ubuntu/Mint
fonts="fonts-kacst fonts-kacst-one fonts-khmeros-core fonts-lklug-sinhala fonts-guru fonts-nanum fonts-noto-cjk"
fonts="$fonts fonts-takao-pgothic fonts-tibetan-machine fonts-guru-extra fonts-lao fonts-sil-padauk fonts-sil-abyssinica"
fonts="$fonts fonts-tlwg-* fonts-lohit-* fonts-beng fonts-beng-extra fonts-gargi fonts-gubbi fonts-gujr fonts-gujr-extra"
fonts="$fonts fonts-kalapi fonts-lohit-gujr fonts-samyak-* fonts-noto-unhinted fonts-noto-hinted fonts-navilu fonts-nakula"
fonts="$fonts fonts-orya-extra fonts-pagul fonts-sahadeva fonts-sarai fonts-smc fonts-telu-extra fonts-wqy-microhei"
fonts="$fonts fonts-hosny-amiri fonts-smc-anjalioldlipi fonts-sil-andika fonts-arphic-ukai fonts-arphic-uming"
fonts="$fonts fonts-sipa-arundina fonts-bpg-georgian fonts-khmeros fonts-smc-chilanka fonts-smc-* fonts-noto-ui-extra"
fonts="$fonts fonts-noto-ui-core fonts-noto-extra fonts-noto-core culmus fonts-ipafont fonts-ipafont-*"
fonts="$fonts fonts-farsiweb fonts-hosny-thabit fonts-ukij-uyghur fonts-yrsa-rasa fonts-sil-scheherazade"
fonts="$fonts fonts-unikurdweb fonts-dzongkha fonts-deva-extra fonts-teluguvijayam"
IFS=' ' read -ra aFonts <<< "$fonts"
for font in "${aFonts[@]}"; do
sudo apt purge -y $font
done
#remove orphans/rubbish
sudo rm -r /usr/share/fonts/opentype/fonts-hosny-amiri \
/usr/share/fonts/truetype/andika \
/usr/share/fonts/truetype/arphic \
/usr/share/fonts/truetype/arundina \
/usr/share/fonts/truetype/fonts-bpg-georgian \
/usr/share/fonts/truetype/khmeros \
/usr/share/fonts/opentype/malayalam \
/usr/share/fonts/truetype/malayalam \
/usr/share/fonts/truetype/malayalam \
/usr/share/fonts/truetype/culmus \
/usr/share/fonts/opentype/ipafont-gothic \
/usr/share/fonts/opentype/ipafont-mincho \
/usr/share/fonts/truetype/farsiweb \
/usr/share/fonts/opentype/fonts-hosny-thabit \
/usr/share/fonts/truetype/fonts-ukij-uyghur \
/usr/share/fonts/truetype/fonts-yrsa-rasa \
/usr/share/fonts/truetype/scheherazade \
/usr/share/fonts/truetype/unikurdweb \
/usr/share/fonts/truetype/dzongkha \
/usr/share/fonts/truetype/fonts-deva-extra \
/usr/share/doc/fonts-teluguvijayam \
/usr/share/fonts/truetype/teluguvijayam
echo "==== Fixing font cache"
sudo fc-cache -f -v && sudo dpkg-reconfigure fontconfig
echo "==== Packages left (each containing multiple fonts)"
sudo dpkg -l fonts\*|grep ^ii|awk '{print $2}'
echo
echo "We are going to remove Libreoffice Help in any language except $KEEP"
#unfortunately this one-liner cannot be used :-(
#because bash doesn't support lookahead
#sudo apt purge '^libreoffice-help-(?!it|en)[a-z]{2}(-[a-z]{2})?$'
#... so... I'll go this way
#sudo apt purge '^libreoffice-help-[a-z]{2,3}(-[a-z]{2})?$'
#sudo apt install libreoffice-help-en-gb libreoffice-help-en-us libreoffice-help-it
#or more cleaner/secure as follows...
list=$(sudo dpkg --get-selections | cut -f1 | grep -E '^libreoffice-help-[a-z]{2,3}(-[a-z]{2})?$')
for pkg in $list; do
if [[ "$pkg" =~ ^(libreoffice-help-($KEEP))$ ]]; then
echo "Skipping $pkg"
else
sudo apt purge -y "$pkg"
fi
done
echo
echo "We are going to remove Libreoffice locales except $KEEP"
#sudo apt remove '^libreoffice-l10n-[a-z]{2,3}(-[a-z]{2})?$'
#sudo apt install libreoffice-l10n-en-gb libreoffice-l10n-it
#Safer as follows...
list=$(sudo dpkg --get-selections | cut -f1 | grep -E '^libreoffice-l10n-[a-z]{2,3}(-[a-z]{2})?$')
for pkg in $list; do
if [[ "$pkg" =~ ^(libreoffice-l10n-($KEEP))$ ]]; then
echo "Skipping $pkg"
else
sudo apt purge -y "$pkg"
fi
done
echo
echo "Firefox is bound to Libreoffice locales so apt will"
echo "cope installing the missing locales for Firefox."
echo "We are going to remove them as well, except for $KEEP."
#sudo apt remove -y '^firefox-esr-l10n-[a-z]{2,3}(-[a-z]{2})?$'
#sudo apt install firefox-esr-l10n-en-gb firefox-esr-l10n-it
#Safer as follows...
list=$(sudo dpkg --get-selections | cut -f1 | grep -E '^firefox-esr-l10n-[a-z]{2,3}(-[a-z]{2})?$')
for pkg in $list; do
if [[ "$pkg" =~ ^(firefox-esr-l10n-($KEEP))$ ]]; then
echo "Skipping $pkg"
else
sudo apt purge -y "$pkg"
fi
done
# This could be implemented as well, leaving only the interested languages...
#task-*-desktop
sudo apt autoremove -y
Feintieket ötletnek szánom, úgy csinálod, ahogy akarod, mert szabad vagy.