إعادة تثبيت لينكس

يحدث بشكل منتظم

Page content

يجب أن يكون هناك بعض مهام ما بعد التثبيت القياسية للاستعانة بها كمرجع، لذا سأقوم بتسجيلها هنا.

سطح المكتب الفارغ جدًا لـ ubuntu tesktop

أين

عادةً أستخدم أنظمة تشغيل تعتمد على ubuntu. آخر تثبيت كان Mint 21.3 (التي تعتمد على ubuntu 22.04).

كيف

بعض الأدوات الرائعة

sudo apt-get install git git-lfs gimp mc flameshot htop nvtop chkservice

# إذا كانت هناك أعمال رسومية قادمة
sudo apt-get install imagemagick
git lfs install

# إذا كان هناك حاجة لمعالجة ملفات pdf
sudo apt-get install poppler-utils

معالجة json

انظر الأمثلة في ورقة مساعدة Bash

sudo apt-get install jq jo

تثبيت قيود NVidia

الطريقة 1

إزالة قيود NVidia المحلية

sudo apt-get purge 'nvidia*'
sudo apt-get autoremove
sudo apt-get autoclean

إضافة PPA وتحديث مراجع الحزم المحلية

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

التحقق من إصدار قيد التوصية من قيود NVidia لجهازك

ubuntu-drivers devices

تثبيته

sudo apt-get install nvidia-driver-535
sudo reboot

التحقق من أنك تستطيع رؤية وحدة المعالجة الرسومية، ورؤية الإصدار المثبت

nvidia-smi

الطريقة 2

انظر هنا لنسخة نظامك: https://developer.nvidia.com/cuda-downloads

للتثبيت النسخة المفتوحة من وحدة النواة:

sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555

تثبيت CUDA

نفس NVidia الرسمية: https://developer.nvidia.com/cuda-downloads

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

flatpacks

vlc، obsidian، nextcloud desktop، foliate، dbeaver

ungoogled-chromium

https://github.com/ungoogled-software/ungoogled-chromium

echo 'deb http://download.opensuse.org/repositories/home:/ungoogled_chromium/Ubuntu_Jammy/ /' | sudo tee /etc/apt/sources.list.d/home:ungoogled_chromium.list
curl -fsSL https://download.opensuse.org/repositories/home:ungoogled_chromium/Ubuntu_Jammy/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_ungoogled_chromium.gpg > /dev/null
sudo apt update
sudo apt install ungoogled-chromium

golang

هذا يثبيت إصدارًا قديمًا جدًا، حاليًا 1.18

sudo apt-get install golang-go

إذن، انتقل إلى https://go.dev/dl/ وحدد أحدث إصدار لك، ثم

sudo bash

و

wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz

ثم أضف إلى $HOME/.profile

export PATH=$PATH:/usr/local/go/bin

ثم

source $HOME/.profile
go version

vs code

https://code.visualstudio.com/docs/setup/linux

تثبيت حزمة deb (تحتاج إلى تنزيلها أولاً). تثبيت حزمة .deb سيقوم تلقائيًا بتثبيت مستودع apt وحالة التوقيع لتمكين التحديث التلقائي باستخدام مدير الحزم لنظامك.

أو يمكنك فعل الشيء نفسه يدويًا أدناه:

sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg

ثم تحديث مخزن الحزم وتثبيت الحزمة باستخدام:

sudo apt install apt-transport-https
sudo apt update
sudo apt install code # أو code-insiders

تثبيت إضافات vs code:

Python، C#، Go، Hugohelper، Front Matter CMS، React*، [Flutter](https://www.glukhov.org/ar/post/2022/flutter-dart-cheatsheet/ “Flutter (Dart) Cheatsheet مع أمثلة إلخ”

vs code القياسي لديه بعض تتبع البيانات - جزئيًا مُزال في الإعدادات: user:application:telemetry=>off … لكنه لا يزال موجود

VSCodium flatpack هو إصدار بدون تتبع البيانات، ليس بعيدًا جدًا.

Python و Anaconda

تثبيت pip

sudo apt install python3-pip

https://www.anaconda.com/download/success

تنزيل الإصدار لينكس مثل

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

وتشغيله

bash Anaconda3-2024.06-1-Linux-x86_64.sh

انتبه في النهاية:

إذا كنت تفضل أن لا يتم تنشيط بيئة conda الأساسية عند بدء التشغيل،
   قم بتشغيل الأمر التالي عندما يكون conda نشطًا:

conda config --set auto_activate_base false

يمكنك إلغاء هذا الأمر عن طريق تشغيل `conda init --reverse $SHELL`؟ [نعم|لا]

hugo

https://gohugo.io/installation/linux/

على سبيل المثال هذا: https://github.com/gohugoio/hugo/releases/tag/v0.124.1

تنزيل وتثبيت hugo_extended_0.124.1_linux-amd64.deb

kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

sudo apt-get update
# apt-transport-https قد يكون حزمة وهمية؛ إذا كان كذلك، يمكنك تخطيها
sudo apt-get install -y apt-transport-https ca-certificates curl
# إذا لم تكن المجلد `/etc/apt/keyrings` موجودة، يجب إنشاؤها قبل أمر curl، راجع الملاحظة أدناه.
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # تسمح للبرامج غير المخولة من APT بقراءة هذه المفتاح
# هذا يoverwrite أي إعدادات موجودة في /etc/apt/sources.list.d/kubernetes.list
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list   # يساعد الأدوات مثل command-not-found على العمل بشكل صحيح
sudo apt-get update
sudo apt-get install -y kubectl

مفاتيح ssh

نسخ مفاتيح ssh إلى ~/.ssh

ثم نسخ المعرف إلى جميع عناوين IP في مختبرك

ssh-copy-id username@ipaddr

docker

sudo docker images

إزالة التثبيت الحالي

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

تثبيت باستخدام مستودع apt

# إضافة مفتاح GPG الرسمي لـ Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# إضافة المستودع إلى مصادر Apt:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

إذا كنت تستخدم مشتقات ubuntu، فعليك استخدام UBUNTU_CODENAME بدلًا من VERSION_CODENAME، مثل

# إضافة مفتاح GPG الرسمي لـ Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# إضافة المستودع إلى مصادر Apt:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

تثبيت أحدث إصدار:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

التحقق

sudo docker run hello-world

بشكل اختياري، أضف المستخدم الحالي إلى مجموعة docker

usermod -aG docker $USER

portainer

لبدء العمل، ستحتاج إلى:

  • أحدث إصدار من Docker مثبتًا ويعمل
  • الوصول إلى sudo على الجهاز الذي سيستضيف مثيل Portainer Server
  • بشكل افتراضي، سيعرض Portainer Server واجهة المستخدم عبر منفذ 9443 وسيرتبط بخادم تونل TCP عبر منفذ 8000. الأخير اختياري فقط ويتم تثبيته إذا كنت تخطط لاستخدام ميزات الحوسبة الحافة مع وكلاء الحافة.

المتطلبات:

  • SELinux معطل على الجهاز الذي يعمل عليه Docker. إذا كنت بحاجة إلى SELinux، فعليك أن تمرر العلم –privileged إلى Docker عند تثبيت Portainer.

أولًا، أنشئ الحجم الذي سيستخدمه Portainer Server لتخزين قاعدة بياناته:

sudo docker volume create portainer_data

ثم، قم بتنزيل وتثبيت حاوية Portainer Server:

sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

التحقق

sudo docker ps

انتقل إلى: https://localhost:9443

اسم المستخدم هو admin، قم بتعيين كلمة المرور في الواجهة

وكيل portainer لـ Kubernetes

إنشاء بيئة k8s، وكيل

kubectl apply -f https://downloads.portainer.io/ce2-19/portainer-agent-k8s-lb.yaml
kubectl get services --all-namespaces

ثم نسخ ولصق عنوان IP الخارجي لخدمة portainer في الواجهة، لا تنسَ المنفذ 9001

.netcore sdk

https://learn.microsoft.com/en-gb/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2204

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 aspnetcore-runtime-8.0

أو إذا لم يكن من المتوقع استخدام aspnet

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 dotnet-runtime-8.0

الاعتماديات

عند تثبيت باستخدام مدير الحزم، تُثبّت هذه المكتبات تلقائيًا لك. ولكن، إذا قمت بتثبيت .NET يدويًا أو إذا نشرت تطبيقًا مستقلًا، فعليك التأكد من أن هذه المكتبات مثبتة:

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu70
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

يمكن تثبيت الاعتماديات باستخدام أمر apt install. يوضح المقتطع التالي تثبيت مكتبة zlib1g:

sudo apt install zlib1g

awscli

للتثبيت awscli من مستودع ubuntu (في يوليو 2024، يمنحك v1.22.34-1):

sudo apt install awscli

للفحص awscli الإصدار المثبت على جهازك:

aws --version

أو للحصول على أحدث إصدار طازج من Amazon (2.0): https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

الآن:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

Terraform

يمكن تثبيت Terraform بعدة طرق، راجع هنا: https://developer.hashicorp.com/terraform/install

أنا أقوم بتثبيته من مستودع hashicorp لـ ubuntu

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

ومن أجل linux mint احذر، لا تعمل مثيل Terraform بشكل صحيح. تحقق من مخرجات هذه الأوامر

lsb_release -cs

cat /etc/upstream-release/lsb-release 

الآن انتقل إلى مصادر البرامج وقم بتعويض “virginia” بـ “Jammy” في Hashicorp واعمل مرة أخرى

sudo apt update && sudo apt install terraform

للفحص أن Terraform تم تثبيته بشكل صحيح، قم بتشغيل

terraform version

تحكم في خدمات systemd

يمكن استخدام

systemctl status
systemctl stop some-service
systemctl disable some-service 

أو يمكن استخدام chkservice

sudo apt-get install chkservice

sudo chkservice

روابط مفيدة