{"id":9178,"date":"2020-05-22T17:43:51","date_gmt":"2020-05-22T21:43:51","guid":{"rendered":"https:\/\/g33kinfo.com\/info\/?p=9178"},"modified":"2020-05-22T17:43:54","modified_gmt":"2020-05-22T21:43:54","slug":"docker-programming-station","status":"publish","type":"post","link":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/","title":{"rendered":"Docker Programming Station"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This project provides a simple bash script that one can use to do programming tasks in a Docker environment capturing a standard Ubuntu distribution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can simply copy the Dockerfile and run script in any repository. The Dockerfile sets up an image (called by default programming_station-for-yourname). The image is built once when you first call the script. It contains the compilers and build tools. It does not contain your code: your code is meant to go in the current directory. Importantly, the very same image can be used over multiple projects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then it passes your command: your command runs in the current directory but within the image. Docker does not copy your code to the image: everything is read and stored in the current directory.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"github-embed github-embed-repository github-logo-mark\">    <p>        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\" target=\"_blank\">\t\t\t<strong>\t\t\t\tSimple scripts for programmers who want to work within Docker\t\t\t<\/strong>\t\t<\/a>\t\t<br>        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\" target=\"_blank\">https:\/\/github.com\/lemire\/docker_programming_station<\/a><br>        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/network\" target=\"_blank\">23<\/a> forks.<br>        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/stargazers\" target=\"_blank\">158<\/a> stars.<br>        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/issues\" target=\"_blank\">1<\/a> open issues.<br>        <details open>            <summary>Recent commits:<\/summary>            <ul class=\"github_commits\">                                    <li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/commit\/5fffd162f0d40a00b4e2539ee1720dc57e2ccce5\" target=\"_blank\">Upgrade all non-pinned stations to Ubuntu 26.04 LTSThe default station (top-level Dockerfile, rds, dps) moves from 22.04 to26.04 and is now a copy of ubuntu26. riscv moves from 24.04 to 26.04, whereqemu-user-static is gone: install qemu-user and call qemu-riscv64 instead.s390, ppc64 and armhf drop the abandoned multiarch\/ubuntu-core focal imagesfor the official multi-arch ubuntu:26.04 with an explicit &#8211;platform, andtheir run scripts probe and run with that platform. sve2 is pinned to 26.04rather than ubuntu:latest. READMEs updated to match.Claude-Session: https:\/\/claude.ai\/code\/session_01CXwUNbsTLVQrxUzYRMageC<\/a>, Daniel Lemire                    <\/li>                                    <li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/commit\/09007c8f7029ab1228244a2ad6c9e61aab5a6672\" target=\"_blank\">Add nine stations and a dps command to drive them allNew stations, each verified to build and to compile and run a program:  debian13      Debian 13 trixie, GCC 14.2 \/ clang 19  devuan        Devuan 6 excalibur: Debian without systemd  rocky10       Rocky Linux 10: the RHEL enterprise target  fedora43      GCC 15.3 \/ clang 21  fedora44      GCC 16.2 \/ clang 22  openmandriva  OpenMandriva Cooker, a distribution built with clang  voidlinux     Void: independent lineage, xbps, runit  artix         Artix: Arch without systemd  slackware     Slackware 15.0, GCC 11.2Distribution-specific things worth recording, all found by building:- voidlinux: base-devel carries neither shadow (useradd\/groupadd) nor  findutils, so both are named explicitly.- slackware: no dependency resolution, so install whole series (l, n, ap, d)  rather than individual packages; cmake alone needed libarchive from l and  libnghttp2 from n. The 15.0-full image would avoid this but costs 14.8 GB.- openmandriva: glibc-devel is not pulled in by either compiler, and without  features.h nothing compiles at all. A version banner cannot catch that, so  the Dockerfile compiles a real program as its final step.- rocky10: EPEL and CRB are enabled, as the base RHEL package set omits much  of what the other distributions provide by default.dps drives every station from one place, and is meant to live in your PATH:  dps run &#8211;img devuan &#039;gcc &#8211;version&#039;   dps list  dps devuan &#039;gcc &#8211;version&#039;             dps info &#8211;img alpine  dps shell &#8211;img fedora44               dps build|rebuild|delete &#8211;img X                                         dps cleanIt builds a station&#039;s image on first use, carries the same podman handling asthe individual scripts, and defers to run-docker-station for the emulatedstations so their QEMU diagnostics still reach you.Claude-Session: https:\/\/claude.ai\/code\/session_01AcNYBzuZjUtfJcT7WsVhFY<\/a>, Daniel Lemire                    <\/li>                                    <li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/commit\/a053220c034d366d82338c3a2bfc39eec4323630\" target=\"_blank\">Update stale containers, document each station, handle podmanVerified every station builds and runs, on arm64 (Docker) and x86-64 (rootlesspodman). Fixes for what that turned up:- alpine, alpinex86: Alpine 3.24. Both adduser calls now bind to the existing  group for the host GID via getent; busybox otherwise creates a group numbered  like the UID and collides (hit with uid\/gid 1001, and with macOS gid 20).- alpinex86: i386\/alpine replaces the abandoned multiarch\/alpine (last pushed  2024). Its manifest list holds only a 386 entry, so the platform is pinned in  the Dockerfile or an arm64 pull fails to match.- ubuntu24: 24.04 LTS. It tracked 24.10, an interim release now EOL and  delisted from ports.ubuntu.com.- ubuntu23: 23.10 is EOL, so rewrite the apt sources to old-releases.- ubuntulatestllvm: Ubuntu 26.04 and LLVM 23, via a signed-by keyring. It was  pinned to 23.10 and LLVM 17, and apt-key no longer exists.- sve2: drop qemu-user-static, gone in 26.04 (qemu-user now ships the static  binaries), and the toolchain PPA, since gcc-16 is in the archive.- gentoo: clang moved to the llvm-core category; use shadow&#039;s groupadd\/useradd  rather than Debian&#039;s adduser; emerge-webrsync instead of rsync, which is  blocked on many networks.Podman support, generalising what gcc16 already did:- All run scripts detect podman and add &#8211;userns=keep-id when rootless. Without  it your uid maps to root inside the container and the station cannot write to  the mounted directory at all, which defeats the premise that files you create  are yours. Guarded on rootless, as rootful podman rejects the flag.- Mount with the shared SELinux label :z rather than :Z, so several stations  can share one source directory without relabelling it out from under one  another.The four emulated stations now preflight for QEMU binfmt handlers and explainwhat to run, instead of failing deep in the build with &quot;exec format error&quot;.The message branches on podman: registration must go through sudo, sincebinfmt_misc is global kernel state that a rootless container cannot touch andthe rootless command reports success while registering nothing. It also notesthat RHEL-family 10 has no qemu-user-static package.Docs: a section in the README describing every station and when to reach forit, plus a README in each directory with its toolchain and its caveats.Claude-Session: https:\/\/claude.ai\/code\/session_01AcNYBzuZjUtfJcT7WsVhFY<\/a>, Daniel Lemire                    <\/li>                                    <li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/commit\/d5df0135518fdc6c7061879e0f3871ae21c820a6\" target=\"_blank\">update<\/a>, Daniel Lemire                    <\/li>                                    <li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/lemire\/docker_programming_station\/commit\/38d19c74f8b148b97b17ac195d3a4a3dc52755e5\" target=\"_blank\">Merge branch &#039;master&#039; of github.com:lemire\/docker_programming_station<\/a>, Daniel Lemire                    <\/li>                            <\/ul>        <\/details>    <\/p><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This project provides a simple bash script that one can use to do programming tasks in a Docker environment capturing a standard Ubuntu distribution. You can simply copy the Dockerfile and run script in any repository. The Dockerfile sets up an image (called by default programming_station-for-yourname). The image is built once when you first call&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/g33kinfo.com\/info\/docker-programming-station\/\">Read More<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":8835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-9178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker Programming Station - Linux Shtuff<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/g33kinfo.com\/info\/docker-programming-station\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Programming Station - Linux Shtuff\" \/>\n<meta property=\"og:description\" content=\"This project provides a simple bash script that one can use to do programming tasks in a Docker environment capturing a standard Ubuntu distribution. You can simply copy the Dockerfile and run script in any repository. The Dockerfile sets up an image (called by default programming_station-for-yourname). The image is built once when you first call... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/g33kinfo.com\/info\/docker-programming-station\/\" \/>\n<meta property=\"og:site_name\" content=\"Linux Shtuff\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:author\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:43:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-22T21:43:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"35\" \/>\n\t<meta property=\"og:image:height\" content=\"44\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"g33kadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/drsinger1111\" \/>\n<meta name=\"twitter:site\" content=\"@drsinger1111\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/\"},\"author\":{\"name\":\"g33kadmin\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"headline\":\"Docker Programming Station\",\"datePublished\":\"2020-05-22T21:43:51+00:00\",\"dateModified\":\"2020-05-22T21:43:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/\"},\"wordCount\":136,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"image\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Minion_Research.sm_-e1584713481775.jpg\",\"articleSection\":[\"General Info\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/\",\"name\":\"Docker Programming Station - Linux Shtuff\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Minion_Research.sm_-e1584713481775.jpg\",\"datePublished\":\"2020-05-22T21:43:51+00:00\",\"dateModified\":\"2020-05-22T21:43:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#primaryimage\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Minion_Research.sm_-e1584713481775.jpg\",\"contentUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Minion_Research.sm_-e1584713481775.jpg\",\"width\":35,\"height\":44,\"caption\":\"Minion_Research.sm\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/docker-programming-station\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Programming Station\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\",\"name\":\"Linux Shtuff\",\"description\":\"Because I have CRS Syndrome...\",\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\",\"name\":\"g33kadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"contentUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"width\":512,\"height\":512,\"caption\":\"g33kadmin\"},\"logo\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\"},\"description\":\"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\\\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....\",\"sameAs\":[\"https:\\\/\\\/thelinuxreport.com\",\"https:\\\/\\\/fb.me\\\/g33kinf0\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/drsinger1111\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Programming Station - Linux Shtuff","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/","og_locale":"en_US","og_type":"article","og_title":"Docker Programming Station - Linux Shtuff","og_description":"This project provides a simple bash script that one can use to do programming tasks in a Docker environment capturing a standard Ubuntu distribution. You can simply copy the Dockerfile and run script in any repository. The Dockerfile sets up an image (called by default programming_station-for-yourname). The image is built once when you first call... Read More","og_url":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/","og_site_name":"Linux Shtuff","article_publisher":"https:\/\/fb.me\/g33kinf0","article_author":"https:\/\/fb.me\/g33kinf0","article_published_time":"2020-05-22T21:43:51+00:00","article_modified_time":"2020-05-22T21:43:54+00:00","og_image":[{"width":35,"height":44,"url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg","type":"image\/jpeg"}],"author":"g33kadmin","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/drsinger1111","twitter_site":"@drsinger1111","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#article","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/"},"author":{"name":"g33kadmin","@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"headline":"Docker Programming Station","datePublished":"2020-05-22T21:43:51+00:00","dateModified":"2020-05-22T21:43:54+00:00","mainEntityOfPage":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/"},"wordCount":136,"commentCount":0,"publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"image":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#primaryimage"},"thumbnailUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg","articleSection":["General Info"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/g33kinfo.com\/info\/docker-programming-station\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/","url":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/","name":"Docker Programming Station - Linux Shtuff","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/#website"},"primaryImageOfPage":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#primaryimage"},"image":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#primaryimage"},"thumbnailUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg","datePublished":"2020-05-22T21:43:51+00:00","dateModified":"2020-05-22T21:43:54+00:00","breadcrumb":{"@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/g33kinfo.com\/info\/docker-programming-station\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#primaryimage","url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg","contentUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2020\/03\/Minion_Research.sm_-e1584713481775.jpg","width":35,"height":44,"caption":"Minion_Research.sm"},{"@type":"BreadcrumbList","@id":"https:\/\/g33kinfo.com\/info\/docker-programming-station\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/g33kinfo.com\/info\/"},{"@type":"ListItem","position":2,"name":"Docker Programming Station"}]},{"@type":"WebSite","@id":"https:\/\/g33kinfo.com\/info\/#website","url":"https:\/\/g33kinfo.com\/info\/","name":"Linux Shtuff","description":"Because I have CRS Syndrome...","publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/g33kinfo.com\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547","name":"g33kadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","contentUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","width":512,"height":512,"caption":"g33kadmin"},"logo":{"@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif"},"description":"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....","sameAs":["https:\/\/thelinuxreport.com","https:\/\/fb.me\/g33kinf0","https:\/\/x.com\/https:\/\/twitter.com\/drsinger1111"]}]}},"_links":{"self":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/9178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/comments?post=9178"}],"version-history":[{"count":1,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/9178\/revisions"}],"predecessor-version":[{"id":9179,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/9178\/revisions\/9179"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/media\/8835"}],"wp:attachment":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/media?parent=9178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/categories?post=9178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/tags?post=9178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}