প্যাকেজ স্বাক্ষর, স্বতঃ আপডেট ইত্যাদি সহ সুরক্ষিতভাবে কোটলিন ইনস্টল করা


10

কোটলিন একটি দুর্দান্ত প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে ব্যাপক মনোযোগ আকর্ষণ করছে এবং এখন আনুষ্ঠানিকভাবে সমর্থন করেছে যেমন অ্যান্ড্রয়েড বিকাশের জন্য। তবে এটি ইনস্টল করার জন্য আমি যে অপশনগুলি দেখছি সেগুলি সুরক্ষা সম্পর্কিত বিষয়গুলির বিষয়ে পরিষ্কার নয়। আমি জানি না sdkman চেক (অথবা এমনকি সমর্থন করে) স্বাক্ষর প্যাকেজ, আমি যদি এটি স্বয়ংক্রিয়ভাবে নিরাপত্তা সংক্রান্ত আপডেট Kotlin এবং অন্যান্য ইনস্টল প্যাকেজ (যেমন কার্যক্ষম-পেতে পারি), আমি কত বড় The জানি না ট্র্যাক করে জানি না ইনস্টল হতে চলেছে, ইত্যাদি।

সংক্ষেপে

কোটলিনের জন্য কি কোনও ইনস্টলেশন পদ্ধতির তুলনামূলক নিরাপদ (প্যাকেজ স্বাক্ষর, স্বতঃ আপডেট ইত্যাদি) নিরাপদ?

উদাহরণস্বরূপ, এটির জন্য কোনও পিপিএ আছে? (কেউ কি এমনকি এটি ডেবিয়ান / উবুন্টুর জন্য প্যাকেজ করতে কাজ করছে?)।

নাকি এসডকেম্যানের প্রয়োজনীয় বৈশিষ্ট্য রয়েছে?

বা অন্য কোন পন্থা আছে?

আপডেট: আমি দেখতে পাচ্ছি যে উবুন্টু মেক (উমাকে) একটি বিকল্প। আইডিইএ এবং কোটলিনের জন্য, মনে হচ্ছে তাদের পিপিএর সংস্করণটি এখনও দরকার, যেমন উবুন্টুতে বর্ণিত হয়েছে মেক ১ 16.০৩ গ্রহিত জেইই এবং ইন্টেলিজ আইডিইএ ইএপ সমর্থন সহ প্রকাশ করা হয়েছে, আরও

তবে আমি অবাক হয়েছি যে আমি সহজেই উমাকে সুরক্ষার দিকগুলি সম্পর্কে কোনও তথ্য খুঁজে পাই না এবং মনে হয় তারা এখনও আপডেট করেনি ( সরঞ্জাম আপডেট করার সরঞ্জামগুলি # সংখ্যা # 74 ), সুতরাং আমার প্রশ্নটি উন্মুক্ত রয়ে গেছে।


@ আলবান আমাকে অন্তর্নিহিত প্রশ্নটি পরিষ্কার করার জন্য সম্মতি জানাতে ধন্যবাদ Thanks
nealmcb

উত্তর:


2

জেটব্রেইনস দ্বারা বিকাশিত কমান্ড লাইন কোটলিন সংকলকটি বর্তমানে উবুন্টুর সমস্ত সমর্থিত সংস্করণগুলিতে স্ন্যাপ প্যাকেজ হিসাবে ইনস্টল করা যেতে পারে। এটি ইনস্টল করতে, টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt install snapd  
sudo snap install kotlin --classic 

উপলব্ধ সরঞ্জামসমূহ:

  • kotlinc
  • kotlinc-JVM
  • kotlinc-JS
  • kotlin-dce-JS

উদাহরণ

  1. কোটলিনে একটি সাধারণ অ্যাপ্লিকেশন তৈরি করুন যা প্রদর্শিত হয় Hello, World!। নিম্নলিখিতগুলির সাথে হ্যালো.কেটি নামে এক্সিকিউটেবল অনুমতি সহ একটি নতুন ফাইল তৈরি করুন:

    fun main(args: Array<String>) {
        println("Hello, World!")
    }
  2. কোটলিন সংকলক ব্যবহার করে অ্যাপ্লিকেশন সংকলন করুন।

    kotlinc hello.kt -include-runtime -d hello.jar  
  3. অ্যাপ্লিকেশন চালান।

    java -jar hello.jar

1
আহ্ ধন্যবাদ! 14.04-র সাথে এটিও মনে হয় যে sudo apt install snapd আপনাকে স্ন্যাপ চালাতে পারার আগে বিশ্বস্ত হওয়ার জন্য স্ন্যাপডের নতুন ব্যাকপোর্টটি ইনস্টল করতে হবে ।
nealmcb

স্ন্যাপ ইনস্টল সূক্ষ্ম কাজ। তবে "মানুষ করেন" কাজ করে না। আমি যখন / স্ন্যাপ / কোটলিনের নীচে দেখি তখন আমি বেশ কয়েকটি মানব পৃষ্ঠাগুলি দেখতে পাচ্ছি। ছবিগুলিও কি এগুলি ইনস্টল করা উচিত ছিল?
স্টিভেন স্মিথ

kotlin -hপ্রারম্ভিকদের জন্য ঠিক আছে কাজ করে। -hবিকল্প সব তোলে জন্য কাজ করে। এর পরে আমি অনলাইন টিউটোরিয়াল এবং ডকুমেন্টেশন ব্যবহার করি।
কারেল

1
ধন্যবাদ। আমি সবেমাত্র আবিষ্কার করেছি যে ম্যান ইনস্টলটি স্ন্যাপের জন্য # 1575593 বাগও।
স্টিভেন স্মিথ

ধন্যবাদ! স্ন্যাপের জন্য ম্যান পেজ বাগের সর্বশেষ স্থিতির লিঙ্ক: bugs.launchpad.net/snapd/+bug/1575593
nealmcb

2

আমি উমাকে জানিনা। বিতরণ করা জিপ সংরক্ষণাগারটির বাইরে একটি সর্বনিম্ন ডেব প্যাকেজ উত্পন্ন করতে আমি একটি সামান্য বাশ স্ক্রিপ্ট লিখেছি।

একটি নতুন কোটলিংক-ডেব ফাইল তৈরি করুন:

#!/usr/bin/env bash
if [ -z "$1" ]; then echo "Error: no input zip file is specified"; exit 1; fi
version=${1#kotlin-compiler-}
version=${version%.zip}
unzip $1 -d kotlinc_${version}_all/
cd kotlinc_${version}_all/
mkdir -v opt
mv -v kotlinc opt/
rm -rv 'opt/kotlinc/bin/'*.bat
mkdir -vp usr/{bin,share/doc}
mv -v opt/kotlinc/license usr/share/doc/kotlinc
sed -i $'s/\r$//' 'opt/kotlinc/bin/'* #The new 1.2.0 version has shell scripts in
                                      # CRLF format. That causes issues when running
                                      # them. So I added this CRLF to LF conversion
cd usr/bin
ln -svt . '../../opt/kotlinc/bin/'*
cd ../..
mkdir -v DEBIAN
cat >DEBIAN/control <<EOF
Package: kotlinc
Version: ${version}
Section: java
Priority: optional
Maintainer: ${LOGNAME} <${LOGNAME}@localhost>
Architecture: all
Description: The Kotlin compiler
 The compiler for the Kotlin programming language.
EOF
dpkg-deb -b ../kotlinc_${version}_all{,.deb}

এবং তারপরে চালান:

$ chmod +x kotlinc-deb
$ ./kotlinc-deb kotlin-compiler-1.1.51.zip

এর পরে, আপনি kotlinc_1.1.51_all.debউত্সাহিত করতে পারেন সাধারণ ডিবে প্যাকেজ হিসাবে।


ধন্যবাদ! এটি সত্যিকারের দেবিয়ান প্যাকেজ বা কমপক্ষে একটি উবুন্টু পিপিএর জন্য দুর্দান্ত সূচনার পয়েন্ট বলে মনে হচ্ছে, যা কোনও সংস্থা আপডেট রাখার প্রতিশ্রুতি দিতে পারে। তবে আমার মূল লক্ষ্য এটিকে এমনভাবে ইনস্টল করা যা নিরাপদ এবং নিরাপদ থাকে এবং তার পক্ষে স্বাক্ষর এবং প্যাকেজিং পদ্ধতির উভয়ই নির্ভরযোগ্য এবং বিশ্বাসযোগ্য প্রতিশ্রুতি দ্বারা সমর্থন করে এটি আপ টু ডেট রাখে।
nealmcb

1
ঠিক আছে, এই উত্তরটি ইনস্টল করার একটি উপায় দেয় । ওপির প্রশ্ন ছিল "কোটলিনের তুলনায় নিরাপদ এমন কোনও ইনস্টলেশন পদ্ধতির কি আছে"? সুতরাং ... জিপ ফাইলের বাইরে ঠিক কীভাবে বিছানা প্যাকেজ তৈরি করা যায়? এই উত্তরটি সেই অংশটিকে সম্বোধন করে না। ডাউনওয়েট করতে চান না, তবে উত্তরটি প্রশ্নের মূল
বিষয়টিকে

@ সার্জি কলোডিএজনি, সম্ভবত আমরা "সুরক্ষা" আলাদাভাবে সংজ্ঞায়িত করেছি। তিনি লিখেছেন "রিলেটিভ নিরাপদ"। এবং আমি বিশ্বাস করি যে আমার পদ্ধতির চেয়ে করণীয় বেশি সুরক্ষিত curl -s https://get.sdkman.io | bash && sdk install kotlin। নিজেকে একটি .deb প্যাকেজ তৈরি করার সময়, আমি মিডল ম্যান (sdkman) ছাড়াই সরাসরি একটি প্রবাহ থেকে প্যাকেজ পাই। সুতরাং আমি এটি নিরাপদ হিসাবে দেখতে। বর্তমান আকারে পদ্ধতির কাছে সম্পূর্ণ স্বয়ংক্রিয় (নিরাপদ) আপডেটের অভাব রয়েছে তবে এটিকে আরও স্বয়ংক্রিয়ভাবে চালানো শক্ত হবে না।
ডেস নের্গার

1
@ ডেসারজার ঠিক আছে, উজান থেকে এটি পাওয়া ঠিক আছে, তবে সত্য যে 1) আপনি জিপ প্যাকেজটি কোথা থেকে এসেছে তা উল্লেখ করতে ব্যর্থ হয়েছিলেন; ২) আপনার উত্তরে সুরক্ষার কথা শূন্য রয়েছে; এটি কেবল আপনার তৈরি স্ক্রিপ্ট সম্পর্কে কথা বলে। এটি দুর্দান্ত এবং সব কিছু, তবে সাইটটি প্রশ্নোত্তর ধরণের, সুতরাং আপনাকে নির্দিষ্ট ফর্ম্যাটটিতে মেনে চলতে হবে। ওপি একটি জিনিস জিজ্ঞাসা করেছিল, আপনি একটি স্ক্রিপ্ট সরবরাহ করেছিলেন এবং এটি মূল প্রশ্নের সাথে কীভাবে সম্পর্কিত তা কোনও ব্যাখ্যা দেয় না। হতাশ হবেন না, কেবল আপনার উত্তরটি সম্পাদনা করুন, আপনি সম্ভবত সেখানে আপনার মন্তব্য থেকে জিনিসগুলি অন্তর্ভুক্ত করতে পারেন।
সের্গেই কলডিয়াজনি

1
@ ড্রেবেকো, তারা সাধারণত এটি সেখানে প্রকাশ করেন: github.com/ জেটব্রেইনস
ডেস নের্গার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.