Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
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.