{"id":37174,"date":"2025-12-28T12:40:49","date_gmt":"2025-12-28T09:40:49","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37174"},"modified":"2025-12-28T12:40:49","modified_gmt":"2025-12-28T09:40:49","slug":"ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/","title":{"rendered":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi<\/h2>\n<p>Rust, modern sistem programlama i\u00e7in tasarlanm\u0131\u015f, performans, g\u00fcvenlik ve e\u015fzamanl\u0131l\u0131k konular\u0131nda iddial\u0131 bir programlama dilidir. Geli\u015ftiricilere bellek g\u00fcvenli\u011fi garantileri sunarken C ve C++ gibi dillerin performans\u0131na yakla\u015fma imkan\u0131 tan\u0131r. Bu \u00f6zellikleriyle, i\u015fletim sistemleri, oyun motorlar\u0131, web taray\u0131c\u0131lar\u0131, g\u00f6m\u00fcl\u00fc sistemler ve hatta web servisleri gibi geni\u015f bir yelpazede kullan\u0131lmaktad\u0131r. Ubuntu 20.04, kararl\u0131 yap\u0131s\u0131 ve geni\u015f kullan\u0131c\u0131 taban\u0131 sayesinde Rust geli\u015ftirmek i\u00e7in pop\u00fcler bir platformdur. Bu kapsaml\u0131 rehberde, Ubuntu 20.04 i\u015fletim sistemi \u00fczerine Rust programlama dilini ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, y\u00f6netece\u011finizi ve ilk program\u0131n\u0131z\u0131 nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<h3>Rust Programlama Diline Giri\u015f ve Neden Ubuntu 20.04?<\/h3>\n<p>Rust, Mozilla taraf\u0131ndan geli\u015ftirilen ve 2015 y\u0131l\u0131nda ilk kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc yay\u0131nlayan a\u00e7\u0131k kaynakl\u0131 bir programlama dilidir. Temel felsefesi &#8220;s\u0131f\u0131r maliyetli soyutlamalar&#8221; ve &#8220;veri yar\u0131\u015flar\u0131n\u0131 derleme zaman\u0131nda yakalamak&#8221; \u00fczerine kuruludur. Bu sayede, geleneksel olarak manuel bellek y\u00f6netimi gerektiren dillerdeki yayg\u0131n hatalar\u0131n \u00f6n\u00fcne ge\u00e7ilirken, \u00e7\u00f6p toplama (garbage collection) ihtiyac\u0131n\u0131 ortadan kald\u0131rarak y\u00fcksek performans elde edilir. Rust&#8217;\u0131n benzersiz sahiplik (ownership) sistemi, \u00f6d\u00fcn\u00e7 alma (borrowing) kurallar\u0131 ve \u00f6m\u00fcrler (lifetimes) kavramlar\u0131, derleyicinin \u00e7al\u0131\u015fma zaman\u0131 hatalar\u0131n\u0131 derleme zaman\u0131nda yakalamas\u0131na olanak tan\u0131r, bu da daha g\u00fcvenli ve kararl\u0131 yaz\u0131l\u0131mlar \u00fcretilmesini sa\u011flar.<\/p>\n<p>Rust&#8217;\u0131n pop\u00fclaritesi, \u00f6zellikle a\u015fa\u011f\u0131daki alanlarda h\u0131zla artmaktad\u0131r:<\/p>\n<p>*   <strong>Sistem Programlama:<\/strong> \u0130\u015fletim sistemleri \u00e7ekirdekleri, s\u00fcr\u00fcc\u00fcler ve d\u00fc\u015f\u00fck seviyeli a\u011f programlama.<br \/>\n*   <strong>WebAssembly (Wasm):<\/strong> Taray\u0131c\u0131da y\u00fcksek performansl\u0131 uygulamalar \u00e7al\u0131\u015ft\u0131rmak i\u00e7in.<br \/>\n*   <strong>Komut Sat\u0131r\u0131 Ara\u00e7lar\u0131 (CLI):<\/strong> H\u0131zl\u0131 ve g\u00fcvenilir terminal uygulamalar\u0131 geli\u015ftirmek.<br \/>\n*   <strong>Web Servisleri:<\/strong> Y\u00fcksek performansl\u0131 ve \u00f6l\u00e7eklenebilir backend servisleri.<br \/>\n*   <strong>G\u00f6m\u00fcl\u00fc Sistemler:<\/strong> Kaynak k\u0131s\u0131tl\u0131 cihazlar i\u00e7in g\u00fcvenli ve verimli kod.<\/p>\n<p>Ubuntu 20.04 LTS (Focal Fossa), uzun s\u00fcreli destek (Long Term Support) sunan, kararl\u0131 ve yayg\u0131n olarak kullan\u0131lan bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Hem sunucu ortamlar\u0131nda hem de geli\u015ftirme i\u015f istasyonlar\u0131nda tercih edilen bir i\u015fletim sistemidir. Bu nedenle, Rust geli\u015ftirme ortam\u0131n\u0131z\u0131 Ubuntu 20.04 \u00fczerine kurmak, kararl\u0131 bir temel ve geni\u015f bir topluluk deste\u011fi sunar. Bu rehberde, Rust&#8217;\u0131 kurmak i\u00e7in \u00f6nerilen y\u00f6ntem olan <code>rustup<\/code> arac\u0131n\u0131 kullanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc bu ara\u00e7 Rust derleyicisini, Cargo paket y\u00f6neticisini ve di\u011fer geli\u015ftirme ara\u00e7lar\u0131n\u0131 y\u00f6netmek i\u00e7in en esnek ve g\u00fcncel yolu sunar.<\/p>\n<h3>Rust Kurulumu \u0130\u00e7in \u00d6n Gereksinimler<\/h3>\n<p>Rust&#8217;\u0131 Ubuntu 20.04 sisteminize kurmadan \u00f6nce, sorunsuz bir kurulum s\u00fcreci sa\u011flamak i\u00e7in baz\u0131 \u00f6n gereksinimleri kar\u015f\u0131laman\u0131z gerekmektedir.<\/p>\n<h4>Temel Sistem G\u00fcncellemesi<\/h4>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin paket listesini g\u00fcncelleyip mevcut paketleri y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, herhangi bir ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmas\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur ve en son g\u00fcvenlik g\u00fcncellemelerini alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Terminalinizi a\u00e7\u0131n (Ctrl+Alt+T) ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p><code>sudo apt update<\/code> komutu, yerel paket indeksinizi g\u00fcncellerken, <code>sudo apt upgrade -y<\/code> komutu y\u00fckl\u00fc paketlerinizi y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm y\u00fckseltme onaylar\u0131n\u0131 otomatik olarak &#8220;evet&#8221; olarak kabul eder.<\/p>\n<h4>Gerekli Derleme Ara\u00e7lar\u0131 ve Ba\u011f\u0131ml\u0131l\u0131klar<\/h4>\n<p>Rust, kendi kodunu derlemek ve Rust projelerini olu\u015fturmak i\u00e7in baz\u0131 temel derleme ara\u00e7lar\u0131na ihtiya\u00e7 duyar. \u00d6zellikle <code>build-essential<\/code> paketi, GCC derleyicisi, make ve di\u011fer \u00f6nemli geli\u015ftirme k\u00fct\u00fcphanelerini i\u00e7erir. Ayr\u0131ca, Rust&#8217;\u0131 indirmek i\u00e7in <code>curl<\/code> arac\u0131na da ihtiyac\u0131m\u0131z olacak.<\/p>\n<p>A\u015fa\u011f\u0131daki komutla bu gerekli ara\u00e7lar\u0131 y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install build-essential curl -y<\/code><\/pre>\n<p>Bu komut, sisteminizde Rust projelerini derlemek i\u00e7in gerekli olan t\u00fcm temel bile\u015fenlerin bulunmas\u0131n\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h4>\u0130nternet Ba\u011flant\u0131s\u0131 ve Sudo Yetkileri<\/h4>\n<p>Rust kurulumu internet \u00fczerinden ger\u00e7ekle\u015fti\u011fi i\u00e7in aktif bir internet ba\u011flant\u0131n\u0131z\u0131n olmas\u0131 gerekmektedir. Ayr\u0131ca, sistem genelinde de\u011fi\u015fiklikler yapaca\u011f\u0131n\u0131zdan dolay\u0131 <code>sudo<\/code> (super user do) yetkilerine sahip bir kullan\u0131c\u0131 olman\u0131z \u015fartt\u0131r. Genellikle Ubuntu&#8217;da olu\u015fturdu\u011funuz ilk kullan\u0131c\u0131 varsay\u0131lan olarak <code>sudo<\/code> yetkilerine sahiptir.<\/p>\n<h3>Rust Kurulumu: \u00d6nerilen Y\u00f6ntem (<code>rustup<\/code> ile)<\/h3>\n<p><code>rustup<\/code>, Rust derleyici, Cargo ve di\u011fer ara\u00e7lar\u0131 y\u00f6netmek i\u00e7in resmi ve \u00f6nerilen y\u00f6ntemdir. Birden fazla Rust s\u00fcr\u00fcm\u00fcn\u00fc (kararl\u0131, beta, nightly) kolayca kurman\u0131za, g\u00fcncellemenize ve bunlar aras\u0131nda ge\u00e7i\u015f yapman\u0131za olanak tan\u0131r. Bu, \u00f6zellikle farkl\u0131 projeler i\u00e7in farkl\u0131 Rust s\u00fcr\u00fcmlerine ihtiyac\u0131n\u0131z oldu\u011funda veya en son \u00f6zelliklere eri\u015fmek istedi\u011finizde son derece kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h4><code>rustup<\/code> \u0130ndirme ve Kurulumu<\/h4>\n<p><code>rustup<\/code> kurulumu, tek bir komutla ger\u00e7ekle\u015ftirilir ve basit bir etkile\u015fimli s\u00fcre\u00e7le tamamlan\u0131r.<\/p>\n<p>1.  <strong><code>rustup<\/code> Kurulum Komutunu \u00c7al\u0131\u015ft\u0131r\u0131n:<\/strong><br \/>\n    A\u015fa\u011f\u0131daki <code>curl<\/code> komutunu kullanarak <code>rustup<\/code> kurulum beti\u011fini indirin ve \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">curl --proto '=https' --tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh<\/code><\/pre>\n<p>    Bu komutun detaylar\u0131:<br \/>\n    *   <code>curl<\/code>: URL&#8217;lerden veri indirmek i\u00e7in kullan\u0131lan bir ara\u00e7.<br \/>\n    *   <code>--proto '=https' --tlsv1.2<\/code>: G\u00fcvenli bir HTTPS ba\u011flant\u0131s\u0131 kullan\u0131lmas\u0131n\u0131 ve TLS 1.2 s\u00fcr\u00fcm\u00fcn\u00fcn zorlanmas\u0131n\u0131 sa\u011flar. Bu, indirmenin g\u00fcvenli\u011fini art\u0131r\u0131r.<br \/>\n    *   <code>-sSf<\/code>:<br \/>\n        *   <code>-s<\/code>: Sessiz mod (ilerleme \u00e7ubu\u011funu veya hata mesajlar\u0131n\u0131 g\u00f6stermez).<br \/>\n        *   <code>-S<\/code>: Hata durumunda hata mesajlar\u0131n\u0131 g\u00f6sterir (sessiz mod ile birlikte kullan\u0131ld\u0131\u011f\u0131nda).<br \/>\n        *   <code>-f<\/code>: Sunucu hatas\u0131 durumunda sessizce ba\u015far\u0131s\u0131z olur (yani, HTTP hata kodlar\u0131 d\u00f6nd\u00fc\u011f\u00fcnde).<br \/>\n    *   <code>https:\/\/sh.rustup.rs<\/code>: <code>rustup<\/code> kurulum beti\u011finin URL&#8217;si.<br \/>\n    *   <code>| sh<\/code>: \u0130ndirilen beti\u011fi do\u011frudan <code>sh<\/code> (Bourne shell) ile \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<p>2.  <strong>Kurulum Se\u00e7eneklerini Belirleyin:<\/strong><br \/>\n    Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>rustup<\/code> size kurulum se\u00e7eneklerini sunacakt\u0131r. Genellikle varsay\u0131lan se\u00e7enekleri kabul etmek en iyisidir.<\/p>\n<pre><code class=\"language-\">Welcome to Rust!\n\n    This will download and install the official compiler for the Rust programming language,\n    and its package manager, Cargo.\n\n    It will add the cargo, rustc, rustup and other commands to\n    your PATH environment variable.\n\n    To start using Rust, you'll need to run:\n      source $HOME\/.cargo\/env\n\n    This can be configured in your .bashrc or .zshrc file.\n\n    1) Proceed with installation (default)\n    2) Customize installation\n    3) Cancel installation<\/code><\/pre>\n<p>    Varsay\u0131lan kurulum (se\u00e7enek <code>1<\/code>), Rust&#8217;\u0131n en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc ve Cargo&#8217;yu y\u00fckleyecektir. Genellikle bu, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in en uygun se\u00e7enektir. Enter tu\u015funa basarak veya <code>1<\/code> yaz\u0131p Enter&#8217;a basarak varsay\u0131lan kurulumu se\u00e7in.<\/p>\n<p>    Kurulum tamamland\u0131\u011f\u0131nda, a\u015fa\u011f\u0131daki gibi bir \u00e7\u0131kt\u0131 g\u00f6receksiniz:<\/p>\n<pre><code class=\"language-\">Rust is installed now. Great!\n\n    To get started you may need to restart your current shell.\n    This would reload your PATH environment variable to include Cargo's bin directory.\n\n    Alternatively, you can run this in your current shell to update your PATH:\n      source $HOME\/.cargo\/env<\/code><\/pre>\n<h4>Ortam De\u011fi\u015fkenlerini Yap\u0131land\u0131rma<\/h4>\n<p><code>rustup<\/code> kurulumu, Rust ara\u00e7lar\u0131n\u0131n (\u00f6rne\u011fin <code>rustc<\/code>, <code>cargo<\/code>, <code>rustup<\/code>) \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyalar\u0131n\u0131 <code>$HOME\/.cargo\/bin<\/code> dizinine yerle\u015ftirir. Bu dizinin sisteminizin <code>PATH<\/code> ortam de\u011fi\u015fkenine eklenmesi gerekir, b\u00f6ylece bu komutlar\u0131 herhangi bir dizinden do\u011frudan \u00e7al\u0131\u015ft\u0131rabilirsiniz. Kurulum beti\u011fi size bunu nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 s\u00f6yler:<\/p>\n<pre><code class=\"language-bash\">source $HOME\/.cargo\/env<\/code><\/pre>\n<p>Bu komutu mevcut terminal oturumunuzda \u00e7al\u0131\u015ft\u0131r\u0131n. Bu, <code>PATH<\/code> de\u011fi\u015fkeninizi g\u00fcncelleyecek ve Rust ara\u00e7lar\u0131n\u0131 hemen kullanmaya ba\u015flayabileceksiniz.<\/p>\n<p><strong>\u00d6nemli:<\/strong> Bu komut, yaln\u0131zca mevcut terminal oturumu i\u00e7in ge\u00e7erlidir. Her yeni terminal oturumu a\u00e7t\u0131\u011f\u0131n\u0131zda bu komutu tekrar \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir. Bu durumu kal\u0131c\u0131 hale getirmek i\u00e7in, komutu kabuk yap\u0131land\u0131rma dosyan\u0131za (\u00f6rne\u011fin <code>~\/.bashrc<\/code> veya <code>~\/.zshrc<\/code>) eklemeniz \u00f6nerilir.<\/p>\n<p><code>~\/.bashrc<\/code> dosyas\u0131n\u0131 d\u00fczenlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nano ~\/.bashrc<\/code><\/pre>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-bash\">source $HOME\/.cargo\/env<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin (Ctrl+O, Enter) ve <code>nano<\/code>dan \u00e7\u0131k\u0131n (Ctrl+X). Ard\u0131ndan, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in <code>~\/.bashrc<\/code> dosyas\u0131n\u0131 kaynaklay\u0131n veya terminalinizi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>Art\u0131k her yeni terminal oturumunda Rust ara\u00e7lar\u0131 otomatik olarak <code>PATH<\/code>&#8216;inizde olacakt\u0131r.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Rust&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu ve ortam de\u011fi\u015fkenlerinin do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in <code>rustc<\/code> (Rust derleyicisi) ve <code>cargo<\/code> (Rust paket y\u00f6neticisi) s\u00fcr\u00fcmlerini kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustc --version\ncargo --version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131lar, y\u00fckl\u00fc Rust ve Cargo s\u00fcr\u00fcmlerini g\u00f6stermelidir, \u00f6rne\u011fin:<\/p>\n<pre><code class=\"language-\">rustc 1.70.0 (90c541806 2023-05-31)\ncargo 1.70.0 (6503c626c 2023-05-27)<\/code><\/pre>\n<p>E\u011fer bu komutlar s\u00fcr\u00fcmleri ba\u015far\u0131yla g\u00f6steriyorsa, Rust geli\u015ftirme ortam\u0131n\u0131z Ubuntu 20.04 sisteminize ba\u015far\u0131yla kurulmu\u015f demektir!<\/p>\n<h3>Rust S\u00fcr\u00fcmlerini <code>rustup<\/code> ile Y\u00f6netme<\/h3>\n<p><code>rustup<\/code> sadece Rust&#8217;\u0131 kurmakla kalmaz, ayn\u0131 zamanda farkl\u0131 Rust s\u00fcr\u00fcmlerini (toolchain&#8217;leri) y\u00f6netmek i\u00e7in de g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu, \u00f6zellikle farkl\u0131 projeler i\u00e7in belirli Rust s\u00fcr\u00fcmlerine ihtiyac\u0131n\u0131z oldu\u011funda veya en son &#8220;nightly&#8221; \u00f6zelliklerini denemek istedi\u011finizde \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h4>Rust&#8217;\u0131 G\u00fcncelleme<\/h4>\n<p>Rust geli\u015ftirme ekibi, genellikle her alt\u0131 haftada bir yeni kararl\u0131 s\u00fcr\u00fcm yay\u0131nlar. <code>rustup<\/code> ile Rust kurulumunuzu en son kararl\u0131 s\u00fcr\u00fcme g\u00fcncellemek \u00e7ok kolayd\u0131r:<\/p>\n<pre><code class=\"language-bash\">rustup update<\/code><\/pre>\n<p>Bu komut, mevcut t\u00fcm kurulu toolchain&#8217;leri g\u00fcncelleyecektir. E\u011fer sadece belirli bir toolchain&#8217;i g\u00fcncellemek isterseniz, <code>rustup update stable<\/code> veya <code>rustup update nightly<\/code> gibi komutlar kullanabilirsiniz.<\/p>\n<h4>Farkl\u0131 Toolchain&#8217;ler Kurma<\/h4>\n<p>Rust&#8217;\u0131n \u00fc\u00e7 ana s\u00fcr\u00fcm\u00fc (toolchain&#8217;i) vard\u0131r:<br \/>\n*   <strong>stable (kararl\u0131):<\/strong> \u00c7o\u011fu geli\u015ftirme i\u00e7in \u00f6nerilen, en g\u00fcvenilir ve test edilmi\u015f s\u00fcr\u00fcmd\u00fcr.<br \/>\n*   <strong>beta:<\/strong> Bir sonraki kararl\u0131 s\u00fcr\u00fcm\u00fcn \u00f6nizlemesi. Kararl\u0131 hale gelmeden \u00f6nce yeni \u00f6zelliklerin test edilmesi i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>nightly (gecelik):<\/strong> Geli\u015ftirme a\u015famas\u0131ndaki en son \u00f6zelliklere ve de\u011fi\u015fikliklere sahip, her gece otomatik olarak derlenen s\u00fcr\u00fcmd\u00fcr. Deney yapmak ve en yeni \u00f6zellikleri kullanmak i\u00e7in kullan\u0131l\u0131r, ancak karars\u0131z olabilir.<\/p>\n<p>Belirli bir toolchain&#8217;i kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rustup install beta\nrustup install nightly<\/code><\/pre>\n<p>Ayr\u0131ca, belirli bir kararl\u0131 s\u00fcr\u00fcm\u00fc de kurabilirsiniz, \u00f6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">rustup install 1.60.0<\/code><\/pre>\n<h4>Varsay\u0131lan Toolchain&#8217;i De\u011fi\u015ftirme<\/h4>\n<p>Birden fazla toolchain kurduktan sonra, varsay\u0131lan olarak hangi toolchain&#8217;in kullan\u0131laca\u011f\u0131n\u0131 belirleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustup default stable\nrustup default nightly\nrustup default 1.60.0<\/code><\/pre>\n<p>Bu komut, sistem genelinde varsay\u0131lan toolchain&#8217;i ayarlar.<\/p>\n<h4>Proje Baz\u0131nda Toolchain Kullanma<\/h4>\n<p>Bazen, belirli bir proje i\u00e7in farkl\u0131 bir toolchain kullanman\u0131z gerekebilir. <code>rustup<\/code> bu senaryoyu <code>override<\/code> komutuyla kolayla\u015ft\u0131r\u0131r. Bir projenin k\u00f6k dizinindeyken a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak o dizin i\u00e7in \u00f6zel bir toolchain belirleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">cd my_rust_project\nrustup override set nightly<\/code><\/pre>\n<p>Bu, <code>my_rust_project<\/code> dizininde ve alt dizinlerinde \u00e7al\u0131\u015f\u0131rken <code>nightly<\/code> toolchain&#8217;inin kullan\u0131lmas\u0131n\u0131 sa\u011flayacakt\u0131r. Bu ayar, <code>rustup default<\/code> ile belirlenen genel varsay\u0131lan\u0131 ge\u00e7ersiz k\u0131lar. Ge\u00e7ersiz k\u0131lmay\u0131 kald\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rustup override unset<\/code><\/pre>\n<h4>Kurulu Toolchain&#8217;leri Listeleme<\/h4>\n<p>Sisteminizde hangi toolchain&#8217;lerin kurulu oldu\u011funu ve hangisinin varsay\u0131lan oldu\u011funu g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rustup show<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-\">Default host: x86_64-unknown-linux-gnu\nrustup home:  \/home\/username\/.rustup\n\ninstalled toolchains\n--------------------\n\nstable-x86_64-unknown-linux-gnu (default)\nbeta-x86_64-unknown-linux-gnu\nnightly-x86_64-unknown-linux-gnu\n\nactive toolchain\n----------------\n\nstable-x86_64-unknown-linux-gnu (overridden by '\/home\/username\/my_rust_project\/rust-toolchain.toml')<\/code><\/pre>\n<p>Bu \u00e7\u0131kt\u0131, kurulu toolchain&#8217;leri ve aktif olan\u0131 (varsay\u0131lan veya ge\u00e7ersiz k\u0131l\u0131nm\u0131\u015f) g\u00f6sterir.<\/p>\n<h4>Rust&#8217;\u0131 Kald\u0131rma<\/h4>\n<p>E\u011fer Rust&#8217;\u0131 sisteminizden tamamen kald\u0131rmak isterseniz, <code>rustup<\/code>&#8216;\u0131n kendi kald\u0131rma komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustup self uninstall<\/code><\/pre>\n<p>Bu komut, <code>rustup<\/code>&#8216;\u0131 ve onunla birlikte kurulan t\u00fcm Rust toolchain&#8217;lerini ve bile\u015fenlerini kald\u0131racakt\u0131r.<\/p>\n<h3>Alternatif Kurulum Y\u00f6ntemi: Ubuntu APT Paket Y\u00f6neticisi ile<\/h3>\n<p><code>rustup<\/code> \u00f6nerilen y\u00f6ntem olsa da, Rust&#8217;\u0131 Ubuntu&#8217;nun kendi APT paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla da kurmak m\u00fcmk\u00fcnd\u00fcr. Ancak, bu y\u00f6ntemin \u00f6nemli bir dezavantaj\u0131 vard\u0131r: Ubuntu depolar\u0131ndaki Rust s\u00fcr\u00fcm\u00fc genellikle olduk\u00e7a eskidir ve <code>rustup<\/code>&#8216;\u0131n sundu\u011fu toolchain y\u00f6netim \u00f6zelliklerinden yoksundur. Bu nedenle, aktif Rust geli\u015ftirme i\u00e7in <strong>\u00f6nerilmez<\/strong>, ancak h\u0131zl\u0131 bir deneme yapmak veya belirli bir eski s\u00fcr\u00fcmle \u00e7al\u0131\u015fmak isterseniz kullan\u0131labilir.<\/p>\n<p>1.  <strong>Sistem Paketlerini G\u00fcncelleyin:<\/strong><br \/>\n    Her zaman oldu\u011fu gibi, kuruluma ba\u015flamadan \u00f6nce paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>2.  <strong>Rust ve Cargo&#8217;yu Y\u00fckleyin:<\/strong><br \/>\n    A\u015fa\u011f\u0131daki komutla Rust derleyicisini (<code>rustc<\/code>) ve Cargo&#8217;yu (<code>cargo<\/code>) y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install rustc cargo -y<\/code><\/pre>\n<p>3.  <strong>Kurulumu Do\u011frulay\u0131n:<\/strong><br \/>\n    Kurulum tamamland\u0131ktan sonra, y\u00fckl\u00fc s\u00fcr\u00fcmleri kontrol edin:<\/p>\n<pre><code class=\"language-bash\">rustc --version\n    cargo --version<\/code><\/pre>\n<p>    Bu komutlar, APT depolar\u0131ndan y\u00fcklenen Rust ve Cargo s\u00fcr\u00fcmlerini g\u00f6sterecektir. Ubuntu 20.04&#8217;te bu genellikle Rust 1.41.0 veya benzeri eski bir s\u00fcr\u00fcm olacakt\u0131r.<\/p>\n<h4>APT Y\u00f6nteminin S\u0131n\u0131rlamalar\u0131<\/h4>\n<p>*   <strong>Eski S\u00fcr\u00fcmler:<\/strong> Ubuntu depolar\u0131ndaki Rust s\u00fcr\u00fcm\u00fc, <code>rustup<\/code> ile kurulan en son kararl\u0131 s\u00fcr\u00fcmden \u00f6nemli \u00f6l\u00e7\u00fcde daha eski olabilir. Bu, en yeni dil \u00f6zelliklerine ve k\u00fct\u00fcphanelere eri\u015femeyece\u011finiz anlam\u0131na gelir.<br \/>\n*   <strong>Toolchain Y\u00f6netimi Yok:<\/strong> APT ile kurulan Rust, <code>rustup<\/code>&#8216;\u0131n sundu\u011fu farkl\u0131 toolchain&#8217;ler aras\u0131nda ge\u00e7i\u015f yapma, beta veya nightly s\u00fcr\u00fcmlerini y\u00fckleme gibi yeteneklere sahip de\u011fildir.<br \/>\n*   <strong>G\u00fcncelleme Zorlu\u011fu:<\/strong> Rust&#8217;\u0131 APT ile g\u00fcncelledi\u011finizde, yaln\u0131zca Ubuntu depolar\u0131na yeni bir s\u00fcr\u00fcm eklendi\u011finde g\u00fcncelleme al\u0131rs\u0131n\u0131z ki bu da <code>rustup<\/code>&#8216;\u0131n d\u00fczenli alt\u0131 haftal\u0131k g\u00fcncellemelerine k\u0131yasla \u00e7ok daha yava\u015ft\u0131r.<\/p>\n<p>Bu s\u0131n\u0131rlamalar nedeniyle, ciddi Rust geli\u015ftirme yapmay\u0131 planl\u0131yorsan\u0131z <code>rustup<\/code> y\u00f6ntemini kullanman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h3>\u0130lk Rust Program\u0131n\u0131z\u0131 Yazma (&#8220;Hello, World!&#8221;)<\/h3>\n<p>Rust geli\u015ftirme ortam\u0131n\u0131z ba\u015far\u0131yla kurulduktan sonra, ilk Rust program\u0131n\u0131z\u0131 yazmaya ve \u00e7al\u0131\u015ft\u0131rmaya haz\u0131rs\u0131n\u0131z. Rust projeleri i\u00e7in standart bir yap\u0131 ve ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi sa\u011flayan Cargo&#8217;yu kullanaca\u011f\u0131z.<\/p>\n<p>1.  <strong>Proje Dizini Olu\u015fturma:<\/strong><br \/>\n    Rust projelerinizi d\u00fczenli tutmak i\u00e7in bir dizin olu\u015fturun ve i\u00e7ine girin:<\/p>\n<pre><code class=\"language-bash\">mkdir rust_projects\n    cd rust_projects<\/code><\/pre>\n<p>2.  <strong>Yeni Bir Cargo Projesi Olu\u015fturma:<\/strong><br \/>\n    Cargo, yeni bir Rust projesi olu\u015fturmak i\u00e7in <code>cargo new<\/code> komutunu sa\u011flar. Bu komut, projeniz i\u00e7in gerekli dizin yap\u0131s\u0131n\u0131 ve varsay\u0131lan dosyalar\u0131 otomatik olarak olu\u015fturur.<\/p>\n<pre><code class=\"language-bash\">cargo new hello_rust<\/code><\/pre>\n<p>    Bu komut, <code>hello_rust<\/code> ad\u0131nda yeni bir dizin olu\u015fturur ve bu dizinin i\u00e7inde a\u015fa\u011f\u0131daki yap\u0131y\u0131 kurar:<\/p>\n<pre><code class=\"language-\">hello_rust\/\n    \u251c\u2500\u2500 Cargo.toml\n    \u2514\u2500\u2500 src\/\n        \u2514\u2500\u2500 main.rs<\/code><\/pre>\n<p>    *   <code>Cargo.toml<\/code>: Bu dosya, projenizin metadata&#8217;s\u0131n\u0131 (ad\u0131, s\u00fcr\u00fcm\u00fc, yazarlar\u0131) ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlayan bir TOML (Tom&#8217;s Obvious, Minimal Language) format\u0131ndaki manifest dosyas\u0131d\u0131r.<br \/>\n    *   <code>src\/main.rs<\/code>: Buras\u0131 Rust kodunuzu yazaca\u011f\u0131n\u0131z yerdir. Cargo yeni bir proje olu\u015fturdu\u011funda, size varsay\u0131lan bir &#8220;Hello, world!&#8221; program\u0131 ile birlikte gelir.<\/p>\n<p>3.  <strong>Proje Dizinine Girme:<\/strong><br \/>\n    Olu\u015fturulan projenin dizinine girin:<\/p>\n<pre><code class=\"language-bash\">cd hello_rust<\/code><\/pre>\n<p>4.  <strong><code>src\/main.rs<\/code> Dosyas\u0131n\u0131 \u0130nceleme:<\/strong><br \/>\n    <code>src\/main.rs<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini bir metin d\u00fczenleyici (\u00f6rne\u011fin <code>nano<\/code>) ile a\u00e7arak inceleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nano src\/main.rs<\/code><\/pre>\n<p>    \u0130\u00e7erik \u015f\u00f6yle olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-rust\">fn main() {\n        println!(\"Hello, world!\");\n    }<\/code><\/pre>\n<p>    *   <code>fn main()<\/code>: Bu, her Rust program\u0131n\u0131n ba\u015flang\u0131\u00e7 noktas\u0131 olan ana fonksiyondur.<br \/>\n    *   <code>println!<\/code>: Bu, ekrana metin yazd\u0131rmak i\u00e7in kullan\u0131lan bir makrodur (sonundaki <code>!<\/code> i\u015fareti bir makro oldu\u011funu g\u00f6sterir).<\/p>\n<p>    Dosyay\u0131 kapat\u0131n (Ctrl+X).<\/p>\n<p>5.  <strong>Program\u0131 Derleme ve \u00c7al\u0131\u015ft\u0131rma:<\/strong><br \/>\n    Cargo, Rust projelerini derlemek ve \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131\u015fl\u0131 komutlar sunar:<\/p>\n<p>    *   <strong>Derleme (<code>cargo build<\/code>):<\/strong><br \/>\n        Projenizi derlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cargo build<\/code><\/pre>\n<p>        Bu komut, kodunuzu derler ve \u00e7al\u0131\u015ft\u0131r\u0131labilir bir dosya olu\u015fturur. \u0130lk derlemede biraz zaman alabilir, \u00e7\u00fcnk\u00fc Rust derleyicisinin ve standart k\u00fct\u00fcphanelerin \u00f6nbelle\u011fe al\u0131nmas\u0131 gerekir. Ba\u015far\u0131l\u0131 bir derlemeden sonra, \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya <code>target\/debug\/hello_rust<\/code> yolunda bulunacakt\u0131r.<\/p>\n<p>    *   <strong>\u00c7al\u0131\u015ft\u0131rma (<code>cargo run<\/code>):<\/strong><br \/>\n        Projenizi derleyip ard\u0131ndan \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cargo run<\/code><\/pre>\n<p>        Bu komut, e\u011fer kodda de\u011fi\u015fiklik varsa \u00f6nce derler, ard\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyay\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r. \u00c7\u0131kt\u0131 \u015f\u00f6yle olacakt\u0131r:<\/p>\n<pre><code class=\"language-\">Compiling hello_rust v0.1.0 (\/home\/username\/rust_projects\/hello_rust)\n            Finished dev [unoptimized + debuginfo] target(s) in 0.XXs\n             Running <code>target\/debug\/hello_rust<\/code>\n        Hello, world!<\/code><\/pre>\n<p>        <code>cargo run<\/code> komutu, geli\u015ftirme s\u0131ras\u0131nda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r \u00e7\u00fcnk\u00fc derleme ve \u00e7al\u0131\u015ft\u0131rma ad\u0131mlar\u0131n\u0131 tek bir komutta birle\u015ftirir.<\/p>\n<p>    *   <strong>S\u00fcr\u00fcm Derlemesi (<code>cargo build --release<\/code>):<\/strong><br \/>\n        \u00dcretim ortamlar\u0131 i\u00e7in optimize edilmi\u015f ve hata ay\u0131klama bilgileri i\u00e7ermeyen daha k\u00fc\u00e7\u00fck ve daha h\u0131zl\u0131 bir \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya olu\u015fturmak isterseniz <code>--release<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">cargo build --release<\/code><\/pre>\n<p>        Bu komut, \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyay\u0131 <code>target\/release\/hello_rust<\/code> yolunda olu\u015fturur. Bu s\u00fcr\u00fcm, genellikle derleme s\u00fcresi daha uzun s\u00fcrse de, daha y\u00fcksek performans sunar.<\/p>\n<p>Tebrikler! \u0130lk Rust program\u0131n\u0131z\u0131 ba\u015far\u0131yla yazd\u0131n\u0131z, derlediniz ve \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z. Bu, Rust ile yolculu\u011funuzun ba\u015flang\u0131c\u0131d\u0131r.<\/p>\n<h3>\u00d6nemli Rust Kavramlar\u0131<\/h3>\n<p>Rust ekosistemi, geli\u015ftiricilerin verimli ve g\u00fcvenli uygulamalar olu\u015fturmas\u0131na yard\u0131mc\u0131 olan \u00e7e\u015fitli ara\u00e7 ve kavramlarla doludur. Kurulumunuzu tamamlad\u0131\u011f\u0131n\u0131za g\u00f6re, bu temel kavramlara k\u0131saca de\u011finmek faydal\u0131 olacakt\u0131r.<\/p>\n<h4>Cargo: Rust&#8217;\u0131n Paket Y\u00f6neticisi ve Derleme Sistemi<\/h4>\n<p>Cargo, Rust ekosisteminin kalbinde yer alan temel bir ara\u00e7t\u0131r. Bir Rust projesi \u00fczerinde \u00e7al\u0131\u015f\u0131rken, muhtemelen <code>cargo<\/code> komutunu <code>rustc<\/code> komutundan daha s\u0131k kullanacaks\u0131n\u0131z. Cargo \u015funlar\u0131 yapar:<\/p>\n<p>*   <strong>Proje Olu\u015fturma:<\/strong> <code>cargo new<\/code> ile yeni projeler i\u00e7in standart bir dizin yap\u0131s\u0131 olu\u015fturur.<br \/>\n*   <strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Projenizin ihtiya\u00e7 duydu\u011fu harici k\u00fct\u00fcphaneleri (crate&#8217;leri) <code>Cargo.toml<\/code> dosyas\u0131nda tan\u0131mlaman\u0131za ve bunlar\u0131 indirip derlemenize olanak tan\u0131r.<br \/>\n*   <strong>Derleme:<\/strong> <code>cargo build<\/code> ile projenizi derler.<br \/>\n*   <strong>\u00c7al\u0131\u015ft\u0131rma:<\/strong> <code>cargo run<\/code> ile derlenmi\u015f projeyi \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Test Etme:<\/strong> <code>cargo test<\/code> ile projenizdeki testleri \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Belgeleme:<\/strong> <code>cargo doc<\/code> ile projeniz i\u00e7in HTML belgeleri olu\u015fturur.<br \/>\n*   <strong>Yay\u0131nlama:<\/strong> <code>cargo publish<\/code> ile k\u00fct\u00fcphanelerinizi (crate&#8217;lerinizi) <code>crates.io<\/code> adresine (Rust&#8217;\u0131n merkezi paket deposu) yay\u0131nlaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<p>Cargo, Rust projelerinin geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc basitle\u015ftiren g\u00fc\u00e7l\u00fc ve entegre bir ara\u00e7t\u0131r.<\/p>\n<h4>Toolchain&#8217;ler: Kararl\u0131, Beta ve Nightly<\/h4>\n<p>Daha \u00f6nce de bahsedildi\u011fi gibi, <code>rustup<\/code> \u00fc\u00e7 ana Rust toolchain&#8217;ini y\u00f6netmenize olanak tan\u0131r:<\/p>\n<p>*   <strong>Stable (Kararl\u0131):<\/strong> \u00c7o\u011fu geli\u015ftirme i\u00e7in varsay\u0131lan ve \u00f6nerilen toolchain&#8217;dir. En iyi \u015fekilde test edilmi\u015f, hatas\u0131z ve uzun s\u00fcreli desteklenen bir ortam sa\u011flar.<br \/>\n*   <strong>Beta:<\/strong> Kararl\u0131 s\u00fcr\u00fcmden yakla\u015f\u0131k alt\u0131 hafta \u00f6nce yay\u0131nlan\u0131r ve bir sonraki kararl\u0131 s\u00fcr\u00fcmde yer alacak \u00f6zellikleri i\u00e7erir. Yeni \u00f6zellikleri erkenden denemek veya kararl\u0131 s\u00fcr\u00fcmden \u00f6nce kodunuzu test etmek i\u00e7in kullan\u0131labilir.<br \/>\n*   <strong>Nightly (Gecelik):<\/strong> Rust geli\u015ftirme ekibi taraf\u0131ndan her gece derlenen, en son \u00f6zelliklere ve de\u011fi\u015fikliklere sahip olan toolchain&#8217;dir. En yeni dil \u00f6zelliklerini veya deneysel API&#8217;leri kullanmak isteyen geli\u015ftiriciler i\u00e7in uygundur, ancak karars\u0131z olabilir veya hatalar i\u00e7erebilir.<\/p>\n<p>Projenizin ihtiya\u00e7lar\u0131na g\u00f6re do\u011fru toolchain&#8217;i se\u00e7mek \u00f6nemlidir. \u00c7o\u011fu durumda, <code>stable<\/code> toolchain yeterli olacakt\u0131r.<\/p>\n<h4><code>rustup<\/code>&#8216;\u0131n Rol\u00fc<\/h4>\n<p><code>rustup<\/code>, Rust geli\u015ftirme deneyiminizin merkezinde yer al\u0131r. Sadece toolchain&#8217;leri y\u00f6netmekle kalmaz, ayn\u0131 zamanda <code>rustfmt<\/code> (kod formatlay\u0131c\u0131), <code>clippy<\/code> (kod analiz\u00f6r\u00fc) ve <code>rust-analyzer<\/code> (dil sunucusu) gibi ek bile\u015fenleri de kurman\u0131za ve y\u00f6netmenize olanak tan\u0131r. Bu ara\u00e7lar, kod kalitesini art\u0131rmak, hatalar\u0131 erken yakalamak ve IDE entegrasyonunu geli\u015ftirmek i\u00e7in paha bi\u00e7ilmezdir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Rust kurulumu veya ilk program\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>1. <code>rustc: command not found<\/code> veya <code>cargo: command not found<\/code><\/h4>\n<p>Bu hata genellikle <code>PATH<\/code> ortam de\u011fi\u015fkeninizin Rust ara\u00e7lar\u0131n\u0131 i\u00e7erecek \u015fekilde do\u011fru yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\nMevcut terminal oturumunuzda a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">source $HOME\/.cargo\/env<\/code><\/pre>\n<p>Bu komutu her yeni terminal oturumunda \u00e7al\u0131\u015ft\u0131rmak istemiyorsan\u0131z, kal\u0131c\u0131 olmas\u0131 i\u00e7in <code>~\/.bashrc<\/code> (veya kulland\u0131\u011f\u0131n\u0131z kabuk yap\u0131land\u0131rma dosyas\u0131) dosyas\u0131na ekledi\u011finizden emin olun ve ard\u0131ndan <code>source ~\/.bashrc<\/code> ile dosyay\u0131 kaynaklay\u0131n veya terminalinizi yeniden ba\u015flat\u0131n.<\/p>\n<h4>2. Rust S\u00fcr\u00fcm\u00fcm Eski<\/h4>\n<p>E\u011fer APT paket y\u00f6neticisi ile Rust kurduysan\u0131z, s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn eski olmas\u0131 normaldir. E\u011fer <code>rustup<\/code> ile kurduysan\u0131z ve hala eski bir s\u00fcr\u00fcm g\u00f6r\u00fcyorsan\u0131z:<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n<code>rustup<\/code> kurulumunuzu g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">rustup update<\/code><\/pre>\n<p>E\u011fer <code>rustup<\/code> kurulu de\u011filse, yukar\u0131daki <code>rustup<\/code> kurulum ad\u0131mlar\u0131n\u0131 izleyerek kurun.<\/p>\n<h4>3. Derleme S\u0131ras\u0131nda Hata: &#8220;linker <code>cc<\/code> not found&#8221; veya Benzeri<\/h4>\n<p>Bu hata, Rust&#8217;\u0131n C derleyicisi veya di\u011fer temel derleme ara\u00e7lar\u0131n\u0131 bulamad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n<code>build-essential<\/code> paketinin kurulu oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install build-essential -y<\/code><\/pre>\n<p>Bu paket, Rust projelerini derlemek i\u00e7in gerekli olan GCC, make ve di\u011fer ara\u00e7lar\u0131 i\u00e7erir.<\/p>\n<h4>4. <code>curl<\/code> Komutu \u00c7al\u0131\u015fm\u0131yor veya Hata Veriyor<\/h4>\n<p><code>rustup<\/code> kurulum beti\u011fini indirirken <code>curl<\/code> ile ilgili bir sorun ya\u015farsan\u0131z:<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n\u00d6ncelikle <code>curl<\/code>&#8216;\u00fcn kurulu oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install curl -y<\/code><\/pre>\n<p>E\u011fer kuruluysa ve hala sorun ya\u015f\u0131yorsan\u0131z, a\u011f ba\u011flant\u0131n\u0131z\u0131 kontrol edin. G\u00fcvenlik duvar\u0131 veya proxy ayarlar\u0131 <code>curl<\/code>&#8216;\u00fcn d\u0131\u015f kaynaklara eri\u015fmesini engelliyor olabilir.<\/p>\n<h4>5. <code>rustup<\/code> Kurulumu Tak\u0131l\u0131yor veya Bitmiyor<\/h4>\n<p>Bu genellikle zay\u0131f veya kesintili bir internet ba\u011flant\u0131s\u0131ndan kaynaklan\u0131r.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n\u0130nternet ba\u011flant\u0131n\u0131z\u0131n stabil oldu\u011fundan emin olun. Gerekirse, kurulumu iptal edip daha sonra tekrar deneyin. B\u00fcy\u00fck bir dosya indirilmedi\u011fi i\u00e7in genellikle a\u011f sorunlar\u0131 an\u0131nda belli olur.<\/p>\n<h3>Geli\u015fmi\u015f Konular ve Ek Ara\u00e7lar<\/h3>\n<p>Rust geli\u015ftirme deneyiminizi daha da zenginle\u015ftirecek baz\u0131 geli\u015fmi\u015f konular ve ek ara\u00e7lar bulunmaktad\u0131r.<\/p>\n<h4>1. Rustfmt: Kod Formatlay\u0131c\u0131<\/h4>\n<p><code>rustfmt<\/code>, Rust kodunuzu otomatik olarak belirli bir stil k\u0131lavuzuna g\u00f6re formatlayan bir ara\u00e7t\u0131r. Bu, kod tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak ve okunabilirli\u011fi art\u0131rmak i\u00e7in \u00e7ok \u00f6nemlidir, \u00f6zellikle birden fazla geli\u015ftiricinin \u00e7al\u0131\u015ft\u0131\u011f\u0131 projelerde.<\/p>\n<p><strong>Kurulum:<\/strong><br \/>\n<code>rustfmt<\/code> genellikle <code>rustup<\/code> ile varsay\u0131lan olarak gelir, ancak kurulu de\u011filse ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustup component add rustfmt<\/code><\/pre>\n<p><strong>Kullan\u0131m:<\/strong><br \/>\nProjenizin k\u00f6k dizinindeyken t\u00fcm dosyalar\u0131 formatlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cargo fmt<\/code><\/pre>\n<p>Belirli bir dosyay\u0131 formatlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rustfmt src\/main.rs<\/code><\/pre>\n<h4>2. Clippy: Kod Analiz\u00f6r\u00fc (Linter)<\/h4>\n<p><code>clippy<\/code>, Rust kodunuzdaki yayg\u0131n hatalar\u0131, k\u00f6t\u00fc uygulamalar\u0131 ve performans sorunlar\u0131n\u0131 bulan bir linting arac\u0131d\u0131r. Derleyicinin yakalayamad\u0131\u011f\u0131 mant\u0131ksal hatalar\u0131 veya stil sorunlar\u0131n\u0131 tespit etmede \u00e7ok etkilidir.<\/p>\n<p><strong>Kurulum:<\/strong><br \/>\n<code>clippy<\/code>&#8216;yi <code>rustup<\/code> ile ekleyin:<\/p>\n<pre><code class=\"language-bash\">rustup component add clippy<\/code><\/pre>\n<p><strong>Kullan\u0131m:<\/strong><br \/>\nProjenizi <code>clippy<\/code> ile analiz etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cargo clippy<\/code><\/pre>\n<p><code>clippy<\/code> size \u00f6nerilerde bulunacak ve kodunuzu nas\u0131l iyile\u015ftirebilece\u011finizi g\u00f6sterecektir.<\/p>\n<h4>3. Rust-analyzer: Dil Sunucusu (Language Server)<\/h4>\n<p>Modern IDE&#8217;ler ve metin d\u00fczenleyicileri (VS Code, Sublime Text, Neovim vb.) genellikle dil sunucular\u0131n\u0131 kullanarak kod tamamlama, hata denetimi, tan\u0131ma gitme gibi ak\u0131ll\u0131 \u00f6zellikler sunar. <code>rust-analyzer<\/code>, Rust i\u00e7in en pop\u00fcler ve g\u00fc\u00e7l\u00fc dil sunucusudur.<\/p>\n<p><strong>Kurulum:<\/strong><br \/>\n<code>rust-analyzer<\/code>&#8216;\u0131 <code>rustup<\/code> ile ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustup component add rust-analyzer<\/code><\/pre>\n<p><strong>Kullan\u0131m:<\/strong><br \/>\n<code>rust-analyzer<\/code>&#8216;\u0131 do\u011frudan komut sat\u0131r\u0131ndan \u00e7al\u0131\u015ft\u0131rmazs\u0131n\u0131z. Bunun yerine, kulland\u0131\u011f\u0131n\u0131z IDE veya metin d\u00fczenleyicinin Rust uzant\u0131s\u0131 (\u00f6rne\u011fin VS Code i\u00e7in <code>rust-analyzer<\/code> uzant\u0131s\u0131) bu dil sunucusunu arka planda otomatik olarak kullan\u0131r. IDE&#8217;nizi kurduktan sonra, uzant\u0131n\u0131n <code>rust-analyzer<\/code>&#8216;\u0131 bulup kulland\u0131\u011f\u0131ndan emin olun.<\/p>\n<h4>4. \u00c7apraz Derleme (Cross-compilation)<\/h4>\n<p>Rust, kodu farkl\u0131 platformlar i\u00e7in derlemeyi (\u00f6rne\u011fin, Linux&#8217;ta Windows i\u00e7in bir \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya olu\u015fturmak) olduk\u00e7a kolayla\u015ft\u0131r\u0131r. <code>rustup<\/code> ile hedef platformlar\u0131 ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rustup target add x86_64-pc-windows-gnu<\/code><\/pre>\n<p>Ard\u0131ndan, belirli bir hedef i\u00e7in derleme yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">cargo build --target x86_64-pc-windows-gnu<\/code><\/pre>\n<p>Bu, g\u00f6m\u00fcl\u00fc sistemler, WebAssembly veya farkl\u0131 i\u015fletim sistemleri i\u00e7in uygulama geli\u015ftirirken \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 20.04 i\u015fletim sistemi \u00fczerine Rust programlama dilini ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. <code>rustup<\/code> arac\u0131n\u0131n g\u00fcc\u00fcn\u00fc kullanarak Rust toolchain&#8217;lerini nas\u0131l y\u00f6netece\u011finizi, farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda nas\u0131l ge\u00e7i\u015f yapaca\u011f\u0131n\u0131z\u0131 ve g\u00fcncellemeleri nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde ele ald\u0131k. Ayr\u0131ca, APT paket y\u00f6neticisi ile alternatif kurulum y\u00f6nteminin s\u0131n\u0131rlamalar\u0131n\u0131 da inceledik.<\/p>\n<p>\u0130lk &#8220;Hello, World!&#8221; program\u0131n\u0131z\u0131 Cargo kullanarak ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z, bu da Rust geli\u015ftirme yolculu\u011funuzda \u00f6nemli bir ad\u0131md\u0131r. Cargo&#8217;nun Rust projelerini y\u00f6netmek i\u00e7in ne kadar hayati bir ara\u00e7 oldu\u011funu ve <code>rustfmt<\/code>, <code>clippy<\/code> gibi ek ara\u00e7lar\u0131n kod kalitenizi nas\u0131l art\u0131rabilece\u011fini g\u00f6rd\u00fcn\u00fcz.<\/p>\n<p>Rust, modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda h\u0131zla y\u00fckselen bir y\u0131ld\u0131zd\u0131r. Performans\u0131, bellek g\u00fcvenli\u011fi ve e\u015fzamanl\u0131l\u0131k yetenekleri sayesinde bir\u00e7ok farkl\u0131 alanda kendine yer bulmaktad\u0131r. Bu kurulum rehberiyle, Ubuntu 20.04 sisteminizde g\u00fc\u00e7l\u00fc ve verimli Rust uygulamalar\u0131 geli\u015ftirmeye ba\u015flamak i\u00e7in sa\u011flam bir temele sahipsiniz.<\/p>\n<p>Rust&#8217;\u0131n sundu\u011fu zengin \u00f6zellikleri ve g\u00fc\u00e7l\u00fc toplulu\u011fu ke\u015ffetmeye devam etmek i\u00e7in resmi Rust dok\u00fcmantasyonunu (doc.rust-lang.org) ve The Rust Programming Language (&#8220;The Book&#8221;) gibi kaynaklar\u0131 incelemeniz \u015fiddetle tavsiye edilir. \u0130yi kodlamalar!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi\nRust, modern sistem programlama i\u00e7in tasarlanm\u0131\u015f, performans, g\u00fcvenlik ve e\u015fzamanl","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-37174","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi Rust, modern sistem programlama i\u00e7in tasarlanm\u0131\u015f, performans, g\u00fcvenlik ve e\u015fzamanl\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-28T09:40:49+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi\",\"datePublished\":\"2025-12-28T09:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\"},\"wordCount\":3787,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\",\"name\":\"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-28T09:40:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi","og_description":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi Rust, modern sistem programlama i\u00e7in tasarlanm\u0131\u015f, performans, g\u00fcvenlik ve e\u015fzamanl","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-28T09:40:49+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi","datePublished":"2025-12-28T09:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/"},"wordCount":3787,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/","name":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-28T09:40:49+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-rust-programlama-dilini-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04 \u00dczerine Rust Programlama Dilini Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37174"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37174\/revisions"}],"predecessor-version":[{"id":37175,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37174\/revisions\/37175"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}