This is a general discussion thread to talk about Fangtooth.
I will start it off. I installed Fangtooth Beta in a VM on my EEL install. The install went off without a hitch and looks pretty solid.
My intention is to see how the new APP stuff is going to work. Right now I am trying to figure out how to change an app to use a direct network address. I think I have to create something called an alias and direct the APP toward that but where and how?
Aliases are created on the nic
I dont know how to access containers. Do I use proxy? I dont get it.
But being able to use my Intel Ultra Core 2 GPU for plex is amazing on Fangtooth. Canât do that on EE.
BASH scripts are I believe set to âStrictâ, not that it is a true setting however the BASH seems to be complaining a tiny bit more for code that has worked previously just fine. Out of over 10,000 lines of code (there are a lot of spaces, but not that many) I have 6 lines to fix. It was just a different way to get the task done. Maybe some functions that were depreciated, were removed?
The point is, if you have a BASH script, you might need to make a few changes.
At this time the GUI support setting up NVMe SMART testing, however the tests do not actually happen. iXsystems either needs to make it fully functional or disable it for NVMe drives.
I understand that the API is going to become more solid, the API page is still being built, not much there yet. I still refer to 24.10.1 API docs.
I run TrueNAS on top of ESXi so I expect to have some differences, such as I the Dashboard does not display memory right now, previous versions did. Iâm missing stuff, but Beta doesnât come out for a while so patience fro me.
That is all I have had time to play. I want to play with the new containers next.
My dashboard is also borked. Same stuff not displaying. I raised as a bug and they closed as a duplicate
Yea, that dashboard item on our list to fix already. Itâs a developers nightly image, lots of little nits to fix. The selecting of an IP in the Apps deploy is still in progress, not in the UI yet.
Iâm sure there are a lot of item on the list, but that is expected being a developer version, not even Beta yet.
I found midclt call smart.test.results
does not work, but I will give it until the Beta hits the street to file a bug report.
This is working for me on 25.04.0-MASTER-20250110-005622#
root@prod[~]# midclt call smart.test.results | jq
[
{
"tests": [],
"current_test": null,
"identifier": "{serial_lunid}PHM29081000X960CGN_nvme.8086-50484d32393038313030305839363043474e-494e54454c2053534450453231443936304741-00000001",
"name": "nvme0n1",
"subsystem": "nvme",
"number": 66306,
"serial": "PHM29081000X960CGN",
"lunid": "nvme.8086-50484d32393038313030305839363043474e-494e54454c2053534450453231443936304741-00000001",
"size": 960197124096,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "INTEL SSDPE21D960GA",
"rotationrate": null,
"type": "SSD",
"zfs_guid": "212601209224793468",
"bus": "UNKNOWN",
"devname": "nvme0n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme0n1"
},
{
"tests": [],
"current_test": null,
"identifier": "{serial_lunid}PHM2913000QM960CGN_nvme.8086-50484d32393133303030514d39363043474e-494e54454c2053534450453231443936304741-00000001",
"name": "nvme3n1",
"subsystem": "nvme",
"number": 66307,
"serial": "PHM2913000QM960CGN",
"lunid": "nvme.8086-50484d32393133303030514d39363043474e-494e54454c2053534450453231443936304741-00000001",
"size": 960197124096,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "INTEL SSDPE21D960GA",
"rotationrate": null,
"type": "SSD",
"zfs_guid": "16221756077833732578",
"bus": "UNKNOWN",
"devname": "nvme3n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme3n1"
},
{
"tests": [],
"current_test": null,
"identifier": "{serial_lunid}PHM2913000YF960CGN_nvme.8086-50484d32393133303030594639363043474e-494e54454c2053534450453231443936304741-00000001",
"name": "nvme5n1",
"subsystem": "nvme",
"number": 66308,
"serial": "PHM2913000YF960CGN",
"lunid": "nvme.8086-50484d32393133303030594639363043474e-494e54454c2053534450453231443936304741-00000001",
"size": 960197124096,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "INTEL SSDPE21D960GA",
"rotationrate": null,
"type": "SSD",
"zfs_guid": "8625327235819249102",
"bus": "UNKNOWN",
"devname": "nvme5n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme5n1"
},
{
"tests": [],
"current_test": null,
"identifier": "{serial_lunid}PHM2913000DC960CGN_nvme.8086-50484d32393133303030444339363043474e-494e54454c2053534450453231443936304741-00000001",
"name": "nvme2n1",
"subsystem": "nvme",
"number": 66305,
"serial": "PHM2913000DC960CGN",
"lunid": "nvme.8086-50484d32393133303030444339363043474e-494e54454c2053534450453231443936304741-00000001",
"size": 960197124096,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "INTEL SSDPE21D960GA",
"rotationrate": null,
"type": "SSD",
"zfs_guid": "11750420763846093416",
"bus": "UNKNOWN",
"devname": "nvme2n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme2n1"
},
{
"tests": [
{
"num": 0,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1330,
"power_on_hours_ago": 8,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 1,
"description": "Extended",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1330,
"power_on_hours_ago": 8,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 2,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 3,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 4,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 5,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 6,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 7,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 8,
"description": "Extended",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 9,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 10,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1329,
"power_on_hours_ago": 9,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 11,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 12,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 13,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 14,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 15,
"description": "Extended",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 16,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 17,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1328,
"power_on_hours_ago": 10,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 18,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1327,
"power_on_hours_ago": 11,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
},
{
"num": 19,
"description": "Short",
"status": "SUCCESS",
"status_verbose": "Completed without error",
"power_on_hours": 1327,
"power_on_hours_ago": 11,
"failing_lba": null,
"nsid": null,
"seg": null,
"sct": 0,
"code": 0
}
],
"current_test": null,
"identifier": "{serial_lunid}S64KNX2T216015_002538b221d26271",
"name": "nvme4n1",
"subsystem": "nvme",
"number": 66314,
"serial": "S64KNX2T216015",
"lunid": "002538b221d26271",
"size": 512110190592,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "SAMSUNG MZVL2512HCJQ-00BL7",
"rotationrate": null,
"type": "SSD",
"zfs_guid": null,
"bus": "UNKNOWN",
"devname": "nvme4n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme4n1"
},
{
"tests": [],
"current_test": null,
"identifier": "{serial_lunid}PHM2908101QG960CGN_nvme.8086-50484d32393038313031514739363043474e-494e54454c2053534450453231443936304741-00000001",
"name": "nvme1n1",
"subsystem": "nvme",
"number": 66304,
"serial": "PHM2908101QG960CGN",
"lunid": "nvme.8086-50484d32393038313031514739363043474e-494e54454c2053534450453231443936304741-00000001",
"size": 960197124096,
"description": "",
"transfermode": "Auto",
"hddstandby": "ALWAYS ON",
"advpowermgmt": "DISABLED",
"togglesmart": true,
"smartoptions": "",
"expiretime": null,
"critical": null,
"difference": null,
"informational": null,
"model": "INTEL SSDPE21D960GA",
"rotationrate": null,
"type": "SSD",
"zfs_guid": "10743034860780890768",
"bus": "UNKNOWN",
"devname": "nvme1n1",
"enclosure": null,
"supports_smart": null,
"pool": null,
"disk": "nvme1n1"
}
]
EDIT:
Although, this is a bad example because most of these drives donât support SMART tests, but the one that does works lol
This was run on Fangtooth-25.04.0-MASTER-20250114-005710
root@truenas:~# midclt call smart.test.results | jq
'int' object is not subscriptable
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/api/base/server/ws_handler/rpc.py", line 310, in process_method_call
result = await method.call(app, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/api/base/server/method.py", line 40, in call
result = await self.middleware.call_with_audit(self.name, self.serviceobj, methodobj, params, app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 878, in call_with_audit
result = await self._call(method, serviceobj, methodobj, params, app=app,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 687, in _call
return await methodobj(*prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 174, in nf
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 48, in nf
res = await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/smart.py", line 715, in results
await asyncio_map(functools.partial(annotate_disk_smart_tests, self.middleware, tests_filter),
File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 19, in asyncio_map
return await asyncio.gather(*futures)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 16, in func
return await real_func(arg)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/smart.py", line 39, in annotate_disk_smart_tests
tests = parse_smart_selftest_results(data) or []
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/smart.py", line 88, in parse_smart_selftest_results
lba = entry["lba"]["value"]
~~~~~~~~~~~~^^^^^^^^^
TypeError: 'int' object is not subscriptable
root@truenas:~#
I suspect they are working on some related package/code.
Does anyone know if this update will allow passing through an Intel Arc B series card to plex since the kernel will be updated to 6.12?
Also I tried updating and get hung up in the boot and canât seem to figure out why cause I booted up in another machine with no issues. It always gets stopped at or near the sound.target or systemd-rfkill.socket. When I looked over the boot up of the machine that worked fine I never saw the systemd-rfkill.socket line so not sure if thatâs whatâs causing my issue.
Btw Iâm pretty new to TrueNAS
[23.330601] ccp 0000:0e:00.2: ccp: unable to access the device: you might be running a broken BIOS.
[23.332399] ccp 0000:0e:00.2: tee enabled
[23.333089] ccp 0000:0e:00.2: psp enabled
[23.364404] Error: Driver âpcspkrâ is already registered, aborting...
[OK] Reached target sound.target - Sound Card.
[OK] Listening on systemd-rfkill.socket - Load/Save RF Kill Switch Status /dev/rfkill Watch.
EDIT: I found my issue, it was getting stuck on the graphics. I needed to disable IGFX Multi-Montior and set the primary video device to be the internal graphics. That let me get past the rfkill. Itâs just interesting that previously on the current release of electric eel 24.10.1 I was able to boot with no problem having IGFX enabled.
This will be covered in release notes for the upcoming beta, but raising awareness here:
Weâre going to begin to require SSL/TLS for API access when using API keys.
If youâre using our python websocket client the practical impact is that youâll need to change:
from truenas_api_client import Client
with Client('ws://<ip>/api/current') as c:
resp = c.call('auth.login_ex', {
'mechanism': 'API_KEY_PLAIN',
'username': 'bob',
'api_key': <key>
})
to:
from truenas_api_client import Client
with Client('wss://<ip>/api/current') as c:
resp = c.call('auth.login_ex', {
'mechanism': 'API_KEY_PLAIN',
'username': 'bob',
'api_key': <key>
})
e.g. ws
â wss
.
Fangtooth says it unifies Core and Scale.
What part of it comes from core?
Since it remains a linux based OS, then at a glance it looks like its just the next gen of scale, with core development being dropped.
Not saying it is a bad thing. I am fine with it. Just confused bny the way it is being promoted as âmergingâ.
It adds a Jail like UI.
If you have a bash script, you are doing it wrong.
Seriously. Shell scripts should always adhere to POSIX to be portable. Not even on all Linux distributions is /bin/sh a bash.
So much for todayâs grandadâs tales from the war.
The name of the product.
Notice how SCALE was dropped in the upcoming release, which is now only referred to as TrueNAS 25.04 âFangtoothâ.
Having some trouble with containers. At first they worked great. Now I get an error when trying to select an image
Error: Traceback (most recent call last):
File â/usr/lib/python3/dist-packages/middlewared/api/base/server/ws_handler/rpc.pyâ, line 323, in process_method_call
result = await method.call(app, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File â/usr/lib/python3/dist-packages/middlewared/api/base/server/method.pyâ, line 49, in call
return self._dump_result(app, methodobj, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File â/usr/lib/python3/dist-packages/middlewared/api/base/server/method.pyâ, line 52, in _dump_result
return self.middleware.dump_result(self.serviceobj, methodobj, app, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File â/usr/lib/python3/dist-packages/middlewared/main.pyâ, line 789, in dump_result
return serialize_result(new_style_returns_model, result, expose_secrets)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File â/usr/lib/python3/dist-packages/middlewared/api/base/handler/result.pyâ, line 13, in serialize_result
return model(result=result).model_dump(
^^^^^^^^^^^^^^^^^^^^
File â/usr/lib/python3/dist-packages/pydantic/main.pyâ, line 212, in init
validated_self = self.pydantic_validator.validate_python(data, self_instance=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 99 validation errors for VirtInstanceImageChoicesResult
result.alpine/3.18/cloud
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.18/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.19/cloud
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.19/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.20/cloud
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.20/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.21/cloud
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/3.21/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/edge/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alpine/edge/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.alt/Sisyphus/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.alt/Sisyphus/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.alt/p10/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.alt/p10/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.alt/p11/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.alt/p11/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.amazonlinux/2/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.amazonlinux/2023/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.archlinux/current/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.archlinux/current/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.archlinux/current/desktop-gnome.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.busybox/1.36.1/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/bookworm/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/bookworm/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/bullseye/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/bullseye/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/buster/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/buster/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/trixie/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.debian/trixie/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/beowulf/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/beowulf/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/chimaera/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/chimaera/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/daedalus/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.devuan/daedalus/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/39/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/39/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/40/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/40/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/41/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.fedora/41/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.funtoo/next/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.gentoo/current/openrc.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.gentoo/current/systemd.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.kali/current/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.kali/current/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/ulyana/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/ulyana/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/ulyssa/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/ulyssa/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/uma/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/uma/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/una/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/una/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/vanessa/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/vanessa/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/vera/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/vera/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/victoria/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/victoria/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/virginia/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/virginia/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/wilma/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.mint/wilma/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.nixos/24.05/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.nixos/24.11/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.nixos/unstable/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=False, input_type=bool]
For further information visit Redirecting...
result.opensuse/15.5/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/15.5/desktop-kde
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/15.6/cloud
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/15.6/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/15.6/desktop-kde
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/tumbleweed/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/tumbleweed/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.opensuse/tumbleweed/desktop-kde.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.openwrt/21.02/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.openwrt/22.03/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.openwrt/23.05/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.openwrt/24.10/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.openwrt/snapshot/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.plamo/7.x/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.plamo/8.x/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.slackware/15.0/default
.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.slackware/current/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/focal/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/focal/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/focal/desktop.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/jammy/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/jammy/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/jammy/desktop.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/noble/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/noble/default.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/noble/desktop.secureboot
Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType]
For further information visit Redirecting...
result.ubuntu/oracular/cloud.secureboot
Extra inputs are not permitted [type=extra_forbidden, input
Good luck with that fight. Most people donât know what portable is (let alone POSIX) but seeing the state of some of these scripts Iâve been looking at, Iâm glad most of these scripts are not portable because it keeps me from copy-paste running them on my machine.
Unfortunately, people donât really want to read or investigate.
Portability is overrated. If youâre not going to run your code on anything except a Linux system, why bother with old-fashioned shell scripts when bash adds so many useful features? Itâs like writing text-processing code in C instead of Python: why bother? Itâs 2025: almost no one is using non-Linux Unix OSes these days, and most people who just want to write a script really donât care if it can run on Solaris, HP-UX, or any BSD.
I just wrote a tokenizer/parser in C the other day for key/value strings. Very fun, and thanks for the reminder; I should keep toying with that because I still havenât worked out all the bugs.
Yeah, I know they (you) donât care if it runs anywhere else or on other linux or unix distros. Didnât I say that?