PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.
Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.
Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.
Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
# ansible -m ping localhost
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
# ansible -m ping ping
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: expected str, bytes or os.PathLike object, not list
ping | FAILED! => {
"msg": "Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",
"stdout": ""
}
# ansible -vvv -m ping localhost
ansible [core 2.14.3]
config file = /root/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
Using /root/ansible.cfg as config file
host_list declined parsing /root/inventory/hosts as it did not pass its verify_file() method
script declined parsing /root/inventory/hosts as it did not pass its verify_file() method
auto declined parsing /root/inventory/hosts as it did not pass its verify_file() method
Parsed /root/inventory/hosts inventory source with ini plugin
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582 `" && echo ansible-tmp-1706038709.331248-6096-81533437188582="` echo /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582 `" ) && sleep 0'
Using module file /usr/lib/python3/dist-packages/ansible/modules/ping.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-6092fz92k0e1/tmp8x8vapcj TO /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/ /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/AnsiballZ_ping.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1706038709.331248-6096-81533437188582/ > /dev/null 2>&1 && sleep 0'
localhost | SUCCESS => {
"changed": false,
"invocation": {
"module_args": {
"data": "pong"
}
},
"ping": "pong"
}
# ansible -vvv -m ping ping
ansible [core 2.14.3]
config file = /root/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
Using /root/ansible.cfg as config file
host_list declined parsing /root/inventory/hosts as it did not pass its verify_file() method
script declined parsing /root/inventory/hosts as it did not pass its verify_file() method
auto declined parsing /root/inventory/hosts as it did not pass its verify_file() method
Parsed /root/inventory/hosts inventory source with ini plugin
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: root
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/ansible/executor/task_executor.py", line 158, in run
res = self._execute()
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/executor/task_executor.py", line 633, in _execute
result = self._handler.run(task_vars=vars_copy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/normal.py", line 47, in run
result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 1040, in _execute_module
self._make_tmp_path()
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 457, in _make_tmp_path
tmpdir = self._remote_expand_user(self.get_shell_option('remote_tmp', default='~/.ansible/tmp'), sudoable=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 923, in _remote_expand_user
data = self._low_level_execute_command(cmd, sudoable=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/action/__init__.py", line 1320, in _low_level_execute_command
rc, stdout, stderr = self._connection.exec_command(cmd, in_data=in_data, sudoable=sudoable)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 1329, in exec_command
cmd = self._build_command(ssh_executable, 'ssh', *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 733, in _build_command
b_args = (b"-o", b'IdentityFile="' + to_bytes(os.path.expanduser(key), errors='surrogate_or_strict') + b'"')
^^^^^^^^^^^^^^^^^^^^^^^
File "(frozen posixpath)", line 232, in expanduser
TypeError: expected str, bytes or os.PathLike object, not list
ping | FAILED! => {
"msg": "Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",
"stdout": ""
}
# cat ansible.cfg
[defaults]
inventory=~/inventory
# ls -Rl ~/inventory/
/root/inventory/:
total 4
-rw-r--r-- 1 root root 5 Jan 23 20:10 hosts
drwxr-xr-x 2 root root 60 Jan 23 20:30 host_vars
/root/inventory/host_vars:
total 4
-rw-r--r-- 1 root root 139 Jan 23 20:12 ping.yml
# cat ~/inventory/hosts
ping
# cat ~/inventory/host_vars/ping.yml
---
ansible_connection: ssh
ansible_port: 22
ansible_user: root
ansible_ssh_private_key_file:
- ~/.ssh/id_rsa
ansible_host: '127.0.0.1'
Nevygooglil jsem, co dělám špatně.
"Unexpected failure during module execution: expected str, bytes or os.PathLike object, not list",Takže:
# cat ~/inventory/host_vars/ping.yml --- ansible_connection: ssh ansible_port: 22 ansible_user: root ansible_ssh_private_key_file: ~/.ssh/id_rsa ansible_host: '127.0.0.1'
File "/usr/lib/python3/dist-packages/ansible/plugins/connection/ssh.py", line 733, in _build_command
b_args = (b"-o", b'IdentityFile="' + to_bytes(os.path.expanduser(key), errors='surrogate_or_strict') + b'"')
^^^^^^^^^^^^^^^^^^^^^^^
Tak to ma problem natahnout soubor s klicem.
Tiskni
Sdílej: