Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
ccache
a distcc
.ccache
dokáže zrýchliť opakované kompilovanie 5 až 10krát.
Je výtvorom Andrewa Tridgella z projektu Samba, ktorý sa inšpiroval ideou
projektu compilercache.
Pred každým spustením gcc
sa ccache
pozrie do
svojej databázy a pokúsi sa v nej nájsť skompilovaný súbor. Ak výsledok
kompilácie nenájde, spustí gcc
a jeho výsledok vloží do
databázy. Pri vývoji aplikácií sa medzi dvoma verziami aplikácie často mení
iba zopár súborov a ostatné zostávajú nedotknuté. Pri kompilovaní novšej
verzie už raz kompilovaného programu má ccache
veľkú šancu
usporiť čas potrebný pre kompiláciu už raz skompilovaných súborov.
Portage dokáže ccache
používať automaticky. Stačí ho len
nainštalovať:
# emerge ccache
a pridať do súboru /etc/make.conf
do premennej
FEATURES
:
FEATURES="ccache"
Ak chcete ccache
používať mimo Portage (v inej distribúcii
alebo pri programovaní), musíte dať cestu k binárkam ccache
do
premennej prostredia PATH
(pred cestou ku
gcc
):
# export PATH=/usr/lib/ccache/bin:$PATH
Databáza ccache
bude rásť a rásť, preto je dobré stanoviť
jej nejaký limit:
# ccache -M 1G
Používatelia Gentoo si tento údaj môžu nastaviť aj v súbore
/etc/make.conf
:
CCACHE_SIZE="1G"
Z dielne Samby pochádza aj program distcc
, tentokrát je
jeho autorom Martin Pool. Distcc distribuuje kompiláciu medzi viacerými
počítačmi. To sa oplatí hlavne, pokiaľ chcete inštalovať Gentoo na pomalý
počítač a máte k dispozícii jeden, alebo viac rýchlejších strojov.
Program distcc
najprv spracuje vstupný zdrojový súbor preprocesorom
(gcc -E
). Vznikne tak zdrojový súbor, ktorý obsahuje
všetky hlavičkové súbory, ktoré sú potrebné na jeho skompilovanie. Program
distcc
tento súbor pošle na niektorý zo vzdialených počítačov,
kde sa spustí kompilácia. Skompilovaný súbor s príponou .o
(object), sa vráti späť na klientsky počítač a distcc
sa ukončí.
Aby tento postup kompiláciu urýchlil, musí byť kompilovaných
viacero zdrojových súborov naraz. Program make
podporuje paralelnú
kompiláciu. Počet súčasne spustených kompilácií sa nastavuje parametrom
-jN
(N - počet paralelných kompilácií). Používatelia
Gentoo si tento parameter môžu nastaviť v súbore
/etc/make.conf
:
MAKEOPTS="-j2"
S počtom paralelných kompilácií sa musíte trochu pohrať. Začať môžete s
hodnotou rovnou počtu procesorov na kompilovanie plus jeden (napríklad ak
kompilujete na dvoch dvoj-procesorových počítačoch nastavte
MAKEOPTS="-j5"
). Tento počet vám pomôže doladiť grafický
monitor distccmon-gui
.
Distcc treba samozrejme nainštalovať, v Gentoo jednoducho:
# emerge distcc
Portage vie používať distcc
automaticky, len ho musíte
pridať do súboru /etc/make.conf
do premennej FEATURES:
FEATURES="distcc"
Ak nepoužívate Gentoo, musíte si binárky distcc
pridať do
premennej PATH
ešte pred cestou ku gcc
. Ale
pozor, ak používate aj ccache
, najprv musí ísť cesta k
ccache
, potom k distcc
a až potom všetko
ostatné:
# export
PATH=/usr/lib/ccache/bin:/usr/lib/distcc/bin:$PATH
Na vzdialených počítačoch musíte buď spustiť démona
distccd
, nakonfigurovať initd
server alebo
sprístupniť počítač cez ssh
. Odporúčané je spustiť démona
distccd
:
# distccd --allow 192.168.1.0/24
Používatelia Gentoo budú mať po inštalácii k dispozícii rc skript:
# rc-update add distccd default
# /etc/init.d/distccd start
Parameter --allow
je veľmi dôležitý. Určuje, ktoré IP
adresy budú mať prístup k distccd
serveru. Používatelia Gentoo
si tento a ďalšie parametre distcc
môžu nastaviť v súbore
/etc/conf.d/distccd
.
Nakoniec na klientskom počítači nastavte zoznam a limity pre vzdialené
servery. To sa robí pomocou premennej
prostredia DISTCC_HOSTS
:
# export DISTCC_HOSTS="localhost/2 192.168.1.1/2 superserver.com/8"
V Gentoo použite konfiguračný nástroj distcc-config
:
# distcc-config --set-hosts "localhost/2 192.168.1.1/2 \
superserver.com/8"
# env-update
# source /etc/profile
Ešte musím upozorniť, že ccache
je citlivý na to, či
používate distcc
alebo nie. Ak ste prvú verziu kompilovali
distribuovane a pri kompilácii novej verzie už nemáte k dispozícii viac
počítačov a distcc
vymažete za súboru
/etc/make.conf
, ccache
si bude myslieť, že ste
zmenili verziu gcc
a medzivýsledky kompilácie vo svojej
databáze jednoducho nenájde.
Ak hrozí, že nebudete môcť kompilovať na viacerých počítačoch pomocou
distcc
, je lepšie distcc
do súboru
/etc/make.conf
nedávať a spúšťať distribuované kompilovanie
nasledovne:
# FEATURES="distcc" emerge parametre
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
- ma centralni scheduler, takze na rozdil od distcc rozdeluje ulohy na jine pocitace inteligentne (nepouziva zatizene pocitace, snazi se pouzivat nejrychlejsi nejdrive, sam hleda ostatni pocitace,...)
- dokaze jednoduse mixovat ruzne druhy gcc a pocitacu (mit treba i686+gcc-3.x a nechat si prekladat na amd64+gcc-4.x neni problem)
slon ~ # emerge -pv sys-devel/icecream These are the packages that I would merge, in order: Calculating dependencies !!! All ebuilds that could satisfy "sys-devel/icecream" have been masked. !!! One of the following masked packages is required to complete your request: - sys-devel/icecream-0.6.20040829 (masked by: ~x86 keyword) For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
Limit ccache nastaveny pres `ccache -M 1G` *neovlivni* Portage, protoze Portage pouziva jiny $CCACHE_DIR nez root (defaultne je to "~/.ccache" iirc). Reseni je pri *kazdem* spusteni cehokoliv, co saha na ccache, at uz velikosti cache nebo monitory, nastavit spravnou $CCACHE_DIR (nekde pod /var/portage asi, nevim, nepouzivam, jsem liny zjistovat). Jinak u "distcc" je dobry zminit, ze se ma pouzivat jenom tehdy, pokud bychom uzivatelum kompilujicim z danych klientu poskytli na dalsich distcc nodech shell access, viz http://distcc.samba.org/security.html : "Anyone who can connect to the distcc server port can run arbitrary commands on that machine as the distccd user. If you are not using SSH, you must use the --allow rule and/or firewall rules to limit access to port 3632." Dale mi neni jasne, co autor minil doporucenim pouzivat `FEATURES="distcc" emerge foo` misto adekvatni zmeny make.conf, zejmena v kontextu predchoziho odstavce.