{"id":167933,"date":"2026-05-23T18:04:10","date_gmt":"2026-05-23T15:04:10","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=167933"},"modified":"2026-05-23T18:04:10","modified_gmt":"2026-05-23T15:04:10","slug":"python-nodejs-go-rust-fedora","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/python-nodejs-go-rust-fedora\/","title":{"rendered":"Set Up Python, Node.js, Go, Rust on Fedora 44 \/ 43 \/ 42"},"content":{"rendered":"<p>A clean Fedora install is already half a developer workstation. The toolchain group (GCC, Make, Git, kernel headers) is one DNF transaction away, Python ships current, and the language runtimes you need for the four most common stacks are all in the default repositories with no extra mirrors to chase. The other half is knowing which path to take for each language so you do not end up with three competing toolchain installs fighting over <code>PATH<\/code> a month from now.<\/p>\n\n<p>This guide walks through setting up a complete Python, Node.js, Go, and Rust development environment on Fedora 44, including the DNF-packaged path for each, the upstream toolchain installer where it matters (rustup, nvm, pyenv), and a sanity-check build in every language. The same commands work on Fedora 43 and Fedora 42 with the version numbers shifted accordingly. Tooling beyond the runtimes (VS Code, Distrobox, version managers) gets a quick pointer to the dedicated guides so this article stays a focused setup walkthrough.<\/p>\n\n<p><em>Tested <strong>May 2026<\/strong> on Fedora 44 (kernel 7.0.8-200.fc44) with Python 3.14.4, Node.js 22.22.2, Go 1.26.3, Rust 1.95.0, GCC 16.1.1. Same commands verified on Fedora 43 and Fedora 42 clones.<\/em><\/p>\n\n<h2>What ships by default on Fedora 44<\/h2>\n\n<p>Before installing anything, see what is already there. Fedora 44 ships Python and the core build tools by default; the language runtimes for Node, Go, and Rust are the ones you add. Quick inventory:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>cat \/etc\/fedora-release\npython3 --version\ngcc --version | head -1\nmake --version | head -1\ngit --version\nrpm -q nodejs golang rust cargo 2>&1 | head -5<\/code><\/pre>\n\n\n<p>On a fresh F44 Workstation the runtimes report installed; the four language packages are &#8220;not installed&#8221;. That is the starting point. The next sections each add one runtime, verify it with a one-line program, and show the version-manager alternative where the packaged version is too old for your workflow.<\/p>\n\n<h2>Install the GCC toolchain group<\/h2>\n\n<p>Most projects need a C compiler, headers, and the basics to build native extensions (Python wheels with C code, Node native modules, Go cgo, Rust crates that link to C). Install the whole group in one command instead of cherry-picking packages:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 group install -y \"Development Tools\"\nsudo dnf5 install -y kernel-devel kernel-headers<\/code><\/pre>\n\n\n<p>The <code>kernel-devel<\/code> + <code>kernel-headers<\/code> pair pulls in matching kernel-source artifacts. You only need these when building DKMS modules, VirtualBox guest additions, or NVIDIA akmod packages; skip them for a pure userland dev box. Sanity check the compiler stack:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>gcc --version | head -1\nmake --version | head -1\ngit --version<\/code><\/pre>\n\n\n<p>On Fedora 44 you should see <code>gcc (GCC) 16.1.1<\/code>, <code>GNU Make 4.4.1<\/code>, and <code>git version 2.54.0<\/code> or newer. The compiler bump to GCC 16 across the F44 cycle is the biggest single change for native-extension builds; if you have wheels or modules pinned to GCC 14 you may need to rebuild them. A complete toolchain inventory after the next two install steps looks like this on a fresh F44 box:<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"800\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-toolchain-versions-fedora-44.png\" alt=\"Python 3.14.4, Node 22.22.2, Go 1.26.3, Rust 1.95.0, GCC 16.1.1 versions on Fedora 44\" class=\"wp-image-167929\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-toolchain-versions-fedora-44.png 920w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-toolchain-versions-fedora-44-300x261.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-toolchain-versions-fedora-44-768x668.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/figure>\n\n\n<p>Those are the four runtimes plus the supporting tools you reach for daily: GCC and Make for native builds, Git for everything that touches version control. The DNF-shipped versions track upstream LTS\/stable cycles within a few weeks of release.<\/p>\n\n<h2>Set up Python with pip and venv<\/h2>\n\n<p>Python 3.14 is the system interpreter on Fedora 44. The split is the same as on F43 and earlier: <code>python3<\/code> ships, but <code>pip<\/code> and <code>venv<\/code> require their own packages. Install both:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y python3-pip python3-virtualenv\npython3 -m pip --version\npython3 -m venv --help | head -1<\/code><\/pre>\n\n\n<p>Verify the install with a tiny script that reports back the interpreter version and parses the OS-release file (<code>platform.freedesktop_os_release()<\/code> is available on Python 3.10 and newer). Create the workspace and the script file:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>mkdir -p ~\/dev-test\nvi ~\/dev-test\/hello.py<\/code><\/pre>\n\n\n<p>Paste this content into the editor and save:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>import platform\nrelease = platform.freedesktop_os_release()\nprint(f\"Hello from Python {platform.python_version()} on Fedora {release['VERSION_ID']}\")<\/code><\/pre>\n\n\n<p>Run it:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>python3 ~\/dev-test\/hello.py<\/code><\/pre>\n\n\n<p>The expected output is <code>Hello from Python 3.14.4 on Fedora 44<\/code>. Per-project isolation goes through <code>venv<\/code>, which avoids the &#8220;did I install this for the system or for the project&#8221; trap that <code>sudo pip install<\/code> creates:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>python3 -m venv ~\/dev-test\/myproj-venv\nsource ~\/dev-test\/myproj-venv\/bin\/activate\npip install requests\npython -c \"import requests; print(requests.__version__)\"\ndeactivate<\/code><\/pre>\n\n\n<p>When you need multiple Python minor versions side by side (3.12 for one project, 3.14 for another), <a href=\"https:\/\/github.com\/pyenv\/pyenv\" target=\"_blank\" rel=\"noreferrer noopener\">pyenv<\/a> is the standard tool. It compiles each interpreter from source on first install, so install the build deps first: <code>sudo dnf5 install -y zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel xz-devel libffi-devel<\/code>, then <code>curl https:\/\/pyenv.run | bash<\/code>. The system <code>python3<\/code> stays at 3.14; pyenv shims override per-project.<\/p>\n\n<h2>Install Node.js and npm<\/h2>\n\n<p>Fedora 44 ships Node.js 22 LTS by default. The DNF path is one command and covers most needs:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y nodejs npm\nnode --version\nnpm --version<\/code><\/pre>\n\n\n<p>The expected versions on F44 are <code>v22.22.2<\/code> for Node and <code>10.9.7<\/code> for npm. The <a href=\"https:\/\/computingforgeeks.com\/install-nodejs-fedora\/\">dedicated Node.js install guide<\/a> covers NodeSource (for newer Current branches) and side-by-side major versions. For one-project-needs-Node-20-and-another-needs-Node-24 setups, <a href=\"https:\/\/github.com\/Schniz\/fnm\" target=\"_blank\" rel=\"noreferrer noopener\">fnm<\/a> is the fast modern alternative to nvm:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>curl -fsSL https:\/\/fnm.vercel.app\/install | bash\nexec $SHELL\nfnm install 24\nfnm install 22\nfnm default 22\nfnm list<\/code><\/pre>\n\n\n<p>Quick verification with a script that reports both the runtime and platform info. Create <code>~\/dev-test\/hello.js<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>console.log(`Hello from Node.js ${process.version} on ${process.platform}\/${process.arch}`);<\/code><\/pre>\n\n\n<p>Run it with the Node binary:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>node ~\/dev-test\/hello.js<\/code><\/pre>\n\n\n<p>Output: <code>Hello from Node.js v22.22.2 on linux\/x64<\/code>.<\/p>\n\n<h2>Install Go (Golang)<\/h2>\n\n<p>Fedora 44 ships Go 1.26 in the default repos. For most workflows this is fresher than upstream&#8217;s go.dev binary releases anyway, and dnf-updated alongside the rest of the system:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y golang\ngo version\ngo env GOPATH GOMODCACHE<\/code><\/pre>\n\n\n<p>F44 reports <code>go version go1.26.3-X:nodwarf5 linux\/amd64<\/code>; <code>GOPATH<\/code> defaults to <code>~\/go<\/code>, <code>GOMODCACHE<\/code> to <code>~\/go\/pkg\/mod<\/code>. The <code>X:nodwarf5<\/code> tag is Fedora&#8217;s downstream build flag (DWARF 5 disabled in default builds for older tooling compatibility). Create <code>~\/dev-test\/hello.go<\/code> with the standard runtime-info pattern:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>package main\n\nimport (\n    \"fmt\"\n    \"runtime\"\n)\n\nfunc main() {\n    fmt.Printf(\"Hello from Go %s on %s\/%s\\n\", runtime.Version(), runtime.GOOS, runtime.GOARCH)\n}<\/code><\/pre>\n\n\n<p>Build and run with the standard <code>go run<\/code> invocation:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>go run ~\/dev-test\/hello.go<\/code><\/pre>\n\n\n<p>The output reads <code>Hello from Go go1.26.3-X:nodwarf5 on linux\/amd64<\/code>. For a real project, initialize a module first: <code>mkdir myproj &amp;&amp; cd myproj &amp;&amp; go mod init github.com\/you\/myproj<\/code>. If you need to track a specific Go minor (say 1.24 for a legacy project), <code>go install golang.org\/dl\/go1.24.5@latest<\/code> followed by <code>go1.24.5 download<\/code> installs that version side by side; the per-version binaries live in <code>~\/go\/bin\/<\/code>. The <a href=\"https:\/\/computingforgeeks.com\/how-to-install-go-golang-on-fedora\/\">full Go install guide<\/a> covers binary tarball installs and per-version directory layouts.<\/p>\n\n<h2>Install Rust via rustup (recommended) or DNF<\/h2>\n\n<p>Rust is the one language where the upstream toolchain installer beats the distro package in every practical scenario. The DNF-packaged <code>rust<\/code> works for casual builds, but it ships one version at a time, lags upstream stable by 2-4 weeks, and offers no clean path to nightly. Use rustup for any real Rust work; reach for the DNF package only when you cannot install a userland toolchain (locked-down CI, air-gapped boxes).<\/p>\n\n<p>The <strong>rustup<\/strong> path is one command, no root needed, lives entirely under <code>~\/.cargo<\/code> and <code>~\/.rustup<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>curl --proto '=https' --tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal\nsource \"$HOME\/.cargo\/env\"\nrustup --version\nrustup show\nrustc --version\ncargo --version<\/code><\/pre>\n\n\n<p>After the install, <code>rustc --version<\/code> reports the upstream stable (1.95.0 at the time of writing), and <code>cargo<\/code> lands in <code>~\/.cargo\/bin\/<\/code>. The rustup-managed install shows up clearly in its own status command:<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"800\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-rustup-fedora-44.png\" alt=\"rustup show and component add output on Fedora 44\" class=\"wp-image-167931\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-rustup-fedora-44.png 920w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-rustup-fedora-44-300x261.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-rustup-fedora-44-768x668.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/figure>\n\n\n<p>Switch toolchains as needed:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>rustup toolchain install nightly\nrustup default stable\nrustup override set nightly       # in a project dir, override per-project\nrustup component add clippy rustfmt rust-analyzer\nrustup update<\/code><\/pre>\n\n\n<p>The <strong>DNF<\/strong> path is the fallback. It installs into <code>\/usr\/bin<\/code>, updates with the rest of the system, and pins to whichever Rust version Fedora is currently shipping:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y rust cargo rust-src clippy rustfmt\nrustc --version\ncargo --version<\/code><\/pre>\n\n\n<p>The two paths coexist. If both are installed, rustup wins because <code>~\/.cargo\/bin<\/code> is earlier in <code>PATH<\/code> than <code>\/usr\/bin<\/code>. To force the system rust temporarily, run <code>\/usr\/bin\/cargo<\/code> directly. A first project sanity check:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>cd ~\/dev-test\ncargo new --quiet hello-rust\ncd hello-rust\ncargo run --release --quiet<\/code><\/pre>\n\n\n<p>Cargo creates the project skeleton, compiles, and runs <code>Hello, world!<\/code> in one shot. Subsequent builds reuse the compiled deps; only your code rebuilds. End-to-end, the four-language sanity test on Fedora 44 produces:<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"800\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-hello-world-fedora-44.png\" alt=\"Hello world output in Python, Node.js, Go, and Rust running on Fedora 44\" class=\"wp-image-167930\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-hello-world-fedora-44.png 920w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-hello-world-fedora-44-300x261.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/05\/wm-dev-hello-world-fedora-44-768x668.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/figure>\n\n\n<p>Each language reports its own version and the host platform, which is the quickest way to confirm the toolchain you just installed is the one actually running your code.<\/p>\n\n<h2>Editor and project tools<\/h2>\n\n<p>The dev environment is the runtimes; the daily-driver editor is a separate decision. VS Code is the most common choice on Fedora and works cleanly via Microsoft&#8217;s RPM repo (covered in the <a href=\"https:\/\/computingforgeeks.com\/install-visual-studio-code-on-fedora\/\">VS Code install guide<\/a>). Other strong picks: NeoVim via <code>sudo dnf5 install -y neovim<\/code>, Helix via <code>sudo dnf5 install -y helix<\/code>, JetBrains Toolbox via the official Flatpak. Whichever you pick, install the matching language-server packs:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y python3-lsp-server gopls\n# Rust LSP comes from rustup:\nrustup component add rust-analyzer\n# Node\/TypeScript LSP installs with VS Code or via:\nnpm install -g typescript typescript-language-server<\/code><\/pre>\n\n\n<p>Git is already installed. The minimum setup for committing under your own identity:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>git config --global user.name \"Your Name\"\ngit config --global user.email \"you@example.com\"\ngit config --global init.defaultBranch main\ngit config --global pull.rebase true<\/code><\/pre>\n\n\n<p>For GitHub specifically, generate an SSH key (<code>ssh-keygen -t ed25519 -C \"you@example.com\"<\/code>), add <code>~\/.ssh\/id_ed25519.pub<\/code> to your GitHub account, then test with <code>ssh -T git@github.com<\/code>. Avoid HTTPS + token unless you also configure a credential helper, otherwise every push prompts.<\/p>\n\n<h2>Container-based dev environments<\/h2>\n\n<p>For projects that need a wildly different distro base than Fedora (Ubuntu, Debian, Arch), or for testing your code against a Python 3.12 \/ Node 18 \/ older Go combination without polluting the host, container-based dev environments are the cleanest answer. Two F44-native options:<\/p>\n\n<ul>\n<li><strong>Distrobox<\/strong> wraps Podman containers in a way that makes them feel like terminal sessions on the host. <code>distrobox create --name ubuntu-dev --image ubuntu:26.04<\/code> drops you into an Ubuntu shell with your home directory mounted. See the <a href=\"https:\/\/computingforgeeks.com\/install-distrobox-toolbox-fedora\/\">Distrobox and Toolbox setup guide<\/a>.<\/li>\n<li><strong>Toolbox<\/strong> is Fedora&#8217;s own implementation, optimized for Fedora-based images. <code>toolbox create -d fedora -r 43<\/code> spins up an F43 environment with the same home mount.<\/li>\n<\/ul>\n\n<p>VS Code&#8217;s Dev Containers extension reads <code>.devcontainer.json<\/code> and starts the container for you, which is useful when sharing dev environments with a team. The container image carries the runtime; your editor talks to it over a socket.<\/p>\n\n<h2>DNF5, package search, and keeping the toolchain current<\/h2>\n\n<p>Day to day, you will update the toolchain alongside the rest of the system: <code>sudo dnf5 upgrade<\/code>. To bump just the dev runtimes: <code>sudo dnf5 upgrade nodejs golang python3 rust cargo<\/code>. The <a href=\"https:\/\/computingforgeeks.com\/dnf5-cheatsheet-fedora\/\">DNF5 cheatsheet<\/a> covers groups, history rollback, and the speed tweaks that matter for fast dev cycles.<\/p>\n\n<p>Finding additional dev tooling is a search away: <code>dnf5 search lsp-server<\/code>, <code>dnf5 search devel<\/code>, <code>dnf5 list available \"python3-*\"<\/code>. The package layout follows the Fedora convention: runtime packages have no suffix (<code>python3<\/code>, <code>nodejs<\/code>); their headers and build artifacts use <code>-devel<\/code> (<code>python3-devel<\/code> for embedding Python in C); language-specific extras use <code>python3-<\/code> or <code>nodejs-<\/code> prefix.<\/p>\n\n<h2>Troubleshoot common dev environment errors<\/h2>\n\n<h3>Error: &#8220;fatal error: Python.h: No such file or directory&#8221; (pip install)<\/h3>\n\n<p>A pip package is trying to build a C extension and cannot find the Python headers. Install <code>python3-devel<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 install -y python3-devel<\/code><\/pre>\n\n\n<p>Some packages also need <code>gcc<\/code> and <code>make<\/code>, which the Development Tools group already provides.<\/p>\n\n<h3>Error: &#8220;linker `cc` not found&#8221; (cargo build)<\/h3>\n\n<p>Cargo cannot find a C compiler to link the final binary. Install GCC and binutils (Development Tools handles both):<\/p>\n\n\n<pre class=\"wp-block-code code\"><code>sudo dnf5 group install -y \"Development Tools\"<\/code><\/pre>\n\n\n<p>After the group install, <code>cargo build<\/code> picks up <code>cc<\/code> from <code>\/usr\/bin\/cc<\/code> via the GCC symlink and the link step succeeds.<\/p>\n\n<h3>Error: &#8220;node: \/lib64\/libstdc++.so.6: version `GLIBCXX_X.Y.Z&#8217; not found&#8221;<\/h3>\n\n<p>Mixing a Node binary built against a newer glibc\/libstdc++ than F44 ships. This happens when you download Node from nodejs.org and run it on Fedora. Fix by either using the DNF-packaged <code>nodejs<\/code> or installing via fnm\/nvm, which downloads the correct prebuilt for your glibc.<\/p>\n\n<h3>Error: &#8220;go: cannot find GOROOT directory&#8221;<\/h3>\n\n<p>Your shell has a stale <code>GOROOT<\/code> environment variable from a previous tarball install. Unset it (<code>unset GOROOT<\/code>) and remove the export line from <code>~\/.bashrc<\/code> \/ <code>~\/.zshrc<\/code>. The DNF-packaged <code>go<\/code> figures out GOROOT itself.<\/p>\n\n<h2>Annotated dev environment shell config<\/h2>\n\n<p>One pass on <code>~\/.bashrc<\/code> (or <code>~\/.zshrc<\/code>) collects the per-language PATH additions and avoids the slow shell-startup-time problem that bloated dev configs create. Append:<\/p>\n\n\n<pre class=\"wp-block-code code\"><code># Rust (rustup)\n[ -f \"$HOME\/.cargo\/env\" ] && . \"$HOME\/.cargo\/env\"\n\n# Go\nexport GOPATH=\"$HOME\/go\"\nexport PATH=\"$PATH:$GOPATH\/bin\"\n\n# Node (fnm, if installed)\n[ -d \"$HOME\/.local\/share\/fnm\" ] && eval \"$(fnm env --use-on-cd)\"\n\n# Python user site\nexport PATH=\"$PATH:$HOME\/.local\/bin\"<\/code><\/pre>\n\n\n<p>The conditional <code>[ -f ... ] &amp;&amp;<\/code> guards mean missing toolchains do not slow shell startup or emit &#8220;file not found&#8221; noise. Reopen the terminal or <code>exec $SHELL<\/code> to pick up the changes.<\/p>\n\n<p>With the toolchain in place, the next steps in this F44 series cover the things you build on top of this foundation: container-based deploys with <a href=\"https:\/\/computingforgeeks.com\/install-distrobox-toolbox-fedora\/\">Distrobox and Toolbox<\/a>, package management deep-dive with the <a href=\"https:\/\/computingforgeeks.com\/dnf5-cheatsheet-fedora\/\">DNF5 cheatsheet<\/a>, and OS-level hardening for the dev box itself via the <a href=\"https:\/\/computingforgeeks.com\/configure-firewalld-fedora\/\">firewalld setup guide<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>A clean Fedora install is already half a developer workstation. The toolchain group (GCC, Make, Git, kernel headers) is one DNF transaction away, Python ships current, and the language runtimes you need for the four most common stacks are all in the default repositories with no extra mirrors to chase. The other half is knowing &#8230; <a title=\"Set Up Python, Node.js, Go, Rust on Fedora 44 \/ 43 \/ 42\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/python-nodejs-go-rust-fedora\/\" aria-label=\"Read more about Set Up Python, Node.js, Go, Rust on Fedora 44 \/ 43 \/ 42\">Read more<\/a><\/p>\n","protected":false},"author":27,"featured_media":167932,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,299,47,50],"tags":[669,681,282],"cfg_series":[39847],"class_list":["post-167933","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fedora","category-how-to","category-linux","category-linux-tutorials","tag-dev","tag-fedora","tag-linux","cfg_series-fedora-44-workstation"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/167933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=167933"}],"version-history":[{"count":1,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/167933\/revisions"}],"predecessor-version":[{"id":167934,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/167933\/revisions\/167934"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/167932"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=167933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=167933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=167933"},{"taxonomy":"cfg_series","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/cfg_series?post=167933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}