@fredlackey/devutils 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/README.md +32 -150
  2. package/package.json +5 -82
  3. package/bin/dev.js +0 -16
  4. package/files/README.md +0 -0
  5. package/files/claude/.claude/commands/setup-context.md +0 -3
  6. package/files/monorepos/_archive/README.md +0 -36
  7. package/files/monorepos/_legacy/README.md +0 -36
  8. package/files/monorepos/ai-docs/README.md +0 -33
  9. package/files/monorepos/apps/README.md +0 -24
  10. package/files/monorepos/docs/README.md +0 -40
  11. package/files/monorepos/packages/README.md +0 -25
  12. package/files/monorepos/research/README.md +0 -29
  13. package/files/monorepos/scripts/README.md +0 -24
  14. package/src/cli.js +0 -72
  15. package/src/commands/README.md +0 -41
  16. package/src/commands/configure.js +0 -199
  17. package/src/commands/identity.js +0 -1630
  18. package/src/commands/ignore.js +0 -247
  19. package/src/commands/install.js +0 -526
  20. package/src/commands/setup.js +0 -246
  21. package/src/commands/status.js +0 -223
  22. package/src/commands/update.js +0 -142
  23. package/src/commands/version.js +0 -100
  24. package/src/completion.js +0 -284
  25. package/src/constants.js +0 -45
  26. package/src/ignore/claude-code.txt +0 -10
  27. package/src/ignore/docker.txt +0 -18
  28. package/src/ignore/linux.txt +0 -23
  29. package/src/ignore/macos.txt +0 -36
  30. package/src/ignore/node.txt +0 -55
  31. package/src/ignore/terraform.txt +0 -37
  32. package/src/ignore/vscode.txt +0 -18
  33. package/src/ignore/windows.txt +0 -35
  34. package/src/index.js +0 -0
  35. package/src/installs/README.md +0 -399
  36. package/src/installs/adobe-creative-cloud.js +0 -546
  37. package/src/installs/adobe-creative-cloud.md +0 -605
  38. package/src/installs/appcleaner.js +0 -321
  39. package/src/installs/appcleaner.md +0 -699
  40. package/src/installs/apt-transport-https.js +0 -390
  41. package/src/installs/apt-transport-https.md +0 -678
  42. package/src/installs/atomicparsley.js +0 -642
  43. package/src/installs/atomicparsley.md +0 -795
  44. package/src/installs/aws-cli.js +0 -797
  45. package/src/installs/aws-cli.md +0 -727
  46. package/src/installs/balena-etcher.js +0 -710
  47. package/src/installs/balena-etcher.md +0 -761
  48. package/src/installs/bambu-studio.js +0 -1143
  49. package/src/installs/bambu-studio.md +0 -780
  50. package/src/installs/bash-completion.js +0 -575
  51. package/src/installs/bash-completion.md +0 -833
  52. package/src/installs/bash.js +0 -417
  53. package/src/installs/bash.md +0 -993
  54. package/src/installs/beyond-compare.js +0 -603
  55. package/src/installs/beyond-compare.md +0 -813
  56. package/src/installs/brave-browser.js +0 -968
  57. package/src/installs/brave-browser.md +0 -650
  58. package/src/installs/build-essential.js +0 -529
  59. package/src/installs/build-essential.md +0 -977
  60. package/src/installs/ca-certificates.js +0 -618
  61. package/src/installs/ca-certificates.md +0 -937
  62. package/src/installs/caffeine.js +0 -508
  63. package/src/installs/caffeine.md +0 -839
  64. package/src/installs/camtasia.js +0 -596
  65. package/src/installs/camtasia.md +0 -762
  66. package/src/installs/chatgpt.js +0 -476
  67. package/src/installs/chatgpt.md +0 -814
  68. package/src/installs/chocolatey.js +0 -456
  69. package/src/installs/chocolatey.md +0 -661
  70. package/src/installs/chrome-canary.js +0 -419
  71. package/src/installs/chrome-canary.md +0 -641
  72. package/src/installs/chromium.js +0 -667
  73. package/src/installs/chromium.md +0 -838
  74. package/src/installs/claude-code.js +0 -576
  75. package/src/installs/claude-code.md +0 -1173
  76. package/src/installs/cloudflare-warp.js +0 -900
  77. package/src/installs/cloudflare-warp.md +0 -1047
  78. package/src/installs/comet-browser.js +0 -588
  79. package/src/installs/comet-browser.md +0 -731
  80. package/src/installs/curl.js +0 -379
  81. package/src/installs/curl.md +0 -714
  82. package/src/installs/cursor.js +0 -579
  83. package/src/installs/cursor.md +0 -970
  84. package/src/installs/dbeaver.js +0 -924
  85. package/src/installs/dbeaver.md +0 -939
  86. package/src/installs/dbschema.js +0 -692
  87. package/src/installs/dbschema.md +0 -925
  88. package/src/installs/dependencies.md +0 -453
  89. package/src/installs/development-tools.js +0 -600
  90. package/src/installs/development-tools.md +0 -977
  91. package/src/installs/docker.js +0 -1029
  92. package/src/installs/docker.md +0 -1109
  93. package/src/installs/drawio.js +0 -1019
  94. package/src/installs/drawio.md +0 -795
  95. package/src/installs/elmedia-player.js +0 -347
  96. package/src/installs/elmedia-player.md +0 -556
  97. package/src/installs/ffmpeg.js +0 -889
  98. package/src/installs/ffmpeg.md +0 -852
  99. package/src/installs/file.js +0 -464
  100. package/src/installs/file.md +0 -987
  101. package/src/installs/gemini-cli.js +0 -811
  102. package/src/installs/gemini-cli.md +0 -1153
  103. package/src/installs/git.js +0 -400
  104. package/src/installs/git.md +0 -907
  105. package/src/installs/gitego.js +0 -949
  106. package/src/installs/gitego.md +0 -1172
  107. package/src/installs/go.js +0 -931
  108. package/src/installs/go.md +0 -958
  109. package/src/installs/google-antigravity.js +0 -913
  110. package/src/installs/google-antigravity.md +0 -1075
  111. package/src/installs/google-chrome.js +0 -833
  112. package/src/installs/google-chrome.md +0 -862
  113. package/src/installs/gpg.js +0 -480
  114. package/src/installs/gpg.md +0 -1056
  115. package/src/installs/homebrew.js +0 -1033
  116. package/src/installs/homebrew.md +0 -988
  117. package/src/installs/imageoptim.js +0 -968
  118. package/src/installs/imageoptim.md +0 -1119
  119. package/src/installs/installers.json +0 -4032
  120. package/src/installs/installers.json.tmp +0 -3953
  121. package/src/installs/jq.js +0 -400
  122. package/src/installs/jq.md +0 -809
  123. package/src/installs/keyboard-maestro.js +0 -719
  124. package/src/installs/keyboard-maestro.md +0 -825
  125. package/src/installs/kiro.js +0 -864
  126. package/src/installs/kiro.md +0 -1015
  127. package/src/installs/latex.js +0 -789
  128. package/src/installs/latex.md +0 -1095
  129. package/src/installs/lftp.js +0 -356
  130. package/src/installs/lftp.md +0 -907
  131. package/src/installs/lsb-release.js +0 -346
  132. package/src/installs/lsb-release.md +0 -814
  133. package/src/installs/messenger.js +0 -847
  134. package/src/installs/messenger.md +0 -900
  135. package/src/installs/microsoft-office.js +0 -568
  136. package/src/installs/microsoft-office.md +0 -760
  137. package/src/installs/microsoft-teams.js +0 -801
  138. package/src/installs/microsoft-teams.md +0 -886
  139. package/src/installs/moom.js +0 -326
  140. package/src/installs/moom.md +0 -570
  141. package/src/installs/node.js +0 -904
  142. package/src/installs/node.md +0 -1153
  143. package/src/installs/nordpass.js +0 -716
  144. package/src/installs/nordpass.md +0 -921
  145. package/src/installs/nordvpn.js +0 -892
  146. package/src/installs/nordvpn.md +0 -1052
  147. package/src/installs/nvm.js +0 -995
  148. package/src/installs/nvm.md +0 -1057
  149. package/src/installs/ohmyzsh.js +0 -529
  150. package/src/installs/ohmyzsh.md +0 -1094
  151. package/src/installs/openssh.js +0 -804
  152. package/src/installs/openssh.md +0 -1056
  153. package/src/installs/pandoc.js +0 -662
  154. package/src/installs/pandoc.md +0 -1036
  155. package/src/installs/parallels-desktop.js +0 -431
  156. package/src/installs/parallels-desktop.md +0 -446
  157. package/src/installs/pinentry.js +0 -510
  158. package/src/installs/pinentry.md +0 -1142
  159. package/src/installs/pngyu.js +0 -869
  160. package/src/installs/pngyu.md +0 -896
  161. package/src/installs/postman.js +0 -799
  162. package/src/installs/postman.md +0 -940
  163. package/src/installs/procps.js +0 -425
  164. package/src/installs/procps.md +0 -851
  165. package/src/installs/safari-tech-preview.js +0 -374
  166. package/src/installs/safari-tech-preview.md +0 -533
  167. package/src/installs/sfnt2woff.js +0 -658
  168. package/src/installs/sfnt2woff.md +0 -795
  169. package/src/installs/shellcheck.js +0 -481
  170. package/src/installs/shellcheck.md +0 -1005
  171. package/src/installs/slack.js +0 -741
  172. package/src/installs/slack.md +0 -865
  173. package/src/installs/snagit.js +0 -585
  174. package/src/installs/snagit.md +0 -844
  175. package/src/installs/software-properties-common.js +0 -372
  176. package/src/installs/software-properties-common.md +0 -805
  177. package/src/installs/spotify.js +0 -877
  178. package/src/installs/spotify.md +0 -901
  179. package/src/installs/studio-3t.js +0 -823
  180. package/src/installs/studio-3t.md +0 -918
  181. package/src/installs/sublime-text.js +0 -804
  182. package/src/installs/sublime-text.md +0 -914
  183. package/src/installs/superwhisper.js +0 -706
  184. package/src/installs/superwhisper.md +0 -630
  185. package/src/installs/tailscale.js +0 -745
  186. package/src/installs/tailscale.md +0 -1100
  187. package/src/installs/tar.js +0 -389
  188. package/src/installs/tar.md +0 -946
  189. package/src/installs/termius.js +0 -798
  190. package/src/installs/termius.md +0 -844
  191. package/src/installs/terraform.js +0 -779
  192. package/src/installs/terraform.md +0 -899
  193. package/src/installs/tfenv.js +0 -778
  194. package/src/installs/tfenv.md +0 -1091
  195. package/src/installs/tidal.js +0 -771
  196. package/src/installs/tidal.md +0 -864
  197. package/src/installs/tmux.js +0 -346
  198. package/src/installs/tmux.md +0 -1030
  199. package/src/installs/tree.js +0 -411
  200. package/src/installs/tree.md +0 -833
  201. package/src/installs/unzip.js +0 -460
  202. package/src/installs/unzip.md +0 -879
  203. package/src/installs/vim.js +0 -421
  204. package/src/installs/vim.md +0 -1040
  205. package/src/installs/vlc.js +0 -821
  206. package/src/installs/vlc.md +0 -927
  207. package/src/installs/vscode.js +0 -843
  208. package/src/installs/vscode.md +0 -1002
  209. package/src/installs/wget.js +0 -420
  210. package/src/installs/wget.md +0 -791
  211. package/src/installs/whatsapp.js +0 -729
  212. package/src/installs/whatsapp.md +0 -854
  213. package/src/installs/winpty.js +0 -352
  214. package/src/installs/winpty.md +0 -620
  215. package/src/installs/woff2.js +0 -553
  216. package/src/installs/woff2.md +0 -977
  217. package/src/installs/wsl.js +0 -572
  218. package/src/installs/wsl.md +0 -699
  219. package/src/installs/xcode-clt.js +0 -520
  220. package/src/installs/xcode-clt.md +0 -351
  221. package/src/installs/xcode.js +0 -560
  222. package/src/installs/xcode.md +0 -573
  223. package/src/installs/yarn.js +0 -824
  224. package/src/installs/yarn.md +0 -1074
  225. package/src/installs/yq.js +0 -654
  226. package/src/installs/yq.md +0 -944
  227. package/src/installs/yt-dlp.js +0 -701
  228. package/src/installs/yt-dlp.md +0 -946
  229. package/src/installs/yum-utils.js +0 -297
  230. package/src/installs/yum-utils.md +0 -648
  231. package/src/installs/zoom.js +0 -759
  232. package/src/installs/zoom.md +0 -884
  233. package/src/installs/zsh.js +0 -455
  234. package/src/installs/zsh.md +0 -1008
  235. package/src/scripts/README.md +0 -617
  236. package/src/scripts/STATUS.md +0 -208
  237. package/src/scripts/afk.js +0 -411
  238. package/src/scripts/backup-all.js +0 -746
  239. package/src/scripts/backup-source.js +0 -727
  240. package/src/scripts/brewd.js +0 -389
  241. package/src/scripts/brewi.js +0 -520
  242. package/src/scripts/brewr.js +0 -527
  243. package/src/scripts/brews.js +0 -477
  244. package/src/scripts/brewu.js +0 -504
  245. package/src/scripts/c.js +0 -201
  246. package/src/scripts/ccurl.js +0 -341
  247. package/src/scripts/certbot-crontab-init.js +0 -504
  248. package/src/scripts/certbot-init.js +0 -657
  249. package/src/scripts/ch.js +0 -355
  250. package/src/scripts/claude-danger.js +0 -268
  251. package/src/scripts/clean-dev.js +0 -435
  252. package/src/scripts/clear-dns-cache.js +0 -541
  253. package/src/scripts/clone.js +0 -435
  254. package/src/scripts/code-all.js +0 -437
  255. package/src/scripts/count-files.js +0 -211
  256. package/src/scripts/count-folders.js +0 -211
  257. package/src/scripts/count.js +0 -264
  258. package/src/scripts/d.js +0 -219
  259. package/src/scripts/datauri.js +0 -389
  260. package/src/scripts/delete-files.js +0 -380
  261. package/src/scripts/docker-clean.js +0 -426
  262. package/src/scripts/dp.js +0 -442
  263. package/src/scripts/e.js +0 -390
  264. package/src/scripts/empty-trash.js +0 -513
  265. package/src/scripts/evm.js +0 -444
  266. package/src/scripts/fetch-github-repos.js +0 -456
  267. package/src/scripts/get-channel.js +0 -345
  268. package/src/scripts/get-course.js +0 -399
  269. package/src/scripts/get-dependencies.js +0 -306
  270. package/src/scripts/get-folder.js +0 -799
  271. package/src/scripts/get-tunes.js +0 -426
  272. package/src/scripts/get-video.js +0 -367
  273. package/src/scripts/git-backup.js +0 -577
  274. package/src/scripts/git-clone.js +0 -493
  275. package/src/scripts/git-pup.js +0 -319
  276. package/src/scripts/git-push.js +0 -396
  277. package/src/scripts/h.js +0 -622
  278. package/src/scripts/hide-desktop-icons.js +0 -499
  279. package/src/scripts/hide-hidden-files.js +0 -538
  280. package/src/scripts/install-dependencies-from.js +0 -456
  281. package/src/scripts/ips.js +0 -663
  282. package/src/scripts/iso.js +0 -370
  283. package/src/scripts/killni.js +0 -577
  284. package/src/scripts/ll.js +0 -467
  285. package/src/scripts/local-ip.js +0 -325
  286. package/src/scripts/m.js +0 -524
  287. package/src/scripts/map.js +0 -309
  288. package/src/scripts/mkd.js +0 -351
  289. package/src/scripts/ncu-update-all.js +0 -457
  290. package/src/scripts/nginx-init.js +0 -718
  291. package/src/scripts/npmi.js +0 -382
  292. package/src/scripts/o.js +0 -511
  293. package/src/scripts/org-by-date.js +0 -338
  294. package/src/scripts/p.js +0 -224
  295. package/src/scripts/packages.js +0 -330
  296. package/src/scripts/path.js +0 -225
  297. package/src/scripts/ports.js +0 -597
  298. package/src/scripts/q.js +0 -305
  299. package/src/scripts/refresh-files.js +0 -394
  300. package/src/scripts/remove-smaller-files.js +0 -516
  301. package/src/scripts/rename-files-with-date.js +0 -533
  302. package/src/scripts/resize-image.js +0 -539
  303. package/src/scripts/rm-safe.js +0 -669
  304. package/src/scripts/s.js +0 -540
  305. package/src/scripts/set-git-public.js +0 -365
  306. package/src/scripts/show-desktop-icons.js +0 -475
  307. package/src/scripts/show-hidden-files.js +0 -472
  308. package/src/scripts/tpa.js +0 -280
  309. package/src/scripts/tpo.js +0 -280
  310. package/src/scripts/u.js +0 -505
  311. package/src/scripts/vpush.js +0 -437
  312. package/src/scripts/y.js +0 -283
  313. package/src/utils/README.md +0 -95
  314. package/src/utils/common/apps.js +0 -143
  315. package/src/utils/common/display.js +0 -157
  316. package/src/utils/common/network.js +0 -185
  317. package/src/utils/common/os.js +0 -294
  318. package/src/utils/common/package-manager.js +0 -301
  319. package/src/utils/common/privileges.js +0 -138
  320. package/src/utils/common/shell.js +0 -216
  321. package/src/utils/macos/apps.js +0 -228
  322. package/src/utils/macos/brew.js +0 -315
  323. package/src/utils/ubuntu/apt.js +0 -307
  324. package/src/utils/ubuntu/desktop.js +0 -292
  325. package/src/utils/ubuntu/snap.js +0 -344
  326. package/src/utils/ubuntu/systemd.js +0 -286
  327. package/src/utils/windows/choco.js +0 -465
  328. package/src/utils/windows/env.js +0 -246
  329. package/src/utils/windows/registry.js +0 -269
  330. package/src/utils/windows/shell.js +0 -240
  331. package/src/utils/windows/winget.js +0 -489
@@ -1,814 +0,0 @@
1
- # Installing lsb-release
2
-
3
- ## Overview
4
-
5
- The `lsb-release` utility provides information about the Linux Standard Base (LSB) and distribution-specific information. It is a simple command-line tool that displays details about your Linux distribution, including:
6
-
7
- - **Distributor ID**: The name of the distribution (e.g., Ubuntu, Debian, Raspbian)
8
- - **Description**: A human-readable description of the distribution
9
- - **Release**: The release version number
10
- - **Codename**: The development codename (e.g., jammy, bookworm)
11
-
12
- The Linux Standard Base was a standardization effort led by the Linux Foundation to promote compatibility across Linux distributions. While the LSB standard itself was discontinued in 2015 and is no longer actively maintained, the `lsb_release` command remains widely used for identifying Linux distributions in scripts, automation tools, and system administration tasks.
13
-
14
- **Important Note**: The `lsb-release` utility is Linux-specific and is not available on macOS or Windows. On these platforms, alternative commands provide similar system information. This documentation covers installation on Linux platforms and documents the alternatives for non-Linux platforms.
15
-
16
- ## Dependencies
17
-
18
- ### macOS (Homebrew)
19
- - **Required:** None (lsb-release is not available on macOS)
20
- - **Optional:** None
21
- - **Auto-installed:** None
22
- - **Note:** macOS is not a Linux distribution and does not support LSB. Use `sw_vers` for macOS version information instead.
23
-
24
- ### Ubuntu (APT/Snap)
25
- - **Required:** None (APT package manager is pre-installed on Ubuntu)
26
- - **Optional:** None
27
- - **Auto-installed:** None
28
-
29
- ### Raspberry Pi OS (APT/Snap)
30
- - **Required:** None (APT package manager is pre-installed on Raspberry Pi OS)
31
- - **Optional:** None
32
- - **Auto-installed:** None
33
-
34
- ### Amazon Linux (DNF/YUM)
35
- - **Required:** None (lsb-release is not available on Amazon Linux)
36
- - **Optional:** None
37
- - **Auto-installed:** None
38
- - **Note:** Amazon Linux 2023 does not ship with `lsb_release` and does not include the `system-lsb-core` package. Use `/etc/os-release` for distribution information instead.
39
-
40
- ### Windows (Chocolatey/winget)
41
- - **Required:** None (lsb-release is not available on Windows)
42
- - **Optional:** None
43
- - **Auto-installed:** None
44
- - **Note:** Windows is not a Linux distribution and does not support LSB.
45
-
46
- ### Git Bash (Manual/Portable)
47
- - **Required:** None (lsb-release is not available in Git Bash)
48
- - **Optional:** None
49
- - **Auto-installed:** None
50
- - **Note:** Git Bash runs on Windows and does not support Linux-specific utilities like lsb-release.
51
-
52
- ## Prerequisites
53
-
54
- Before installing lsb-release on supported platforms, ensure:
55
-
56
- 1. **Internet connectivity** - Required to download packages
57
- 2. **Administrative privileges** - Required for system-wide installation (sudo on Linux)
58
- 3. **Terminal access** - Required to run installation commands
59
- 4. **Linux operating system** - lsb-release is only available on Linux distributions
60
-
61
- ## Platform-Specific Installation
62
-
63
- ### macOS (Homebrew)
64
-
65
- #### Platform Support Status
66
-
67
- **lsb-release is NOT available on macOS.**
68
-
69
- macOS is not a Linux distribution and does not implement the Linux Standard Base. The `lsb_release` command does not exist on macOS, and there is no Homebrew formula to install it.
70
-
71
- #### Alternative: Using sw_vers
72
-
73
- macOS provides the `sw_vers` command for obtaining system version information. This command is pre-installed on all macOS systems and requires no additional installation.
74
-
75
- Run the following command to display macOS version information:
76
-
77
- ```bash
78
- sw_vers
79
- ```
80
-
81
- Expected output (version numbers may vary):
82
-
83
- ```
84
- ProductName: macOS
85
- ProductVersion: 14.2.1
86
- BuildVersion: 23C71
87
- ```
88
-
89
- **Additional commands for macOS system information:**
90
-
91
- ```bash
92
- # Get just the macOS version number
93
- sw_vers -productVersion
94
-
95
- # Get detailed system information
96
- system_profiler SPSoftwareDataType
97
-
98
- # Get kernel information
99
- uname -a
100
- ```
101
-
102
- #### Verification
103
-
104
- Verify that `sw_vers` is available (it should be pre-installed):
105
-
106
- ```bash
107
- which sw_vers
108
- ```
109
-
110
- Expected output:
111
-
112
- ```
113
- /usr/bin/sw_vers
114
- ```
115
-
116
- ---
117
-
118
- ### Ubuntu/Debian (APT)
119
-
120
- #### Prerequisites
121
-
122
- - Ubuntu 20.04 LTS or later, or Debian 11 (Bullseye) or later
123
- - sudo privileges
124
- - Internet connectivity
125
-
126
- On most Ubuntu and Debian installations, `lsb-release` is pre-installed. However, some minimal installations or container images may not include it.
127
-
128
- #### Installation Steps
129
-
130
- Run the following commands to install lsb-release:
131
-
132
- ```bash
133
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
134
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
135
- ```
136
-
137
- The `DEBIAN_FRONTEND=noninteractive` environment variable ensures no interactive prompts appear during installation, making this suitable for scripts and automation.
138
-
139
- #### Verification
140
-
141
- Confirm the installation succeeded:
142
-
143
- ```bash
144
- lsb_release --version
145
- ```
146
-
147
- Expected output (version numbers may vary):
148
-
149
- ```
150
- lsb_release 11.1.0ubuntu4
151
- ```
152
-
153
- Display all distribution information:
154
-
155
- ```bash
156
- lsb_release -a
157
- ```
158
-
159
- Expected output for Ubuntu (version numbers may vary):
160
-
161
- ```
162
- No LSB modules are available.
163
- Distributor ID: Ubuntu
164
- Description: Ubuntu 24.04 LTS
165
- Release: 24.04
166
- Codename: noble
167
- ```
168
-
169
- **Note**: The "No LSB modules are available" message is normal and does not indicate an error. It simply means that the full LSB compliance packages are not installed, which is typical and does not affect the functionality of `lsb_release`.
170
-
171
- Verify the installation location:
172
-
173
- ```bash
174
- which lsb_release
175
- ```
176
-
177
- Expected output:
178
-
179
- ```
180
- /usr/bin/lsb_release
181
- ```
182
-
183
- #### Troubleshooting
184
-
185
- **Problem**: `lsb_release: command not found`
186
-
187
- **Solution**: The package is not installed. Install it:
188
-
189
- ```bash
190
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
191
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
192
- ```
193
-
194
- **Problem**: `E: Unable to locate package lsb-release`
195
-
196
- **Solution**: Update your package lists first:
197
-
198
- ```bash
199
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
200
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
201
- ```
202
-
203
- **Problem**: Using `lsb-release` instead of `lsb_release` in commands
204
-
205
- **Solution**: The package name uses a hyphen (`lsb-release`), but the command uses an underscore (`lsb_release`). Use the underscore when running the command:
206
-
207
- ```bash
208
- # Correct command syntax
209
- lsb_release -a
210
-
211
- # Incorrect (this will fail)
212
- # lsb-release -a
213
- ```
214
-
215
- **Problem**: Permission denied errors
216
-
217
- **Solution**: Ensure you are using sudo for installation:
218
-
219
- ```bash
220
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
221
- ```
222
-
223
- Note that running `lsb_release` itself does not require sudo.
224
-
225
- ---
226
-
227
- ### Raspberry Pi OS (APT)
228
-
229
- #### Prerequisites
230
-
231
- - Raspberry Pi OS (Bookworm or Bullseye recommended)
232
- - Raspberry Pi 3B+ or later (any model supported by Raspberry Pi OS)
233
- - sudo privileges
234
- - Internet connectivity
235
-
236
- Raspberry Pi OS is based on Debian, so `lsb-release` installation follows the same method. On most Raspberry Pi OS installations, `lsb-release` is pre-installed by default.
237
-
238
- #### Installation Steps
239
-
240
- First, verify your architecture:
241
-
242
- ```bash
243
- uname -m
244
- ```
245
-
246
- - `aarch64` = 64-bit ARM
247
- - `armv7l` = 32-bit ARM
248
-
249
- Install lsb-release using APT (the command is identical for both architectures):
250
-
251
- ```bash
252
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
253
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
254
- ```
255
-
256
- #### Verification
257
-
258
- Confirm the installation succeeded:
259
-
260
- ```bash
261
- lsb_release --version
262
- ```
263
-
264
- Expected output (version numbers may vary):
265
-
266
- ```
267
- lsb_release 12.0
268
- ```
269
-
270
- Display all distribution information:
271
-
272
- ```bash
273
- lsb_release -a
274
- ```
275
-
276
- Expected output for Raspberry Pi OS (version numbers may vary):
277
-
278
- ```
279
- No LSB modules are available.
280
- Distributor ID: Raspbian
281
- Description: Raspbian GNU/Linux 12 (bookworm)
282
- Release: 12
283
- Codename: bookworm
284
- ```
285
-
286
- **Note for 64-bit Raspberry Pi OS**: On 64-bit installations, the Distributor ID may show "Debian" instead of "Raspbian":
287
-
288
- ```
289
- No LSB modules are available.
290
- Distributor ID: Debian
291
- Description: Debian GNU/Linux 12 (bookworm)
292
- Release: 12
293
- Codename: bookworm
294
- ```
295
-
296
- Verify the installation location:
297
-
298
- ```bash
299
- which lsb_release
300
- ```
301
-
302
- Expected output:
303
-
304
- ```
305
- /usr/bin/lsb_release
306
- ```
307
-
308
- #### Troubleshooting
309
-
310
- **Problem**: Installation is slow
311
-
312
- **Solution**: Raspberry Pi SD cards can be slow. Use a high-quality SD card (Class 10 or A1/A2 rated) or boot from USB/SSD for better performance.
313
-
314
- **Problem**: `E: Unable to fetch some archives`
315
-
316
- **Solution**: Network connectivity issues. Check your internet connection and retry:
317
-
318
- ```bash
319
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
320
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
321
- ```
322
-
323
- **Problem**: Distributor ID shows "Debian" instead of "Raspbian"
324
-
325
- **Solution**: This is expected on 64-bit Raspberry Pi OS, which is based directly on Debian arm64. The functionality is identical regardless of the distributor ID.
326
-
327
- **Problem**: `lsb_release: command not found` despite package being installed
328
-
329
- **Solution**: Close and reopen your terminal, then verify the package is installed:
330
-
331
- ```bash
332
- dpkg -l | grep lsb-release
333
- ```
334
-
335
- ---
336
-
337
- ### Amazon Linux (DNF/YUM)
338
-
339
- #### Platform Support Status
340
-
341
- **lsb-release is NOT available on Amazon Linux 2023 (AL2023).**
342
-
343
- Amazon Linux 2023 does not ship with the `lsb_release` command and does not include the `system-lsb-core` package. Amazon has transitioned to the `/etc/os-release` standard, which is the modern replacement for LSB-based distribution identification.
344
-
345
- Amazon Linux 2 (AL2) may have the `system-lsb-core` package available through `yum`, but this is discouraged as AL2 reaches end of support on June 30, 2026.
346
-
347
- #### Alternative: Using /etc/os-release
348
-
349
- The `/etc/os-release` file is pre-installed on Amazon Linux and requires no additional packages. This is the recommended method for obtaining distribution information.
350
-
351
- Run the following command to display distribution information:
352
-
353
- ```bash
354
- cat /etc/os-release
355
- ```
356
-
357
- Expected output for Amazon Linux 2023 (version numbers may vary):
358
-
359
- ```
360
- NAME="Amazon Linux"
361
- VERSION="2023"
362
- ID="amzn"
363
- ID_LIKE="fedora"
364
- VERSION_ID="2023"
365
- PLATFORM_ID="platform:al2023"
366
- PRETTY_NAME="Amazon Linux 2023.6.20241212"
367
- ANSI_COLOR="0;33"
368
- CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
369
- HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
370
- DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
371
- SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
372
- BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
373
- VENDOR_NAME="AWS"
374
- VENDOR_URL="https://aws.amazon.com/"
375
- SUPPORT_END="2028-03-15"
376
- ```
377
-
378
- **Extract specific information using shell commands:**
379
-
380
- ```bash
381
- # Get the distribution name
382
- grep "^NAME=" /etc/os-release | cut -d'"' -f2
383
-
384
- # Get the version
385
- grep "^VERSION_ID=" /etc/os-release | cut -d'"' -f2
386
-
387
- # Get the pretty name
388
- grep "^PRETTY_NAME=" /etc/os-release | cut -d'"' -f2
389
- ```
390
-
391
- **Using shell variables for scripting:**
392
-
393
- ```bash
394
- # Source the file to get variables
395
- source /etc/os-release
396
-
397
- # Now you can use the variables directly
398
- echo "Distribution: $NAME"
399
- echo "Version: $VERSION_ID"
400
- echo "Pretty Name: $PRETTY_NAME"
401
- ```
402
-
403
- #### Verification
404
-
405
- Verify that `/etc/os-release` exists:
406
-
407
- ```bash
408
- test -f /etc/os-release && echo "os-release exists" || echo "os-release not found"
409
- ```
410
-
411
- Expected output:
412
-
413
- ```
414
- os-release exists
415
- ```
416
-
417
- #### Troubleshooting
418
-
419
- **Problem**: Scripts that depend on `lsb_release` fail on Amazon Linux
420
-
421
- **Solution**: Update your scripts to use `/etc/os-release` instead. Create a wrapper function for backward compatibility:
422
-
423
- ```bash
424
- # Add this function to scripts that need lsb_release compatibility
425
- lsb_release_compat() {
426
- if command -v lsb_release &> /dev/null; then
427
- lsb_release "$@"
428
- elif [ -f /etc/os-release ]; then
429
- source /etc/os-release
430
- case "$1" in
431
- -i|--id) echo "Distributor ID: $ID" ;;
432
- -d|--description) echo "Description: $PRETTY_NAME" ;;
433
- -r|--release) echo "Release: $VERSION_ID" ;;
434
- -c|--codename) echo "Codename: ${VERSION_CODENAME:-n/a}" ;;
435
- -a|--all)
436
- echo "Distributor ID: $ID"
437
- echo "Description: $PRETTY_NAME"
438
- echo "Release: $VERSION_ID"
439
- echo "Codename: ${VERSION_CODENAME:-n/a}"
440
- ;;
441
- *) echo "Usage: lsb_release_compat [-i|-d|-r|-c|-a]" ;;
442
- esac
443
- else
444
- echo "Neither lsb_release nor /etc/os-release available" >&2
445
- return 1
446
- fi
447
- }
448
- ```
449
-
450
- **Problem**: Need to determine if running on Amazon Linux in a script
451
-
452
- **Solution**: Check for the Amazon Linux identifier in `/etc/os-release`:
453
-
454
- ```bash
455
- if grep -q "^ID=amzn" /etc/os-release 2>/dev/null; then
456
- echo "Running on Amazon Linux"
457
- fi
458
- ```
459
-
460
- ---
461
-
462
- ### Windows (Chocolatey/winget)
463
-
464
- #### Platform Support Status
465
-
466
- **lsb-release is NOT available on Windows.**
467
-
468
- Windows is not a Linux distribution and does not implement the Linux Standard Base. The `lsb_release` command is a Linux-specific utility with no direct equivalent on Windows.
469
-
470
- #### Alternative: Using PowerShell
471
-
472
- Windows provides PowerShell commands for obtaining system version information. These commands are pre-installed on all modern Windows systems.
473
-
474
- Run the following command in PowerShell to display Windows version information:
475
-
476
- ```powershell
477
- Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber
478
- ```
479
-
480
- Expected output (version numbers may vary):
481
-
482
- ```
483
- WindowsProductName WindowsVersion OsBuildNumber
484
- ------------------ -------------- -------------
485
- Windows 11 Pro 22H2 22631
486
- ```
487
-
488
- **Additional commands for Windows system information:**
489
-
490
- ```powershell
491
- # Get OS version using systeminfo
492
- systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
493
-
494
- # Get Windows version number
495
- [System.Environment]::OSVersion.Version
496
-
497
- # Get detailed OS information
498
- Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber, OSArchitecture
499
- ```
500
-
501
- **From Command Prompt:**
502
-
503
- ```cmd
504
- ver
505
- systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
506
- ```
507
-
508
- #### Verification
509
-
510
- Verify that PowerShell commands are available (they should be pre-installed):
511
-
512
- ```powershell
513
- Get-Command Get-ComputerInfo
514
- ```
515
-
516
- ---
517
-
518
- ### WSL (Ubuntu)
519
-
520
- #### Prerequisites
521
-
522
- - Windows 10 version 2004 or higher, or Windows 11
523
- - WSL 2 enabled with Ubuntu distribution installed
524
- - sudo privileges within WSL
525
-
526
- WSL runs Ubuntu (or another Linux distribution) within Windows. Because WSL runs a real Linux distribution, `lsb-release` is available and works exactly as it does on native Ubuntu.
527
-
528
- #### Installation Steps
529
-
530
- Open your WSL Ubuntu terminal and run:
531
-
532
- ```bash
533
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
534
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
535
- ```
536
-
537
- **Note**: On most WSL Ubuntu installations, `lsb-release` is pre-installed by default. Running the installation command will either install the package or confirm it is already installed.
538
-
539
- #### Verification
540
-
541
- Confirm the installation succeeded:
542
-
543
- ```bash
544
- lsb_release --version
545
- ```
546
-
547
- Expected output (version numbers may vary):
548
-
549
- ```
550
- lsb_release 11.1.0ubuntu4
551
- ```
552
-
553
- Display all distribution information:
554
-
555
- ```bash
556
- lsb_release -a
557
- ```
558
-
559
- Expected output (version numbers may vary):
560
-
561
- ```
562
- No LSB modules are available.
563
- Distributor ID: Ubuntu
564
- Description: Ubuntu 24.04 LTS
565
- Release: 24.04
566
- Codename: noble
567
- ```
568
-
569
- Verify the installation location:
570
-
571
- ```bash
572
- which lsb_release
573
- ```
574
-
575
- Expected output:
576
-
577
- ```
578
- /usr/bin/lsb_release
579
- ```
580
-
581
- #### Troubleshooting
582
-
583
- **Problem**: `lsb_release: command not found` in WSL
584
-
585
- **Solution**: Install the package:
586
-
587
- ```bash
588
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
589
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
590
- ```
591
-
592
- **Problem**: WSL shows a different Ubuntu version than expected
593
-
594
- **Solution**: Check which WSL distribution you are running:
595
-
596
- ```bash
597
- # From within WSL
598
- cat /etc/os-release
599
-
600
- # From Windows PowerShell
601
- wsl --list --verbose
602
- ```
603
-
604
- You may have multiple WSL distributions installed. Ensure you are using the correct one.
605
-
606
- **Problem**: Permission denied errors
607
-
608
- **Solution**: Ensure you are using sudo for installation:
609
-
610
- ```bash
611
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release
612
- ```
613
-
614
- ---
615
-
616
- ### Git Bash (Manual/Portable)
617
-
618
- #### Platform Support Status
619
-
620
- **lsb-release is NOT available in Git Bash.**
621
-
622
- Git Bash is a terminal emulator that runs on Windows and provides a Bash shell environment. However, it does not include Linux-specific system utilities like `lsb_release`. Git Bash is designed to provide Git functionality and common Unix utilities, not to replicate a full Linux environment.
623
-
624
- #### Alternative: Using Windows Commands from Git Bash
625
-
626
- From Git Bash, you can execute Windows commands to obtain system information:
627
-
628
- ```bash
629
- # Get Windows version using cmd
630
- cmd //c ver
631
-
632
- # Get OS information using PowerShell
633
- powershell -Command "Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion"
634
- ```
635
-
636
- Expected output (version numbers may vary):
637
-
638
- ```
639
- Microsoft Windows [Version 10.0.22631.4460]
640
- ```
641
-
642
- **If you need lsb_release functionality**, use WSL instead of Git Bash. WSL provides a full Linux environment where `lsb_release` works natively.
643
-
644
- #### Verification
645
-
646
- Verify that Windows commands are accessible from Git Bash:
647
-
648
- ```bash
649
- cmd //c ver
650
- ```
651
-
652
- If this command produces output showing the Windows version, Windows commands are accessible from Git Bash.
653
-
654
- ---
655
-
656
- ## Post-Installation Configuration
657
-
658
- The `lsb_release` command requires no post-installation configuration. It reads system information from files already present on the system and has no user-configurable settings.
659
-
660
- ### Common Usage Patterns
661
-
662
- Here are common ways to use `lsb_release` in scripts and automation:
663
-
664
- **Get all information:**
665
-
666
- ```bash
667
- lsb_release -a
668
- ```
669
-
670
- **Get specific fields:**
671
-
672
- ```bash
673
- # Distributor ID only (e.g., "Ubuntu")
674
- lsb_release -is
675
-
676
- # Release number only (e.g., "24.04")
677
- lsb_release -rs
678
-
679
- # Codename only (e.g., "noble")
680
- lsb_release -cs
681
-
682
- # Description only (e.g., "Ubuntu 24.04 LTS")
683
- lsb_release -ds
684
- ```
685
-
686
- **Use in conditional logic:**
687
-
688
- ```bash
689
- # Check if running on Ubuntu
690
- if [ "$(lsb_release -is 2>/dev/null)" = "Ubuntu" ]; then
691
- echo "Running on Ubuntu"
692
- fi
693
-
694
- # Check if running on Debian or a Debian-based distribution
695
- if lsb_release -is 2>/dev/null | grep -qiE "^(debian|ubuntu|raspbian)$"; then
696
- echo "Running on a Debian-based distribution"
697
- fi
698
- ```
699
-
700
- **Portable script pattern (works with or without lsb_release):**
701
-
702
- ```bash
703
- get_distro() {
704
- if command -v lsb_release &> /dev/null; then
705
- lsb_release -is
706
- elif [ -f /etc/os-release ]; then
707
- grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"'
708
- else
709
- echo "unknown"
710
- fi
711
- }
712
-
713
- DISTRO=$(get_distro)
714
- echo "Detected distribution: $DISTRO"
715
- ```
716
-
717
- ---
718
-
719
- ## Common Issues
720
-
721
- ### Issue: "No LSB modules are available"
722
-
723
- **Symptoms**: Running `lsb_release -a` displays "No LSB modules are available" before the distribution information.
724
-
725
- **Solution**: This message is informational, not an error. It indicates that the full LSB compliance packages (`lsb-core`, `lsb-graphics`, etc.) are not installed. The `lsb_release` command still functions correctly and displays distribution information. No action is required unless you specifically need LSB compliance modules.
726
-
727
- ### Issue: lsb_release Not Available in Container Images
728
-
729
- **Symptoms**: `lsb_release: command not found` in Docker containers or minimal OS images.
730
-
731
- **Solution**: Minimal container images often exclude `lsb-release` to reduce image size. Install it if needed, or use `/etc/os-release` as an alternative:
732
-
733
- ```bash
734
- # In Debian/Ubuntu containers
735
- apt-get update && apt-get install -y lsb-release
736
-
737
- # Or use /etc/os-release (no installation needed)
738
- cat /etc/os-release
739
- ```
740
-
741
- ### Issue: Scripts Fail on Non-Linux Platforms
742
-
743
- **Symptoms**: Scripts that use `lsb_release` fail on macOS, Windows, or Amazon Linux.
744
-
745
- **Solution**: Write portable scripts that check for `lsb_release` availability before using it:
746
-
747
- ```bash
748
- #!/bin/bash
749
- if command -v lsb_release &> /dev/null; then
750
- DISTRO=$(lsb_release -is)
751
- elif [ -f /etc/os-release ]; then
752
- source /etc/os-release
753
- DISTRO=$ID
754
- elif command -v sw_vers &> /dev/null; then
755
- DISTRO="macOS"
756
- else
757
- DISTRO="unknown"
758
- fi
759
-
760
- echo "Detected: $DISTRO"
761
- ```
762
-
763
- ### Issue: lsb_release Shows Wrong Information
764
-
765
- **Symptoms**: The output of `lsb_release` does not match the actual distribution.
766
-
767
- **Solution**: The `lsb_release` command reads from `/etc/lsb-release` or `/etc/os-release`. If these files are corrupted or modified, the output may be incorrect. Verify the source files:
768
-
769
- ```bash
770
- # Check lsb-release file
771
- cat /etc/lsb-release
772
-
773
- # Check os-release file
774
- cat /etc/os-release
775
- ```
776
-
777
- If the files are incorrect, reinstall the `lsb-release` package:
778
-
779
- ```bash
780
- sudo DEBIAN_FRONTEND=noninteractive apt-get install --reinstall -y lsb-release
781
- ```
782
-
783
- ### Issue: Command Not Found Despite Package Being Installed
784
-
785
- **Symptoms**: `dpkg -l | grep lsb-release` shows the package is installed, but `lsb_release` command is not found.
786
-
787
- **Solution**: The command may not be in your PATH. Locate the binary and run it directly:
788
-
789
- ```bash
790
- # Find the binary
791
- dpkg -L lsb-release | grep bin
792
-
793
- # Run directly
794
- /usr/bin/lsb_release -a
795
- ```
796
-
797
- If `/usr/bin` is not in your PATH, add it:
798
-
799
- ```bash
800
- export PATH="/usr/bin:$PATH"
801
- ```
802
-
803
- ---
804
-
805
- ## References
806
-
807
- - [Ubuntu Manpage: lsb_release](https://manpages.ubuntu.com/manpages/jammy/man1/lsb_release.1.html)
808
- - [Debian Wiki: LSB](https://wiki.debian.org/LSB)
809
- - [Linux Standard Base - Wikipedia](https://en.wikipedia.org/wiki/Linux_Standard_Base)
810
- - [freedesktop.org: os-release specification](https://www.freedesktop.org/software/systemd/man/os-release.html)
811
- - [Amazon Linux 2023 User Guide](https://docs.aws.amazon.com/linux/al2023/ug/)
812
- - [Raspberry Pi Documentation](https://www.raspberrypi.com/documentation/)
813
- - [Microsoft WSL Documentation](https://learn.microsoft.com/en-us/windows/wsl/)
814
- - [Apple sw_vers Manual](https://ss64.com/osx/sw_vers.html)