Go 1.7’yi CentOS 7 Üzerine Kurulumu: Adım Adım Kapsamlı Rehber
Giriş
Go, genellikle Golang olarak da bilinen, Google tarafından geliştirilen açık kaynaklı, statik olarak tipleştirilmiş, derlenmiş bir programlama dilidir. Eşzamanlılık, bellek yönetimi ve ağ iletişimi gibi modern programlama ihtiyaçlarını karşılamak üzere tasarlanmıştır. Go, basit sözdizimi, yüksek performans ve güçlü standart kütüphanesi sayesinde özellikle mikro hizmetler, API’ler, komut satırı araçları ve ağ servisleri geliştirmek için popüler bir seçim haline gelmiştir. Büyük ölçekli sistemlerdeki verimliliği ve ölçeklenebilirliği ile dikkat çekerken, geliştiricilere hızlı derleme süreleri ve kolay dağıtım imkanları sunar.
Bu makalede, Go programlama dilinin belirli bir sürümü olan Go 1.7’yi CentOS 7 işletim sistemi üzerine nasıl kuracağınızı adım adım, detaylı bir şekilde anlatacağız. Her ne kadar Go’nun daha yeni sürümleri mevcut olsa da, belirli eski projelerle uyumluluk, mevcut bir sistem altyapısı veya belirli bir yazılımın Go 1.7’yi gerektirmesi gibi nedenlerle bu sürümü kurmak isteyebilirsiniz. CentOS 7, kurumsal düzeyde sunucular için yaygın olarak kullanılan, stabil ve güvenilir bir Linux dağıtımıdır. Bu rehber, Go 1.7’yi CentOS 7 sisteminize sorunsuz bir şekilde entegre etmenize yardımcı olacaktır. Kurulumun her aşamasını, gerekli komutları ve açıklamalarını kapsayarak, hem deneyimli Linux kullanıcıları hem de Go dünyasına yeni adım atanlar için anlaşılır bir kaynak olmayı hedefliyoruz.
Ön Gereksinimler
Go 1.7 kurulumuna başlamadan önce, sisteminizin belirli ön gereksinimleri karşıladığından emin olmanız önemlidir. Bu gereksinimler, kurulum sürecinin sorunsuz ilerlemesi ve Go’nun doğru şekilde çalışması için temel teşkil eder.
CentOS 7 İşletim Sistemi
Kurulumu gerçekleştireceğimiz ana platform CentOS 7’dir. Sunucunuza SSH aracılığıyla erişebiliyor olmanız veya doğrudan konsol erişiminizin bulunması gerekmektedir. İşletim sisteminin güncel ve stabil bir durumda olması, olası uyumluluk sorunlarının önüne geçmek için tavsiye edilir.
Sudo Yetkilerine Sahip Bir Kullanıcı
Go’yu sistem genelinde /usr/local gibi dizinlere kurmak için yönetici (root) yetkilerine ihtiyacınız olacaktır. Bu nedenle, sudo komutunu kullanma yetkisine sahip bir kullanıcı hesabıyla oturum açmanız gerekmektedir. Eğer root kullanıcısı olarak işlem yapıyorsanız sudo komutuna ihtiyacınız olmayacaktır, ancak güvenlik nedeniyle sudo kullanan bir standart kullanıcı ile işlem yapmak daha yaygın ve önerilen bir yaklaşımdır.
İnternet Bağlantısı
Go 1.7 kurulum dosyasını indirmek ve sistemdeki paketleri güncellemek için aktif bir internet bağlantısı şarttır. Sunucunuzun internete erişebildiğinden emin olun.
Temel Linux Komut Satırı Bilgisi
Bu rehber, temel Linux komutları (örneğin, cd, ls, mkdir, vi veya nano, tar, wget) hakkında bilgi sahibi olduğunuzu varsayar. Komut satırı arayüzünde rahatça işlem yapabilmeniz, kurulum sürecini daha kolay takip etmenizi sağlayacaktır.
Sistem Güncelleme ve Gerekli Araçların Kurulumu
Kuruluma başlamadan önce sistem paketlerini güncel tutmak ve gerekli yardımcı araçları yüklemek her zaman iyi bir uygulamadır. Bu, potansiyel uyumluluk sorunlarını giderir ve Go’nun sorunsuz bir şekilde çalışması için gerekli olan bağımlılıkları sağlar.
Sistem Paketlerini Güncelleme
CentOS 7’de paket yönetimi için yum komutu kullanılır. Aşağıdaki komut, sisteminizdeki tüm yüklü paketleri en son sürümlerine güncelleyecektir:
sudo yum update -y
Bu komutun tamamlanması biraz zaman alabilir, sisteminizin hızına ve yüklü paket sayısına bağlı olarak değişir. -y bayrağı, tüm onay sorularına otomatik olarak “evet” yanıtı vermenizi sağlar.
Gerekli Yardımcı Araçları Kurma
Go kurulum dosyasını indirmek ve arşivden çıkarmak için wget ve tar araçlarına ihtiyacımız olacak. Çoğu CentOS sisteminde bu araçlar varsayılan olarak yüklü olsa da, eksik olmaları durumunda aşağıdaki komutla kolayca kurabilirsiniz:
sudo yum install -y wget tar
Bu komut, wget (web’den dosya indirmek için) ve tar (sıkıştırılmış arşiv dosyalarını yönetmek için) araçlarını sisteminize yükleyecektir.
Go 1.7 İndirme
Go 1.7’yi kurmanın ilk adımı, resmi Go web sitesinden veya Google’ın CDN’inden ilgili arşiv dosyasını indirmektir. Go’nun farklı işletim sistemleri ve mimarileri için çeşitli sürümleri bulunur. Biz CentOS 7 üzerinde 64-bit Linux mimarisi için olan sürümü indireceğiz.
Go 1.7 İndirme Bağlantısını Bulma
Go’nun eski sürümleri genellikle storage.googleapis.com/golang adresinde barındırılır. Go 1.7’nin 64-bit Linux sürümü için doğru indirme bağlantısı aşağıdaki gibidir:
https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
Her zaman resmi kaynaklardan indirme yapmaya özen gösterin.
Wget ile İndirme
Yukarıdaki bağlantıyı kullanarak, wget komutu ile Go 1.7 arşiv dosyasını sunucunuza indirebilirsiniz. Genellikle, indirme işlemini kullanıcının ana dizininde ($HOME) veya geçici bir dizinde (/tmp) yapmak uygun olacaktır.
cd /tmp
wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
Bu komut, go1.7.linux-amd64.tar.gz adlı dosyayı /tmp dizinine indirecektir. İndirme işlemi tamamlandığında, ls komutu ile dosyanın indirildiğini doğrulayabilirsiniz.
Go Arşivini Çıkarma ve Kurulum
İndirme işlemi tamamlandıktan sonra, Go arşivini sisteminizdeki uygun bir konuma çıkarmanız gerekmektedir. Go kurulumları için standart ve önerilen dizin /usr/local‘dir. Bu dizin, sistem genelinde kullanılacak yazılımlar için ayrılmıştır.
Arşivi /usr/local Dizine Çıkarma
tar komutunu kullanarak indirilen go1.7.linux-amd64.tar.gz dosyasını /usr/local dizinine çıkaracağız. Bu işlem, Go kurulumunu /usr/local/go dizinine yerleştirecektir.
sudo tar -C /usr/local -xzf go1.7.linux-amd64.tar.gz
Bu komuttaki bayrakların anlamları şunlardır:
* -C /usr/local: Arşivin /usr/local dizinine çıkarılmasını belirtir.
* -x: Arşivi çıkar (extract) anlamına gelir.
* -z: Gzip sıkıştırmasını kullan anlamına gelir (dosya .gz uzantılı olduğu için).
* -f: Arşiv dosyasını belirtir (go1.7.linux-amd64.tar.gz).
Bu komutun ardından, Go’nun tüm dosyaları ve dizinleri /usr/local/go altında bulunacaktır. Bu dizinin içeriğini ls /usr/local/go komutu ile kontrol edebilirsiniz.
Ortam Değişkenlerini Yapılandırma
Go’nun sisteminizde doğru şekilde çalışabilmesi için bazı ortam değişkenlerinin ayarlanması gerekmektedir. Bu değişkenler, Go derleyicisinin ve araçlarının nerede olduğunu, ayrıca Go projelerinizin nerede depolanacağını belirtir.
Gerekli Ortam Değişkenleri
Üç temel ortam değişkeni vardır:
1. GOROOT: Bu değişken, Go’nun yüklendiği kök dizini işaret eder. Bizim durumumuzda bu /usr/local/go olacaktır.
2. GOPATH: Bu değişken, Go çalışma alanınızın kök dizinini belirtir. Go projeleriniz, kaynak kodlarınız, derlenmiş ikili dosyalarınız ve paketleriniz bu dizin altında düzenlenir. Genellikle kullanıcının ana dizininde bir go klasörü ($HOME/go) olarak ayarlanır. GOPATH dizini altında üç ana alt dizin bulunur:
* src: Kaynak kod dosyalarınızı (Go projeleriniz) içerir.
* pkg: Derlenmiş paket dosyalarını içerir.
* bin: Go araçları tarafından derlenen çalıştırılabilir ikili dosyaları içerir.
3. PATH: Bu değişken, sistemin çalıştırılabilir komutları aradığı dizinlerin bir listesidir. Go komutlarını (örneğin, go build, go run, go install) herhangi bir dizinden çalıştırabilmek için GOROOT/bin ve GOPATH/bin dizinlerini PATH değişkenine eklememiz gerekmektedir.
Ortam Değişkenlerini Kalıcı Hale Getirme
Ortam değişkenlerini geçici olarak ayarlayabilirsiniz (mevcut oturum için), ancak sistem yeniden başlatıldığında veya yeni bir oturum açtığınızda kaybolurlar. Bu nedenle, bu değişkenleri kalıcı hale getirmek önemlidir. Bunun için birkaç yöntem vardır:
* Tüm kullanıcılar için (/etc/profile.d/go.sh): Bu yöntem, sisteme giriş yapan tüm kullanıcılar için Go ortam değişkenlerini ayarlar. Bu, sunucunuzda birden fazla Go geliştiricisinin çalışacağı durumlarda idealdir.
* Belirli bir kullanıcı için (~/.bash_profile veya ~/.bashrc): Bu yöntem, sadece belirli bir kullanıcının Go ortam değişkenlerini ayarlar.
En iyi uygulama, sistem genelinde bir yapılandırma dosyası oluşturmaktır. Bunun için /etc/profile.d dizini kullanılır. Bu dizindeki .sh uzantılı dosyalar, sistem açılışında veya yeni bir kabuk oturumu başlatıldığında otomatik olarak çalıştırılır.
1. go.sh dosyasını oluşturma:
Aşağıdaki komut ile /etc/profile.d/go.sh adında yeni bir dosya oluşturun veya mevcutsa düzenleyin:
sudo vi /etc/profile.d/go.sh
(Eğer vi kullanmakta zorlanıyorsanız nano gibi daha basit bir metin düzenleyici kullanabilirsiniz: sudo nano /etc/profile.d/go.sh)
2. Dosyanın içeriğini ekleme:
Açılan dosyaya aşağıdaki satırları ekleyin:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
* export GOROOT=/usr/local/go: Go’nun ana kurulum dizinini belirtir.
* export GOPATH=$HOME/go: Kullanıcının ana dizininde bir go klasörünü Go çalışma alanı olarak ayarlar. Eğer farklı bir konum istiyorsanız, bu satırı buna göre değiştirebilirsiniz (örneğin, /opt/go-projects).
* export PATH=$PATH:$GOROOT/bin:$GOPATH/bin: Mevcut PATH değişkenine Go’nun çalıştırılabilir dosyalarının bulunduğu dizinleri ekler. Bu, go komutlarını doğrudan terminalden çalıştırmanıza olanak tanır.
3. Dosyayı kaydetme ve çıkma:
vi kullanıyorsanız: ESC tuşuna basın, ardından :wq yazıp Enter tuşuna basın.
nano kullanıyorsanız: Ctrl+X tuşlarına basın, Y ile kaydetmeyi onaylayın ve Enter tuşuna basın.
4. Değişiklikleri Uygulama:
Ortam değişkenlerinin hemen geçerli olması için, yeni oluşturduğunuz yapılandırma dosyasını mevcut kabuk oturumunuza kaynak olarak göstermeniz gerekir:
source /etc/profile.d/go.sh
Alternatif olarak, oturumu kapatıp tekrar açabilir veya sunucuyu yeniden başlatabilirsiniz.
Kurulumu Doğrulama
Ortam değişkenlerini ayarladıktan ve uyguladıktan sonra, Go 1.7’nin doğru bir şekilde kurulup kurulmadığını ve sistem tarafından tanınıp tanınmadığını doğrulamamız gerekir.
Go Sürümünü Kontrol Etme
Go kurulumunun başarılı olup olmadığını kontrol etmenin en basit yolu, go version komutunu çalıştırmaktır:
go version
Eğer kurulum başarılıysa, aşağıdaki gibi bir çıktı görmelisiniz:
go version go1.7 linux/amd64
Bu çıktı, Go 1.7’nin 64-bit Linux sisteminizde başarıyla tanındığını gösterir. Eğer command not found hatası alıyorsanız, PATH değişkeninizin doğru ayarlanıp ayarlanmadığını kontrol etmelisiniz.
Ortam Değişkenlerini Kontrol Etme
Go’nun ortam değişkenlerinin doğru ayarlanıp ayarlanmadığını kontrol etmek için go env komutunu kullanabilirsiniz:
go env
Bu komut, Go’nun kullandığı tüm ortam değişkenlerinin bir listesini gösterecektir. Çıktıda GOROOT ve GOPATH değişkenlerinin yukarıda ayarladığınız değerlere sahip olduğundan emin olun. Örneğin:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/kullanici_adiniz/go" # Kendi kullanıcı adınızla
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build068945672=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
Burada GOPATH ve GOROOT değerlerinin doğru olduğunu kontrol edin.
Basit Bir Go Programı Çalıştırma
Kurulumun ve ortam değişkenlerinin doğru çalıştığından emin olmak için basit bir “Merhaba Dünya” Go programı yazıp derleyelim ve çalıştıralım. Bu adım, Go geliştirme ortamınızın tamamen işlevsel olduğunu doğrulayacaktır.
GOPATH Dizin Yapısını Oluşturma
Go projelerinizi düzenli tutmak için GOPATH altında bir dizin yapısı oluşturmanız gerekir. Standart Go projesi yapısı src, pkg ve bin dizinlerini içerir. Bizim projemiz için src dizini altında bir hello klasörü oluşturacağız.
mkdir -p $HOME/go/src/hello
Bu komut, $HOME/go dizini yoksa oluşturacak, ardından src ve hello dizinlerini de oluşturacaktır.
Go Kaynak Dosyası Oluşturma
Şimdi hello dizini içine hello.go adında bir dosya oluşturalım:
vi $HOME/go/src/hello/hello.go
Dosyanın içine aşağıdaki Go kodunu yapıştırın:
package main
import "fmt"
func main() {
fmt.Println("Merhaba, Go 1.7 CentOS 7 üzerinde çalışıyor!")
}
Bu basit program, main paketinde fmt paketini kullanarak konsola bir mesaj yazdırır.
Programı Derleme ve Çalıştırma
Go programını derlemek ve çalıştırmak için çeşitli yollar vardır.
1. go run ile doğrudan çalıştırma:
Bu, küçük programları hızlıca test etmek için kullanışlıdır. Kaynak dosyanın bulunduğu dizine gidin ve go run komutunu kullanın:
cd $HOME/go/src/hello
go run hello.go
Çıktı olarak şunu görmelisiniz:
Merhaba, Go 1.7 CentOS 7 üzerinde çalışıyor!
2. go install ile derleme ve GOPATH/bin‘den çalıştırma:
Bu yöntem, projenizi derler ve çalıştırılabilir ikili dosyayı $GOPATH/bin dizinine yerleştirir. Bu, programınızı sisteminizde herhangi bir yerden çalıştırılabilir hale getirir.
cd $HOME/go/src/hello
go install
Bu komut, hello adında bir çalıştırılabilir dosya oluşturacak ve $GOPATH/bin dizinine kopyalayacaktır. Şimdi bu programı herhangi bir dizinden çalıştırabilirsiniz (çünkü $GOPATH/bin değişkenini PATH‘e ekledik):
hello
Veya tam yoluyla:
$GOPATH/bin/hello
Her iki durumda da çıktı aynı olacaktır:
Merhaba, Go 1.7 CentOS 7 üzerinde çalışıyor!
Bu adımların başarıyla tamamlanması, Go 1.7 geliştirme ortamınızın CentOS 7 üzerinde tamamen kurulduğunu ve işlevsel olduğunu gösterir.
Go 1.7’nin Özellikleri ve Neden Hala Kullanılıyor Olabilir?
Go 1.7, 16 Ağustos 2016’da piyasaya sürülen önemli bir sürümdü. Go’nun gelişiminde kritik bir aşamayı temsil ediyordu ve dilin olgunlaşmasına katkıda bulunan çeşitli performans iyileştirmeleri ve yeni özellikler getirdi. Her ne kadar günümüzde Go’nun daha yeni sürümleri mevcut olsa da, Go 1.7’nin hala kullanılıyor olmasının bazı geçerli nedenleri olabilir.
Go 1.7’nin Önemli Özellikleri
* Derleyici İyileştirmeleri: Go 1.7, derleyicide önemli performans iyileştirmeleri içeriyordu. Özellikle SSA (Static Single Assignment) formuna geçiş, derleme hızında artış ve üretilen ikili dosyaların daha optimize olmasını sağladı. Bu, Go’nun zaten hızlı olan derleme sürelerini daha da kısalttı ve daha verimli kodlar üretilmesine olanak tanıdı.
* context Paketi İçin Daha İyi Destek: context paketi, Go’da API’ler arası ve süreçler arası isteklerin iptali, zaman aşımı ve değer geçişi için standart bir yol sağlar. Go 1.7, bu paketin dil ve standart kütüphane ile daha iyi entegrasyonunu sağladı, bu da özellikle uzun süreli ağ istekleri ve mikro hizmet mimarileri için kritikti.
* Yeni Platform Desteği: Go 1.7, 64-bit IBM Power (ppc64, ppc64le) ve 64-bit MIPS (mips64, mips64le) mimarileri için deneysel destek ekledi. Bu, Go’nun daha geniş bir donanım yelpazesinde çalışabilmesini sağladı.
* Standart Kütüphane Geliştirmeleri: net/http paketi gibi birçok standart kütüphane paketi iyileştirmeler aldı. Örneğin, HTTP/2 sunucu push desteği ve daha iyi TLS yapılandırma seçenekleri eklendi.
* Daha Küçük İkili Dosyalar: Derleyici optimizasyonları sayesinde, Go 1.7 ile derlenen ikili dosyaların boyutları genellikle önceki sürümlere göre daha küçüktü, bu da dağıtım ve depolama maliyetlerini azaltıyordu.
Neden Hala Go 1.7 Kullanılıyor Olabilir?
1. Eski Projelerle Uyumluluk: Bazı büyük veya uzun ömürlü projeler, belirli Go sürümleriyle geliştirilmiş ve test edilmiştir. Bu projelerin bağımlılıkları veya iç mantıkları Go 1.7’ye özel olabilir. Daha yeni bir Go sürümüne geçmek, beklenmedik hatalara veya uyumluluk sorunlarına yol açabileceği için, projenin mevcut Go sürümünde kalması tercih edilebilir.
2. Belirli Bağımlılıklar: Bir projenin kullandığı üçüncü taraf kütüphaneler veya çerçeveler, Go 1.7 ile en iyi şekilde çalışacak şekilde tasarlanmış veya sadece bu sürümde test edilmiş olabilir. Bu tür durumlarda, Go sürümünü değiştirmek, bu bağımlılıkların güncellenmesini veya alternatiflerinin bulunmasını gerektirebilir ki bu da önemli bir çaba demektir.
3. Stabilite ve Güvenilirlik: Go 1.7, piyasaya sürüldüğünde oldukça stabil ve performanslı bir sürümdü. Birçok kurumsal ortam, üretim sistemlerinde kanıtlanmış stabiliteye sahip sürümleri kullanmayı tercih eder. Eğer bir sistem Go 1.7 ile sorunsuz bir şekilde çalışıyorsa, “çalışan sistemi bozma” prensibi gereği güncellemeler ertelenebilir.
4. Kaynak Kısıtlamaları veya Öncelikler: Bir geliştirme ekibinin veya şirketin, mevcut projeleri daha yeni Go sürümlerine taşımak için yeterli zamanı, kaynağı veya önceliği olmayabilir. Bu tür durumlarda, Go 1.7 gibi eski bir sürümle devam etmek pratik bir çözüm olabilir.
5. Öğrenme veya Test Ortamları: Bazen belirli bir öğrenme materyali veya test senaryosu Go 1.7’yi gerektirebilir. Bu, özellikle eski eğitim kursları veya dokümantasyonlar için geçerli olabilir.
Özetle, Go 1.7, derleyici optimizasyonları ve context paketi desteği gibi önemli iyileştirmelerle Go ekosistemine değerli katkılar sağlamış bir sürümdür. Bugün hala kullanılıyor olması, genellikle eski projelerin bakımını yapmak, belirli bağımlılıkları desteklemek veya mevcut stabil bir ortamı sürdürmek gibi pratik nedenlere dayanmaktadır.
Go 1.7 Kurulumunun Bakımı ve Güncellemesi
Go 1.7’yi CentOS 7 üzerine kurmuş olsanız bile, zamanla sisteminizde Go ile ilgili farklı ihtiyaçlar ortaya çıkabilir. Bu bölüm, Go kurulumunuzun bakımı ve gelecekteki olası güncelleme senaryoları hakkında bilgi vermektedir.
Go Sürümlerini Güncelleme
Go 1.7’den sonra birçok yeni sürüm (1.8, 1.9, …, 1.22 gibi) yayınlanmıştır ve her yeni sürüm performans iyileştirmeleri, yeni dil özellikleri, standart kütüphane güncellemeleri ve hata düzeltmeleri getirmiştir. Eğer projenizin Go 1.7’ye olan bağımlılığı ortadan kalkarsa veya daha yeni özelliklerden faydalanmak isterseniz, Go sürümünüzü güncellemeniz gerekecektir.
Go’yu güncellemek genellikle mevcut kurulumu kaldırmayı ve yeni sürümü aynı adımları izleyerek kurmayı içerir:
1. Mevcut Go Kurulumunu Kaldırma: Mevcut Go 1.7 kurulumunu kaldırmak için basitçe /usr/local/go dizinini silebilirsiniz:
sudo rm -rf /usr/local/go
Ortam değişkenleri (örneğin /etc/profile.d/go.sh içindeki) yeni sürüm için geçerli olacağından, onları değiştirmenize gerek kalmayacaktır.
2. Yeni Sürümü İndirme ve Kurma: Go’nun resmi web sitesinden veya Google CDN’inden istediğiniz yeni sürümün .tar.gz dosyasını indirin (örneğin, go1.x.y.linux-amd64.tar.gz). Ardından, bu rehberdeki “Go Arşivini Çıkarma ve Kurulum” bölümündeki adımları tekrarlayarak yeni sürümü /usr/local dizinine çıkarın.
cd /tmp
wget https://storage.googleapis.com/golang/go1.X.Y.linux-amd64.tar.gz # Yeni sürümün URL'si
sudo tar -C /usr/local -xzf go1.X.Y.linux-amd64.tar.gz
3. Ortam Değişkenlerini Uygulama: source /etc/profile.d/go.sh komutu ile ortam değişkenlerini yeniden yükleyin veya yeni bir kabuk oturumu başlatın.
4. Kurulumu Doğrulama: go version komutu ile yeni sürümün doğru şekilde yüklendiğini kontrol edin.
Birden Fazla Go Sürümünü Yönetme
Bazı durumlarda, farklı projelerin farklı Go sürümleri gerektirmesi nedeniyle sisteminizde birden fazla Go sürümünü aynı anda bulundurmanız gerekebilir. Bu senaryo için gvm (Go Version Manager) gibi araçlar mevcuttur.
* gvm (Go Version Manager): gvm, birden fazla Go sürümünü aynı sistemde kolayca kurmanıza, yönetmenize ve aralarında geçiş yapmanıza olanak tanıyan bir komut satırı aracıdır. Eğer birden fazla Go sürümünü aktif olarak kullanmanız gerekiyorsa, gvm gibi bir araç kullanmayı düşünebilirsiniz. Bu, manuel kurulum ve kaldırma işlemlerinden çok daha esnek ve yönetilebilir bir çözüm sunar.
Bu rehber Go 1.7’nin spesifik kurulumuna odaklandığı için gvm kurulumuna girilmemiştir, ancak gelecekteki ihtiyaçlarınız için bir seçenek olarak aklınızda bulundurmanızda fayda vardır.
Sorun Giderme
Kurulum süreci genellikle sorunsuz ilerlese de, bazı yaygın sorunlarla karşılaşabilirsiniz. İşte karşılaşabileceğiniz bazı sorunlar ve olası çözümleri:
1. go: command not found Hatası
Bu hata, sisteminizin go komutunu bulamadığı anlamına gelir.
* Çözüm: PATH ortam değişkeninizin doğru ayarlandığından emin olun.
* echo $PATH komutunu çalıştırın ve çıktıda /usr/local/go/bin ve $HOME/go/bin dizinlerinin olup olmadığını kontrol edin.
* Eğer eksiklerse, /etc/profile.d/go.sh dosyasını kontrol edin ve export PATH=$PATH:$GOROOT/bin:$GOPATH/bin satırının doğru olduğundan emin olun.
* Dosyayı düzenledikten sonra source /etc/profile.d/go.sh komutu ile değişiklikleri uygulayın veya oturumu kapatıp tekrar açın.
2. GOPATH veya GOROOT Yanlış Ayarlanmış
go env komutu çıktısında GOPATH veya GOROOT değişkenlerinin beklediğiniz değerleri göstermemesi.
* Çözüm: /etc/profile.d/go.sh dosyasındaki export GOROOT=/usr/local/go ve export GOPATH=$HOME/go satırlarını kontrol edin. Gerekirse düzeltin ve source /etc/profile.d/go.sh ile tekrar uygulayın.
3. İzin Sorunları (permission denied)
tar komutunu çalıştırırken veya Go projelerinizi derlerken izin hataları alabilirsiniz.
* Çözüm: tar komutunu çalıştırırken sudo kullandığınızdan emin olun (sudo tar -C /usr/local -xzf ...).
* Eğer $HOME/go dizini altında dosya oluştururken sorun yaşıyorsanız, dizinin sahipliğini kontrol edin: ls -ld $HOME/go. Eğer yanlış bir kullanıcıya aitse, sahipliği kendi kullanıcınıza aktarın: sudo chown -R $USER:$USER $HOME/go.
4. İnternet Bağlantısı Sorunları
wget komutu ile Go arşivini indiremezseniz.
* Çözüm: Sunucunuzun internete erişimi olduğundan emin olun. ping google.com gibi bir komutla bağlantıyı test edebilirsiniz.
* Proxy ayarları gerekiyorsa, wget komutunu çalıştırmadan önce proxy değişkenlerini ayarlayın (örneğin, export http_proxy="http://proxy.example.com:8080").
5. Eksik Bağımlılıklar (Derleme Hataları)
Go programlarını derlerken derleyici ile ilgili hatalar alıyorsanız (örneğin, CGO ile ilgili).
* Çözüm: Go, bazı C tabanlı kütüphanelerle etkileşim kurmak için C derleyicisine ihtiyaç duyabilir. Gerekirse gcc gibi temel derleme araçlarını kurun:
sudo yum install -y gcc
Bu sorun giderme adımları, çoğu yaygın Go kurulum problemine çözüm sunmalıdır. Eğer hala sorun yaşıyorsanız, Go topluluk forumlarına veya Stack Overflow gibi platformlara başvurarak daha spesifik yardım alabilirsiniz.
Sonuç
Bu kapsamlı rehberde, Go programlama dilinin 1.7 sürümünü CentOS 7 işletim sistemi üzerine adım adım nasıl kuracağınızı detaylı bir şekilde ele aldık. Kurulum öncesi ön gereksinimlerin hazırlanmasından, Go arşivinin indirilip sisteminize yerleştirilmesine, ortam değişkenlerinin doğru bir şekilde yapılandırılmasına ve kurulumun doğrulanmasına kadar her aşamayı ayrıntılı olarak inceledik. Ayrıca, basit bir Go programı yazıp derleyerek ve çalıştırarak Go geliştirme ortamınızın tamamen işlevsel olduğunu gösterdik.
Go 1.7’nin neden hala bazı senaryolarda tercih edilebileceğine dair bağlamsal bilgiler sunarak, derleyici optimizasyonları ve context paketi gibi önemli özelliklerine değindik. Son olarak, Go kurulumunuzun bakımı, gelecekteki güncellemeler ve karşılaşabileceğiniz yaygın sorunlara yönelik çözüm önerileri sunduk.
Artık CentOS 7 sunucunuzda Go 1.7 geliştirme ortamınız hazır ve çalışır durumda. Bu kurulum, eski Go projelerini yönetmek veya belirli bir sürüm bağımlılığı olan yazılımları çalıştırmak için sağlam bir temel sağlayacaktır. Go’nun güçlü eşzamanlılık yetenekleri, basit sözdizimi ve yüksek performansı sayesinde, sunucunuzda verimli ve ölçeklenebilir uygulamalar geliştirmeye başlayabilirsiniz. Go topluluğu oldukça aktif ve geniş bir kaynak yelpazesi sunmaktadır. Resmi Go dokümantasyonu (go.dev), Go blogları ve çeşitli açık kaynak projeler, Go öğrenme ve geliştirme yolculuğunuzda size rehberlik edecektir. Başarılı Go geliştirmeleri dileriz!