Browse Source

test

master
mls 11 months ago
parent
commit
dc2f0cd7f7
51 changed files with 28418 additions and 0 deletions
  1. +3
    -0
      .gitignore
  2. +311
    -0
      arsiv/belgeler.eski/index.php
  3. +1
    -0
      arsiv/eski-statik
  4. +3519
    -0
      arsiv/milislinux.wordpress.2019-04-13_yazilar.xml
  5. +4
    -0
      belgeler/.buildinfo
  6. +308
    -0
      belgeler/_sources/docs/tr/iso_yapimi.rst.txt
  7. +224
    -0
      belgeler/_sources/docs/tr/miliste_paket_uretimi.rst.txt
  8. +79
    -0
      belgeler/_sources/docs/tr/mps.rst.txt
  9. +174
    -0
      belgeler/_sources/docs/tr/mps_ile_iso_yapimi.rst.txt
  10. +155
    -0
      belgeler/_sources/docs/tr/mps_kurulum.rst.txt
  11. +114
    -0
      belgeler/_sources/docs/tr/ortam_olusturma.rst.txt
  12. +351
    -0
      belgeler/_sources/docs/tr/talimat.rst.txt
  13. +19
    -0
      belgeler/_sources/index.rst.txt
  14. +6721
    -0
      belgeler/_static/_stemmer.js
  15. +607
    -0
      belgeler/_static/alabaster.css
  16. +763
    -0
      belgeler/_static/basic.css
  17. +1
    -0
      belgeler/_static/custom.css
  18. +314
    -0
      belgeler/_static/doctools.js
  19. +10
    -0
      belgeler/_static/documentation_options.js
  20. BIN
      belgeler/_static/file.png
  21. BIN
      belgeler/_static/fork.png
  22. +10253
    -0
      belgeler/_static/jquery-3.2.1.js
  23. +4
    -0
      belgeler/_static/jquery.js
  24. +118
    -0
      belgeler/_static/language_data.js
  25. BIN
      belgeler/_static/logo.png
  26. BIN
      belgeler/_static/logo_s.png
  27. BIN
      belgeler/_static/minus.png
  28. BIN
      belgeler/_static/plus.png
  29. +77
    -0
      belgeler/_static/pygments.css
  30. +506
    -0
      belgeler/_static/searchtools.js
  31. +1
    -0
      belgeler/_static/translations.js
  32. +999
    -0
      belgeler/_static/underscore-1.3.1.js
  33. +31
    -0
      belgeler/_static/underscore.js
  34. +400
    -0
      belgeler/docs/tr/iso_yapimi.html
  35. +305
    -0
      belgeler/docs/tr/miliste_paket_uretimi.html
  36. +198
    -0
      belgeler/docs/tr/mps.html
  37. +270
    -0
      belgeler/docs/tr/mps_ile_iso_yapimi.html
  38. +249
    -0
      belgeler/docs/tr/mps_kurulum.html
  39. +204
    -0
      belgeler/docs/tr/ortam_olusturma.html
  40. +493
    -0
      belgeler/docs/tr/talimat.html
  41. +109
    -0
      belgeler/genindex.html
  42. +147
    -0
      belgeler/index.html
  43. +5
    -0
      belgeler/objects.inv
  44. +119
    -0
      belgeler/search.html
  45. +1
    -0
      belgeler/searchindex.js
  46. +106
    -0
      indir/index.php
  47. +1
    -0
      iso/milis-2.0-alfa8.3.iso.sha256sum
  48. +1
    -0
      iso/milis-2.0-min-alfa10.20.iso.sha256sum
  49. +1
    -0
      iso/milis-2.0-min-alfa9.3.iso.sha256sum
  50. +1
    -0
      iso/milis-2.0-xfce4-alfa10.22.iso.sha256sum
  51. +141
    -0
      iso/mpsdo2

+ 3
- 0
.gitignore View File

@@ -0,0 +1,3 @@
iso/*.iso
iso/*.sfs
paketler/*

+ 311
- 0
arsiv/belgeler.eski/index.php View File

@@ -0,0 +1,311 @@
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Milis Linux</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="" />
<meta name="author" content="m.numan.ince" />

<link rel="canonical" href="https://www.milislinux.org/" />

<link rel="stylesheet" type="text/css" href="/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/css/font-awesome.css" />
<link rel="stylesheet" type="text/css" href="/css/theme.css" />
<link rel="stylesheet" type="text/css" href="/css/markdown.css" />

<script src="/js/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="/js/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
<script src="/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

<style>
body {
background-color: #5D6C53;
}
.text-center a {
color:black;
}
.milis-info {
color: black;
}
</style>

</head>
<body>
<?php include "../header.html"; ?>


<div id="home" class="headline-container jumbotron">
<p>
<div class="markdown-body">
<b>
<!-- ------------------------------------------------------------------------------------------------ -->
<h2 class="title">Milis Paket Sistemi - Temel Komutlar</h2>
Milis Paket Sistemi (MPS), Milis işletim sisteminin kendine özgü sıfırdan bash betik dilinde yazılmış paket yöneticisidir. MPS ile talimatnamedeki talimatları kullanarak paket üretebilir,paket kurabilir, kaldırabilir ve güncelleyebilirsiniz.

Aşağıda bazı temel komutlar ve kullanımlarını görebilirsiniz:

<b>İkili paket veritabanını ve talimatnamenin güncellenmesi:</b>
<pre>$ mps guncelle</pre>
<b>Sistemdeki tüm paketlerin güncellenmesi:</b>
<pre>$ mps yukselt</pre>
<b>Dosyadan veya depodan paket kurulumu:</b>
<pre>$ mps kur paket_adi / paket_adi.mps.lz </pre>
<b>Bir paketin silinmesi:</b>
<pre>$ mps sil paket_adi</pre>
<b>Bir paketin güncellenmesi:</b>
<pre>$ mps -g paket_adi</pre>
<b>Paket arama:</b>
<pre>$ mps ara paket_adi</pre>
<!-- ------------------------------------------------------------------------------------------------ -->
<h2 class="title">Milis Paket Sistemi - Ek Komutlar</h2>
Milis Paket Sistemi (MPS) Bash tabanlıdır ve modüler şekilde tasarlanmıştır. Yani her bir işlevi yerine getiren bağımsız bir modül vardır ve bir modül diğer modülleri geliştirmek için kullanılabilir. Bu modüller sistemde kayıtlı parametreleri kullanılarak özyinelemeli olarak çağırılırlar. Modülleri çağıran parametrelere "API Parametreler" adı verilir ve tire işaretiyle başladığından son kullanıcı parametrelerinden ayrılırlar. Bu parametreleri geliştirme dışında ileri kullanım ya da hata ayıklama amacı ile de kullanabilirsiniz.

Aşağıda bazı API Parametreleri ve kullanımlarını görebilirsiniz:

<b>İkili paket veritabanini gunceller:</b>
<pre>$ mps -G</pre>
<b>Git sunucusundan talimatname ve sistem günceller:</b>
<pre>$ mps -GG</pre>
<b>İlgili paketi bağimlılıklarıyla ağdan çekip kurar:</b>
<pre>$ mps kur paket_ismi</pre>
<b>İlgili paketi kaldırır:</b>
<pre>$ mps sil paket_ismi</pre>
<b>sadece ilgili paketi günceller:</b>
<pre>$ mps -g paket_ismi</pre>
<b>ilgili paketi tüm bağımlılıklarıyla günceller:</b>
<pre>$ mps -go paket_ismi</pre>
<b>ilgili paketin ana bağımlılıklarını siler.(masaüstü veya blok programları kaldırmak için):</b>
<pre>$ mps -S paket_ismi</pre>
<b>Yereldeki paketi bagimliliksiz kurar:</b>
<pre>$ mps -k paket_ismi</pre>
<b>Kurulu paket listesini verir:</b>
<pre>$ mps -kl</pre>
<b>İlgili paketin kurulu olma durumunu verir:</b>
<pre>$ mps -kk paket_ismi</pre>
<b>İlgili paketin talimat dosyasına göre bağımlıksız derler,paketler:</b>
<pre>$ mps -d paket_ismi</pre>
<b>İlgili paketin talimat dosyasına göre bağımlıklarıyla derler,paketler:</b>
<pre>$ mps -derle paket_ismi</pre>
<b>İlgili paketin talimat dosyasına göre bağımlıkları kontrol eder kurar olmayanı paketler:</b>
<pre>$ mps odkp paket_ismi</pre>
<b>bir dosyanın hangi kurulu pakette olduğunu bulur:</b>
<pre>$ mps -hp aranacak_dosya</pre>
&nbsp;
<!-- ------------------------------------------------------------------------------------------------ -->
<h2 class="title">Milis Linux Temel Kurulum Yönergeleri</h2>
Çalışan iso'dan direk sistemi hedef disk bölümünüze kurabilirsiniz.Ayrıca o an çalışan iso üzerinde yaptığınız ayarlamalar da kaybolmayacak ve o şekilde kurulacaktır.
Yeni bir terminal açıp ve aşağıdaki yönergeleri takip ederek de sistem kurulumunu yapabilirsiniz.Bu kurulum tipi deneyim gerektirmektedir.
Oluşabilecek veri kayıplarına karşı önceden yedek alınız.
<br><br>
1-hedef disk bolumunu formatla
<pre>$ mkfs.ext4 /dev/sdax</pre>
2-bolumu /mnt altına bagla
<pre>$ mount /dev/sdax /mnt</pre>
3-mevcut dosya sistemini hedefe kopyala
<pre>$ cp -axvu / /mnt</pre>
4-initramfs ( baslatici) oluştur
<pre>$ mount --bind /dev /mnt/dev</pre>
<pre>$ mount --bind /sys /mnt/sys</pre>
<pre>$ mount --bind /proc /mnt/proc</pre>
<pre>$ chroot /mnt dracut -N --force --xz --omit systemd /boot/initrd</pre>
5-gerekli grub ayarlarını yap.
<pre>$ grub-install --force --boot-directory=/mnt/boot /dev/sdy</pre>
<pre>$ chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg</pre>
<!-- ------------------------------------------------------------------------------------------------ -->
<h2 class="title">Milis Linux Talimatname Bilgi</h2>
<b>Talimat dosyası nedir ?</b><br>

Milis Linux’ta paket üretmek oldukça kolaylaştırılmıştır.
Milis Linux’ta paketler talimat dosyaları sayesinde üretilir.
Talimat dosyası bir paketin nasıl derleneceğini,paketleneceği, gerekli olan bağımlılıkları,
paketçinin adı, paketin adı açıklaması ve versiyon numarası gibi bilgileri barındırır.
Mps paket yöneticisi de bu talimat dosyasını kullanarak paketi oluşturur.

<br><br>

<b>Talimat dosyası nasıl oluşturulur?</b><br>
/root dizini altında “talimatname” adında bir dizin vardır. (Derleme ortamında ortamın /root dizini altına bakılmalıdır.)
Bu dizin içerisinde ise genel, onsistem, temel adında dizinler vardır.
Genel olarak sonradan oluşturacağımız talimat dosyaları, genel dizininin içindeki paket adı yazılı olan
dizinlerin içinde yer almaktadır.
Bu talimat dosyalarını örnek alarak kendi istediğiniz bir paketin talimat dosyasını oluşturabilirsiniz.
Sıfırdan bir talimat oluşturmadan önce mevcut dağıtımlarda nasıl oluşturulmuş olmasına bakılması sağlıklı bir yoldur.
Milis Linux talimat yapısına benzer dağıtımların üretimleri incelenerek talimat oluşturalabilinir.
Ancak burada dikkat edilmesi gereken hususlar vardır.
Örneğin diğer dağıtımlardaki bağımlılıklar Milis Linux deposunda farklı bir isimde oluşturulmuş olabilir
veya bağımlılıklar depoda olmayabilir. Bu durumda olmayan bağımlılıkların da talimat oluşturularak paketlenmesi gerekir.
Talimat dosyası oluşturulurken hangi paketi üreteceksek ilgili paketin web sitesinde yada indirdiğimiz
kaynak kodunda genelde gerekli olan bağımlılıklar, paketin nasıl derleneceği vs. bilgiler çoğu zaman verilmektedir.
Bunlardan yararlanarak da sıfırdan talimat dosyası oluşturabiliriz.
<!-- ------------------------------------------------------------------------------------------------ -->
<h2 class="title">Milis Linux Derleme Ortamı Kurulumu</h2>

Milis Linux'ta paketleme yapmak ve paket deposuna katkıda bulunmak için öncelikle paketleri derleyebileceğiniz derleme ortamını oluşturmanız gerekmektedir.
Derleme ortamını paketlerin yalıtılmış bir ortamda derlendiği <u>chroot</u> ortamı olarak düşünebiliriz.

Daha önceki ortam kurulumlarımız elle adımlara dayanmakta iken artık tek komutla ortamı indirip kurabiliriz.
<p>
<pre>$ mps guncelle </pre>
<pre>$ sudo mpsdo</pre>
<p>
Bu adımdan sonraki işlemler ortam içinde olacaktır.
<p>
Paketleme ortamından çıkıldığında tüm dosyalar sıfırlandığından dolayı ortama girdiğimizde /opt dizini altında işlemlerimizi gerçekleştiririz.
Bu dizinde üretilen paketler ana sistem de /mnt/paketler altında kalıcı olmaktadır.
<pre># cd /opt</pre>
Ortama her girişimizde ortam sıfırlanacağı için ortamı güncellemek zorundayız.
<pre># mps guncelle</pre>
Ortamda paket derlemek için konak bilgisayarın <b>/mnt/lfs/root/talimatname/genel</b> altındaki dizinleri kullanırız.
Gerekli değişiklikleri yaptıktan sonra tekil derleme için
<pre># mps -d paket_ismi</pre>
Sıralı derle-kur-paketle işlemleri için
<pre># mps odkp paket_ismi</pre>
komutlarını veriririz.
Ortamdan çıkmak için
<pre># exit</pre>



<!-- ------------------------------------------------------------------------------------------------ -->
<br><h2 class="title">Talimat Dosyası Standartları ve Talimat Hazırlama</h2>
Talimat hazırlamak Milis içerisinde kullanılacak uygulamayı veya dosyaları paketlemek için gerekli komutları yazmak / hazırlamak demektir.
Talimatta işlem sırası şu şekildedir:<br>
<ol>
<li>Kaynak kodları içeren dosyaların $SRC (/tmp/work/src/) klasörüne indirilmesi ve açılması</li>
<li>Derleme yapılacak ise kaynak kodun derlenmesi</li>
<li>İşlemleri tamamlanan ve/veya derlenen uygulamanın $PKG klasörüne hiyerarşisi bozulmadan alınması</li>
<li>Son olarak da $PKG (/tmp/work/pkg/) klasörünün sıkıştırılarak paketin oluşturulması (xxx.mps.lz)</li>
</ol>
Talimatlar https://notabug.org/milislinux/milis/src/master/talimatname/ adresinde 3 ana kategoride tutulmaktadır. Kullanıcılar tarafından hazırlanan
talimatlar "genel" kategorisinde yer alır. Mevcut tüm uygulamaların nasıl paketlendiğini yani talimat dosyalarını bu adresten inceleyebilirsiniz.
<br><br>
Örnek talimat dosyası:
<pre>
# Tanım: Ses dosyalarını düzenlemek için gelişmiş bir araç.
# URL: http://web.audacityteam.org/
# Paketçi: milisarge
# Gerekler: libvorbis libmad libid3tag wxgtk28 lame hicolor-icon-theme ffmpeg shared-mime-info desktop-file-utils redland jack soundtouch cmake zip python
# Grup: medya

isim=audacity
surum=2.1.1
devir=1
kaynak=("https://github.com/audacity/audacity/archive/Audacity-${surum}.tar.gz"
"ffmpeg.patch")

derle() {
cd "${SRC}/${isim}-Audacity-${surum}"
patch -p1 -i "${SRC}/ffmpeg.patch"
WX_CONFIG=/usr/bin/wx-config-2.8 \
./configure --prefix=/usr --enable-unicode --with-wx-config=$WX_CONFIG
make
make DESTDIR="${PKG}" install
}
</pre>

Linux dağıtımlarda popüler bir uygulama olan ses düzenleme uygulaması <b>Audacity</b>'nin paketlenmesi işlemlerini adım adım inceleyelim.
<br><br>
Talimat dosyaları birer bash script dosyalarıdır fakat belirli standartları bulunmaktadır.
Talimat dosyasının # ile başlayan ve bash scriptte yorum kabul edilen kısımları talimatın bilgi kısmıdır. Bu bilgilerden <u>Gerekler</u> ve <u>Grup</u> kısımları
ilgili paketin ihtiyaç duyduğu yani bağımlısı olduğu diğer paketlerin adını ve paketin kategorisini içermelidir. Örneğimiz de gereklerin büyük kısmı ses düzenleme
özelliğinden dolayı müzik formatlarının dönüştürülmesi ile ilgili fakat paketin derlenmesi için gerekli diğer paketler de yine gerekler de yer almıştır.
<br><br>
Talimat içerisinde <b>$isim</b>, <b>$surum</b>, <b>$devir</b> ve <b>$kaynak</b> değişkenleri de ilgili paketin bilgilerini içermektedir.
$kaynak kısmında görüleceği gibi paketin kaynak kodlarının indirileceği adres ve alt satırda da (bkz: bash dizi değişken)
ffmpeg için ihtiyaç duyulan bir yama (patch) dosyası görülüyor.
<br><br>
Yukarıdaki talimat paketlenmek istendiğinde sırasıyla önce $kaynak adresinden kaynak kodları indirilecek ve $SRC ile belirtilen klasöre açılacak (extract), ffmpeg.patch
dosyası da $SRC kopyalanacak ve <b>derle()</b> fonksiyonu çalıştırılacaktır. Fonksiyon çalıştırıldığında içerisinde cd, patch vb. bash komutları çalıştırılacaktır. Burada dikkat
edilmesi gereken 2 sabit değişken <b>$SRC</b> ve <b>$PKG</b>'dir. $SRC yukarıda bahsedildiği gibi sıkıştırılmış dosya ve ek yan dosyaların taşındığı klasörü, $PKG ise paketlenecek
(sıkıştırılıp mps.lz haline gelecek) klasörü işaret eden değişkendir.
<br><br>
xx.mps.lz dosyaları birer sıkıştırılmış dosyasıdır. Derleme sonrası tüm dosyalar kurulduğu sistemde kopyalanacağı klasör hiyerarşisine göre düzenlenir ve sıkıştırılır.
<br><br>
Talimat hazırlarken unutulmaması gerken en önemli konu paketin hazırlanması için kullanılan $PKG dizininin tamamen boş olduğudur. Örneğin siz paketinizdeki yani
$SRC/usr/share/icons/logo.png dosyasını $PKG/usr/share/icons/ altına kopyalamak isterseniz önce mkdir -p $PKG/usr/share/icons/ klasör yapısını oluşturmak zorundasınız.
<br><br>
Hata durumunda veya yeni paket için <code>mps odkp {paket}</code> uyguladığımız da $SRC ve $PKG klasörleri boşaltılmaktadır.
<br><h2 class="title">Talimat'ın Detaylı İncelenmesi</h2>

<b>Gerekler:</b><br>
Talimat dosyaları bash script gibi yazılmalı fakat bahsedildiği gibi standartlar işleri kolaylaştırmak ve hızlandırmak için kullanılmaktadır.
Örneğin <code>Gerekler:</code> kısmına gireceğiniz uygulamaların ya daha önce paketlenmiş olması ya da talimat dosyasının hazırlanmış olması gerekir.
Eğer gerekleri yani bağımlılıkları fazla bir uygulamayı (örn: kde) paketlemeyi düşünüyorsanız en bağımlılıksız paketinden başlayarak yukarı doğru yani bağımlılığı fazla kısma
doğru ilerlemelisiniz. Örneği daha da detaylandırmak için Audacity ele alalım. 15 adet gerekliliği mevcut, dolayısı ile Audacity'nin paketlenebilmesi için bu 15 uygulamanın
paketlenmiş olması gerekir. Gereklerinde python gibi çok temel uygulamalar da bulunmakta. Python uygulamasının nasıl paketlendiğini incelemek için
<a href="https://www.notabug.org/milislinux/milis/src/master/talimatname/genel/p/python/talimat" target="_blank">https://www.notabug.org/milislinux/milis/src/master/talimatname/genel/p/python/talimat</a> adresini inceleyebilirsiniz.
<br><br>
<b>kaynak:</b><br>
Kaynak değişkeni bash scripting de dizi değişkendir. Belirtilen dosyanın $SRC klasörüne indirilmesini ve açılmasını (extract) sağlar. Eğer indirilecek dosyanın farklı bir isimle kaydedilmesini
isterseniz <code>https://dosya.kaynagi.adresi/abc-uygulamasi.tar.gz::abc.tar.gz</code> şeklinde belirtebilirsiniz. Eğer birden fazla dosya var ise yukarıdaki örnekteki gibi alt satıra
tanımlamanız gerekmektedir. Belirtilen dosyalar lokalde ise direkt dosya adı, indirilecek ise adresini yazabilirsiniz.
Kaynak kod git sürüm takip sistemi ile edinilecek ise <a href="https://www.notabug.org/milislinux/milis/src/master/talimatname/genel/m/myrddin/talimat" target="_blank">myrddin</a> talimat örneğindeki
<b>git_indir</b> fonksiyonunu ve kullanımını incelemelisiniz.

<br><br>

Kaynak ile ilgili bir diğer önemli konu ise belirtilen dosya <b>/sources</b> klasörüne indirilir. Eğer dosya orada duruyor ise bu durumda sunucudaki dosyada değişiklik olsa bile indirilmez.
Bu yüzden dosya adının farklı olması gerektiğine (::dosya-$surum.tar.gz) dikkat edilmelidir veya paketleme sırasında /sources klasöründeki dosya silinmelidir.

<br><br>
<b>Grup:</b><br>
Mevcut kullanılabilir grupları <code>mps gruplar</code> komutu ile listeleyebilirsiniz. Yazdığınız talimatın hangi
grupta yer alması gerektiğine emin olamadığınız durumlar da mevcut yayınlanmış paketlerin talimat dosyalarını
inceleyerek karar verebilirsiniz.

<br><br>
<b>Paketleme İşlemi öncesi veya sonrasında yapılacak işlemler:</b><br>
Talimat dosyasının bulunduğu klasöre aşağıdaki gibi dosyalar oluşturularak paketin kurulmasından önce ve sonra, paket silinmeden önce ve sonra yapılması gereken işlemleri tanımlayabilirsiniz:
<ol>
<li>paket-adi.<b>kur-kos</b>: Paket kurulduktan sonra çalıştırılacak olan bash işlemleri</li>
<li>paket-adi.<b>kos-kur</b>: Paket kurulmadan <u>önce</u> çalıştırılacak olan bash işlemleri</li>
<li>paket-adi.<b>sil-kos</b>: Paket silindikten sonra çalıştırılacak olan bash işlemleri</li>
<li>paket-adi.<b>kos-sil</b>: Paket silmeden <u>önce</u> çalıştırılacak olan bash işlemleri</li>
</ol>

<b>NOT:</b>Arch Linux (-a) ve KaOSx Linux (-k) paket talimatlarının Milis Linux talimatına hızlıca çevrilebilmesi için:
<br>
```
talimat.py -a <paket-adi> #Arch talimatları için
talimat.py -k <paket-adi> #KaOSx talimatları için
```
şeklinde kullanabilirsiniz. Paket adları ilgili depolardan öncelikle kontrol edilmelidir.
<br><br>
<b>NOT2:</b> Talimat dosyasının bulunduğu klasör de talimatı test etmek veya basit paketlerin hızlıca oluşturulmasını sağlamak isteyebilirsiniz. Bunun için <b>mpsd -d</b> komutu ile talimat dosyasını ve bağımlılıklarını kontrol ederek paketi oluşturur.
<b>mpsd</b> tek başına talimatın olduğu klasörde çalıştırılır ise bağımlılıklarını kontrol etmeden paketi derleyip oluşturur.


<br><h2 class="title">Talimat ve Güvenlik</h2>
Talimat dosyalarında kaynak kısımda belirtilen dosyanın değiştirilmediğinden emin olmak için <b>paket-adi.hash</b> dosyasına dosyanın hash değerini (sha256 / sha512 vb.) yanında dosya adı formatıyla (shasum dosya-adi.tar.gz çıktısında olduğu gibi) ve her satıra bir dosya gelecek şekilde belirtilmelidir.
Böylelikle kaynak kodu indirilen dosya öncelikle hash kontrolünden geçirilecek ve daha sonra paketleme işlemine tabi tutulacaktır.
<a href="https://www.notabug.org/milislinux/milis/src/master/talimatname/genel/w/wireguard-kernel/" target="_blank">wireguard-kernel</a> paketindeki hash örneği incelenebilir.

<br><br><br><br>

</b>
</div>
</div>

<?php include "../footer.html"; ?>

</body>
</html>

+ 1
- 0
arsiv/eski-statik

@@ -0,0 +1 @@
Subproject commit e52e60176f721bb309979c7900d5863cf0d86b98

+ 3519
- 0
arsiv/milislinux.wordpress.2019-04-13_yazilar.xml
File diff suppressed because it is too large
View File


+ 4
- 0
belgeler/.buildinfo View File

@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 4f4ae165d97ae70c812695838f8bc2c5
tags: 645f666f9bcd5a90fca523b33c5a78b7

+ 308
- 0
belgeler/_sources/docs/tr/iso_yapimi.rst.txt View File

@@ -0,0 +1,308 @@
Sıfırdan Milis Linux Yapımı
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

.. warning::
Test aşamasındadır. Lütfen kullanmayınız!


0. Önsistemi oluşturmak için gerekli paketler kurulur:

.. code:: bash

# Milis
mps kur lua (luafileystem kaynak kodundan derlenecek.)
# ------------------------
# Arch
pacman -S base-devel
pacman -S bison
pacman -S libarchive
pacman -S lua
pacman -S lzip
pacman -S squashfs-tools
pacman -S xorriso
# ------------------------
# Ubuntu ve türevleri için
apt install build-essential
apt install bison
apt install bsdtar
apt install lua5.3
apt install liblua5.3
apt install lzip
apt install squashfs-tools
apt install xorriso

1. Yetkili komut satırına geçerek Milis LFS kullanıcı dizinlerini ayarlanır:

.. code:: bash

sudo su

groupadd mlfs
useradd -s /bin/bash -g mlfs -m -k /dev/null mlfs
passwd mlfs

2. Milis 2.0 deposu klonlanıp önsistem için gerekli dizinler oluşturulur:

.. code:: bash

git clone https://notabug.org/milislinux/milis19 /home/mlfs/milis
git clone https://notabug.org/milislinux/mps /home/mlfs/mps

cp /home/mlfs/milis/bashrc-onsistem.temp /home/mlfs/.bashrc
cp /home/mlfs/milis/bash_profile.temp /home/mlfs/.bash_profile

mkdir -p /home/mlfs/{onsistem,sources}
mkdir -p /home/mlfs/onsistem/tools
ln -sv /home/mlfs/onsistem/tools /
ln -sv /home/mlfs/sources /

chown -R mlfs:mlfs /home/mlfs

3. Önsistemi oluşturmayı başlatmak için mlfs kullanıcısıyla giriş yapılır:

.. code:: bash

su - mlfs

source ~/.bash_profile

4. İzin ve ortam değişkenleri kontrol edilir:

.. code:: bash

mlfs@makine1:~$ ls -al

drwxr-xr-x 7 mlfs mlfs 4096 May 5 15:09 .
drwxr-xr-x 4 root root 4096 May 5 14:32 ..
-rw------- 1 mlfs mlfs 166 May 5 15:17 .bash_history
-rw-r--r-- 1 mlfs mlfs 59 May 5 14:55 .bash_profile
-rwxr-xr-x 1 mlfs mlfs 327 May 5 15:17 .bashrc
drwxr-xr-x 4 mlfs mlfs 4096 May 5 15:15 milis
drwxr-xr-x 2 mlfs mlfs 4096 May 5 15:06 mps
drwxr-xr-x 3 mlfs mlfs 4096 May 5 15:06 onsistem
drwxr-xr-x 2 mlfs mlfs 4096 May 5 15:09 sources

mlfs@makine1:~$ export
declare -x HOME="/home/mlfs"
declare -x LC_ALL="POSIX"
declare -x MILIS_HOME="/home/mlfs"
declare -x MILIS_REPO="/home/mlfs/milis"
declare -x MPS_NOROOT="yes"
declare -x MPS_PATH="/home/mlfs/mps"
declare -x OLDPWD
declare -x ONSISTEM_CHROOT="/home/mlfs/onsistem"
declare -x ONSISTEM_TARGET="x86_64-milis-linux-gnu"
declare -x PATH="/home/mlfs/mps/bin:/tools/bin:/usr/local/bin:/bin:/sbin:/usr/sbin:/usr/bin:/root/bin"
declare -x PS1="\${debian_chroot:+(\$debian_chroot)}\\u@\\h:\\w\\\$ "
declare -x PWD="/home/mlfs"
declare -x SHLVL="1"
declare -x TALIMATNAME="/home/mlfs/milis/talimatname"
declare -x TERM="screen"

5. MPS önsistem için hazırlanıp, kontrol edilir:

.. code:: bash

cd ~/mps
bash derle.sh

mlfs@makine1:~/mps$ mps.lua -v
MPS 2.0.0 - Milis Paket Sistemi milisarge@gmail.com

6. Önsistem derlenmeye başlanır:

.. code:: bash

cd ~/milis
./01-onsistem.sh

.. note::
Sertifika ilgili bir hata oluşursa,

::

export WGET_GENEL_PARAM="--no-check-certificate"

komutu derlemeden önce verilerek sertifika denetimi kapatılabilir.

7. Önsistem derlemesi Lua ile bittiğinde ve 'talimatname/0/order' dosyası içindeki paketlerin kurulduğundan
emin olunduktan sonra önsistem sıkıştırılarak yedeklenir:

.. code:: bash

./onsistem_sfs.sh

8. Temel sistem paketlerinin hazırlanması için yeni derleme ortamına girilir:

.. note::
Temel sistem üretimi ertlenmek veya sfs kullanarak yapılmak istenirse:

.. code:: bash

unsquashfs onsistem-tarih-saat-degeri.sfs
mv squashfs-root ${ONSISTEM_CHROOT}

Buradan sonraki işlemler sudo yetkileri ile yapılmalıdır:

.. code:: bash

exit
cd /home/mlfs/milis
sudo su
bash --rcfile ../.bashrc

./02-enter-chroot-tools

# aşağıdaki çıktıyı görmeniz gerekir.
Chroot ortamı bağlanıyor...
mount: /dev bound on /home/mlfs/onsistem/dev.
mount: devpts mounted on /home/mlfs/onsistem/dev/pts.
mount: proc mounted on /home/mlfs/onsistem/proc.
mount: sysfs mounted on /home/mlfs/onsistem/sys.
mount: tmpfs mounted on /home/mlfs/onsistem/run.
temel sistem talimatları kopyalandı.
'/etc/ssl/certs/ca-certificates.crt' -> '/home/mlfs/onsistem/tools/etc/ssl/certs/ca-certificates.crt'
'/etc/resolv.conf' -> '/home/mlfs/onsistem/tools/etc/resolv.conf'

9. Temel sistem içine girildikten sonra ulaşılması gereken komut satırı:

.. code:: bash

(temel) I have no name!:/#

10. Gerekli betikler çağrılarak sistem hazırlanmaya başlanır:

.. code:: bash

(temel) I have no name!:/# 03-temel-dosya-sistemi-hazirla

.. note::
Bu aşamada ulaşılması gerek komut satırı bu şekildedir:

.. code:: bash

bash-5.0#


.. code:: bash

bash-5.0# 04-mps-hazirla

Bu aşamada mps'in doğru sürümünün kurulu olduğunu test etmek için:

.. code:: bash

bash-5.0# mps.lua -v
MPS 2.0.0 - Milis Paket Sistemi milisarge@gmail.com

.. code:: bash

bash-5.0# 05-temel-sistemi-derle.sh

Bash derlenip kurulduktan sonra aşağıdaki çıktı ile derleme duracaktır:

::

# bash_refresh komutu verip tekrar devam edin!

Aşağıdaki komut verilerek, derleme yeni bash ile kaldığı yerden devam edecektir:

.. code:: bash

bash-5.0# bash_refresh
bash-5.0# 05-temel-sistemi-derle.sh

.. note::
Yeni bash ten sonra ortamdan çıkma durumu olursa yeniden ortam girmek için:

.. code:: bash

./02.1-enter-chroot
bash-5.0# 05-temel-sistemi-derle.sh

11. Canlı(Live) imajda kullanmak üzere initramfs üretilir:

.. code:: bash

dracut -N --force --xz --add 'dmsquash-live pollcdrom' --omit systemd /boot/initramfs_live `ls /usr/lib/modules`

12. Temel sistem derlemesi bittikten sonra derleme logları ve temel sistem incelenir:

Aşağıdaki komutların çıktıları olmamalı:

.. code:: bash

bash-5.0# grep -l 'compilation terminated' /tmp/*.log
bash-5.0# grep -l '.h: No such file or directory' /tmp/*.log

find /var/lib/mps -name kurulan -size 0

# kırık linklerin kontrolü
rm -rf /tools
find /usr -xtype l

Aşağıdaki komutun çıktısı ise 'TM' olmalı:

.. code:: bash

[ `ls /var/lib/mps/db | wc -l` -eq `cat /usr/milis/talimatname/1/order | wc -l` ] && echo "TM"
13. Canlı imajda kullanmak üzere root şifresi oluşturulur: (Öntanımlı **toor**)

.. code:: bash

passwd

14. Temel sistem gereksiz dosyalardan arındırılır ve sfs yedeklenir:

.. code:: bash

exit

cd /home/mlfs/milis
./temel_sfs.sh

15. Güncel MPS yüklenir ve gerekli ayarlamalar yapılır:

.. code:: bash

cp onsistem/etc/bash.bashrc onsistem/root/.bashrc

cd /home/mlfs/mps
git pull

cd /home/mlfs
rm -rf onsistem/usr/milis/mps
cp -rf mps onsistem/usr/milis/

# **temel sistemin içine tekrar gireriz**
./02.1-enter-chroot
(temel) root:/# cd /usr/milis/mps
(temel) root:/# echo "export MPS_PATH=/usr/milis/mps" >> /root/.bashrc
(temel) root:/# echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\$MPS_PATH/bin" >> /root/.bashrc
(temel) root:/# source /root/.bashrc
(temel) root:/# sh derle.sh

# sürüm numarası alınarak MPS kurulum doğrulanır.
# mps -v
2.0.0

# bashrc profile kopyalanarak chroot ortamdan çıkış yapılır.
cp /root/.bashrc /etc/profile
exit

16. İmaj üreticinin kullanılarak temel canlı imajın üretilmesi:

.. code:: bash

cd /home/mlfs
git clone https://notabug.org/milislinux/imaj-uretici-2

cd imaj-uretici-2
./iso_olustur.sh



+ 224
- 0
belgeler/_sources/docs/tr/miliste_paket_uretimi.rst.txt View File

@@ -0,0 +1,224 @@
Milis'te Paket Üretimi
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

Milis Linux'ta paketler talimat dizininde belirtilen verilere göre derlenir, yüklenir ve paketlenir.
Bu belge sıfırdan bir paketin nasıl oluşturulduğunu göstermek için hazırlanmıştır.

Talimat'ın hazırlanması
-------------------------
Bir paketin talimatının hazırlanması için yapılacak şey gerekli bilgilerin doğru bir şekilde
doldurulmasıdır. Talimat dosyasının yapısı için lütfen `Talimat Sistemi <http://mls.akdeniz.edu.tr/belgeler/docs/tr/talimat.html>`_
belgesini inceleyin.
Bu belgede talimatını hazırlayacağımız paket 'htop' adı verilen bir işlem monitorü.

Paket bilgileri
^^^^^^^^^^^^^^^^
Paket için gerekli bilgiler toplandıktan sonra, talimatın ilk formu aşağıdaki gibi
olacaktır:

::

[paket]
tanim = Interaktif işlem izleyici
paketci = milispaketci
grup = sistem
url = https://hisham.hm/htop


Gerekler
^^^^^^^^^^^^^^^^
Sırada paketin derlenmesi ve çalışması için gerekliliklerin bulunması var. Bunlar belirli kaynaklardan
araştırılarak veya manuel olarak bulunabilir.
Paketlenecek olan 'htop'ın derlenmesi için 'python'a, çalışması için ise 'ncurses'e ihtiyacı
var.

Burada bilinmesi gereken nokta, temel sistemde bulunan paketler talimatlara gereklilik olarak
eklenmez. Bizim durumumuzda 'ncurses' temel sistemde bulunan bir program olduğundan bu gerekliliği
eklemeyceğiz.

::

[gerek]
derleme = python
calisma =

Kaynaklar
^^^^^^^^^^^^^^^^
Paketin derlenmesi veya paketlenmesi için kaynak kodlara ve yamalara ihtiyacı var. Bunun yanında
eğer büyüyen bir derleme veya paketleme betiğiniz varsa bunu derle.sh veya pakur.sh adı altında
talimat dizininde tutmak istiyebilirsiniz. Bunları talimat dosyanızda kullanırken kaynak altında
**mutlaka** belirtmelisiniz.

::

[kaynak]
gz = $url/releases/$surum

Dosya hashleri
^^^^^^^^^^^^^^^^
İndirilen kaynak dosyalarının bozulma ihtimaline karşın talimatınızda dosyaların hashlerini bulundurmak her zaman için
iyi bir fikirdir. Bunlar mps tarafından otomatik olarak algılanır ve kontrol edilir. Hashlerinizin hangi
dosyaya ait oluduğunu belirtmek için dosyanın kaynak altındaki sırasını kullanınız. Paketlediğimiz 'htop'
uygulamasında kullandığımız kaynak için gerekli hashi ekleyelim.

::

[sha256]
1 = d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57


Derleme bilgileri
^^^^^^^^^^^^^^^^^^
Şimdi paketin nasıl derleneceğini belirtmemiz gerekiyor, 'htop' standart bir C programı gibi derlendiğinden
talimat sisteminde önceden tanımlı tipleri kullanacağız. Yukarıda belirtilen kaynak arşiv dosyaları indirildikten sonra
arşiv dosyaları otomatik olarak $SRC dizini altına açılacaktır. MPS otomatik olarak $isim-$surum dizini varsa içine girer.
Sonra derleme işlemlerini başlatır. Eğer arşiv dosyasının açılmış dizin ismi $isim-$surum biçiminde değilse derleme
işleminin başında derleme için hazır olunması gereken dizin 'betik = cd arsiv_dizin' şeklinde belirtilmelidir.

::

[derle]
tip = gnu

Bazen programlar derlenmeye gerek duyamayabilir, böyle durumlarda şablanu boş bırakmamak ve durumu belirtmek
adına derle bölümünü şu şekilde doldurabiliriz:

::

[derle]
betik = echo "Derleme yapılmayacak!"

Paketleme bilgileri
^^^^^^^^^^^^^^^^^^^^^
Programımızın kurulumu da standart bir C programı kurulumuna eşdeğer, burada tekrar hazır tipleri kullanarak
işimizi hızlandıracağız. Eğer arşiv dosyasının açılmış dizin ismi $isim-$surum biçiminde değilse paketleme
işleminin başında pakur için hazır olunması gereken dizin 'betik = cd arsiv_dizin' şeklinde belirtilmelidir.

::

[pakur]
tip = gnu

Her ne kadar bu örnekte tipleri kullanmış olsak da, yapılan her işlem için muhtemelen bir tip bulunmayacaktır.
Eğer yapılcak işlemler bir kaç satır betiği aşmıyorsa, bunları betik anahtarları ile talimat
içinde, diğer durumlarda ise derle.sh ve pakur.sh dosyları ile yapılır.

Talimat dizininin oluşturulması
--------------------------------
Talimat dosyası hazırlandıktan sonra yapılacak ilk iş, paket için gerekli talimat dizinin oluşturulmasıdır.
Talimat dizininin ismi belirli bir kural çerçevesinde verilir. Talimat dizini ismi paketin ismi ile başlar,
'#' ile devam eder ve arkasından sürüm numarası gelir, hemen ardından '-' ve son olarak paketin devir numarası
ile biter.
Örneğin paketlenen 'htop' paketinin 2.2.0'ıncı sürümünü kullandık, ve bu paketi aynı sürümde ilk paketleyişimiz
olduğundan devir numaramız da 1. Bu durumda talimat dizininin ismi 'htop#2.2.0-1' olacaktır. Sürümde herhangi bir değişiklik
yok yama vs işlemler yapılacaksa devir numarası bir artırılarak talimat dizini oluşturulur.

Hazırladığımız talimat dosyasını bu dizine yerleştiriyoruz.


Talimat'ın repoya eklenmesi
----------------------------
Şimdi ise sıra hazırladığımız talimatı kullanmaya geldi. Bunun için talimat dizinini bir kaynağa yüklemeli ve
mps'yi bu kaynağı tanıyacak şekilde konfigüre etmeliyiz. Bunun için en etkili yol bir git reposu kullanmaktır.
Bu belgede hazırlanan 'htop' talimat dizinine `buradaki <https://notabug.org/gysddn/mpsrepo/src/master/talimatname/htop%232.2.0-1>`_
git reposundan ulaşılabilir.

Talimat dizinini bir kaynağa yükledikten sonra ise MPS için gerekli ayar /usr/milis/mps/conf/conf.lua dosyasında
yapılır.
Dosyayı açtıktan sonra 'talimatdepo' altına kendi dizinimizi ekliyoruz:

::

...
[3]={["https://notabug.org/gysddn/mpsrepo"]="talimatname"},
...

Burada anahtar değeri olan 3, talimat dizinlerinin aktarılacağı talimatname düzeyini belirtir.
Değerdeki ilk parametre repomuzun adresi, ikinci ise reponun altında ilgili talimat dizinlerini belirtir.

Yaptığımız değişikliklerin MPS'e etki etmesi için git repolarını güncelliyoruz:

.. code:: bash

mps gun -G


Talimat'ın test edilmesi (mpsdo)
---------------------------------

Talimatımız artık hazır ve sistem tarfından tanınıyor. Bu adımda çalışan bir Milis dağıtımında, talimatımızı
test edebiliriz. Ancak sağlıklı bir test için her zaman stabil bir ortam gerekir. Bunun için yalıtılmış bir
derleme ortamı olan mpsdo'yu kullanabilirsiniz.

Kurulum
^^^^^^^^^^^^^^
mpsdo'yu kurmak için mps'yi güncellemeniz gerekmektedir:

.. code:: bash
mps gun -H


Kullanım
^^^^^^^^^^^^^^
mpsdo'nun ortamına giriş yapmak için:

.. code:: bash

sudo mpsdo

Bu adımdan sonra yapacağınız işlemler yalıtılmış derleme ortamında
gerçekleşecektir.

.. note::
mpsdo derlemeler için ana sisteme bağlanmış birkaç dizin hariç
ortamı her zaman sıfırlayacaktır. Bunlar /opt, /sources, /var/cache'tir.
Aynı dizinler ana sitemde sırası ile /mnt/paketler, /sources, /mnt/milis2/pktdepo_onbellek'e
bağlanır. Bu dosyaların ana sisteme bağlanma amacı aynı işlemlerin sürekli
yapılmasının önüne geçmektir.

.. note::
Ortama her girişinizde sıfırlanacağı için mps'yi her girişinizde
güncellemeniz gerekmektedir.

Ortamda paket derlemek için konak bilgisayarın /mnt/milis/ortam/usr/milis/talimatname
altındaki sayısal dizinler kullanılır. Bu aşamada 'conf.lua' dosyanızı kontrol edip herşeyin doğru
oduğunundan emin olmakta fayda vardır.

Paketi derlediğimizde mps o an bulunulan dizinde gerekli paketin '.mps.lz' uzantılı olan kurulma
dosyasını oluşturacaktır. Dosyayı oluşturmak istediğiniz klasöre geçtikten sonra:

- Gerekli değişiklikleri yaptıktan sonra tekil (bağımlılıklar olmadan) derleme için:

.. code:: bash

mps der -t htop

- Sıralı derle-kur-paketle işlemleri için:

.. code:: bash

mps der htop

Paketi kurmak için:

.. code:: bash

mps kur htop#2.2.0-1-x86_64.mps.lz

**Tebrikler!!!** Milis'te ilk paketinizi oluşturdunuz. Bu adımda sisteminizde htop'un kurulu ve çalışabilir
bir durumda olması gerekiyor.

Daha fazlası için `dökümanları <https://mls.akdeniz.edu.tr/belgeler/>`_, `kaynak kodlarını <https://notabug.org/milislinux>`_ ve
`talimat dosyalarını <https://notabug.org/milislinux/milis19/src/master/talimatname>`_ inceleyebilirsiniz.

Ortamdan çıkmak için:

.. code:: bash

exit


+ 79
- 0
belgeler/_sources/docs/tr/mps.rst.txt View File

@@ -0,0 +1,79 @@
Milis Paket Sistemi
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

Milis Paket Sistemi (MPS) Milis Linux işletim sisteminin kendine özgü paket yöneticisidir.
MPS paketlerin birbiriyle kararlı bir şekilde kurulum, silme ve güncelleme işlemlerini gerçekleştirir.
MPS paket yönetiminde talimatname dizin yapısını kullanarak kaynak koddan derleme ve paket üretimini gerçekleştirirken
paket depo bilgi dosyalarındaki paket bilgileriyle ikili paket yönetimini sağlar. Böylelikle hem derleme sistemine hem de
derlenmiş paket sistemini uygulamış olur. MPS i kullanmak için merkezi depoya erişmenize gerek yoktur, kendi yerel deponuzu da
kurarak gerekli paket güncelleme işlemlerini gerçekleştirebilirsiniz.

Kullanım
--------------

Temel Komutlar
^^^^^^^^^^^^^^

#. Yardım

.. code:: bash
mps -h
mps --help
mps işlev -h # ilgili işlev ile ilgili yardım menüsü

#. Güncelleme:

.. code:: bash
mps gun -M # paket yöneticisi güncellemesi
mps gun -P # paket depo güncellemesi
mps gun -B # betik depo güncellemesi
mps gun -H # tüm depoların güncellenmesi
mps gun -S # sistem güncellemesi - hazır değil!

#. Kurulum:

.. code:: bash

mps kur paket_adi / paket_adi.mps.lz
mps kur -d paket_listesi_dosyasi # Dosyadan kurar

#. Silme:

.. code:: bash

mps sil paket_adi

#. Derleme:

.. code:: bash

mps der paket_adi # gerekleriyle derler
mps der paket_adi -t # tekil paket derleme

#. Arama:

.. code:: bash

mps ara paket_adi -t # talimatnamede arar
mps ara paket_adi -p # paket depoda arar

#. Bilgi:

.. code:: bash

mps bil paket_adi # paket veya talimat hakkında bilgi sağlar
mps bil paket_adi --kk # paketin kurulu olma durum bilgisi verir
mps bil paket_adi --kdl # paketin kurulu dosyalarını gösterir

#. Sorgulama:

.. code:: bash

mps sor -L # sistemdeki kurulu paket listesini verir


+ 174
- 0
belgeler/_sources/docs/tr/mps_ile_iso_yapimi.rst.txt View File

@@ -0,0 +1,174 @@
Mps ile Milis Linux Yapımı
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

#. Gerekli çevre değişkenleri ayarlanır:

.. code:: bash

export MPS_PATH=/opt/mps
export MILIS_PATH=/tmp/sys/usr/milis
#. mps kaynak kodu indirilip derlenir:

.. code:: bash

git clone https://mls.akdeniz.edu.tr/git/milislinux/mps $MPS_PATH
cd $MPS_PATH
bash derle.sh $MPS_PATH

#. mps gerekli konfigürasyon ayarlarını yaptğınından dolayı ilk çalıştığında:

.. code:: bash

cd bin
./mps
MPS öntanımlı ayarlar yüklendi.
Lütfen mps'i yeniden çalıştırın!

uyarısını verecektir. Bu adımdan sonra mps kurulumu tamamlanmış olur.
Kontrol etmek için:

.. code:: bash

./mps -v
MPS 2.0.4 - Milis Paket Sistemi milisarge@gmail.com

#. mps'in paketleri nereden alacağını belirlemek için gerekli ayarlar yapılır:

.. code:: bash

nano ../conf/conf.lua

#. Dizin sistemi ve MPS'nin ilklenmesini --kok değerine göre verilen dizinde oluşturulur:

.. code:: bash

./mps --ilkds --ilk --kok=/tmp/sys

#. Gerekli güncellemeleri yapar; talimatname, depo ve betik:

.. code:: bash

./mps gun -GPB --kok=/tmp/sys

#. Minimal bir sistem ortamı kurmak için gerekli paketler indirilir ve yüklenir:

.. code:: bash

./mps kur --dosya=/tmp/sys/usr/milis/talimatname/1/ortam.order --kurkos=0 --koskur=0 --kok=/tmp/sys

.. note::
'order' dosyası minimal bir sistemi kurmak için gerekli dosyaları **sıralı** bir liste
olarak içerir. Dosya istek doğrultusunda düzeltilebilir veye yerine başka bir dosya kullanılabilir.
Fakat ne yaptığınızı kesin olarak bilmediğiniz takdirde belirtilen dosyayı kullanmanız
önerilir.

#. mps kurulum dizininin altına kopyalanır:

.. code:: bash

cp -r $MPS_PATH /tmp/sys/usr/milis/mps
#. chroot içine girilir:

.. code:: bash

./enter-chroot /tmp/sys

#. mps'nin altındaki lua modulleri derlenir:

.. code:: bash

cd /usr/milis/mps
bash derle.sh
#. Gerekli temel ve ek servisler kurulur ardından güncellemeler çalıştırılır:

.. code:: bash

cd /usr/milis/ayarlar/servisler
make install
make kur-random

.. code:: bash
update-ca-certificates --fresh
.. code:: bash
cd /opt
mps gun -H
#. Minimal bir sistem kurmak için gerekli paketler indirilir ve yüklenir:

.. code:: bash

mps kur --dosya=/usr/milis/ayarlar/iso/minimal.pliste # minimal sistem
mps kur --dosya=/usr/milis/ayarlar/iso/xorg.pliste # + X altyapısı
mps kur --dosya=/usr/milis/ayarlar/iso/xfce4.pliste # + XFCE4 masaüstü
mps kur --dosya=/usr/milis/ayarlar/iso/cesitli.pliste # + günlük uygulamalar

#. canlı sistem için initramfs üretilir:

.. code:: bash

rm -f /boot/initramfs.img
dracut -N --force --xz --add 'dmsquash-live pollcdrom' --omit systemd /boot/initrd_live `ls /usr/lib/modules`

#. Yerelleştirme ayarları yapılır (Türkçe için ve minimal sistem kullanımında uygulanır.):

.. code:: bash

# nano /etc/sysconfig/rc.site
UNICODE=1
KEYMAP="trq"
FONT="drdos8x16 -m 8859-15" #değerleri atanır.
# nano /etc/sysconfig/clock
UTC=1
TIMEZONE="Europe/Istanbul"

#. Canlı sistem ayarları yapılır.

.. code:: bash
echo ". /etc/profile" > /root/.bashrc
echo "LANG=tr_TR.UTF-8" >> /etc/environment
# aşağıdaki ayarlar X için gerekli
echo "tr" > /root/.Xkbmap
usermod -a -G pulse-access root

.. note::
* /usr/milis/mps/conf/conf.lua dosyası içinde sistem için gerekli depo bilgilerini güncelleyin!
* Canlı kullanıcı için gerekli grup izinlerini(ses, ağ, vb erişimler) ayarlayın!
* Masaüstü için gerekli klavye ayarlarını yapın!
* Masaüstü için gerekli .xinitrc dosyasını ayarlayın!(Lightdm için gerekmez)

#. Önbellekteki paket arşivleri temizlenir, ortamdan çıkılır ve komut tarihçesi temizlenir:

.. code:: bash

rm -f /var/cache/mps/depo/*.mps.lz ; rm -f /tmp/*.log
exit
rm -f /tmp/sys/root/.bash_history
#. iso yapılmak istenen dizinin altına girilir ve imaj üretici indirilir:

.. code:: bash

cd /opt
git clone https://notabug.org/milislinux/imaj-uretici-2

#. Imaj oluşturma betiğiyle imaj oluşturma işlemi başlatılır:

.. code:: bash

/opt/imaj-uretici-2.0
bash iso_olustur.sh /tmp/sys

.. note::
Oluşan imajın giriş bilgileri: root / toor


+ 155
- 0
belgeler/_sources/docs/tr/mps_kurulum.rst.txt View File

@@ -0,0 +1,155 @@
Milis Kurulum Yönergeleri
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

Milis Linux'ta çalışan iso dosyasından, sistemi direkt olarak hedef disk bölümüne
kurabilirsiniz. Bu aşamada iso dosyası üzerinde yaptığınız ayarlar da olduğu gibi
yeni sisteme aktarılacaktır.

Kurulum öncesi
--------------------

İmza doğrulaması
^^^^^^^^^^^^^^^^^
Herhangi bir dosya bozukluğuna ve indirme hatasına karşın, yüklemeye başlamadan önce iso
dosyasının imzasını doğrulamanız önerilir.
Bunu yapmak için indirdiğiniz sha256sum dosyasını iso dosyanız ile aynı klasöre atın ve alttaki
komutu indiriğiniz imza dosyası ile çalıştırın:

.. code:: bash

sha256sum -c milis-linux-1.0-xfce4-201812310344.iso.sha256sum


Sistemin boot edilmesi
^^^^^^^^^^^^^^^^^^^^^^^
İndirdiğiniz iso dosyasını bir USB belleğe veya CD sürücüye yazdırın ve bilgisayarınızı bu
sürücü ile boot edin.

Sabit sürücülerin hazırlanması
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. warning::
Bu aşamda diskinizdeki veriler silinecektir! Kullanılan programlar hakkında yeterli
bilginiz yoksa devam etmeniz kesinlikle önerilmez! Bu aşamaya geçmeden önce lütfen
fdisk ve cfdisk programları ile ilgili `belgeleri`_ inceleyin.

.. _belgeleri: http://belgeler.org/howto/partition-howto-fdisk.html

Sistemi kuracağınız bölümleri hazırlamak için fdisk veya cfdisk komutlarını kullanbilirsiniz.
Bu belgede sistem bir tane kök dizini üzerine kurulacağından, sabit disk üzerinde sadece bir
bölüm oluşturulacaktır. Bunu yapmak için,

1. Sistemin kurulacağı sürücü belirlenir:


.. code:: bash
lsblk

2. fdisk (veya cfdisk) programı belirtilen sürücü ile başlatılır:

.. code:: bash

fdisk /dev/sdx

3. 'n' komutu ile sürücüde yeni bir bölüm oluşturulur:

::

Komut (yardım için m): n

Bölümün tipi 'primary' veya 'extended' olarak belirlenir. Varsayılan
ayar ile devam etmek için parametresiz girdi verilir:

::

Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.

Disk bölüm numarası belirlenir, bu durumda da varsayılan ile ilerlemek yeterli
olacaktır:

::

Disk bölümü numarası (1-4, default 1):

Bölümün başlangıç sektörü belirlenir, bu aşamada varsayılan kullanılabilecek ilk sektörden
başlar. Varsayılan ile devam edilir:

::

First sector (2048-15730687, default 2048):

Bölümün bitiş sektörü belirlenir. Burada direkt olarak numara kullanmak yerine başlangıç
sektörüne belirli bir alan büyüklüğünün eklenmesi ile hesaplamak genel olarak daha
uygundur. Sadece kullanmak istediğiniz büyüklüğü belirtilen şekilde girin, örneğin 20 GB'lık
bir alan kullanacaksanız parametreniz +20G olacaktır. Varsayılan olarak girilmesi halinde
program kullanılabilir tüm alanı ayıracaktır:

::

Last sector, +sectors or +size{K,M,G,T,P} (2048-15730687, default 15730687):

4. 'w' komutu ile sürücüdeki değişiklikler kaydedilir:

::

Komut (yardım için m): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.



Dosya sisteminin oluşturulması
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Formatlan bölümün kullanılabilmesi için bölümde linux dosya sistemi oluşturulur:

.. code:: bash

mkfs.ext4 /dev/sdax


Dosya sisteminin bağlanması
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Kurluma hazırlanan bölüm host sisteme bağlanır:

.. code:: bash

mount /dev/sdax /mnt

Kurulum
--------------------

1. Host sistemdeki mevcut dosya sistemi hedefe kopyalanır:

.. code:: bash
cp -axvu / /mnt

2. initramfs (başlatıcı) oluşturulur:

.. code:: bash
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
chroot /mnt dracut -N --force --xz --omit systemd /boot/initrd

3. Gerekli grub ayarlarını yapılır:

.. code:: bash
grub-install --force --boot-directory=/mnt/boot /dev/sdy
chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg

Sistemin başlatılması
---------------------
Bu andan itibaren makinenizi kurulum medyası olamadan boot ederek milis sistemine ulaşabilirsiniz.

+ 114
- 0
belgeler/_sources/docs/tr/ortam_olusturma.rst.txt View File

@@ -0,0 +1,114 @@
Mps Derleme Ortam Kalıbı
===================================

.. toctree::
:maxdepth: 2
:caption: Contents:

Milis Linux'ta paketleri temiz bir ortamda üretebilmek için squash filesystem ile sıkıştırılmış bir sistem kalıbı
kullanılır. Aşağıdaki komutlarla bu sistem kalıbını üretebiliriz. Eğer hazır üretilmiş sistem kalıbını
kullanmak isterseniz mpsdo komutunu kullanabilirsiniz.

#. Gerekli çevre değişkenleri ayarlanır:

.. code:: bash

export MPS_PATH=/opt/mps
export MILIS_PATH=/tmp/sys/usr/milis
#. MPS kaynak kodu indirilip derlenir:

.. code:: bash

git clone https://mls.akdeniz.edu.tr/git/milislinux/mps $MPS_PATH
cd $MPS_PATH
bash derle.sh $MPS_PATH

#. mps gerekli konfigürasyon ayarlarını yaptğınından dolayı ilk çalıştığında:

.. code:: bash

cd bin
./mps
MPS öntanımlı ayarlar yüklendi.
Lütfen mps'i yeniden çalıştırın!

uyarısını verecektir. Bu adımdan sonra mps kurulumu tamamlanmış olur.
Kontrol etmek için:

.. code:: bash

./mps -v
MPS 2.0.9 - Milis Paket Sistemi milisarge@gmail.com

#. MPS'in paketleri nereden alacağını belirlemek için gerekli ayarlar yapılır:

.. code:: bash

nano ../conf/conf.lua

#. Dizin sistemi ve MPS'nin ilklenmesini --kok değerine göre verilen dizinde oluşturulur:

.. code:: bash

./mps --ilkds --ilk --kok=/tmp/sys

#. Gerekli güncellemeler yapılır; talimatname, depo ve betik:

.. code:: bash
./mps gun -GPB --kok=/tmp/sys

#. Minimal bir sistem ortamı kurmak için gerekli paketler indirilir ve yüklenir:

.. code:: bash

./mps kur --dosya=/tmp/sys/usr/milis/talimatname/1/ortam.order --kurkos=0 --koskur=0 --kok=/tmp/sys

#. MPS kurulum dizininin altına kopyalanır:

.. code:: bash

cp -r $MPS_PATH /tmp/sys/usr/milis/mps
#. chroot içine girilir:

.. code:: bash

./enter-chroot /tmp/sys

#. mps dizini altındaki lua modulleri derlenir:

.. code:: bash

cd /usr/milis/mps
bash derle.sh
#. Gerekli güncellemeler çalıştırılır:

.. code:: bash
update-ca-certificates --fresh

#. Önbellekteki paket arşivleri temizlenir, ortamdan çıkılır ve komut tarihçesi temizlenir:

.. code:: bash

rm -rf /var/cache/mps/depo/*
exit
rm -f /tmp/sys/root/.bash_history
#. Ortam içindeki sources dizini silinir çünkü sonra mpsdo ile güncel sources dizini bağlanacak:

.. code:: bash

rm -rf /tmp/sys/sources

#. Yeni sistem squash filesystem ile sıkıştırılır:

.. code:: bash

mksquashfs /tmp/sys /tmp/milis2-ortam.sfs -comp xz



+ 351
- 0
belgeler/_sources/docs/tr/talimat.rst.txt View File

@@ -0,0 +1,351 @@
Talimat Sistemi
===================================

.. toctree::
:maxdepth: 2


talimat dosyaları mps'in paketleri kurması için gerekli bilgileri içeren bir .ini dosyasıdır.


Talimat dizini
-----------------
Talimat dizinleri paket ile ilişkili talimat dosyasını ve kurulum aşamasında gerekebilecek
bir çok ayrı dosyayı barındırır.

::

gcc#9.1.0-1/
├── derle.sh
├── kurkos.sh
├── pakur.sh
└── talimat


\*.sh dosyaları
~~~~~~~~~~~~~~~~~~~~~
Talimat işlemleri için ayrı script dosyları hazırlanıp bunlar talimat dosyası içinden
'dosya' anahtar kelimesi ile çağırılabilir.

::

[derle]
dosya = derle.sh
[pakur]
dosya = pakur.sh

Bu dosyların 'derle' ve 'pakur' altında kullanılması halinde önerilen isimlendirme 'derle' için
'derle.sh', 'pakur' için ise 'pakur.sh' şeklindedir.

Koşuk betikleri
~~~~~~~~~~~~~~~~~~~~~
Koşuk betikleri talimat dizininde saklanabilir. Bunlar mps tarafından otomatik olarak algılanır ve
kullanılır.

| **kurkos.sh**
| Paket kurulduktan sonra çalışacak betik.
| **koskur.sh**
| Paket kurulmadan önce çalışacak betik.
| **silkos.sh**
| Paket silindikten sonra çalışacak betik.
| **kossil.sh**
| Paket silinmeden önce çalışacak betik.


Yama dosyaları
~~~~~~~~~~~~~~~~~~~~~
Yama dosyaları talimat dizininde saklanabilir. Bu durumda yapılması gereken 'dosya' anahtarı ile
dosyayı talimat'taki kaynak bölümüne eklemek ve 'yama' anahtarı ile ilişkili yamayı belirtmektir.
Daha fazla bilgi için dosya formatını inceleyin.

::

lua#5.3.5-1/
├── derle.sh
├── liblua.so.patch
├── lua.pc
├── pakur.sh
└── talimat

::

[kaynak]
gz = https://www.lua.org/ftp
dosya = liblua.so.patch
dosya = lua.pc
[derle]
yama = 2
...

Eklenen dosya için aşağıdaki komut çalıştırılıcaktır:

.. code:: bash

patch -Np1 -i $SRC/dosya_ismi


libgerekler ve pktlibler
~~~~~~~~~~~~~~~~~~~~~~~~~~
libgerekler dosyası, paketin hangi kütüphanelere ihtiyacı olduğunu belirtir.

Örneğin aşağıda python paketinin 3.7.3'üncü sürümü için gereken kütüphaneler listelenmiştir.
Bunlar libgerekler dosyasında saklanır.

::

libdl.so.2
libpython3.7m.so.1.0
libpthread.so.0
libc.so.6
libuuid.so.1
libm.so.6
libexpat.so.1
liblzma.so.5
libbz2.so.1.0
libz.so.1
libpanelw.so.6
libncursesw.so.6
libgdbm.so.6
libgdbm_compat.so.4
libsqlite3.so.0
libssl.so.1.1
libcrypto.so.1.1
libcrypt.so.1
libreadline.so.8
libutil.so.1


pktlibler ise paketin sisteme sunduguğu kütüphaneleri belirtir.

Aşağıda ise aynı paketinin sisteme sunduğu kütüphanler listelenmiştir.
Bunlar da pktlibler dosyasında saklanır.

::

libpython3.so
libpython3.7m.so.1.0
libpython3.7m.so





Dosya formatı
-----------------
Talimat dosyası, paketin kullanılabilmesi ve işlenebilmesi için gerekli bilgileri
içeren bölümlerden oluşur. Bunlardan dördü; paket, kaynak, derle ve pakur bu dosyada
bulunmak zorundadır. Bunlara ek olarak bir çok bölüm belirli amaçları karşılamak
amacıyla kullanılabilir.

[paket]
~~~~~~~~~~~~~~~~~
| **tanim**
| Paketin açıklaması.
| **paketci**
| Paketçilerin isimleri.
| **grup**
| Paketin grubu.
| Gruplarlar belirlenirken sistemde önceden tanımlanan gruplar
kullanılmalıdır, bunlar 'mps gruplar' komutu ile öğrenilebilir.
| **url**
| Paketin web sayfası

[gerek]
~~~~~~~~~~~~~~~~~
| **derleme**
| Paketin derlenmesi için gerekenler
| **calisma**
| Paketin çalışması için gerekenler

[kaynak]
~~~~~~~~~~~~~~~~~
| **github**
| Verilen kaynak GitHub için 'kullanıcıadı/repoismi' olmalıdır.
Bu durumda mps'nin kullandığı tam url ise 'github.com/kullanıcıadı/repoismi' olacaktır.
| **gz,xz,bz2**
| Verilen kaynağın sonuna paket ismini belirli bir formata çevirerek ekler ve kullanır.
| Kullanılan tam format, girdi 'url' ise '$url/$isim-$surum.tar.[gz|xz|bz2]' olacaktır.
| **tgz**
| Verilen kaynağın sonuna paket ismini belirli bir formata çevirerek ekler ve kullanır.
| Kullanılan tam format, girdi 'url' ise '$url/$isim-$surum.tgz' olacaktır.
| **dosya**
| Paketin talimat dizinindeki bir betik dosyası.

| Bunların dışında normal http indirmelerine anahtar olarak herhangi bir alfanumerik kelime
kullanılabilir. Ancak önerilen kullanım herhangi bir pozitif sayı veya 'url' anahtar
kelimesidir.

Dosya isimlendirme
^^^^^^^^^^^^^^^^^^^
İndirilen dosya için kaynak belirtirken '::' postfixi ile yeni bir isim belirtilebilir. Yeni
isimde değişkenler de kullanılabilir.

::
1 = https://github.com/pallets/markupsafe/archive/$surum.tar.gz::$isim-$surum.tar.gz


[sha256] ve [sha512]
~~~~~~~~~~~~~~~~~~~~~~
| **1,2,3,4...**
| Kaynak dosyaları için sha anahtarlarını belirtir.
| Numara, kaynağın [kaynak] altındaki sırasını belirtir.


[derle]
~~~~~~~~~~~~~~~~~
| **dosya**
| Paketin talimat dizinindeki bir betik dosyası.
| **tip**
| Paketin derlenme tipi.
| **betik**
| Çalıştırılacak betik komutu.
| **yama**
| Yama dosyasının [kaynak] altındaki sırası veya ismi.


[pakur]
~~~~~~~~~~~~~~~~~
| **dosya**
| Paketin talimat dizinindeki bir betik dosyası.
| **tip**
| Paketin kurulma tipi.
| **betik**
| Çalıştırılacak betik komutu.
| **yama**
| Yama dosyasının [kaynak] altındaki sırası veya ismi.
| **servis**
| Paketin içine kurulacak servis.
| Bu dosya /usr/milis/ayarlar altında bulunmak zorundadır.

.. note::
[derle] ve [pakur] altında hazırlanan anahtarlar yukarıdan aşağıya doğru olacak
şekilde kullanılır/çalıştırılır.


Değişkenler
-----------------
| Talimat dizininde paketler belirli bir formata göre isimlendirilir, bu format
| 'isim#sürüm-devir'
| şeklindedir ve buradaki değerler değişkenler olarak kullanılabilir.

| **$isim**
| Paketin ismi.
| **$surum**
| Paketin sürümü.
| **$devir**
| Paketin devri.

[paket] bloğunun altındaki her anahtar değişken olarak kullanılabilir.

Tipler
-----------------
Tipler, betik yazmak yerine daha sade bir talimat için kullanılabilir.

Ek konfigürasyon yapmak için 'tip' anahtarından önce 'ekconf' anahtarı kullanılabilir.
Anahtarın değeri gerekli komutlar çağrılmadan önce $extopt değerine atanacaktır.

Derleme tipleri
~~~~~~~~~~~~~~~~~
Derleme tipleri, derleme anında çalıştırılacak hazır komutları içerir.

gnu
^^^^^^^^^^^^^^^^

.. code:: bash
./configure $confopt $extopt && make ${MAKEJOBS}

cmake
^^^^^^^^^^^^^^^^

.. code:: bash
mkdir -p build;cd build;cmake ${CMAKE_OPTS} $extopt ../ && make ${MAKEJOBS}


py3 ve py2
^^^^^^^^^^^^^^^^

.. code:: bash
python3 setup.py build

.. code:: bash

python2 setup.py build

perl
^^^^^^^^^^^^^^^^

.. code:: bash

perl Makefile.PL INSTALLDIRS=vendor && make


meson
^^^^^^^^^^^^^^^^

.. code:: bash
cd $SRC && milis-meson $isim-$surum build $extopt

ninja
^^^^^^^^^^^^^^^^

.. code:: bash
mkdir -p build && ninja -C build

waf
^^^^^^^^^^^^^^^

.. code:: bash

python3 waf configure --prefix=/usr $extopt && python3 waf build


Paket kurma tipleri
~~~~~~~~~~~~~~~~~~~~
Paket kurma tipleri, kurulum sırasında çalıştırılacak hazır komutları içerir.

gnu
^^^^^^^^^^^^^^^^

.. code:: bash
make DESTDIR=$PKG install

py3 ve py2
^^^^^^^^^^^^^^^^

.. code:: bash
python3 setup.py install --root=${PKG} --optimize=1 --skip-build

.. code:: bash
python2 setup.py install --root=${PKG} --optimize=1 --skip-build

ninja
^^^^^^^^^^^^^^^^

.. code:: bash
DESTDIR=$PKG ninja -C build install

meson
^^^^^^^^^^^^^^^^

.. code:: bash
cd $SRC && DESTDIR=$PKG ninja -C build install

waf
^^^^^^^^^^^^^^^^

.. code:: bash

python3 waf install --destdir=$PKG

+ 19
- 0
belgeler/_sources/index.rst.txt View File

@@ -0,0 +1,19 @@
.. talimat documentation master file, created by
sphinx-quickstart on Mon Jun 24 14:53:40 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.

Milis Linux Belgeleri
===================================

.. toctree::
:maxdepth: 2

docs/tr/talimat
docs/tr/mps_kurulum
docs/tr/mps
docs/tr/iso_yapimi
docs/tr/mps_ile_iso_yapimi.rst
docs/tr/miliste_paket_uretimi.rst
docs/tr/ortam_olusturma.rst


+ 6721
- 0
belgeler/_static/_stemmer.js
File diff suppressed because it is too large
View File


+ 607
- 0
belgeler/_static/alabaster.css View File

@@ -0,0 +1,607 @@

















@import url("basic.css");

/* -- page layout ----------------------------------------------------------- */

body {
font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
font-size: 17px;
background-color: white;
color: #000;
margin: 0;
padding: 0;
}


div.document {
width: 940px;
margin: 30px auto 0 auto;
}

div.documentwrapper {
float: left;
width: 100%;
}

div.bodywrapper {
margin: 0 0 0 220px;
}

div.sphinxsidebar {
width: 220px;
font-size: 14px;
line-height: 1.5;
}

hr {
border: 1px solid #B1B4B6;
}

div.body {
background-color: #ffffff;
color: #3E4349;
padding: 0 30px 0 30px;
}

div.body > .section {
text-align: left;
}

div.footer {
width: 940px;
margin: 20px auto 30px auto;
font-size: 14px;
color: #888;
text-align: right;
}

div.footer a {
color: #888;
}

p.caption {
font-family: ;
font-size: inherit;
}


div.relations {
display: none;
}


div.sphinxsidebar a {
color: #444;
text-decoration: none;
border-bottom: 1px dotted #999;
}

div.sphinxsidebar a:hover {
border-bottom: 1px solid #999;
}

div.sphinxsidebarwrapper {
padding: 18px 10px;
}

div.sphinxsidebarwrapper p.logo {
padding: 0;
margin: -10px 0 0 0px;
text-align: center;
}

div.sphinxsidebarwrapper h1.logo {
margin-top: -10px;
text-align: center;
margin-bottom: 5px;
text-align: left;
}

div.sphinxsidebarwrapper h1.logo-name {
margin-top: 0px;
}

div.sphinxsidebarwrapper p.blurb {
margin-top: 0;
font-style: normal;
}

div.sphinxsidebar h3,
div.sphinxsidebar h4 {
font-family: 'Garamond', 'Georgia', serif;
color: #444;
font-size: 24px;
font-weight: normal;
margin: 0 0 5px 0;
padding: 0;
}

div.sphinxsidebar h4 {
font-size: 20px;
}

div.sphinxsidebar h3 a {
color: #444;
}

div.sphinxsidebar p.logo a,
div.sphinxsidebar h3 a,
div.sphinxsidebar p.logo a:hover,
div.sphinxsidebar h3 a:hover {
border: none;
}

div.sphinxsidebar p {
color: #555;
margin: 10px 0;
}

div.sphinxsidebar ul {
margin: 10px 0;
padding: 0;
color: #000;
}

div.sphinxsidebar ul li.toctree-l1 > a {
font-size: 120%;
}

div.sphinxsidebar ul li.toctree-l2 > a {
font-size: 110%;
}

div.sphinxsidebar input {
border: 1px solid #CCC;
font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
font-size: 1em;
}

div.sphinxsidebar hr {
border: none;
height: 1px;
color: #AAA;
background: #AAA;

text-align: left;
margin-left: 0;
width: 50%;
}

/* -- body styles ----------------------------------------------------------- */

a {
color: #004B6B;
text-decoration: underline;
}

a:hover {
color: #6D4100;
text-decoration: underline;
}

div.body h1,
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
font-family: 'Garamond', 'Georgia', serif;
font-weight: normal;
margin: 30px 0px 10px 0px;
padding: 0;
}

div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
div.body h2 { font-size: 180%; }
div.body h3 { font-size: 150%; }
div.body h4 { font-size: 130%; }
div.body h5 { font-size: 100%; }
div.body h6 { font-size: 100%; }

a.headerlink {
color: #DDD;
padding: 0 4px;
text-decoration: none;
}

a.headerlink:hover {
color: #444;
background: #EAEAEA;
}

div.body p, div.body dd, div.body li {
line-height: 1.4em;
}

div.admonition {
margin: 20px 0px;
padding: 10px 30px;
background-color: #FCC;
border: 1px solid #FAA;
}

div.admonition tt.xref, div.admonition a tt {
border-bottom: 1px solid #fafafa;
}

dd div.admonition {
margin-left: -60px;
padding-left: 60px;
}

div.admonition p.admonition-title {
font-family: 'Garamond', 'Georgia', serif;
font-weight: normal;
font-size: 24px;
margin: 0 0 10px 0;
padding: 0;
line-height: 1;
}

div.admonition p.last {
margin-bottom: 0;
}

div.highlight {
background-color: white;
}

dt:target, .highlight {
background: #FAF3E8;
}

div.note {
background-color: #EEE;
border: 1px solid #CCC;
}

div.seealso {
background-color: #EEE;
border: 1px solid #CCC;
}

div.topic {
background-color: #eee;
}

p.admonition-title {
display: inline;
}

p.admonition-title:after {
content: ":";
}

pre, tt, code {
font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
font-size: 0.9em;
}

.hll {
background-color: #FFC;
margin: 0 -12px;
padding: 0 12px;
display: block;
}

img.screenshot {
}

tt.descname, tt.descclassname, code.descname, code.descclassname {
font-size: 0.95em;
}

tt.descname, code.descname {
padding-right: 0.08em;
}

img.screenshot {
-moz-box-shadow: 2px 2px 4px #eee;
-webkit-box-shadow: 2px 2px 4px #eee;
box-shadow: 2px 2px 4px #eee;
}

table.docutils {
border: 1px solid #888;
-moz-box-shadow: 2px 2px 4px #eee;
-webkit-box-shadow: 2px 2px 4px #eee;
box-shadow: 2px 2px 4px #eee;
}

table.docutils td, table.docutils th {
border: 1px solid #888;
padding: 0.25em 0.7em;
}

table.field-list, table.footnote {
border: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}

table.footnote {
margin: 15px 0;
width: 100%;