BİL211U-UNIX SİSTEM YÖNETİMİ
Ünite 4: Linux İşletim Sisteminin Kurulumu ve Temel Ayarlar II
Giriş
Sanal makine kurulum aşamasının bu bölümüne sunucuda oturum açacak kullanıcı hesap bilgilerinin tanımlanmasının ardından parola kullanmadan sunucuya erişim için SSH anahtarı oluşturma açıklanacaktır. SSH anahtarı sayesinde kullandığımız ana makineden kurulumu yapına Linux İşletim Sistemine parola yazmadan ssh protokolü ile bağlantı sağlanabilecektir. Son olarak varsa isteğe bağlı yazılım paketlerinin seçimi ve kurulumunun ardından kurulum için kullanılan görüntü (image) dosyası çıkarılarak sistem yeniden başlatılacaktır. Sistem yeniden başlatıldıktan sonra sanal makinenin IP yapılandırması statik (sabit) olarak belirlenmişse belirlenen ip kullanılarak; değişken olarak belirlenmişse sanal makine yeniden başlatıldıktan sonra karşımıza çıkan konsol ekranında kullanıcı adı ve parola bilgileri ile oturum açtıktan sonra ip a komutu ile elde edilen ip numarası kullanılarak ana makinedeki terminale ya da komut satırı arayüzü yazılımı ile ssh protokolü üzerinden sanal makineye ilk bağlantı gerçekleştirilecektir.
Sunucu Kimliği
Linux İşletim Sisteminin kurulum aşamasında profil ayarında işletim sisteminde oturum açacak kullanıcı ve sunucu adı bilgileri girilecektir. Bir sonraki başlıkta açıklanacağı üzere kişisel makinelerde oluşturulan SSH anahtarlarının Github ya da Launchpad gibi bulut ortamlarından çağrılması ile kurulumu yapılan makinelere kullanıcı parolası girmeden ssh ile erişim sağlanabilse de yönetici işlemlerinin gerçekleştirilebilmesi için süper kullanıcı (sudo) parolası girilmesi gerekecektir. İşletim sisteminin kurulumu aşamasında oluşturulan bu kullanıcı varsayılan olarak süper kullanıcı (sudo) yetkisine sahiptir. sudo yetkisine sahip bir kullanıcı hesabı paket güncelleme ve kurma gibi yönetici yetkisi gerektiren işlemleri gerçekleştirebilmektedir. Centos, RedHat Enterprise, Alma ve Rocky Linux İşletim Sistemlerinde kurulum sırasında oluşturulacak kullanıcının yönetici (sudo) yetkisine sahip olup olmayacağı için bir seçenek bulunmaktadır. Bu işletim sistemlerinde sistem kurulumu sırasında root kullanıcısı için bir parola istendiğinden oluşturulan normal kullanıcının yönetici yetkisine sahip olan bir kullanıcı olup olmayacağı onaya bırakılmıştır. Debian ve Ubuntu işletim sistemlerinde işletim sisteminin kurulumu aşamasında oluşturulan kullanıcı varsayılan olarak yönetici (sudo) yetkisine sahip olarak oluşturulmaktadır. Ubuntu işletim sisteminden farklı olarak Debian işletim sisteminde de RedHat tabanlı sistemlerde olduğu gibi kurulum aşamasında root kullanıcısı için parola oluşturulmaktadır.
Mac OS İşletim Sisteminde SSH Kimliği Oluşturma
Linux sunucu işletim sistemlerinde oturum açma yöntemlerinden birisi kurulum aşamasında oluşturulan kullanıcı adı ve parola bilgilerinin ssh erişimi için kullanılan yazılımlarda girilmesidir. Linux ve Mac OS işletim sistemlerinde varsayılan olarak gelen terminal
yazılımı ile ssh erişimi sağlanırken Windows işletim sistemlerinde kurulumda opsiyonel olarak gelen ve etkinleştirilmesi gereken OpenSSH Client ya da Putty, mRemoteNG ve Mobaxterm gibi 3. parti yazılımlar aracılığı ile sağlanmaktadır. Kullanıcı adı ve parola kullanarak ssh erişimine alternatif olarak Linux İşletim Sistemlerine kişisel bilgisayarlarda oluşturulacak SSH anahtarları ile parolaya bilgisi girilmeden erişilebilmektedir. Şimdi kullandığımız MacOS ve Windows işletim sistemine sahip bilgisayarlarda SSH anahtarı oluşturma işlemlerinin nasıl yapıldığına bir bakalım. İlk olarak Mac OS/Linux İşletim Sistemine sahip bir bilgisayarda ssh-keygen komutu ile SSH anahtarını oluşturuyoruz. -t parametresi ile oluşturulacak ssh anahtarın türünün ed25519 olacağı belirtilmektedir. ssh- keygen versiyon 1 için olası değer “rsa1” ilken ssh-keygen versiyon 2 için “dsa”, “ecdsa”, “ecdsa-sk”, “ed25519”, “ed25519-sk”, ya da “rsa” dir. -C parametresi ile ssh anahtarına yorum yapılarak e-Posta adres bilgisi eklenmiştir.
Terminal ekranında ssh anahtarı oluşturma adımında ssh anahtarının kullanılması için parola kullanılmak isteniyorsa bu parolanın iki kere yazılması istenecektir (Enter passphrase (empty for no passphrase)). Parola kullanılması durumunda ssh ile kurulumu yapılan makineye bağlanılmak istendiğinde işletim sistemi kullanıcısı için parola istenmemekle birlikte ssh anahtarının kullanımı için bu parolanın girilmesi istenecektir. Oluşturulan ssh anahtarı kullanıcı bilgisayarında /Users/mesutaydemir/.ssh/ klasöründe id_ed25519.pub dosyasına kaydedilmiştir. /Users/mesutaydemir/.ssh/ klasöründe id_ed25519.pub dosyasındaki ssh anahtarı nano ya da vi gibi metin editörü ile bu dosya açılıp içeriği kurulumu yapılan makinede kullanıcı ev dizininde (örneğin /home/ubuntu) .ssh klasörü altındaki authorized_keys dosyasına doğrudan eklenerek veya Github ya da Launchpad gibi sitelere uzaktan çağırmak amacıyla kaydedilebilir. /Users/mesutaydemir/.ssh/ klasöründe id_ed25519.pub dosyasındaki ssh anahtarı pbcopy komutu ile de dosyayı açmadan kopyalanıp başka bir dosyaya pbpaste ya da başka bir alana doğrudan Command+V tuşu ile yapıştırılabilir.
Windows İşletim Sisteminde SSH Kimliği Oluşturma
Windows işletim sisteminde SSH anahtarı oluşturma adımları Windows 10 işletim sistemine göre oluşturulmuştur. İlk olarak OpenSSH İstemci paketinin Windows 10 işletim sisteminde yüklü olduğunun kontrolü sağlanacaktır. Bunun için sırasıyla Ayarlar-Uygulamalar ve özellikler-isteğe bağlı özellikler seçilecektir. Açılan sayfada Yüklü özellikler altında OpenSSH İstemcisi bulunuyorsa OpenSSH istemci paketi yüklenmiş demektir. Yüklü özellikler altında OpenSSH İstemcisi bulunmuyorsa yüklenmesi gerekecektir. Bunun için İsteğe Bağlı özellikler altında sırasıyla Özellik Ekle butonuna tıklayıp İsteğe bağlı bir özellik ekle bölümüne openssh yazdıktan sonra OpenSSH İstemcisi’ni seçip Yükle butonuna tıklanarak
istemcinin yüklenmesi sağlanabilir. OpenSSH istemci yüklendikten sonra Komut İsteminin yönetici olarak çalıştırılması gerekecektir. Komut İstemi açıldıktan sonra ssh-keygen komutu aşağıdaki gibi kullanılarak ssh anahtarının oluşturulması sağlanabilir. Komut İstemcisinde ssh anahtarı oluşturma adımında ssh anahtarının kullanılması için parola kullanılmak isteniyorsa bu parolanın iki kere yazılması istenecektir (Enter passphrase (empty for no passphrase)). Parola kullanılması durumunda ssh ile kurulumu yapılan makineye bağlanılmak istendiğinde işletim sistemi kullanıcısı için parola istenmemekle birlikte ssh anahtarının kullanımı için bu parolanın girilmesi istenecektir. C:\Users\user/.ssh/ altında oluşturulan id_ed25519.pub dosyasından ssh anahtarını Notepad ++ ya da Sublime Text gibi bir metin editörü ile kopyalayıp kurulumu yapılan makinede kullanıcı ev dizininde (örneğin /home/ubuntu) .ssh klasörü altındaki authorized_keys dosyasına doğrudan eklenerek veya Github ya da Launchpad gibi sitelere uzaktan çağırmak amacıyla kaydedilebilir.
SSH Kimliğini Github’a Kaydetme
Oluşturulan ssh anahtarı Github’daki kullanıcı hesabına eklenerek kurulumu yapılacak linux makinelerde kullanıcı parolası girmeden ssh erişiminde kullanılmak üzere kaydedilebilir. Bunun için https://github.com/ adresinde Giriş yap (Sign in) butonuna tıklanarak oturum açılmalıdır. Github’da kullanıcı hesabı yoksa Kaydol (Sign up) butonuna tıklanarak ücretsiz hesap oluşturulmalıdır. Oturum açtıktan sonra sağ üstte kullanıcı profiline tıklanıp açılan menüde Ayarlar (Settings) seçilmelidir. Açılan sayfada Yeni SSH anahtarı (New SSH key) butonuna tıklanacaktır. Mac OS, Linux ve Windows işletim sistemleri için oluşturulmuş ssh anahtarını kaydetme seçeneklerinden (pbcopy ya da metin editörü ile) uygun olan biri ile kaydedilmiş ssh anahtarı ilgili alana eklenecektir. Bunun için açılan sayfada Başlık (Title) bölümüne ssh anahtarının üretildiği bilgisayar adı yazılıp key bölümünün altın kaydedilmiş ssh anahtarı yapıştırılmalı ve ssh anahtarı Ekle (Add ssh key) butonuna tıklanarak Github sistemine anahtar ekleme işlemi tamamlanmış olacaktır.
SSH Kimliğini İçeri Aktarma
Linux İşletim Sisteminin kurulumuna devam edildiğinde SSH ayarı sayfasında OpenSSH sunucunun yüklenmesi (Install OpenSSH server) seçilmelidir. Bu paket sayesinde linux makineye ssh protokolü ile bağlantı sağlanabilecektir. SSH kimliğinin içeri aktarılması (Import SSH identity) menüsünden Github (from Github) seçildikten sonra Github Kullanıcı Adı (Github Username) kısımına github kullanıcı adı yazılarak önceki adımlarda açıklandığı gibi Github sistemine kaydedilmiş ssh anahtar(lar)ı kullanılarak işletim sisteminde kullanıcı parolası yazmadan oturum açılabilecektir. İşletim sisteminde ssh protokolü ile oturum açmak için ssh anahtarına ek olarak parola da kullanılmak isteniyorsa SSH Üzerinden Parola Doğrulamasına İzin Ver (Allow
password authentication over SSH) seçilmelidir. SSH ayarları tamamlandıktan sonra Bitti (Done) butonuna tıklanacaktır. SSH kurulumunda son aşamada Github sisteminde kayıtlı ssh anahtarının kurulumu yapılan işletim sisteminde kullanılması ile ilgili onay sayfasında Evet (Yes) seçilerek bir sonraki aşamaya geçilecektir.
Hazır Paketler (Snaps)
Kurulumun bir sonraki aşamasında isteğe bağlı yüklenebilir yazılım paketleri yer almaktadır. Kurulmak istenen yazılım paketinin üzerine ok tuşları ile gelinip SPACE tuşu ile seçim yapıldıktan sonra altta bulunan Bitti (Done) seçilerek paket seçim işlemi tamamlanacaktır.
Kurulumun Tamamlanması
Kurulumun son aşamasında işletim sisteminin yeniden başlatılacaktır. İşletim sisteminin başlarken kurulum disk görüntü dosyası (*.iso) ile başlamaması için bu dosyanın sanal makinenin medya ortamından çıkarılması gerekecektir. Bunun için Yeniden Başlat (Reboot) seçildikten sonra kurulum disk görüntü dosyasının makinenin CD/DVD ortamından çıkarılması için Enter tuşuna basılması gerekecektir.
Kurulumu Gerçekleştirilmiş Sisteme SSH ile Bağlanma
Kurulumu tamamlanmış işletim sistemimiz yeniden başlatıldığında sanal makine yazılımında konsol ekranı açılacaktır. Kurulum sırasında statik yani sabit ip yapılandırması yapılmışsa bu ip kullanılarak sisteme terminal (MacOS ya da Linux İşletim Sistemleri) veya Putty, mRemoteNG ya da MobaXterm gibi ssh istemci yazılımları üzerinden bağlantı sağlanabilir. Sanal makine için 2 farklı ağ adaptörü yapılandırılabilirdi. 1. Ağ kartı ile sanal makinenin internet ortamına erişmesi sağlanırken (NAT ya da Köprü Bağdaştırıcı) 2. Ağ kartı ile sanal makinenin kişisel bilgisayar ya da ağdaki diğer makineler ile iletişim kurması sağlanmıştı (Yalnızca Ana Makine Ağı). Sanal makinenin ağ yapılandırması İster statik ister Dinamik İstemci Yapılandırma Protokolü (Dynamic Host Control Protocol-DHCP) ile yapılmış olsun kurulum sonrasında açılan sanal makine konsol ekranında kullanıcı adı ve parola bilgileri girildikten sonra ip a komutu ile sanal makinenin 1. ve 2. ağ cihazları için almış olduğu IP numaraları görülebilir.
Sanal Makinede Disk İşlemleri-Disk Boyutunu Artırma
Linux İşletim Sistemi kurulumu tamamlandıktan sonra kullanım amacına bağlı olarak mevcut disk boyutunun artırılması gerekebilir. Özellikle bazı kullanım senaryolarında disk boyutunun yetersiz olmasından dolayı işletim sisteminin performansında yavaşlık görülmektedir. Sanallaştırılmış bir ortamda, Linux İşletim Sisteminde çalışan bir sanal makinede kök dizinin bağlı olduğu sanal makinede tanımlı sabit diskte yer kalmadığı durumlarda sanal makineye disk ekleme ya da mevcut diski büyütme yöntemlerinden birini kullanarak disk boyutu artırmak gerekecektir. Fakat, disk büyütüldüğünde ya da eklendiğinde yeni alan mantıksal bölümün sonuna
eklendiği için disk eklemek ya da mevcut diski büyütmek Linux kök sürücüsünün alanını mutlaka artırmaz. Eklenen alanın işletim sisteminin diskinde görülebilmesi için bir dizi disk işlemi gerekecektir. Linux İşletim Sistemine disk eklemek ya da mevcuttaki diskin boyutunu artırmak Linux sistem yöneticilerinin yapması gereken yönetsel eylemler arasında yer alır. Sunucunun hangi işletim sistemini çalıştırdığına bakılmaksızın tüm işletim sistemlerinde boş disk alanı her zaman izlenmesi gereken bileşenler arasındadır. Sunucunun erişilebilir olmaması ya da sunucuda çalışan yazılımların birden çalışmaması durumları ile karşılaşmak yerine, diskte yer kalmaması ile ilgili uyarılar alındığında disk eklemek hizmetlerin kesintiye uğramaması adına yerinde bir karar olacaktır. Bu bölümde 40 GB diske sahip Linux İşletim sisteminin disk boyutu 20 GB daha eklenerek 60 GB olarak artırılacaktır. Bunun için 2 alternatif yöntem kullanılacaktır. Birinci yöntemde sanal makine yazılımı üzerinde Linux İşletim Sisteminin mevcuttaki 40 GB olan diski artırılarak 60 GB olarak ayarlanacaktır. İkinci yöntemde ise yine sanal makine yazılım üzerinde sanal makineye 20 GB’lık ikinci bir disk eklenerek disk kapasitesi artırılacaktı.
Mevcut Disk Boyutunu Artırarak Diski Büyütme
Sanal makine yöneticisinde çalışan Linux İşletim Sisteminde mevcut diskin boyutunu artırmak için öncelikle Linux İşletim Sisteminin çalıştığı makine komut satırı arayüzünde sudo shutdown -h now komutu ile kapatılmalıdır. Bu komutta -h parametresi durdurulacak anlamına gelen halt kelimesine karşılık gelmekte olup kapatma işleminin (shutdown) durdurma şeklinde olacağını belirtmektedir. Şayet -h yerine -r parametresi kullanılsaydı o zaman kapatma işlemi yeniden başlatarak (reboot) gerçekleştirilecekti. now parametresi ise kapatma işleminin zamanını göstermektedir. Kapatma işleminin zamanı şimdi (now) olarak belirtilebileceği gibi 14:44 gibi saat ve dakika bilgisi girilerek ileri bir zamanda da gerçekleştirilebilir. Sanal makine kapatıldıktan sonra sanal makine yönetici panelinde sol üstte sırasıyla Dosya-Sanal Ortam Yöneticisi … seçilmelidir. Sanal ortam yöneticisi menü öğesi seçildikten sonra sanal makine yazılımında kurulu sanal makinelerin disklerinin olduğu bir pencere karşımıza çıkacaktır. Bu penceredeki sanal makine disklerinden boyutu artırılmak istenen diskin üzerine fare ile sol tıklayarak seçilmelidir. İlgili pencere açıldığında disk boyutunun artırılacağı Boyut bölümü görünmüyorsa disk boyutu artırılacak işletim sisteminin diskine bu sefer fare ile sağ tıklayıp açılan pencerede Özellikler seçilmelidir. Ders kitabınızın 103. sayfasındaki Şekil 4.11’de görüleceği üzere disk konumu /Users/mac/VirtualBoxVMs/Ubuntu 22.04/Ubuntu 22.04.vdi olan Ubuntu 22.04.vdi diski seçilmiş ve Boyut alanında disk boyutu 60 GB olarak ayarlanmıştır. İşlemin geçerli olması için sol altta bulunan Uygula butonuna tıklanacaktır. Sağ altta bulunan Kapat butonuna tıklanarak sanal ortam yöneticisi penceresindeki işlem tamamlanmış olacaktır.
Sanal Makineye Disk Ekleyerek Diski Büyütme
Linux İşletim Sistemlerinde sistem yöneticilerinin disk boyutunu artırma ile ilgili karşılaşacağı senaryolardan biri de sanal makinenin mevcut diskine ek olarak sanallaştırma yazılı tarafında ek bir disk eklenmesidir. Bazı durumlarda sanallaştırma yazılımından sorumlu bilgi işlem personeli disk boyutunun artırılması ile ilgili gelen isteğe sanallaştırma yazılımı tarafında sanal makineye disk ekleyerek isteği sonlandırır. Bu durumda sanal makineye ikinci bir disk eklenmekle birlikte işletim sistemi tarafında eklenen disk etkinleştirilmediğinden disk boyutu artırma işlemi tamamlanamamaktadır. Bu bölümde sanal makineye eklenmiş ikinci bir diskin işletim sistemi tarafından kullanılabilmesi için yapılması gereken işlemler ele alınacaktır. Öncelikle sanal makineye disk ekleme işlemi gerçekleştirilecektir. Bunun için VirtualBox sanal makine yönetim panelinde disk eklenecek sanal makine seçildikten sonra üst menüde Ayarlar menüsüne tıklanacaktır. Ayarlar menüsüne tıklandıktan sonra açılan pencerede üst menüde Depolama seçildikten sonra Denetleyici: SATA’nın en sağındaki disk ekleme simgesine tıklanmalıdır. Disk ekleme simgesine tıklandıktan sonra açılan pencerede Oluştur simgesine tıklanarak sanal makine disk sihirbazı açılacaktır. Sanal makine disk sihirbazında sabit disk dosyası türü seçilecektir. VDI (VirtualBox Disk Kalıbı) seçeneği ile devam edilecektir. Sonraki pencerede sanal makine için oluşturulacak diskin ana makinedeki diskte saklanma yöntemi belirlenecektir. Bu bölümde “Değişken olarak ayrılan” seçeneği ile devam edilecektir. İlerleyen pencerede sanal makine için oluşturulacak yeni diskin ana makinede kaydedileceği yer, diskin adı ve boyutu ile ilgili ayarlamalar yapılabilir. Dikkat edilirse disk adı olarak mevcuttaki disk adından sonra otomatik olarak alttan tire ve 1 (_1) eklenerek diskin yeni adı belirlenmiştir. Oluştur butonuna tıklandıktan sonra sanal makine disk listesinden yeni oluşturulan disk seçilip sağ alttaki Seçin butonuna tıklanarak sanal makineye ikinci disk ekleme işlemi tamamlanmış olacaktır. Disk ekleme işleminin tamamlanmasının ardından VirtualBox yazılımında Depolama menüsüne dönüş yapılacaktır. Bu menüde sağ altta bulunan Tamam butonuna tıklanarak işlem tamamlanacaktır. Bir sonraki aşamada disk boyutu artırma işlemleri Linux işletim Sisteminin içinden komut satırı arayüzünden gerçekleştirilecektir. Daha önce de belirtildiği gibi sanal makine yöneticisi ekranında mevcut diskin boyutunun büyütülmesi Linux İşletim Sistemini çalıştıran makinedeki diskin büyüyeceği anlamına gelmez. Disk artırma işleminin gerçekleştirilebilmesi için sanal makine içinde çalıştırılacak komutlarla disk bölümleme ve boyut artırma gibi işlemlerin gerçekleştirilmesi gerekmektedir. İlk olarak sanal makine yöneticisinde işlemin gerçekleştirileceği Linux İşletim Sistemi seçilip Başlat butonu ile sanal makine başlatılacaktır. Daha sonra disk boyutu artırılacak olan sanal makineye ssh protokolü üzerinden bağlantı kurulacaktır. Disk boyutunu artırma işlemi root kullanıcısı olarak çalıştırılması gereken komutlar içerdiğinden root kullanıcısına geçiş yapmak için sudo -i komutu kullanılacaktır. Bu işlem sırasında mevcut kullanıcısının süper kullanıcı parolası girilmelidir.