מערכת הפעלה חדשה, מי זה?

2025-12-08 - תוכנה, לינוקס
Fedora Logo

יצא לי השבוע להתקין פדורה 43 מחדש אחרי שסוף סוף התקנתי כונן קשיח חדש (וגם כרטיס מסך חדש!).

בזמן שההתקנה הלכה דיי חלק, הייתי צריך להתקין לא מעט תוכנות כדי לקבל את הבייסליין של המערכת אליה אני רגיל. אחרי שהתקנתי כל מני דברים החלטתי להסתכל על ה~/.bash_history שלי ולהוציא ממנו סקריפט שיוכל לפשט לי את ההתקנות הבאות. אם אתה רוצים להתקין פדורה, יכול להיות שהוא יעזור גם לכם. עוד לא בדקתי אותו, אבל בכל זאת אני משתף אותו ותערכו אותו לצרכיכם.

את הסקריפט המלא והמעודכן (במידה ואעדכן אותו בעתיד) תוכלו למצוא כאן.


#!/bin/bash

if [ -z "$1" ]; then
  echo "Provide path to old system."
  exit 1
fi

OLD=$1

sudo dnf update

# System
sudo dnf install -y gnome-tweaks # Focus on hover
sudo dnf install -y htop tmux pavucontrol ncdu

## Settings
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "[\">Super<KP_1\"]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "[\">Super<KP_2\"]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "[\">Super<KP_3\"]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "[\">Super<KP_4\"]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "[\">Super<KP_5\"]"

# Dev
sudo dnf install -y gcc gcc-c++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl pkg-config
sudo dnf install -y vim emacs

## fonts
sudo dnf copr enable peterwu/iosevka
sudo dnf install -y iosevka-fixed-fonts alef-fonts

# Multimedia
sudo dnf group install -y multimedia
sudo dnf install -y \
     https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
     https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install -y libavcodec-freeworld
sudo dnf install -y mpv deadbeef ffmpeg ImageMagick

# Programs
sudo dnf install -y thunderbird krita gthumb obs

# Games
sudo dnf install -y steam wine

# VPN
sudo dnf config-manager addrepo --from-repofile=https://repository.mullvad.net/rpm/stable/mullvad.repo
sudo dnf install -y mullvad-vpn

# More Dev
sudo dnf install -y raylib-devel git sqlite3 jq

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup component add rust-analyzer

# bashrc stuff
cat >>EOT << .bashrc
export VISUAL=vim
export EDITOR="$VISUAL"
unset SSH_ASKPASS

vc() {
    ffmpeg -i "$1" -vcodec libx265 -crf 30 "$2"
}
ac_() {
    ffmpeg -i "$1" -vn  -ar 44100 -ac 2 -b:a 192k "$1.mp3"
}
EOT

# Older configs
cp $OLD/.vimrc .
cp $OLD/.emacs .
cp -r $OLD/.emacs.d .
cp -r $OLD/.local/bin/ .local/
cp -r $OLD/.ssh/ .
cp -r $OLD/.thunderbird/ .
cp -r $OLD/code .

כמה תוכנות ששווה להרחיב עליהן:

> ncdu
תוכנת TUI שמציגה את כמה מקום על הדיסק תופסת כל תיקיה בצורה מסודרת, עם דרך להיכנס ולבדוק בתוך תיקיה כמה מקום כל קובץ או תת-תיקיה תופסים, ועם אפשרות למחוק תיקיה או קובץ בקלות. כל פעם שאני צריך לפנות קצת מקום ישר אני שולף את ncdu ובדרך כלל מצליח לפנות כמות מכובדת של דברים מיותרים.
> ffmpeg
כלי מצויין לכיווץ, קידוד, המרה, ושלל פעולות על וידאו ואודיו. למשל, פקודה לה הגדרתי קיצור:
ffmpeg -i input.mp4 -vcodec libx265 -crf 30 output.mp4
כיווצה לי לפני כמה ימים קובץ וידאו באורך 40 דקות שהקלטתי בטלפון וששקל 9GB לבערך 300MB!
> flowblade
הכי טוב שמצאתי לעריכת סרטונים בלינוקס. באמת שלא משתווה בשום צורה לתוכנות הגדולות שבתשלום, ויש לה לא מעט בעיות, אבל היא עושה את העבודה לשימושים שלי.
> raylib
כשאני רוצה לשחק עם בניית משחקים, אני מעדיף ללכת עם ספריית תכנות קטנה ועורך טקסט מאשר עם מנוע משחק גדול. raylib מספקת לי ממשק פשוט ונוח לבנות משחקים ב-C בלי להסתבך. אגב, השתמשנו בה כדי לבנות את הכדור המטייל בבלוג פוסט על C.
> Multimedia
נראה שפדורה לא מגיעה עם חבילות מולטימדיה בילט אין, ואז זה בעיה להריץ סרטונים וכדומה. הסניפט באמצע מסדר את העניינים.
> דרייברים לכרטיס מסך
לשמחתי הרבה הכרטיס מסך החדש הוא AMD והדרייבר שלו מגיע כבר עם הקרנל של לינוקס כך שאני לא צריך להתקין כלום. שמחה וששון!

באיזשהו מקום אחרי שכתבתי את הסקריפט הזה עברה בי המחשבה לנסות את NixOS, אבל למזלי המחשבה עברה מהר.

רוצים להגיב? בדקו מהי שאלת הסינון בעמוד הראשי.