run uzantılı kurulum dosyası nasıl hazırlanır?

Başlatan hefese, 21 Mart 2016 - 10:15:43

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

hefese

Merhaba,

Geçen bir şey keşfettim. Metasploit adlı bir framework kurulum için .run uzantılı bir dosya hazırlamış. İndirdiğim bu .run uzantılı dosyayı terminalden aşağıdaki gibi tetiklememle


./framework-3.4.0-linux-x86_64.run


PostgreSQL gibi bir veritabanı yönetim sistemi, Ruby gibi bir environment, çeşit çeşit exploit'ler vs... her şey kendiliğinden yüklendi. Bu linux dünyasında karşılaşmadığım bir kolaylıktı. Bundan öncesine kadar hep taklalar atmak durumunda kalıyordum. Bu ise her şeyi tıpkı windows'taki gibi Next, Next ve Next işine bırakıyor. Bu tip dosya hazırlamak için gördüğüm kadarıyla Bash script dili bilinmeli ve makeself denilen bir tool'dan yararlanılmalı. Fakat bana basit, okunur, çok detay içermeyen bir örnek lazım. Bu işin nasıl yapıldığına dair bir örnek ya da tutorial paylaşabilecek olan var mı? Böylece oradan yürür giderim.

barış

Basit. Örneğin Python kullanacaksın yazdığın şey için, calistirilacak_dosya.run adlı dosyanın başına:
#!/usr/bin/python
yazıyorsun mesela. Çalıştırıldığı zaman Python ile çalıştırması gerektiğini söylüyoruz bilgisayara. Sonra gidip ./calistirilacak_dosya.run diyoruz, hokus pokus. Programcının keyfi yani tamamen.
Windows'da bulunan "Next next next" kombinasyonun yerini, Ubuntu Yazılım Merkezi alıyor sanırım :) ya da apt-get install blabla alabilir.
Dilersen araç kullanır dilersen kullanmazsın sana kalmış. Programlama bilgine, becerilerine, ne yapmak istediğine bağlı.

Burada yaptığım tanımda eksiklikler, hatalar vb. olabilir. Çünkü bu çok daha geniş bir konu. Ayrıca UI programlama gibi konulara da göz gezdirmelisin. GTK mı olacak? QT mi? İkisi de mi? Direk Java'dan mı dalacaksın? vb. gider böyle.

hefese

Sanırım tam anlatamadım demek istediğimi. Dediğin gibi projemin başına ruby olduğu için şu shebang'i koyuyorum:

#!/usr/bin/env ruby

Fakat arzuladığım şey paketlemek. .run uzantılı dosyanın esprisi de orada. O bahsettiğim örnekte adamlar veritabanı yazılımını, ruby environment'ı ve dahasını paketleştirmişler ve tek bir dosyada kurulum diye sunmuşlar. Benim istediğim de bu. Yani ruby environment'ı ve bir tool'u paketleştirmek.  Adam oluşturacağım falanfilan.run dosyasını çalıştırarak ruby environment'ı ekstra bir işleme ihtiyaç duymaksızın sistemine kurabilmeli ve yanında gelen tool'u da sorunsuz bir şekilde çalıştırabilmeli. Böylece tek tek ruby'yi kurmak için efor, zaman ve beyin harcamasın. :) GUI'la şu an bir işim yok. Yani istediğim şey zahmetsizce iki şeyi tek tıkla kurma imkanı sunabilmek.

ekremsenturk

Bir .deb uzantılı dosya indir ve kur, aynısı olacak. Kurulum dosyası içinde bağımlılıklar da belirtildiğinden, gerekri bağimlılıklarda öncesinde kuruluyor. Veya "Yazılım Merkezi"inden her hangi bir paket indir ve kur. Çok ta şaşılacak bir durum yok.

heartsmagic

Kısacası senin istediğin betikten ziyade, içinde paketlerin de olacağı, betiklerin de olacağı bir kurulum dosyası. Bunun için de herkes senin gördüğün makeself'i önermiş:
http://stephanepeter.com/makeself/

Örnekler için de şuralara bakabilirsin:
http://innovationsts.com/?p=3438
http://xmodulo.com/how-to-create-a-self-extracting-archive-or-installer-in-linux.html
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.