This shows you the differences between two versions of the page.
|
programare:vm-setup [2025/10/11 00:36] alexandru.raduta06 Adăugat tutorial pentru ssh, scp si folder comun |
programare:vm-setup [2025/10/18 16:38] (current) alexandru.raduta06 Adaugat tutorial import ARM |
||
|---|---|---|---|
| Line 82: | Line 82: | ||
| </note> | </note> | ||
| - | Pentru a vă ajuta să lucrați într-un mediu corespunzător și necesar acasă, echipa vă pune la dispoziție o mașină virtuală care merge pe procesoare x86_64. | + | Pentru a vă ajuta să lucrați într-un mediu corespunzător și necesar acasă, echipa vă pune la dispoziție o mașină virtuală. |
| <note> | <note> | ||
| - | Link download: | + | Link download x86_64: |
| [[https://dfilip.xyz/vmpclp|https://dfilip.xyz/vmpclp]] | [[https://dfilip.xyz/vmpclp|https://dfilip.xyz/vmpclp]] | ||
| + | |||
| + | Link download ARM: | ||
| + | [[https://ctipub-my.sharepoint.com/:u:/g/personal/dorinel_filip_upb_ro/EaRM0N-iOuRNjiAkfw2WxQQBZ1ZaZbBe6x3lLsGB8njaEg?e=bvsB3h|ARM/Apple Silicon]] | ||
| <hidden> | <hidden> | ||
| Link vechi: [[https://cutt.ly/pc20-vm|https://cutt.ly/pc20-vm]]. | Link vechi: [[https://cutt.ly/pc20-vm|https://cutt.ly/pc20-vm]]. | ||
| Line 102: | Line 105: | ||
| </note> | </note> | ||
| + | |||
| + | <spoiler Tutorial: Import VM pe ARM în VMWare Fusion> | ||
| + | |||
| + | <note important> | ||
| + | - Descărcați mașina virtuală și dezarhivați fișierele sale în directorul dedicat mașinilor virtuale (subdirectorul trebuie să aibă extensia .vmwarevm):<code bash> | ||
| + | $ mkdir -p ~/Virtual\ Machines.localized/vmpclp.vmwarevm | ||
| + | $ tar xzvf ARHIVA -C ~/Virtual\ Machines.localized/vmpclp.vmwarevm | ||
| + | </code> | ||
| + | - Din VMWare Fusion, folosiți funcția Scan pentru a o detecta, iar apoi mașina ar trebui să apară și să funcționeze. | ||
| + | </note> | ||
| + | |||
| + | </spoiler> | ||
| + | |||
| Line 123: | Line 139: | ||
| === VM ssh & scp === | === VM ssh & scp === | ||
| - | Dacă doriți să folosiși editorul de text de pe mașina host va trebui să vă configurați o conexiune SSH. Pentru aceasta trebuie să creați un adaptor nou în mașina virtuală ca să poată comunica între ele cele două mașini. Adaptorul trebuie configurat astfel: | + | Dacă doriți să folosiți editorul de text de pe mașina host va trebui să vă configurați o conexiune SSH. Pentru aceasta trebuie să creați un adaptor nou în mașina virtuală ca să poată comunica între ele cele două mașini. Adaptorul trebuie configurat astfel: |
| {{:programare:configuratie_vm.png?direct&600|}} | {{:programare:configuratie_vm.png?direct&600|}} | ||
| - | |||
| - | După ce acesta a fost creat, trebuie să vă puneți cheia publică de SSH a mașinii host in lista de chei acceptate de mașina virtuală folosind următoarele comenzi: | ||
| - | |||
| - | În Windows PowerShell (În cazul în care nu aveți deja cheie SSH): | ||
| - | |||
| - | <code powershell windows cmd> | ||
| - | > whoami | ||
| - | nume_mașina\nume_utilizator | ||
| - | > ssh-keygen -t ed25519 -C "nume_utilizator/nume_mașina" | ||
| - | ... | ||
| - | Your public key has been saved in C:\Users\nume_utilizator/.ssh/id_ed25519.pub | ||
| - | ... | ||
| - | > Start-Service ssh-agent | ||
| - | > ssh-add $env:USERPROFILE\.ssh\id_ed25519 | ||
| - | </code> | ||
| - | |||
| - | Copiați conținutul fișierului id_ed25519.pub, iar apoi în terminalul mașinii virtuale: | ||
| - | |||
| - | <code bash VM terminal> | ||
| - | $ mkdir ~/.ssh | ||
| - | $ nano .ssh/authorized_keys | ||
| - | </code> | ||
| - | |||
| - | În fișierul deschis in terminal lipiți conținutul, salvați și ieșiți. | ||
| Ca să vă conectați din Powershell în VM folosiți comanda: | Ca să vă conectați din Powershell în VM folosiți comanda: | ||
| Line 174: | Line 166: | ||
| > scp cale_fișier student@adresa_ip_vm:cale_destinatie_vm | > scp cale_fișier student@adresa_ip_vm:cale_destinatie_vm | ||
| </code> | </code> | ||
| + | |||
| + | <spoiler Eroare: student@ip: Permission denied (publickey)> | ||
| + | <note important> | ||
| + | Trebuie să vă puneți cheia publică de SSH a mașinii host in lista de chei acceptate de mașina virtuală folosind următoarele comenzi: | ||
| + | |||
| + | În Windows PowerShell (În cazul în care nu aveți deja cheie SSH): | ||
| + | |||
| + | <code powershell windows cmd> | ||
| + | > whoami | ||
| + | nume_mașina\nume_utilizator | ||
| + | > ssh-keygen -t ed25519 -C "nume_utilizator/nume_mașina" | ||
| + | ... | ||
| + | Your public key has been saved in C:\Users\nume_utilizator/.ssh/id_ed25519.pub | ||
| + | ... | ||
| + | > Start-Service ssh-agent | ||
| + | > ssh-add $env:USERPROFILE\.ssh\id_ed25519 | ||
| + | </code> | ||
| + | |||
| + | Copiați conținutul fișierului id_ed25519.pub, iar apoi în terminalul mașinii virtuale: | ||
| + | |||
| + | <code bash VM terminal> | ||
| + | $ mkdir ~/.ssh | ||
| + | $ nano .ssh/authorized_keys | ||
| + | </code> | ||
| + | |||
| + | În fișierul deschis in terminal lipiți conținutul, salvați și ieșiți. | ||
| + | </note> | ||
| + | </spoiler> | ||
| === Copiere fisiere Host-VM === | === Copiere fisiere Host-VM === | ||
| - | Pentru a ușura transferul de fișiere între host și mașina virtuală, vom crea un folder comun. Din setările mașinii virtuale, facem folderul comun astfel: | + | Pentru a ușura transferul de fișiere între host și mașina virtuală, vom crea un folder comun. Din setările mașinii virtuale, ștergem dacă este deja unul făcut când și facem un nou folder comun astfel: |
| {{:programare:folder_comun.png?direct&600|}} | {{:programare:folder_comun.png?direct&600|}} | ||
| + | |||
| + | La Folder Path puneți calea folderului de pe Windows. | ||
| Când deschidem după mașina, trebuie să ne dăm permisiuni pentru a accesa folderul, astfel: | Când deschidem după mașina, trebuie să ne dăm permisiuni pentru a accesa folderul, astfel: | ||
| Line 219: | Line 241: | ||
| </spoiler> | </spoiler> | ||
| - | <hidden> | + | ==== Windows Subsystem for Linux Setup ==== |
| - | TODO: Move https://ocw.cs.pub.ro/courses/programare/wsl-setup here. Update WSL section. | + | |
| - | </hidden> | + | === Instalare WSL2 === |
| + | |||
| + | - Căutam PowerShell în search bar, și deschideți ca și administrator. | ||
| + | - Activați WSL folosind urmatoarea comandă:<code powershell> | ||
| + | > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart</code> | ||
| + | - Activați opțiunea de mașină virtuală folosind următoarea comandă:<code powershell> | ||
| + | > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart</code> | ||
| + | - Dați restart la calculator. | ||
| + | - Deschideți din nou ca și administrator Powershell și rulăm următoarele comenzi:<code powershell> | ||
| + | > wsl --install</code> | ||
| + | - După instalare o să vă pună să vă faceți un utilizator pentru WSL | ||
| + | - Pentru a finaliza instalarea, rulați următoarele comenzi, în ordine:<code bash> | ||
| + | $ sudo apt update | ||
| + | $ sudo apt install gcc | ||
| + | $ sudo apt install make</code> | ||
| + | |||
| + | === Visual Studio Code setup === | ||
| + | |||
| + | - Instalați VSCode pentru Windows: https://code.visualstudio.com/download. | ||
| + | - Din VSCode, la meniul de extensii, instalați extensia WSL. | ||
| + | - După ce se instalează, o să apară in colțul din stânga jos o iconiță: {{:programare:iconita_remote_conection.png}} | ||
| + | - Apăsați pe ea, și alegeți opțiunea de "Connect to WSL". | ||