Skip to content

Genel Bilgi ve Checklist

Linux'u Developer Machine haline getirmek için minimum kurulması gerekenleri içerir.

Doküman Ubuntu sürümleri için yazılmıştır. (Esasen Ubuntu 18.04 LTS (Bionic Beaver) için) Yakında Debian 10 (Buster) için de hazırlanacaktır.


root ve sudo kullanıcıları ve kullanıcı dizinleri


Linux'ta program kurabilmek ya da sistemle ilgili değişiklik yapmak için root adında built-in bir kullanıcı vardır ve kendi user alanını terketmeden geçici olarak root kullanıcısı olursun ve kurarsın. Ancak bu iyi bir yöntem değildir, çünkü o makinanının root kullanıcısı, o makinanın tanrısıdır ve sen root olarak bir hata yaparsan geri dönülmez.

Bu nedenle sistemin sıradan kullanıcılarına root kullanıcısının bazı yetkileri verilir. Bu işlem, kurulum esnasında Ubuntu'da otomatik olarak olur.

root kullanıcısının bazı yetkileri verilmiş kullanıcıya sudo user denir. Linux sistemlerde kullanıcı dizinleri /home dizininde bulunur. /home dışındaki dizinlerde dans etmek tehlikelidir.

Root folder

Root folder home

Root folder home users

$USER bir sistem değişkenidir ve sistemi o anda kullanmakta olan kullanıcının adını ifade eder.

Dikkat! Linux (Windows'tan farklı olarak) case-sensitive bir işletim sistemidir. Yani büyük küçük harf duyarlıdır.

Terminalde echo $USER yazarak enter tuşuna basarsanız kullanıcı adınızı görürsünüz.

Terminalde kaybolursanız, pwd komutunu yazıp enter tuşuna bakarak içinde bulunduğunuz dizini görebilirsiniz.

Terminalde ./ içinde bulunduğunuz dizini, ../ ise bir üst dizini ifade eder.

Temel Sistem Güncelleme ve Paket Kurma Komutları

Linux'ta program (bundan sonra package diyelim) kurmak için terminalde

sudo apt install [package_name]

yazarak işlem yapılır.

Bu aşamada sudo password sorar. Bu password bilgisayarın açılış şifresidir.

Kuruluma başlamadan önce bilgasayardaki yüklü olan paketleri güncellemek (system update) zorunlu değilse de, iyi bir uygulama örneğidir (best practice).

Bunun için terminale

#repositorylerden paket bilgilerini alır
sudo apt update
#opsiyonel olarak güncellecek paketlerin listesini
#kurmadan önce görmek isterseniz
apt list --upgradable
#güncellenmesi gereken yeni paketleri günceller/kurar
sudo apt upgrade

ya da kısaca

sudo apt update && sudo apt upgrade

yazarak enter tuşuna basılarak çalıştırılır.

Güncelleme bittikten sonra dilediğiniz kurulumları yapmaya başlayabilirsiniz.

Please refer to this snippet: Updating ubuntu 18.04 for easy updating script.

Genel Kurulumlar

Paket Yöneticisi (apt) ile kurulacak olanlar

Refer to this for Debian 10 (Buster) PHP repos.

sudo add-apt-repository universe
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# One-liner
sudo apt install -y \
  git curl jq unrar-free p7zip-full p7zip-rar unzip \
  gimp wine-stable vokoscreen gnome-tweaks

sudo apt install -y apache2 apache2-utils

# php 7.4
sudo apt install -y \
  php7.4 php7.4-cli php7.4-common php7.4-mbstring \
  php7.4-zip php7.4-xml php7.4-curl php7.4-bcmath \
  php7.4-json php7.4-gd php7.4-mysql php7.4-opcache \
  php7.4-xml libapache2-mod-php7.4 php7.4-apcu php7.4-pcov \
  php-uploadprogress

sudo a2enmod expires headers deflate rewrite php7.4

# php 8.1
sudo apt-get install -y \
  php8.1 php8.1-cli php8.1-common php8.1-mbstring \
  php8.1-zip php8.1-xml php8.1-curl php8.1-bcmath \
  php8.1-gd php8.1-mysql php8.1-opcache \
  php8.1-xml libapache2-mod-php8.1 php8.1-apcu php8.1-pcov \
  php8.1-uploadprogress

sudo a2enmod http2 expires headers deflate rewrite php8.1

# Check whether only one version of PHP is installed.
sudo update-alternatives --config php

İndirilerek kurulacak olanlar

Visual Studio Code

Seçenek 1: Snap ile kurulum

sudo snap install vscode --classic`

Seçenek 2: İndirerek kurulum

VS Code Official Download Page 64-Bit

Google Chrome

Chrome Official Download Page

Yandex Browser

Yandex Official Download Page

Firefox Developer Edition

Firefox Official Download Page

Download & Install
mkdir -p /home/$USER/stand-alone-apps

cd /home/$USER/Downloads && \
  wget -O firefox-developer.tar.bz2 \
    "https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US"

cd /home/$USER/Downloads && \
  tar -jxf firefox-developer.tar.bz2 \
    --directory /home/$USER/stand-alone-apps/

mv /home/$USER/stand-alone-apps/firefox/ \
  /home/$USER/stand-alone-apps/firefox_dev/
Create Shortcut Icon
# Create shortcut file
gedit /home/$USER/.local/share/applications/firefox_dev.desktop

Paste the text below into the file. Make sure changing the username with your username.

[Desktop Entry]
Name=Firefox Developer
GenericName=Firefox Developer Edition
Exec= /home/username/stand-alone-apps/firefox_dev/firefox
Terminal=false
Icon=/home/username/stand-alone-apps/firefox_dev/browser/chrome/icons/default/default128.png
Type=Application
Categories=Application;Network;X-Developer;
Comment=Firefox Developer Edition Web Browser.

Diğer

Docker && Lando

mkdocs

MKDocs installation tutorial

Environment info
python --version
# Python 2.7.17

pip --version
# pip 19.2.3 from /home/username/.local/lib/python2.7/site-packages/pip (python 2.7)

python3 --version
# Python 3.6.9

pip3 --version
# pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

mkdocs --version
# mkdocs, version 1.1 from /home/username/.local/lib/python3.6/site-packages/mkdocs (Python 3.6)
Installation
sudo apt install python3-pip
# python3 -m pip install --user --upgrade pip
pip3 install mkdocs
pip3 install mkdocs-material==4.6.3 \
  mkdocs-minify-plugin pygments \
  mkdocs-git-revision-date-localized-plugin
cd /to/repo/root
mkdocs serve
# mkdocs
Troubleshooting

If mkdocs serve or mkdocs build does not work (because of mkdocs command not found error), please add the path to your $PATH variable in your .bashrc or profile file.

export PATH="/home/username/.local/lib/python3.6/site-packages:$PATH"

Conky System Monitor

Please refer to this snippet.

Shutter (Screenshot Tool)

Please refer to New Shutter PPA For Ubuntu 20.04, 19.10, 19.04 And 18.04 | Linux Mint 19.x.

Tutorial'dan alınan komutlarla kurulacak olanlar

node & npm & n

First, install node and npm from official Ubuntu repos.

sudo apt install nodejs npm

Their versions will be as follows as of October, 7 2020.

npm is already the newest version (3.5.2-0ubuntu4)
nodejs is already the newest version (8.10.0~dfsg-2ubuntu0.4)

It is better to manage node and npm itself with n.

Globally install n with the following command.

sudo npm install -g n

Then, download node versions you wish to use from this release page.

# download the latest version (14.x for now)
sudo n --download latest

# download 10.x LTS latest
sudo n --download 10.22.1

# download 12.x LTS latest
sudo n --download 12.19.0

Now you can switch between node/npm versions whenever you want by typing the following command, which will show you a list of node version you have downloaded previously and let you select one.

sudo n

# After selecting one, check the versions via
node --version
npm --version

If you encounter command not found, etc. errors, consider exporting your path or restarting your machine.

Composer

Ubuntu 18.04'te sudo apt get install composer şeklinde kurulmalı.

Drush

Drush 8.4.3 kurulacak

Refer to Install Drush on Ubuntu 18.04.

Drupal VM için Kurulumlar

Vagrant

Debian 64-bit versiyonu indirilecek

Vagrant Official Download Page

Virtualbox

sudo apt install virtualbox

Ansible

sudo apt install ansible

NFS server

sudo apt-get install nfs-server -y

Vagrant Boxes & Vagrant Plugins

Kullanıcak box'lar başka makinadan usb memory stick ile alınıp /home/burak/.vagrant.d/boxes dizinine konursa çok zaman kazanılır.

Utils & More

SSH Key Oluşturma ve / veya başka makinadan aktarma

Please refer to this page for further details if needed.

SSH Key mutlaka passphrase ile oluşturulmalıdır.

ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "[email protected]"

SSH Key Yetkileri

chmod 700 ./.ssh
chmod 644 ./.ssh/authorized_keys
chmod 644 ./.ssh/known_hosts
chmod 644 ./.ssh/config
chmod 600 ./.ssh/id_rsa
chmod 644 ./.ssh/id_rsa.pub
chmod 600 ./.ssh/id_ed25519
chmod 644 ./.ssh/id_ed25519.pub

Visual Studio Code Eklenti & Ayarları

Liste ve ayarlar konacak.

Ubuntu Gnome Tweak Tool

Ayarlar konacak.

RIOT

Radical Image Optimization Tool.

Zoom

Zoom Download Center

AnyDesk

Download and install AnyDesk remote desktop connection from here.

MS Core Fonts

sudo apt install ttf-mscorefonts-installer

SQLeo Visual Query Builder

SQLeo Visual Query Builder - sourceforge

SQLeo Visual Query Builder - GitHub

gedit /home/$USER/.local/share/applications/sqleo.desktop

[Desktop Entry]
Name=SQLeo Visual Query Builder
GenericName=SQLeo Visual Query Builder
Exec= java -jar /home/username/stand-alone-apps/SQLeoVQB.2019.01.rc1/SQLeoVQB.jar
Terminal=false
Icon=/home/username/stand-alone-apps/SQLeoVQB.2019.01.rc1/query_734389.png
Type=Application
Categories=Application;Network;X-Developer;
Comment=SQLeo Visual Query Builder.