arki-teki

mic bloc-notes mai mult sau mai puțin tehnic

Git LFS

  • git-lfs nu funcționează cu sistem de fișiere local -- nu se poate face git push către un repository din sistemul local de fișiere (fie el pe hard-discul local sau un folder partajat de pe un server de fișiere montat local);
  • git-lfs nu funcționează cu un repository remote care e denumit altfel decât origin (asta mai trebuie să o probez).
Acestea fiind clare pașii ar fi următorii: 1. În folderul proiectului se execută `git init` pentru inițializarea depozitului git local. 2. Pe server se execută `git init --bare ` pentru inițializarea depozitului _remote_. 3. Local și pe server, în directorul de proiect respectiv, se execută `git lfs install` care face setările necesare pentru sistemul de fișiere mari. 4. Local se setează tipul de fișiere mari care vor fi „avute în grijă” de sistemul `lfs` prin comanda `git lfs track '*.ext'` unde `ext` este extensia dorită (de ex. `.psd` sau `.dwg`). Se creează un fișier `.gitattributes` care poate fi editat direct pentru adăugarea/ eliminare altor extensii. Fișierul trebuie adăugat la depozit: `git add .gitattributes`. Și se „comite” totul: `git commit -m "Inițial/ sau alt comentariu adecvat"`. 5. Se face legătura cu depozitul _remote_: `git remote add `. Cred că `` trebuie să fie `origin` ca să funcționeze cu `lfs` iar `` poate fi calea către un director montat local sau către un director accesat prin `ssh` (dar apoi trebuie urmați pașii care indică o cale `https` pentru sistemul `lfs`) sau o cale `https` (presupun, nu am încercat deocamdată, că atunci pașii specifici pentru `lfs` nu mai trebuie urmați).

O alternativă la această succesiune de pași - excluzând partea cu lfs - ar fi cea descrisă în manualul GitPro:

$ git clone --bare my_project my_project.git
Cloning into bare repository 'my_project.git'...
done
$ scp -r my_project.git user@git.example.com:/srv/git #se face o copie pe server
$ ssh user@git.example.com
$ cd /srv/git/my_project.git
$ git init --bare --shared #se setează depozitul de pe server pentru lucrul în echipă

  1. Se stabilește URL-ul pentru lfs:
git config -f .lfsconfig lfs.url https://<domeniuserver.tld>/<calea-repository>/info/lfs
git add .lfsconfig
  1. Se „împinge” totul pe server: git push -u <nume-remote> <nume-ramură-locală>.

Cam asta e...

Conectare la rețea (debian)

Una din metodele de a seta conectarea la rețea a unei mașini cu Debian Linux este cu ajutorul fișierului de configurare /etc/network/interfaces.

  • se folosește ip a pentru afla numele interfeței de rețea: sunt afișate toate interfețele disponibile pe mașina respectivă și starea lor;
  •  pentru interfața wireless se adaugă în /etc/network/interfaces`:
auto <interfata>
iface <interfata> inet dhcp 
wpa-essid <nume-retea> 
wpa-psk <parola-acces>
  • pentru interfața prin fir se adaugă în /etc/network/interfaces:
allow-hotplug <interfata>
iface <interfata> inet dhcp
  • pentru adresă statică (nu se obține de la serverul DHCP) se înlocuiește dhcp cu static și se setează parametrii rețelei:
iface <interfata> inet static
address 192.168.1.150
netmask 255.255.255.0
gateway 192.168.1.1
  • se restartează sistemul.

LE: Am găsit aici că metoda recomandată este să lăsăm fișierul interfaces așa cum e:

source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback

și să creăm câte um fișier separat pentru fiecare interfață în directorul interfaces.d care setările necesare (interfața, modul de atribuire a adresei de rețea și, eventual, credențialele pentru rețeaua fără fir).

Linux: setări regionale și limba sistemului

Ca să funcționeze cum trebuie aplicațiile care folosesc setări regionale (calendar, calcul tabelar, contabilitate etc.) trebuie setate câteva variabile de sistem (environment) despre care acest articol de pe baeldung.com povestește în detaliu.

Ce mă interesează pe mine este cum fac să păstrez limba sistemului de operare în engleză (pentru că sunt mai obișnuit cu termenii și pentru că traducerea în română este câteodată incompletă și câteodată... nu-mi dau eu seama despre ce e vorba). Și în același timp setările regionale să fie cele potrivite pentru limba română.

De limba sistemului și aplicațiilor se ocupă variabila LANG care, pentru mine, trebuie să rămână setată LANG=en_US. Pentru restul variabilelor locale pentru contextul românesc se setează LC_ALL=ro_RO.UTF-8 (sau fiecare variabilă în parte ca mai jos).

La nivel de utilizator aceste variabile pot fi/ trebuie setate în câteva fișiere: ~/.pam_environment (o listă de variabile cu valorile lor), ~/.profile, ~./xsessionrc (scripturi bash). [în bunsenlabs am modificat ~/.config/bunsen/environment]

.pam_environment 
LANG=en_US.UTF-8
LC_TIME=ro_RO.UTF-8
LC_NUMERIC=ro_RO.UTF-8
LC_MONETARY=ro_RO.UTF-8
LC_PAPER=ro_RO.UTF-8
LC_NAME=ro_RO.UTF-8
LC_ADDRESS=ro_RO.UTF-8
LC_TELEPHONE=ro_RO.UTF-8
LC_MEASUREMENT=ro_RO.UTF-8
LC_IDENTIFICATION=ro_RO.UTF-8 

respectiv

.profile și .xsessionrc 
export LANG=en_US.UTF-8
export LC_TIME=ro_RO.UTF-8
export LC_NUMERIC=ro_RO.UTF-8
export LC_MONETARY=ro_RO.UTF-8
export LC_PAPER=ro_RO.UTF-8
export LC_NAME=ro_RO.UTF-8
export LC_ADDRESS=ro_RO.UTF-8
export LC_TELEPHONE=ro_RO.UTF-8
export LC_MEASUREMENT=ro_RO.UTF-8
export LC_IDENTIFICATION=ro_RO.UTF-8

Pentru setarea lor la nivel de sistem vezi și aici.