በማበልጸጊያ አካባቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር

በኮምፕዩተር ላይ የማበልጸጊያ አካባቢዎችን የማዘጋጀት ስልጠና

በማይክል ሃርትል፣ በሊ ዶናሆ እና በኒክ መርዊን

ለማንኛውም ፍላጎት ላለው ገንቢ (ወይም በአጠቃላይ ቴክኒካዊ ለሆነ ሰው) በጣም አስፈላጊ ከሆኑት ተግባራት መካከል አንዱ ኮምፒዩተራቸውን ልክ እንደ አንድ የማበልጸጊያ አካባቢ በማቀናበር የድር ጣቢያዎችን፣ የድር አፕልኬሽኖችን እና ሌሎች ሶፍትዌሮችን ለማበልጸግ ተስማሚ እንዲሆን ማድረግ ነው፡፡ በማበልጸጊያ አካባቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር፣ ሁሉንም አስፈላጊ ቁሳቁሶች በአንድ ቦታ ላይ በማስቀመጥ ዋናውን የበቂ ተማር ተከታታይ የስልጠና ትምህርትን እና የሩቢ ኦን ሬይልስ ስልጠናን ለማሟላት የተቀየሰ ነው፡፡

ይህ የስልጠና ትምህርት የተለያየ ደረጃ ልምድ ላላቸው እና የተካኑ አንባቢያን ላይ ኢላማ ያደረገ፣ አንድ የማበልጸጊያ አካባቢን ለማዘጋጀት የተላያዩ አማራጮችን ይሸፍናል፡፡ በክፍል 2 ውስጥ የሚታየውን አማራጪ ለመጠቀም ከወሰናችሁ፣ አጠቃላይ የሆነ የኮምፒዩተር ዕውቀት ከመኖር በስተቀር፣ ይህንን የስልጠና ትምህርት ለማጠናቀቅ የሚያስፈልግ ምንም አይነት ቅድመ ዝግጅት አያስፈልጋችሁም፡፡ በክፍል 3 ውስጥ ያለውን (አብዛኛዎቹ አንባቢያን አንድ ወቅት ላይ እንዲሞክሩት ምክሬን የምለግስበትን) በጣም ፈታኝ የሆነውን መዋቅር ተግባራዊ ለማድረግ ከፈለጋችሁ፣ (በማበልጸጊያ አካባቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ እንደተሸፈነው) ከዩኒክስ የማዘዥያ መስመር ጋር አንድ መሰረታዊ የሆነ ትውውቅ ሊኖራችሁ ይገባል፤ እንዲሁም (በጽሑፍ አርታኢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ እንደተሸፈነው) ከአንድ የጽሑፍ አርታኢ እና አንድ ስርዓትን ከማዋቀር ጋር ትውውቅ ሊኖራችሁ እንደሚገባ ይመከራል፡፡

የዚህ የስልጠና ትምህርት የኢ-መጽሐፍ ስሪቶች በበቂ ተማር ላይ በነጻ ይገኛሉ።

1 የማበልጸጊያ አካባቢ አማራጮች

በዚህ የስልጠና ትምህርት ውስጥ የምናተኩረው፣ የሚከተሉትን አራት መሰረታዊ የሶፍትዌር ማበልጸጊያ መሳሪያዎችን በመጫን ወይም በማንቃት ላይ ይሆናል (ምስል 1):-

  1. የማዘዥያ መስመር መናኸሪያ (“ቀፎ”)
  2. የጽሑፍ አርታዒ
  3. የስሪት መቆጣጠሪያ (ጊት)
  4. የፕሮግራም ቋንቋዎች (ሩቢ፣ ወዘተረፈ)

እነዚህ የተለያዩ የሶፍትዌር አይነቶች ላይ የበለጠ መረጃን ለማግኘት ከፈለጋችሁ በማዘዥያ መስመር ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ትምህርት ተማር፣ በጽሑፍ አርታኢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር፣ በጊት ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር እና በሩቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ ተመልከቱ።

images/figures/dev_environment
ምስል 1: የአንድ የማበልጸጊያ አካባቢ የተለመዱ ገጸባህርያት።

አንድ የማበልጸጊያ አካባቢን በማቀናበር ጊዜ፣ ሁለት የምንመክራቸው ዋና አማራጪ መንገዶች አሉ፤ እነሱም አስቸጋሪነታቸው እየጨመረ በሚሄድ ቅደም ተከተል መሰረት ተዘርዝረዋል:-

  1. የደመና ቅ.ማ.አ (IDE)
  2. የቤተኛ ስርዓተ ክወና ማዋቀር (Native OS) (ማክ ስ.ክ፣ ሊኒክስ፣ ዊንዶውስ)

ስለዚህ ሁኔታ ልምድ የሌላችሁ ከሆነ፣ የደመና ቅ.ማ.አው ከሌሎቹ የቀለለ የማዋቀር ሂደት ስላለው፣ በሱ እንድትጀምሩ እንመክራለን (ክፍል 2)።

ቤተኛ ስርዓት

አንድ አፕልኬሽንን ለማበልጸግ ሲጀምሩ የደመና ቅ.ማ.አ አማራጩን መጠቀሙ በጣም ጥሩ ቢሆንም፣ መጨረሻ ላይ ግን በቤተኛ ስርዓተ ክወናችሁ ላይ ሶፍትዌሮችን ማበልጸግ መቻሉ በጣም አስፈላጊ ነው። አለመታደል ሆኖ፣ (ቴክኒካዊ ብልሃታችሁን የመጠቀም ሰፊ ዕድሉን ከዘነጋችሁ (ሳጥን 1)) አንድ ሙሉ በሙሉ ተግባራዊ የሆነ ቤተኛ የማበልጸጊያ አካባቢን ማዋቀሩ አንድ ፈታኝ እና ተስፋ የሚያስቆርጥ ሂደት ሊሆን ይችላል1፤ ይሁን እንጅ እሱን ማድረጉ ፍላጎት ላለው ለማንኛውም የቴክኒክ ባለሙያ አንድ አስፈላጊ የመተላለፊያ ስነ-ስርዓት ነው፡፡

ይህንን አስቸጋሪ ፈተና ለመቋቋም፣ በክፍል 3 ውስጥ ለማክክ.ስ (macOS)፣ ለሊኒክስ እና ለዊንዶውስ የቤተኛ ስርዓተ ክወናን እንዴት አድርገን እንደምናቀናብር እንመለከታለን፡፡

ሳጥን 1. ቴክኒካዊ ብልሃት

ቴክኒካዊ ብልሃት ማለት ቴክኒካዊ የሆኑ ችግሮችን በግል የመፍታት ችሎታ ማለት ነው። አንድ የማበልጸጊያ አካባቢን በመጫን አውድ ውስጥ፣ ይህ ማለት አንድ ነገር ከተበላሸ የስህተት መልዕክቱን መጎገሉን ማወቅ፣ አፕልኬሽኑን ማቆም እና አንድ አፕልኬሽንን (ማለት እንደ የማዘዥያ መስመር ቀፎ ያሉትን አፕልኬሽኖችን) እንደገና ማስጀመር እና እንደዛ ማድረጉ ነገሮችን ያስተካከለ መሆኑን ማየትን ያካትታል።

ብዙውን ጊዜ ለችግሩ አጠቃላይ የሆነ አንድ መፍትሔ ስለማይገኝ፣ አንድ የማበልጸጊያ አካባቢን በማቀናበር ወቅት ብዙ ነገሮች ወዳልተጠበቀ ስህተት ሊያመሩ ይችላሉ። (ሁሉም ነገር እስኪሰራ ድረስ ቴክኒካዊ ብልሃታችሁን መጠቀሙን መቀጠል ይኖብባችኋል፡፡ ችግሩ አልወጣም ካላችሁ ግን ስለሱ ብዙ ልትጨነቁ አይገባም።) ይህ ነገር በሕይወት ዘመናችን ውስጥ በአንድ ወቅት በሁላችንም ላይ ተከስቷል ወይም ሊከሰት ይችላል።

2 የደመና ቅ.ማ.አ

ካሉት የማበልጸጊያ አካባቢ አማራጮች ሁሉ በጣም ቀላሉ የማበልጸጊያ አካባቢ የደመና ቅ.ማ.አው (cloud IDE) ነው፣ ይህም እናንተ የመረጣችሁትን የድር አሳሽ በመጠቀም የምትደርሱበት አንድ በደመና ውስጥ የተቀናጀ የማበልጸጊያ አካባቢ ነው። ለማግበር ቀላል ቢሆንም፣ ከዚያ የሚገኘው ስርዓት ግን አንድ የቁም ነገር ደረጃ ያለው የማበልጸጊያ ኮምፕዩተር ነው እንጅ አንድ ተራ መጫወቻ አይደለም። በተጨማሪም፣ እሱን ለመጠቀም የሚያስፈልጋችሁ አንድ ተራ የድር አሳሽ ስለሆነ (ማለት ይህንን ማንኛውም ስርዓተ ክወና ስለሚያቀርበው)፣ የደመና ቅ.ማ.አው በሁሉም ስርዓተ-መሳርያ ላይ በራስሰር ይሰራል።

አንድ የደመና ቅ.ማ.አን ለማስኬድ የሚያገለግሉ በርካታ የንግድ/የሚከፈልባቸው አማራጮች አሉ፣ የ ሩቢ ኦን ሬይልስ ስልጠናን ለመገንባት የአማዞን የድር አገልግሎቶች አካል ከሆነው ከክላው9 ጋር ተሻርከናል። ከዚያ የሚገኘው ውጤትም አንድ ለሩቢ ኦንሬይልስ የድር ማበልጸጊያ የሚስማማ አካባቢ ነው፣ በእርግጥ በክፍል 1 ውስጥ የተጠቀሱትን ሁሉንም ነገሮች ያካትታል፡፡ በተለይም በምስል 2 ላይ እንደሚታየው፣ የአ.ድ.አ ክላውድ9‘ኑ (AWS Cloud9) አንድ የማዘዥያ መስመር መናኸሪያን እና አንድ የጽሑፍ አርታኢን (አንድ የፋይል ስርዓት ዳሳሽን አካቶ) ሰንቆ ይመጣል፡፡ እያንዳንዱ የክላውድ9 የመስሪያ ቦታ አንድ ሙሉ በሙሉ የሚሰራ የሊኒክስ ስርዓትን ስለሚሰጥ፣ የጊት የስሪት ቁጥጥር ስርዓትን፣ እንዲሁም የሩቢን እና የሌሎች በርካታ የፕሮግራም ቋንቋዎችን በራስሰር ያካትታል፡፡

images/figures/ide_anatomy_aws
ምስል 2: የደመና ቅ.ማ.አው ሁለንተናዊ አቀማመጥ።

የደመና የማበልጸጊያ አካባቢን፣ ጥቅም ላይ ለማዋል፣ የሚያስፈልጉት ሂደቶች የሚከተሉት ናቸው:-2

  1. ክላውድ9 የአማዞን የድር አገልግሎቶች አካል ስለሆነ፣ የአማዞን የድር አገልግሎት መለያ ካላችሁ በራስሰር ወደዛው መግባት3 ትችላላችሁ፡፡ አንድ አዲስ የክላውድ9 የመስሪያ አካባቢ ለመፍጠር፣ አ.ድ.አ ሰሌዳ ውስጥ በመግባት፣ በመፈለጊያ ሳጥኑ ውስጥ፣ “Cloud9” ብላችሁ ጻፉ፡፡
  2. ቀድሞውኑ አንድ የአ.ድ.አ መለያ ከሌላችሁ፣ አንድ የነጻ መለያ ለማግኘት፣ በአ.ድ.አ ክላውድ9 ላይ መመዝገብ ይኖርባችኋል፡፡ አግባብ የሌለው አጠቃቀምን ለመከላከል፣ አ.ድ.አ በምዝገባ ወቅት አንድ ብቃት ያለው የዱቤ ካርድን ይጠይቃል፤ ነገር ግን የመስሪያ ቦታው፣ (ይህ ጽሑፍ በተጻፈበት ወቅት ለአንድ ዓመት) መቶ በመቶ ነጻ እንደሆነ ይታወቃል፤ ስለሆነም ከካርዳችሁ የሚወሰድ ገንዘብ አይኖርም። መለያው እስኪነቃ/እስኪጀምር ድረስ፣ እስከ 24 ሰዓት መጠበቅ ሊኖርባችሁ ይችላል። በእኔ በኩል ግን በአስር ደቂቃ ውስጥ ሁሉ ነገር ዝግጁ ነበረ።
  3. አንዴ የክላውድ9 የአስተዳደር ገጽ (ምስል  3) ላይ ከገባችሁ በኋላ፣ ልክ ምስል 4 ‘ን የሚመስል ገጽን እስክታገኙ ድረስ “Create environment” የሚለው ላይ ጠቅ ማድረጋችሁን ቀጥሉ። ምስል 4 ላይ የሚታየውን መረጃ በቅጹ ላይ ሙሉ፡፡ በሚቀጥለው ገጽ ላይ ከሚገኙት ምርጫወች ውስጥ፣ የ‘አማዞን ሊኒክስ‘ን (Amazon Linux) ሳይሆን የ‘ኡበንቱ‘ን (Ubuntu Server) (ምስል 5) ምረጡ። ከዚያ “Next step” የሚለውን ጠቅ አድርጉ፡፡ አ.ድ.አ ቅ.ል.አውን እስከሚያቀርብ ድረስ፣ ነባሪ ቅንብሮችን በእሽታ ለማስተናገድ፣ የማረጋገጫ አዝራሩን ጠቅ አድርጉ (ምስል 6)፡፡ አንድ የሩት4 “ስር (root)” ተጠቃሚ በመሆናችሁ ምክንያት፣ አንድ የማስጠንቀቂያ መልእክት ልታገኙ ትችላላችሁ፤ ይህንንም ላሁኑ ችላ ብላችሁ ማለፍ ትችላላችሁ፡፡ (በዚህ ጊዜ የማንነት እና የማስተዳደር ባለስልጣን ተጠቃሚ (IAM) ተብሎ የሚጠራውን ተመራጪ ዘዴ ለመተግበር ፍላጎቱ ካላችሁ እንደዛ ማድረግ ትችላላችሁ። ስለዚህ አተገባበር የበለጠ መረጃ ለማግኘት በሩቢ የስልጠና ትምህርት ላይ ምዕራፍ 13ን ተመልከቱ።)
  4. በመጨረሻም፣ አንድ የዘመነ የጊት ስሪትን እያስኬዳችሁ መሆኑን አረጋግጡ (ዝርዝር 1)።
images/figures/cloud9_page_aws
ምስል 3: የክላውድ9 የአስተዳደር ገጽ።
images/figures/cloud9_name_environment
ምስል 4: በአ.ድ.አ ክላውድ9 ላይ አንድ አዲስ የስራ አካባብቢን መፍጠር።
images/figures/ubuntu_server
ምስል 5: የኡባንቱ አገልጋይን (Ubuntu Server) መምረጥ።
images/figures/cloud9_ide_aws
ምስል 6: ነባሪው የደመና ቅ.ል.አ።

በሩቢ ኮድን ለመጻፍ፣ በአንድ የጽሑፍ አርታኢ ውስጥ፣ በያንዳንዱ ኮድ መሃል፣ የሁለት ክፍተቦታ (Space) መተው፣ ከሩቢ ልማዶች ውስጥ አንዱ ስለሆነ፣ እኔም የጽሑፍ አርታኢው፣ ነባሪውን የአራት ክፍተቦታ ከመጠቀም ይልቅ፣ የሁለት ክፍተቦታን ይጠቀም ዘንድ፣ የጽሑፍ አርታኢውን እንድትቀይሩት እመክራለሁ፡፡ በምስል 7 ላይ እንደተመለከተው፣ ከገጹ ራስጌ፣ በቀኝ በኩል የተመለከተውን ጥርሳማ ክብ አዶ ላይ ጠቅ በማድረግ፣ ከዛም በ “Soft Tabs” ቅንብር ላይ የተመለከተውን፣ የመቀነስ ምልክት “2” ቁጥር ላይ እስኪደርስ ድረስ ጠቅ በማድረግ፣ የተፈለገውን ውጤት ማግኘት ትችላላችሁ፡፡ (ይህ ቅንጅት በራስሰር ተግባራዊ ስለሚሆን “Save” የሚለውን አዝራር ጠቅ ማድረጉ አያስፈልግም፡፡)

images/figures/cloud9_two_spaces_aws
ምስል 7: ክላውድ9‘ን ለግምስምስ የሁለት ክፍተቦታን እንዲጠቀም ማቀናበር።
ዝርዝር 1: ጊትን ማዘመን (አስፈላጊ ከሆነ)።
$ git --version
# የስሪት ቁጥሩ ከ 2.28.0 ያልበለጠ ከሆነ የሚከተለውን ትእዛዝ አስኪዱ:-
$ source <(curl -sL https://cdn.learnenough.com/upgrade_git)

በመጨረሻም፣ ይህ ስልጠና የሩቢ ስሪት ቁጥር 2.7.4 ‘ን እንደ አንድ መስፈርት አድርጎ የሚጠቀም ስለሆነ፣ ይህንኑ መስፈርት እንደሚከተለው አድርጋችሁ በደመና ቅ.ማ.አው ላይ መጫን ትችላላችሁ:-

$ rvm install 2.7.4

(ይህ በደመና ቅ.ማ.አው ላይ ቀድሞ-ተጪኖ የሚመጣውን የሩቢ ስሪት አስተዳዳሪን ይጠቀማል።) አንዴ ትእዛዙ ከጨረሰ በኋላ፣ የሩቢ ስሪቱን እንደሚከተለው አድርጋችሁ ማረጋገጥ ትችላላችሁ:-

$ ruby -v
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]

(እንቅጩ የስሪት ቁጥር ከላይ ከምታዩት የስሪት ቁጥር ሊለይ ይችላል)

በዚህ ጊዜ ጨርሳችኋል! ክላውድ9‘ን ለመጠቀም የበይነመረብ መዳረሻ አስፈላጊ መሆኑን ልትገነዘቡ ይገባል።

3 የቤተኛ ስ.ክን ማዋቀር

ክፍል 1 ላይ እንደተጠቀሰው፣ ቤተኛ ስርዓተ ክወናችሁን ለአንድ የማበልጸጊያ አካባቢ ማዋቀሩ ፈታኝ ሊሆን ይችላል፣ ነገር ግን ይሄ ውቅረት አንድ የተወሰነ የቴክኒካዊ ዘመናዊነት ደረጃ ላይ ከደረሱ በኋላ መውሰድ የሚገባው አንድ እርምጃ ነው፡፡ ካሉት አማራጮች ውስጥ የደመና ቅ.ማ.አ አማራጩ ይህንን ስራ ለመጀመር በጣም ጥሩው መንገድ ነው፣ ነገር ግን በሬውን በቀንዱ በመያዝ ቤተኛ ክወናውን እንደምትፈልጉት መግራት ይኖርባችኋል (ምስል 8)5። (እዚህ ላይ በሬውን በቀንዱ ማያዝ አንድ የእንግሊዝኛ ፈሊጣዊ አነጋገር ሲሆን ትርጉሙ ደግሞ “አስቸጋሪ ሁኔታን በቀጥታ ወይም ራስን በመተማመን መቋቋም ወይም መግጠም” ማለት ነው።)

images/figures/grab_bull_by_horns
ምስል 8: አንዳንድ ጊዜ በሬውን በቀንዱ መያዝ ይኖርባችኋል።

ክፍል 3.1 ማክስ.ክን (macOS) ወደ አንድ ሙሉ በሙሉ የታጠቀ የማበልጸጊያ አካባቢ መለወጥን የሚሸፍን ሲሆን፣ ክፍል 3.2 ደግሞ ለሊንክስ እንደዛው ያደርጋል፡፡ የማይክሮሶፍት ዊንዶውስ አማራጪን በክፍል 3.3 ላይ እንሸፍናለን፣ (በአጪሩ በክፍል 1 ላይ እንደተጠቀሰው) ይህ ክፍል ግን በአሁኑ ወቅት በክፍል 2 ውስጥ የተጠቀሰውን የደመና ቅ.ማ.አ አማራጩን ይመለከታል፡፡

3.1 ማክስ.ክ (macOS)

ቤተኛው የማኪንቶሽ ስርዓተ ክወና በመጀመሪያ ማክ ኦኤስ ኤክስ (Mac OS X) ተብሎ ይጠራ ነበር፣ አሁን ግን ባጪሩ ማክኦኤክስ (macOS) ተብሎ ይጠራል፤ በአንድ ጠንካራ የዩኒክስ መሰረት ላይ ቢገነባም አንድ የተስተካከለ ስእላዊ የተጠቃሚ በይነገጽ (ስ.ተ.በ GUI) አለው፡፡ በዚህ ምክንያትም፣ ማክኦኤክስ (macOS) ለአበልጻጊወች ልክ እንደ አንድ የማበልጸጊያ አካባቢ ሁኖ ለማገልገል እጅግ ተስማሚ ሁኗል፡፡

በዚህ ክፍል ውስጥ ያሉት ሂደቶች አንድ አነስተኛ ስርዓትን ብቻ የሚመሰርቱ አይደሉም፤ በርግጥ ነው ስርዓቱን እናንተ ከዚህ ባነሰ መልኩ በመመስረት ባጪሩ ልትገላገሉ ትችላላችሁ፣ ነገር ግን ሶስቱም ደራሲዎቻችሁ ማክኦኤክስን ስለምንጠቀም እናንተን አንድ በደንብ ባልተሟላ መዋቀር መሸወዱ አስፈላጊ እንዳልሆነ ይሰማናል።

መናኸሪያ እና አርታኢ

ምንም እንኳን ማክኦኤክስ ከአንድ ቤተኛ የመናኸሪያ ፕሮግራም ጋር አብሮ የሚመጣ ቢሆንም፣ እኛ ግን አይተርምን እንድትጪኑ እንመክራለን፣ ይህም ለገንቢዎች እና ለሌሎች የቴክኒክ ተጠቃሚዎች ከነባሪው መናኸሪያ የተሻለ እንዲሆን የሚያደርጉ የተለያዩ መሻሻሎችን ያካተተ ነው፡፡

እንዲሁም አንድ የአበልጻጊዎች የጽሑፍ አርታኢን እንድትጪኑ እንመክራለን። ብዙ ምርጥ የሆኑ ምርጫዎች ቢኖሩም የአተም አርታኢ ግን ለመጀመሪያ ጥሩ ምርጫ ነው፤ ማለት ቀድሞውን የምትወዱት አንድ የጽሑፍ አርታኢ ከለላችሁ ማለት ነው (ይህ የጽሑፍ አርታኢም በበጽሑፍ አርታኢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ በደንብ ተሸፍኗል)።

ይህ በንዲህ እያለ፣ ለበቂ ተማሩ እና ለሬይልስ ማሰልጠኛ ትምህርት፣ ነባሪውን ማለት ዚ (Z) የተባለውን ቀፎ ከመጠቀም ይልቅ (ምንም እንኳን ብዙውን ጊዜ በሁለቱ መካከል ምንም ለውጥ ባይኖረውም) ቦርን-አጌይን የተባለውን ቀፎ እንድትጠቀሙ እንመክራለን። ቀፏችሁን ወደ ባሽ ለመቀየር፣ በማዘዥያ መስመሩ ላይ ይህንን chsh -s /bin/bash ትእዛዝ አስኪዱ እና ከዚያ መሕለፈቃላችሁን ካስገባችሁ በኋላ የመናኸሪያ ፕሮግራማችሁን እንደገና አስጀምሩ። ይህንን በማድረግ የምታገኟቸውን የማስጠንቀቂያ መልዕክቶች ችላ ብላችሁ ብታልፏቸው የሚያመጡት ምንም ነገር የለም። ለበለጠ መረጃ በበቂ ተማር ብሎግ ልጥፍ ላይ “በበቂ ተማር የስልጠና ትምህርት ላይ የዚ ቀፎን በማክ ላይ መጠቀም” የሚለውን ተመልከቱ፡፡

የኤክስኮድ የማዘዥያ መስመር መሳሪያዎች

ምንም እንኳን ማክኦኤክስ በዩኒክስ ላይ የተመሰረተ ቢሆንም፣6 ለአንድ የማበልጸጊያ አካባቢ አስፈላጊ ከሆኑት ሁሉ ሶፍትዌሮች ጋር ግን ተጪኖ አይሰደድም፡፡ ይህንን ለሟሟላት፣ የማክኦኤክስ ተጠቃሚዎች በአፕል የተፈጠሩ የማበልጸጊያ መሳሪያዎች እና የኮድ ቤተኮድ ስብስብ የሆነውን ኤክስኮድን (Xcode) መጫን ይኖርባቸዋል።

ቀደም ሲል ኤክስኮድ፣ አንድ ከ 4 ጌጋባይት በላይ የሆነ የምንጪ ፋይሎችን መጫኛን ማውረድ ይፈልግ ነበረ፣ ምስጋና ለአፕል ይሁን እና በቅርብ ጊዜ ዝርዝር 2 ላይ እንደሚታየው በአንድ ቀላል የማዘዥያ መስመር ኤክስኮድን መጫኑን እጅግ ፈጣን እና ቀላል አድርጎታል፡፡

ዝርዝር 2: የኤክስኮድ የማዘዥያ መስመር መሳሪያወችን መጫን።
$ xcode-select --install

ሆምብሬው

ቀጣዩ ሂደት በምርጫ ሊደረግ የሚችል ነው፣ ነገር ግን በእኛ አመለካከት አንድ የባለ ሙያ ደረጃ ላለው እውነተኛ የማክኦኤክስ የማበልጸጊያ አካባቢ አስፈላጊ ነው ብለን እናምናለን፣ እሱም ግሩሙን የሆምብሬው (Homebrew) የጥቅል አስተዳዳሪን መጫን ነው።

አንድ የጥቅል አስተዳዳሪን ልክ በነጻ የክፍት-ምንጪ ሶፍትዌር እንደተሞላ እና በማዘዥያ መስመር እንደሚካሄድ የአፕልኬሽን ማከማቻ አድርጋችሁ ማሰብ ትችላላችሁ፡፡ በአሁኑ ጊዜ አብዛኛዎቹ የሊኒክስ ስርጪቶች ከአንድ ቤተኛ የጥቅል አስተዳዳሪ (ክፍል 3.2) ጋር አብረው ይመጣሉ፣ ይሁን እንጅ ማክኦኤክስ በነባሪነት ምንም የለውም፡፡ ሆምብሬው በክፍት-ምንጪ ማህበረሰብ ውስጥ ከሚገኙ ብዙ የጥቅል አስተዳዳሪዎች መካከል አንዱ ነው፣ ከጊዜ በኋላ ግን በብዙ የማክኦኤክስ ገንቢዎች መካከል በጣም ተወዳጅነትን ያተረፈ አማራጪ ሆኗል፡፡

ክፍል 3.1.5 ላይ እንደምናየው፣ ሩቢን ለመጫን አንድ የሩቢአካባ (rbenv) የተባለ ፕሮግራምን እንጠቀማለን፣ እሱም በክፍል 3.1.4 ውስጥ በሆምብሬው በኩል ይጫናል፡፡ ይህ በንዲህ እያለ ሆምብራው ራሱ ሩቢን ይፈልጋል፣ ስለሆነም አንድ የጥገኝነት ክብ ውስጥ የገባን ይመስላል። ደስ የሚለው ነገር ደግሞ፣ ማክኦኤክስ ጪነቱን በራሱ-የሚጀምር ሂደት አድርገን ልንጠቀምበት ከምንችልበት አንድ የሩቢ ስርዓት ጋር ተጪኖ መሰደዱ ነው፡፡ ሆምብሬውን ለመጫን ይህንን ነባሪ ሩቢ እንጠቀማለን፣ ከዚያ ከላይ እንደተጠቀሰው የሩቢአካባቢ‘ን እና ተጨማሪ የሩቢ ስሪቶችን እንጪናለን።

የሆምብሬው መጫኛ ፕሮግራሙ አንድ የባሽ ፕሮግራምሲሆን፣ በማዘዥያ መስመር ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ትምህርት ተማር ላይ እንደተሸፈነው ከርል (curl) የተባለውን ፕሮግራም በመጠቀም ሊደረስበት ይችላል፡፡ በ‘/ቢን (/bin) ማውጫ ውስጥ የሚገኘውን፣ የ‘ባሽ (bash) ስርዓት ተፈጻሚን በመጠቀም፣ የሆምብሬው መጫኛ ፕሮግራምን ማስፈጸም እንችላለን። ሙሉው ትእዛዝ በዝርዝር 3 ላይ እንደሚታየው ይሆናል።

ዝርዝር 3: የሆምብሬው ጥቅል አስተዳዳሪን መጫን።
$ /bin/bash -c "$(curl -fsSL https://www.learnenough.com/homebrew.sh)"

ዝርዝር 3 ወቅታዊውን የሆምብሬው መጫኛ ፕሮግራምን የሚያመላክት አንድ የለርንኢነፍ.ኮም (learnenough.com) ማስተላለፊያ ዓ.አ.ሃ.አን (URL) እንደሚጠቀም ልታስተውሉ ይገባል። በዚህ መንገድ፣ ሆምብሬው ፕሮግራሙን ለማስተናገድ የሚያገለግለውን ዓ.አ.ሃ.አን ቢቀይረው እኛም የማስተላለፊያ አድራሻውን በቀላሉ ማዘመን እንችላለን፣ ስለሆነም ይህ የስልጠና ትምህርት ሁልጊዜ ወቅታዊነቱን እንደጠበቀ መስራቱን ይቀጥላል ማለት ነው። (ከፈለጋችሁ ደግሞ፣ ከሆምብሬው የመነሻ ገጽ ላይ የሚገኘውን ሙሉውን ትእዛዝ ቀድታችሁ በማዘዥያ መስመራችሁ ላይ መገልበጥ ትችላላችሁ።)

ሆምብሬው ጥቅሎችን ለመጫን፣ ለማዘመን እና ለማስወገድ የሚያገለግል አንድ ብሬው (brew) የተባለ የማዘዥያ መስመርን ይጪናል። ሆምብሬው መጫኑን ከጨረሰ በኋላ፣ የሰፈር ፋይሎችን ለማስተዳደር በሆምብሬው የሚፈለጉ ሁሉም ማውጫወች እና ፈቃዶች በትክክል መዘጋጀታቸውን የሚያረጋግጠውን የ‘ብሬው ዶክተር (brew doctor) ትእዛዝን ማስኬዱ አንድ ጥሩ ሀሳብ ነው:-

$ brew doctor

በዚህ ጊዜ የሆነ ችግር ካጋጠማችሁ በዊኪ የሆምብሬው መላ መፈለጊያ ላይ መጣቀስ ይኖርባችኋል፣ በእውነቱ ከሆነ ግን የስርዓት አቃፊዎችን በዘፈቀደ ካለወጣችሁ እና የፈቃድ ችግር ካላጋጠማችሁ በስተቀር ምንም አይነት ችግር ሊያጋጥማችሁ አይገባም።

የሩቢአካባቢ (rbenv)

ቀደም ሲል ማክኦኤክስ ሩቢ ጋር አብሮ ተጪኖ እንደሚመጣ ተመልክተናል፣ በስሪቱ እንቅጪ ቁጥር ላይ ግን ምንም አይነት የመቆጣጠር ሃይሉ የለንም፣ ማክኦኤክስም በቤተኛነት በርካታ የሩቢ ተጓዳኝ ስሪቶችን እንድንጠቀም አያስችለንም። የማበልጸጊያ አካባቢያችንን ልባችን እንደፈቀደው እንድናደርግ ያስችለን ዘንድ፣ የሩቢአካባቢን (rbenv) እንጪናለን። ይህም የተለያዩ የሩቢ ስሪቶችን የሚያስተዳድር እና የሩቢ የሶፍትዌር ጥቅሎችን (ማለት እንቁዎች (gems) ተብለው የሚጠሩትን) ሩቢ እንዲያገኛቸው በትክክለኛው ቦታ ላይ እንደተቀመጡ የሚያረጋግጥ አንድ መገልገያ7 ነው።

የሩቢአካባቢን ከ‘ሩቢ-ገንባ (ruby-build) ትእዛዝ ጋር አብሮ መጠቀሙ፣ ለተለያዩ የፕሮጀክት ማከማቻዎች አንድ የተለየ የሩቢ ስሪትን እንድንለይ ያስችለናል፤ ይህም በሶፍትዌር ብልጸጋ ላይ አንድ የተለመደ ተግባር ነው፡፡8 ለምሳሌ፣ አንድ የቆየ የፕሮግራም ስሪትን በትክክል ለማስኬድ አንድ የቆየ የሩቢ ስሪትን ሊፈልግ ይችላል። ይህ ማለት የሩቢአካባቢን በመጠቀም፣ ሌሎች ፕሮጀክቶቻችን እጅግ ወቅታዊ በሆነ አንድ የሩቢ ስሪት እያስኬድን፣ እንዲህ አይነቱን የቆየ አንድ ፕሮግራም ደግሞ በአንድ የቀድሞ የሩቢ ስሪት ማስኬድ እንችላለን ማለት ነው።

በሆምብሬው የሩቢአካባቢን መጫኑ እጅግ ቀላል ነው። በዝርዝር 4 ላይ እንደሚታየው ብሬው የሩቢአካባቢ ጫን‘ን (brew install rbenv) በመጠቀም ሁለቱንም ማለት የሩቢአካባቢን እና ሩቢ-ገንባ‘ን (ruby-build) በአንድ ጊዜ መጫን እንችላለን፡፡

ዝርዝር 4: የሩቢአካባቢን እና ሩቢ-ገንባ‘ን መጫን።
$ brew install rbenv   # እንዲሁም ሩቢ-ገንባ`ን (ruby-build) በራስሰር ይጪናል።

ዝርዝር 4 መጫኑን ከጨረሰ በኋላ፣ በዝርዝር 5 ላይ እንደሚታየው አርቢአካባቢ አስጀምር‘ን (rbenv init) በመጠቀም የሩቢአካባቢን በስራ ላይ ማዋል ይፈለግብናል፡፡

ማሳሰቢያ:- የዚኤስኤች (Zsh) ቀፎን የምትጠቀሙ ከሆነ፣ .zshrc ‘ን በ .bash_profile መተካት ይኖርባችኋል። የበለጠ መረጃ ለማግኛት “በበቂ ተማር የስልጠና ትምህርት ላይ የዚ ቀፎን በማክ ላይ መጠቀም” የሚለውን ተመልከቱ፡፡

ዝርዝር 5: የሩቢአካባቢን መጫን።
$ rbenv init
# የሚከተለውን ትእዛዝ በ ~/.bash_profile (የዚቀፎን የምትጠቀሙ ከሆነ ደግሞ
# በ ~/.zshrc ትእዛዝ ላይ ) በማያያዝ የሩቢአካባቢን (rbenv) በራስሰር ጫኑ:-

eval "$(rbenv init -)"

ዝርዝር 5 “እንደዚህ አይነት ፋይል ወይም ማውጫ የለም (No such file or directory.)” የሚል አንድ የስህተት መልእክት ከሰጣችሁ፣ “ተቆር-ዲንን (Ctrl-D)” በመጠቀም ከቀፎ ፕሮግራሙ ውጡ እና እንደገና አስጀምራችሁ ከዚያ ትእዛዙን እንደገና ሞክሩት። (ይህ ዓይነቱ እንደገና የማስጀመር እና እንደገና የመሞከሩ ዘዴ፣ የተለመደ ቴክኒካዊ ብልሃት ነው (ሳጥን 1)።)

ዝርዝር 5 ላይ እንደተመለከተው፣ የሩቢአካባቢ አስጀምርን (rbenv init) ማስኬዱ፣ ሁልጊዜ የሩቢአካባቢን እራሳችን ከማስጀመር ይልቅ ይህንን ትእዛዝ:-

eval "$(rbenv init -)"

.bash_profile ማህደር ውስጥ በማስገባት ድግግሞሽን እንዴት ማስወገድ እንደምንችል አንድ አስተያየትን ያበረክታል (ይህም በጽሑፍ አርታኢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ በደንብ ተሸፍኗል።)

ከፈለጋችሁ በናንተ የ .bash_profile ማህደር ውስጥ eval የሚለውን ትእዛዝ ለማከል አንድ የጽሑፍ አርታኢን መጠቀም ትችላላችሁ፣ በማዘዥያ መስመር ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ትምህርት ተማር ላይ እንደተሸፈነው ቀላሉ መንገድ ግን አስተጋባን (echo) እና የቅጥያ >> ስሌትን እንዲህ አድርጎ መጠቀም ነው:-

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# ዚኤስኤችን (Zsh) የምትጠቀሙ ከሆነ ~/.zshrc `ን ተጠቀሙ

እዚህ ላይ፣ በአሁኑ ወቅት በየትኛውም ማውጫ ውስጥ ብንሆንም እንኳን ትእዛዙ እንዲሰራ፣ የቤት ማውጫውን (~) በመንገዱ ውስጥ እንዳካተትነው ልታስተውሉ ይገባል፡፡

በመጨረሻም፣ (በጽሑፍ አርታኢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር ላይ እንደተጠቀሰው) አዲሱን የመገለጫ ማህደር ለማግበር አመንጪ (source) የተባለውን ትእዛዝ መጠቀም ይኖርብናል:-

$ source ~/.bash_profile  # ዚኤስኤችን (Zsh) የምትጠቀሙ ከሆነ ~/.zshrc `ን ተጠቀሙ

አዲስ የሩቢ ስሪት

አሁን የሩቢአካባቢ ስለተዘጋጀ፣ እስኪ አንድ ስርዓት ውስጥ ያልገባ የሩቢ ስሪትን እንዲያስተዳድር እንስጠው። የመጫን ሂደቱ ሙሉ በሙሉ የሚስተናገደው በሩቢአካባቢ ነው፣ ስለሆነም ማድረግ ያለባችሁ ነገር ቢኖር ትክክለኛውን የሩቢ የስሪት ቁጥር ከሩቢአካባቢ ትእዛዝ ጋር ጎንለጎን በመስጠት በስርዓታችሁ ላይ የትኛውን ስሪት እንደምትፈልጉ መንገር ብቻ ነው፡፡

በዚህ የስልጠና ትምህርት ውስጥ የሩቢ ስሪት ቁጥር 2.7.4 ‘ን እንጠቀማለን፣ ይህ ጽሑፍ እስከተጻፈበት ጊዜ ድረስ የተለያዩ የሩቢ አፕልኬሽኖች ላይ በደንብ እንደሚሰራም ይታወቃል፣ ነገር ግን ከፈለጋችሁ በሩቢ ድርጣቢያ ላይ እንደተዘረዘረው ወቅታዊውን ወይም የቀድሞውን የሩቢ ስሪት መጠቀምም ትችላላችሁ፡፡

የሩቢአካባቢ‘ን (rbenv) በመጠቀም የተፈለገውን የሩቢ ስሪት ለመጫን፣ በዝርዝር 6 ላይ የሚታየውን ትእዛዝ ብቻ ፈጽሙ፡፡ ስርዓታችሁ የተሰጠው የሩቢ ስሪት አልተገኘም ብሎ ቅሬታ ካሰማ፣ ወቅታዊውን ስሪት ለመድረስ ስርዓታችሁን ማዘመን ይኖርባችኋል (ሳጥን 2)።

ዝርዝር 6: አንድ አዲስ የሩቢ ቅጂን መጫን።
$ rbenv install 2.7.4

ዝርዝር 6 ውስጥ ያለውን ትእዛዝ ካስኬዳችሁ በኋላ፣ የሩቢአካባቢ የማውረድ ሂደቱን ሲጀምር እና ለዚያ የተወሰነ የሩቢ ስሪት የሚያስፈልጉትን ጥገኛዎች (ጥገኛ ፕሮግራሞች) ሲጪን ማየት አለባችሁ፡፡ (ይህም በመተላለፊያ ይዘቱ እና በማዕከላዊ የሂደት ክፍሉ (ማ.ሂ.ክ (CPU)) ወሰን ላይ በመመርኮዝ ትንሽ ጊዜ ሊወስድ ይችላል)።

ማሳሰቢያ:- ይህን የመሰለ አንድ የስህተት መልእክት ልታገኙ ትችሉ ይሆናል:-

ruby-build: definition not found: 2.7.4

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

  brew update && brew upgrade ruby-build

ይህ ከተከሰተ እጅግ ወቅታዊውን የ‘ሩቢ-ገንባ (ruby-build) ዝርዝርን በሩቢአካባቢ plugins ማውጫ ውስጥ መሰል9 (Clone) ማድረግ ይኖርባችኋል:-

$ mkdir ~/.rbenv/plugins
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

ሩቢ-ገንባ (ruby-build) ቀድሞውኑ እዛው ላይ ካለ፣ ወቅታዊ ለውጦቹን በቀላሉ ለማውረድ የጊት ጎትት (pull) ትእዛዝን እንደሚከተለው አድርጋችሁ መጠቀም ትችላላችሁ:-

$ cd ~/.rbenv/plugins && git pull && cd -
ሳጥን 2. ማዘመን እና ማሻሻል

ምንም እንኳን አሁን ሁሉንም ማለት ተገቢ የሆነ ግንኙነት ያላቸውን የሶፍትዌሮች ወቅታዊ ስሪቶችን ብጪንም፣ ከጥቂት ጊዜ በኋላ ግን የሰፈራችሁ ስርዓት ከአዳዲስ የሆምብሬው ስሪቶች እና ከማንኛውም የተጫኑ ጥቅሎች ጋር አይመሳሰሉም፡፡ ስርዓቱን ለማዘመን፣ አንዳንድ ጊዜ ሆምብሬውን እራሱን ማዘመን እና ከዚያ የተጫኑትን ጥቅሎችንም ማሻሻሉ አንድ ጥሩ ሀሳብ ነው። ይህንንም በሚከተሉት ትእዛዛት መፈጸም ይቻላል:-

  $ brew update
  $ brew upgrade

ሩቢን መጫኑ ከተጠናቀቀ በኋላ፣ ግልጽ ባልሆነ ስም የተሰየመውን የ‘እንዳዲስ-አቅርብ (rehash) ትእዛዝን በመጠቀም አንድ አዲስ የሩቢ ስሪት እንዳለ ለስርዓቱ መንገር ይኖርብናል:-

$ rbenv rehash

ለዚህ መመሪያ፣ ፕሮጀክታችሁን በምትጀምሩበት ጊዜ የሩቢ ስሪትን ለይታችሁ ለመጥቀስ እንዳትጨነቁ፣ የዝርዝር 6 የሩቢ ስሪቱን በተጨማሪ አንድ የዓለም አቀፍ ነባሪ ስሪት እንዲሆን እናደርጋዋለን (እዚህ ላይ አንድ ስሪትን ዓለም አቀፍ ማድረግ ማለት በዚህ ስርዓት ውስጥ የሚፈጠሩ አፕልኬሽኖች በሙሉ አንድ ዓለም አቀፍነት የተሰጠውን ስሪት ይጠቀማሉ ማለት ነው፤ በዚህ ወቅት ደግሞ የሩቢ የስሪት ቁጥር 2.7.4 ‘ን ይሆናል ማለት ነው)፡፡ ይህንን ለማድረግ መንገዱም የ‘ዓለም-አቀፍ (global) ትእዛዝን መጠቀም ነው:-

$ rbenv global 2.7.4

በዚህ ጊዜ ሁሉም ቅንጅቶች በትክክል እንደተዘመኑ ለማረጋገጥ፣ የቀፎ ፕሮግራሙን እንደገና ማስጀመሩ አንድ ጥሩ ሀሳብ ሊሆን ይችላል፡፡

ለወደፊቱ ስራ፣ በአንድ ፕሮጀክት መሰረት ላይ የተወሰነ የሩቢ ስሪትን መጠቀም ትፈልጉ ይሆናል፣ ይህም በፕሮጀክቱ ስረ ማውጫ ላይ አንድ .ruby-version የተባለ ፋይልን በመፍጠር እና ጥቅም ላይ እንዲውል የተፈለገውን የሩቢ ስሪትን በማካተት ሊከናወን ይችላል። (በስርዓታችሁ ላይ አሁን ከሌለ፣ በዝርዝር 6 ላይ እንደተመለከተው rbenv install <የስሪት ቁጥር> ‘ን በመጠቀም መጫን ይኖርባችኋል።) የበለጠ መረጃ ለማግኘት የሩቢአካባቢ ሰነድን ተመልከቱ።

በመጨረሻም፣ የሩቢ ሶፍትዌርን በእንቁዎች (gems) ወይም እራሱን-በያዘ የሩቢ ኮድ ጥቅል በኩል በምትጪኑበት ጊዜ፣ ሶፍትዌሩን ከመጫን ይልቅ የሰፈር ሰነዱን ለመጫን ብዙ ጊዜ ሊወስድ ስለሚችል፣ ብዙውን ጊዜ እሱን ላለመጫን መዝለሉ የተመረጠ ነው፣ በተፈለገ ጊዜ ደግሞ ሰነዱን በመስመር ላይ መድረሱ እጅግ አመች ነው። ሰነድ መጫንን መከላከሉ፣ እንደየሁኔታው ሊከናወን ይችላል፣ ነገር ግን በዝርዝር 7 ላይ እንደሚታየው፣ እምብዛም ጥቅም ላይ የማይውሉትን (እና ለመጫን ጊዜ የሚወስዱትን) የሩቢ የሰነድ ፋይሎች ለመዝለል በቤት ማውጫው ውስጥ አንድ .gemrc ተብሎ የሚጠራ ፋይልን በመፍጠር እሱን አንድ ዓለም አቀፍ ነባሪ ማድረጉ የበለጠ አመች ይሆናል።

ዝርዝር 7: የሩቢ የሰነዶች ጪነትን ለመዝለል .gemrc ማህደርን ማዋቀር።
$ echo "gem: --no-document" >> ~/.gemrc

በዚህ ውቅር የሩቢ እንቁዎችን ለመጫን፣ ማንኛውም gem install <የእንቁ ስም> ‘ን መጠቀሙ፣ በራስሰር ስልክክ ያለ፣ ቀልጣፋ እና ከሰነድ ነጻ እንዲሆን ያደርገዋል፡፡

ጊት

ወቅታዊው የጊት የስሪት ቁጥጥር ስርዓት ክፍል 3.1.2 ላይ ከተጫኑት የኤክስኮድ የማዘዥያ መስመር መሳሪያዎች ጋር በራስሰር መምጣት ይኖርበታል፣ ይህንንም የ‘የትኛው (which) ትእዛዝን በመጠቀም ማረጋገጥ ትችላላችሁ:-

$ which git

የዚህ ውጤት ባዶ ከሆነ፣ ጊት አልተጫነም ማለት ነው፣ እናም ሆምብሬውን በመጠቀም እሱን መጫን ትችላላችሁ:-

$ brew install git

ያም ሆነ ይህ፣ የጊት የስሪት ቁጥር ቢያንስ ቢያንስ 2.28.0 መሆኑን ማረጋገጥ ይኖርባችኋል:-

$ git --version
git version 2.31.1    # የስሪት ቁጥሩ ቢያንስ ቢያንስ 2.28.0 መሆን አለበት።

የስሪት ቁጥሩ ወቅታዊ ካልሆነ፣ መጀመሪያ ብሬው አዘምን‘ን (brew update) ከዚያ ደግሞ brew upgrade git ‘ን ማስኬድ ይኖርባችኋል።

3.2 ሊኒክስ

በሊኒክስ እጅግ ቴክኒካዊ የሆነ የዘር አመጣጥ ምክንያት፣ የሊኒክስ ስርዓቶች በተለምዶ በአፕልኬሽኖች መገንቢያ መሳሪያዎች በሚገባ የተሰነቁ ናቸው። በዚህ ምክንያት፣ አንድ ቤተኛ የሊኒክስ ስርዓተ ክወናን ለአንድ የማበልጸጊያ አካባቢ ለማዘጋጀት በሚገባ ቀላል ነው፡፡

እያንዳንዱ ዋና የሊኒክስ ስርጪት ከአንድ የመናኸሪያ ፕሮግራም፣ ከአንድ የጽሁፍ አርታኢ እና ከጊት ጋር ተጪኖ ይሰደዳል፡፡ ከነባሪዎቹ በተጨማሪ ሊደረጉ ይገባቸዋል ብለን የምንመክራቸው ነገሮች ቢኖሩ ግን እነዚህ አራት ዋና ሂደቶች ብቻ ይሆናሉ:-

  1. ቀድሞውኑ የምትወዱት አንድ የጽሑፍ አርታኢ ከለላችሁ፣ አተምን አውርዱ እና ጫኑ
  2. የ‘ሩቢአካባቢ የጪነት መመሪያዎችን ከሩቢአካባቢ የድርጣቢያ ተከተሉ።
  3. ዝርዝር 6 እና በዝርዝር 7 ላይ እንደታየው ሩቢን ጫኑ እና አዋቅሩ።
  4. የጊት የስሪት ቁጥር ቢያንስ ቢያንስ 2.28.0 መሆኑን አረጋግጡ።

ከላይ ካሉት ውስጥ የመጨረሻው ሂደት የሚከተለውን ትእዛዝ በማስኬድ ማረጋገጥ ይችላል:-

$ git --version

የስሪቱ ውጽአት ቢያንስ ቢያንስ 2.28.0 ካልሆነ፣ ወደ “ጊትን ለመጫን መጀመር” አምሩ እና ወቅታዊውን የጊት ስሪት ለስርዓታችሁ ጫኑ።

በዚህ ጊዜ፣ ሁሉንም ነገር በትክክል አሟልታችሁ ወደሚቀጥለው ጉዞ ለማለፍ መብቃት አለባችሁ!

3.3 ዊንዶውስ

በመጨረሻም፣ ለማይክሮሶፍት ዊንዶውስ አንድ የቤተኛ መመሪያ ይኖረናል፣ ወይም በትክክለኛው አነጋገር በዊንዶውስ ላይ ዩኒክስን የሚጠቀሙ መመሪያወች አሉን ማለት ይቻላል። በክፍል 2 ላይ እንደተብራራው፣ አንዱ አማራጪ አንድ የደመና ቅ.ማ.አን መጠቀም ነው፣ በተለይ በዊንዶውስ ላይ ሊኒክስን በቀጥታ መጫኑ ግን መልካም ውጤት እንዳለው አንዳንድ ዘገባወች ደርሰውናል፡፡

ትክክል ነው! እመኑም አትምኑም፣ አሁን ዊንዶውስ ከአንድ ከሚሰራ የሊኒክስ ከርኔል (kernel) ጋር ተጪኖ ይሰደዳል፣ እና የራሱን የማይክሮሶፍትን መመሪያዎች በመከተል ማንኛውንም የሊኒክስ ስርጪቶችን መጫን ትችላላችሁ፡፡ (በ 90 ዎቹ መጨረሻ እና በ 2000 ዎቹ መጀመሪያ ላይ የሊኒክስ የማይክሮሶፍት ጥላቻን እና የማይክሮሶፍት ስግብግብነትን/ቀማኛነትን ለምናስታውስ፣ ዊንዶውስ አንድ ቀን አንድ ቤተኛ ሊኒክስን ከመገደፍ ጋር ተጪኖ ይሰደዳል ብሎ ማሰቡ በእውነቱ ጪራሽ የማይታሰብ ነገር ነበረ፣ አሁን ግን ለዚህ በቃን (ውሻ እና ድመት አብረው ይኖራሉ ይሏችኋል ይሄ ነው!)፡፡)

ሁሉም ነገር እንዲሰራ ለማድረግ፣ ምክራችን በስካት ሀንሰልማን የቀረበውን “ሩቢ ኦን ሬይልስን በዊንዶውስ መገንባት የሚቻል ብቻ ሳይሆን፣ ደብሊውኤስኤል2‘ን (WSL2) እና ቪኤስ ኮድን (VS Code) በመጠቀም መገንባቱ እጅግ ድንቅ ነው” የሚለውን ትምህርታዊ መጣጥፍን እንድትከተሉ ነው። ምንም እንኳን ለሩቢ ኦን ሬይልስ የድር ማበልጸጊያ ጠቃሚ ቢሆንም፣ የሀንሰልማን የስልጠና ትምህርት ግን በአጠቃላይ ብዙ ዘርፎች ላይ የሚያገለግል ነው፣ እና የስልጠና ትምህርቱን መከታተሉ አንድ ድንቅ የዊንዶውስ ስርዓት ማበልጸጊያ አጠቃላይ ተሞክሮን ሊያስገኝ ይገባል፡፡

4 ማጠቃለያ

እስከዚህ ድረስ ከደረሳችሁ (እና በተለይ ደግሞ በክፍል 3 ላይ ያለውን አንድ የቤተኛ ስርዓተ ክወና ማዋቀርን ካጠናቀቃችሁ) አሁን “በማበልጸጊያ አካባቢ አደገኛ ለመሆን በቂ ተማር” ‘ን ተምራችኋል ማለት ነው። አሁን እንደ በቅ.ቋ እና በገጽታ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማርበሩቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር እና እንደ ሩቢ ኦን ሬይልስ ስልጠናያሉ ፈታኝ የስልጠና ትምህርቶችን ለመፋለም እና በድል ለማጠናቀቅ ዝግጁዎች ናችሁ ማለት ነው። መልካም ዕድል!

በማበልጸጊያ አካባቢ ላይ መሰረታዊ እውቀትን ለማግኘት የሚያስፈልገውን ተማር። የቅጂ መብቱ © እ.ኤ.አ በ 2017 በማይክል ሃርትል፣ በሊዶናሆ እና በኒክ ሜርዊን ተሰጥቷል።

1. ለዚህም ነው ልክ እንደ ሩቢ ኦን ሬይልስ ስልጠናለመሳሰሉ መጽሐፍት መጀመሪያ ላይ አንድ የቤተኛ ማበልጸጊያ ዝግጅትን ማካተቱ መጥፎ ሀሳብ የሆነው፡፡ መጀመሪያ በዋናው ቁሳቁስ/ይዞታ መጀመር እና በኋላ ላይ ደግሞ የቤተኛ ማበልጸጊያ መዋቅሩ ጋር መፋለሙ የተሻለ ነው። የሶስተኛው የሩቢ ኦን ሬይልስ ስልጠና እትምን በአንድ የደመና ቅ.ማ.አ ላይ ለማበልጸግ የተወሰነበት ምክንያትም ይህንን ግንዛቤ ግምት ውስጥ በማስገባት ነበር።
2. እንደ አ.ድ.አ ያሉ ጣቢያዎች፣ ባላቸው ይሄ ነው የማይባል እድገት ምክንያት፣ በየጊዜው የምታዩዋቸው መረጃወች ሊለያዩ ይችላሉ፣ ማንኛውንም ልዩነት/አለመጣጣም ለማስተካከል ቴክኒካዊ ችሎታችሁን ተጠቀሙ (ሳጥን 1)።
3. https://aws.amazon.com/
4. ሩት በዩኒክስ እና በመሳሰሉት ስርዓቶች ላይ፣ በሁሉም ትእዛዞች እና ፋይሎች ላይ፣ በተፈጥሮው ስልጣን ያለው የተጠቃሚ ስም ወይም መለያ ነው።
5. ምስሉ በ 2017-01-24 ከ https://www.flickr.com/photos/mikey_loves_bcn/4354275361 የተወሰደ ነው፡፡ በሚኪ ቪ የ 2010 የቅጂ መብት © እና በ የጋራ የፈጠራ የንግድ-ያልሆነ-ዋለዮ አጠቃላይ 2.0 ፈቃድ መሰረት ስእሉ ጥቅም ላይ ውሏል።
6. ኔክስት (NeXT) ስቲቭ ጆብስ ከአፕል ከተባረረ በኋላ እ.ኤ.አ በ 1985 ባቋቋመው ኩባንያ የተገነባ ስርዓት ነው። ኔክስት ኩባንያን አፕል እ.ኤ.አ በ 1997 ገዝቶ ከጠቀለለው በኋላ፣ የኔክስት ስርዓተ ክወና (OS) የማክ ስርዓተ ክወና (OS) (በኋላ ላይ ደግሞ የማክኦኤክስ ስርዓተ ክወና) መሰረት ሆነ፤ ይህም ስቲቭን የአፕል ዋና ስራ አስኪያጅ ሁኖ በድል አድራጊነት እንዲመለስ ምክንያት ሆኗል።
7. መገልገያ (Utility) ዘዴ ማለት፣ መደበኛ የፕሮግራም ስራዎችን ለማከናወን ጠቃሚ የሆነ፣ በተደጋጋሚ የሚደረግ የፕሮግራም ስራን ለመፈጸም የሚያስችል፣ በድጋሜ ሊጠቀሙበት የሚችሉ ዘዴ/ፕሮግራም ማለት ነው።
8. ለምሳሌ ያየን እንደሆን ቨርቹዋልኤንቭ (virtualenv) የተባለው መገልገያ ፓይቶን ለተባለው የፕሮግራም ቋንቋ እንደዚሁ ለተለያዩ ፕሮጄክቶች የሚያገለግል ተመሳሳይ ስራን ያከናውናል።
9. ጊት መሰል (git clone) አንድ ነባር ማከማቻ ላይ ኢላማ በማድረግ ኢላማ የተደረገበትን ማከማቻ ለመቅዳት የሚያገለግል አንድ የጊት የማዘዥያ መስመር መገልገያ ነው፡፡ ስለዚህ በጊት ውስጥ መሰል (Clone) ማድረግ ማለት ከአንድ ማከማቻ ላይ መቅዳት ማለት ነው።