@fredlackey/devutils 0.0.18 → 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 -1028
  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 -261
  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,761 +0,0 @@
1
- # Installing Balena Etcher
2
-
3
- ## Overview
4
-
5
- Balena Etcher is a powerful, open-source OS image flasher built with web technologies. It provides a safe and easy way to flash OS images to SD cards and USB drives. Etcher validates the writing process to ensure every byte of data is written correctly, and it includes safeguards to prevent accidentally writing to your hard drives. The tool supports a wide range of image formats including ISO, IMG, ZIP, and compressed archives.
6
-
7
- Balena Etcher is commonly used for:
8
-
9
- - Creating bootable USB drives for operating system installation
10
- - Flashing Raspberry Pi images to SD cards
11
- - Writing disk images for embedded systems and IoT devices
12
- - Preparing recovery media
13
-
14
- ## Prerequisites
15
-
16
- Before installing Balena Etcher on any platform, ensure:
17
-
18
- 1. **Internet connectivity** - Required to download the installer or package
19
- 2. **Administrative privileges** - Required on most platforms for installation
20
- 3. **64-bit operating system** - Balena Etcher requires a 64-bit system on all platforms
21
- 4. **GUI environment** - Balena Etcher is a graphical application and requires a desktop environment
22
-
23
- **Important**: Balena Etcher is a GUI application. It cannot be run headlessly or via SSH without X11 forwarding.
24
-
25
- ## Dependencies
26
-
27
- ### macOS (Homebrew)
28
- - **Required:**
29
- - Homebrew - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
30
- - **Optional:** None
31
- - **Auto-installed:** None (Homebrew cask handles all application dependencies automatically)
32
-
33
- ### Ubuntu (APT/Snap)
34
- - **Required:**
35
- - `wget` - Install via `sudo apt-get install -y wget` (auto-installed by script if missing)
36
- - `sudo` privileges - Required for package installation
37
- - **Optional:** None
38
- - **Auto-installed:** Package dependencies are automatically resolved by APT when installing the .deb file
39
-
40
- ### Raspberry Pi OS (APT/Snap)
41
- - **Required:**
42
- - 64-bit Raspberry Pi OS (aarch64 architecture) - Verify with `uname -m`
43
- - `wget` - Usually pre-installed, or install via `sudo apt-get install -y wget`
44
- - Pi-Apps - Auto-installed by the script from https://github.com/Botspot/pi-apps
45
- - **Optional:** None
46
- - **Auto-installed:**
47
- - Pi-Apps and its dependencies: `yad`, `curl`, `wget` (installed during Pi-Apps setup if missing)
48
-
49
- ### Amazon Linux (DNF/YUM)
50
- - **Required:**
51
- - `wget` - Install via `sudo dnf install -y wget` or `sudo yum install -y wget` (auto-installed by script if missing)
52
- - `sudo` privileges - Required for package installation
53
- - **Optional:**
54
- - Desktop environment (GNOME, KDE, etc.) - Install via `sudo dnf groupinstall -y "Server with GUI"`
55
- - **Auto-installed:**
56
- - Runtime dependencies (may include): `libXScrnSaver`, `gtk3`, `nss`, `alsa-lib` - installed automatically by DNF/YUM when installing the .rpm package
57
-
58
- ### Windows (Chocolatey/winget)
59
- - **Required:**
60
- - Chocolatey OR winget package manager
61
- - Chocolatey - Install via PowerShell (Administrator): `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
62
- - winget - Pre-installed on Windows 11 and recent Windows 10 builds
63
- - Administrator privileges - Required for installation
64
- - **Optional:** None
65
- - **Auto-installed:** All runtime dependencies are handled automatically by the package manager
66
-
67
- ### Git Bash (Manual/Portable)
68
- - **Required:**
69
- - Git Bash - Install via https://git-scm.com/download/win
70
- - Windows 10 or Windows 11 (64-bit)
71
- - Chocolatey (for package manager install) OR ability to download portable version
72
- - **Optional:**
73
- - `unzip` - Usually included with Git Bash, needed for portable version extraction
74
- - PowerShell - Alternative method for extracting zip files
75
- - **Auto-installed:** None (delegates to Windows Chocolatey installation, or uses manually extracted portable version)
76
-
77
- ## Platform-Specific Installation
78
-
79
- ### macOS (Homebrew)
80
-
81
- #### Prerequisites
82
-
83
- - macOS 10.15 (Catalina) or later
84
- - Homebrew package manager installed
85
- - Terminal access
86
-
87
- If Homebrew is not installed, install it first:
88
-
89
- ```bash
90
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
91
- ```
92
-
93
- #### Installation Steps
94
-
95
- Run the following command to install Balena Etcher:
96
-
97
- ```bash
98
- brew install --cask --quiet balenaetcher
99
- ```
100
-
101
- The `--cask` flag specifies this is a GUI application (cask), and `--quiet` suppresses non-essential output, making the command suitable for automation scripts.
102
-
103
- #### Verification
104
-
105
- Confirm the installation succeeded by checking the application exists:
106
-
107
- ```bash
108
- ls /Applications/balenaEtcher.app
109
- ```
110
-
111
- Expected output:
112
-
113
- ```
114
- /Applications/balenaEtcher.app
115
- ```
116
-
117
- Alternatively, launch the application:
118
-
119
- ```bash
120
- open /Applications/balenaEtcher.app
121
- ```
122
-
123
- #### Troubleshooting
124
-
125
- **Problem**: `Error: Cask balenaetcher is not available`
126
-
127
- **Solution**: Update Homebrew's cask definitions:
128
-
129
- ```bash
130
- brew update
131
- ```
132
-
133
- **Problem**: Installation blocked by macOS Gatekeeper
134
-
135
- **Solution**: The application is signed, but macOS may still block it on first launch. Open System Preferences > Security & Privacy and click "Open Anyway" for balenaEtcher.
136
-
137
- **Problem**: Permission denied errors during installation
138
-
139
- **Solution**: Fix Homebrew permissions:
140
-
141
- ```bash
142
- sudo chown -R $(whoami) /Applications
143
- ```
144
-
145
- ---
146
-
147
- ### Ubuntu/Debian (APT)
148
-
149
- #### Prerequisites
150
-
151
- - Ubuntu 18.04 or later, or Debian 10 or later (64-bit)
152
- - sudo privileges
153
- - wget or curl installed
154
-
155
- **Important**: The official Balena Etcher APT repository is deprecated and no longer receives updates. Install Balena Etcher by downloading the `.deb` package directly from GitHub releases.
156
-
157
- #### Installation Steps
158
-
159
- Download and install the latest Balena Etcher `.deb` package:
160
-
161
- ```bash
162
- wget -q -O /tmp/balena-etcher.deb "https://github.com/balena-io/etcher/releases/download/v2.1.4/balena-etcher_2.1.4_amd64.deb"
163
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/balena-etcher.deb
164
- rm -f /tmp/balena-etcher.deb
165
- ```
166
-
167
- The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully non-interactive installation. The temporary file is cleaned up after installation.
168
-
169
- #### Verification
170
-
171
- Confirm the installation succeeded:
172
-
173
- ```bash
174
- which balena-etcher || dpkg -l | grep balena-etcher
175
- ```
176
-
177
- Expected output showing the package is installed:
178
-
179
- ```
180
- ii balena-etcher 2.1.4 amd64 Flash OS images to SD cards & USB drives, safely and easily.
181
- ```
182
-
183
- Launch the application from the terminal:
184
-
185
- ```bash
186
- balena-etcher &
187
- ```
188
-
189
- #### Troubleshooting
190
-
191
- **Problem**: `dpkg: dependency problems prevent configuration`
192
-
193
- **Solution**: Fix broken dependencies:
194
-
195
- ```bash
196
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y
197
- ```
198
-
199
- **Problem**: Application fails to launch with GPU/sandbox errors
200
-
201
- **Solution**: Run with sandbox disabled (for troubleshooting only):
202
-
203
- ```bash
204
- balena-etcher --no-sandbox
205
- ```
206
-
207
- For a permanent fix, ensure your system has proper graphics drivers installed.
208
-
209
- **Problem**: `wget: command not found`
210
-
211
- **Solution**: Install wget first:
212
-
213
- ```bash
214
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget
215
- ```
216
-
217
- ---
218
-
219
- ### Raspberry Pi OS (Pi-Apps)
220
-
221
- #### Prerequisites
222
-
223
- - Raspberry Pi OS (64-bit) - **Required**
224
- - Raspberry Pi 3, 4, or 5 (64-bit capable hardware)
225
- - Desktop environment installed (Raspberry Pi OS with Desktop)
226
- - Internet connectivity
227
-
228
- **Critical**: Balena Etcher does NOT have an official ARM installer. The x86/x64 packages from the official website will not work on Raspberry Pi. Use Pi-Apps to install a community-compiled ARM64 version.
229
-
230
- Verify you are running 64-bit Raspberry Pi OS:
231
-
232
- ```bash
233
- uname -m
234
- ```
235
-
236
- This **must** output `aarch64`. If it outputs `armv7l`, you need to install the 64-bit version of Raspberry Pi OS.
237
-
238
- #### Installation Steps
239
-
240
- First, install Pi-Apps (the Raspberry Pi app store):
241
-
242
- ```bash
243
- wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
244
- ```
245
-
246
- After Pi-Apps is installed, install Balena Etcher using the Pi-Apps CLI:
247
-
248
- ```bash
249
- /home/$USER/pi-apps/manage install 'BalenaEtcher'
250
- ```
251
-
252
- **Note**: The Pi-Apps installation process may display progress in a GUI window. For fully headless installation, you can use:
253
-
254
- ```bash
255
- DISPLAY=:0 /home/$USER/pi-apps/manage install 'BalenaEtcher'
256
- ```
257
-
258
- #### Verification
259
-
260
- Confirm the installation succeeded:
261
-
262
- ```bash
263
- which balena-etcher-electron || ls /usr/bin/balena-etcher*
264
- ```
265
-
266
- Launch the application:
267
-
268
- ```bash
269
- balena-etcher-electron &
270
- ```
271
-
272
- #### Troubleshooting
273
-
274
- **Problem**: Pi-Apps installation fails
275
-
276
- **Solution**: Ensure you have a desktop environment and required dependencies:
277
-
278
- ```bash
279
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y yad curl wget
280
- ```
281
-
282
- **Problem**: `BalenaEtcher will only run on PiOS 64-bit`
283
-
284
- **Solution**: You must use the 64-bit version of Raspberry Pi OS. Download it from https://www.raspberrypi.com/software/operating-systems/ and reflash your SD card.
285
-
286
- **Problem**: Application crashes on launch
287
-
288
- **Solution**: Ensure you have sufficient GPU memory. Edit `/boot/config.txt` and set:
289
-
290
- ```
291
- gpu_mem=128
292
- ```
293
-
294
- Then reboot:
295
-
296
- ```bash
297
- sudo reboot
298
- ```
299
-
300
- **Alternative Approach**: If you need to flash SD cards on a Raspberry Pi, consider using Raspberry Pi Imager instead, which has official ARM support:
301
-
302
- ```bash
303
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y rpi-imager
304
- ```
305
-
306
- ---
307
-
308
- ### Amazon Linux/RHEL (DNF)
309
-
310
- #### Prerequisites
311
-
312
- - Amazon Linux 2023, Amazon Linux 2, RHEL 8+, or Fedora 35+
313
- - 64-bit (x86_64) architecture
314
- - sudo privileges
315
- - Desktop environment installed (GNOME, KDE, etc.)
316
-
317
- **Note**: Amazon Linux is typically used as a server OS without a GUI. If you need Balena Etcher on Amazon Linux, you must first install a desktop environment.
318
-
319
- #### Installation Steps
320
-
321
- Download and install the latest Balena Etcher RPM package:
322
-
323
- ```bash
324
- wget -q -O /tmp/balena-etcher.rpm "https://github.com/balena-io/etcher/releases/download/v2.1.4/balena-etcher-2.1.4-1.x86_64.rpm"
325
- sudo dnf install -y /tmp/balena-etcher.rpm
326
- rm -f /tmp/balena-etcher.rpm
327
- ```
328
-
329
- The `-y` flag ensures non-interactive installation without prompts.
330
-
331
- For Amazon Linux 2 (which uses `yum` instead of `dnf`):
332
-
333
- ```bash
334
- wget -q -O /tmp/balena-etcher.rpm "https://github.com/balena-io/etcher/releases/download/v2.1.4/balena-etcher-2.1.4-1.x86_64.rpm"
335
- sudo yum install -y /tmp/balena-etcher.rpm
336
- rm -f /tmp/balena-etcher.rpm
337
- ```
338
-
339
- **Note**: During installation, DNF may display a warning about skipping OpenPGP checks for packages from the commandline repository. This is expected behavior when installing local RPM files.
340
-
341
- #### Verification
342
-
343
- Confirm the installation succeeded:
344
-
345
- ```bash
346
- rpm -q balena-etcher
347
- ```
348
-
349
- Expected output:
350
-
351
- ```
352
- balena-etcher-2.1.4-1.x86_64
353
- ```
354
-
355
- The binary installs to `/usr/bin/balena-etcher`:
356
-
357
- ```bash
358
- which balena-etcher
359
- ```
360
-
361
- #### Troubleshooting
362
-
363
- **Problem**: `No package balena-etcher available`
364
-
365
- **Solution**: Ensure you are installing from the downloaded RPM file, not from a repository:
366
-
367
- ```bash
368
- sudo dnf install -y /tmp/balena-etcher.rpm
369
- ```
370
-
371
- **Problem**: Missing dependencies
372
-
373
- **Solution**: Install required libraries:
374
-
375
- ```bash
376
- sudo dnf install -y libXScrnSaver gtk3 nss alsa-lib
377
- ```
378
-
379
- **Problem**: Cannot launch - no display
380
-
381
- **Solution**: Amazon Linux servers typically do not have a GUI. Install a desktop environment first:
382
-
383
- ```bash
384
- sudo dnf groupinstall -y "Server with GUI"
385
- sudo systemctl set-default graphical.target
386
- sudo reboot
387
- ```
388
-
389
- ---
390
-
391
- ### Windows (Chocolatey)
392
-
393
- #### Prerequisites
394
-
395
- - Windows 10 or Windows 11 (64-bit)
396
- - Chocolatey package manager installed
397
- - Administrator PowerShell or Command Prompt
398
-
399
- If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
400
-
401
- ```powershell
402
- Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
403
- ```
404
-
405
- #### Installation Steps
406
-
407
- Run the following command in an Administrator PowerShell or Command Prompt:
408
-
409
- ```powershell
410
- choco install etcher -y
411
- ```
412
-
413
- The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
414
-
415
- **Alternative (winget)**: If you prefer winget:
416
-
417
- ```powershell
418
- winget install --id Balena.Etcher --silent --accept-source-agreements --accept-package-agreements
419
- ```
420
-
421
- The `--silent`, `--accept-source-agreements`, and `--accept-package-agreements` flags ensure non-interactive installation.
422
-
423
- #### Verification
424
-
425
- After installation, verify by checking the installation path:
426
-
427
- ```powershell
428
- Test-Path "C:\Program Files\balenaEtcher\balenaEtcher.exe"
429
- ```
430
-
431
- Expected output:
432
-
433
- ```
434
- True
435
- ```
436
-
437
- Launch the application:
438
-
439
- ```powershell
440
- Start-Process "C:\Program Files\balenaEtcher\balenaEtcher.exe"
441
- ```
442
-
443
- #### Troubleshooting
444
-
445
- **Problem**: `choco: The term 'choco' is not recognized`
446
-
447
- **Solution**: Chocolatey is not installed or not in PATH. Close all terminals, open a new Administrator PowerShell, and verify Chocolatey installation:
448
-
449
- ```powershell
450
- refreshenv
451
- choco --version
452
- ```
453
-
454
- **Problem**: Installation fails with access denied
455
-
456
- **Solution**: Ensure you are running PowerShell as Administrator. Right-click PowerShell and select "Run as administrator".
457
-
458
- **Problem**: Application does not appear in Start menu
459
-
460
- **Solution**: The Start menu shortcut may take a moment to appear. Alternatively, search for "balenaEtcher" in the Windows search bar or navigate to the installation directory.
461
-
462
- **Problem**: Windows Defender blocks the installation
463
-
464
- **Solution**: Balena Etcher is safe software. Temporarily disable real-time protection or add an exclusion for the Chocolatey and balenaEtcher directories.
465
-
466
- ---
467
-
468
- ### WSL (Ubuntu)
469
-
470
- #### Prerequisites
471
-
472
- - Windows Subsystem for Linux with Ubuntu installed
473
- - WSL 2 recommended (required for GUI support)
474
- - Windows 11 or Windows 10 with WSLg enabled
475
- - sudo privileges within WSL
476
-
477
- **Important**: Balena Etcher is a GUI application. Running GUI applications in WSL requires WSLg (Windows Subsystem for Linux GUI), which is available in Windows 11 and recent Windows 10 builds.
478
-
479
- #### Installation Steps
480
-
481
- Follow the same steps as Ubuntu/Debian:
482
-
483
- ```bash
484
- wget -q -O /tmp/balena-etcher.deb "https://github.com/balena-io/etcher/releases/download/v2.1.4/balena-etcher_2.1.4_amd64.deb"
485
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
486
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/balena-etcher.deb
487
- rm -f /tmp/balena-etcher.deb
488
- ```
489
-
490
- #### Verification
491
-
492
- Check the package is installed:
493
-
494
- ```bash
495
- dpkg -l | grep balena-etcher
496
- ```
497
-
498
- Launch the application (requires WSLg):
499
-
500
- ```bash
501
- balena-etcher &
502
- ```
503
-
504
- #### Troubleshooting
505
-
506
- **Problem**: `cannot open display` error
507
-
508
- **Solution**: WSLg may not be enabled or configured. Verify WSLg is working:
509
-
510
- ```bash
511
- echo $DISPLAY
512
- ```
513
-
514
- This should output something like `:0`. If empty, ensure you are using WSL 2 and Windows 11 (or Windows 10 with WSLg enabled):
515
-
516
- ```powershell
517
- # In Windows PowerShell
518
- wsl --update
519
- wsl --shutdown
520
- wsl
521
- ```
522
-
523
- **Problem**: USB devices not accessible from WSL
524
-
525
- **Solution**: WSL does not have native USB passthrough. For flashing USB drives, install Balena Etcher directly on Windows instead (see Windows section). Alternatively, use USB/IP to forward USB devices to WSL.
526
-
527
- **Problem**: Application fails with sandbox errors
528
-
529
- **Solution**: Run without sandbox:
530
-
531
- ```bash
532
- balena-etcher --no-sandbox &
533
- ```
534
-
535
- **Recommended Alternative**: For USB flashing operations, install Balena Etcher on Windows directly (using Chocolatey or winget) rather than in WSL, as WSL has limited USB device access.
536
-
537
- ---
538
-
539
- ### Git Bash (Windows Installation)
540
-
541
- #### Prerequisites
542
-
543
- - Windows 10 or Windows 11 (64-bit)
544
- - Git Bash installed (comes with Git for Windows)
545
- - Balena Etcher installed on Windows (see Windows section above)
546
-
547
- **Note**: Git Bash runs on Windows and inherits the Windows PATH. Once Balena Etcher is installed on Windows, it is automatically accessible from Git Bash. There is no separate Git Bash installation required.
548
-
549
- #### Installation Steps
550
-
551
- Install Balena Etcher on Windows using Chocolatey from Git Bash:
552
-
553
- ```bash
554
- # Call Windows Chocolatey from Git Bash (requires Administrator Git Bash)
555
- /c/ProgramData/chocolatey/bin/choco.exe install etcher -y
556
- ```
557
-
558
- Alternatively, download and run the portable version without requiring Administrator privileges:
559
-
560
- ```bash
561
- # Create a local applications directory
562
- mkdir -p ~/Applications
563
-
564
- # Download the portable Windows version
565
- curl -L -o ~/Applications/balenaEtcher.zip "https://github.com/balena-io/etcher/releases/download/v2.1.4/balenaEtcher-win32-x64-2.1.4.zip"
566
-
567
- # Extract the archive
568
- unzip -q ~/Applications/balenaEtcher.zip -d ~/Applications/balenaEtcher
569
-
570
- # Clean up the zip file
571
- rm ~/Applications/balenaEtcher.zip
572
- ```
573
-
574
- #### Verification
575
-
576
- If installed via Chocolatey, verify the installation:
577
-
578
- ```bash
579
- ls "/c/Program Files/balenaEtcher/balenaEtcher.exe"
580
- ```
581
-
582
- If using the portable version:
583
-
584
- ```bash
585
- ls ~/Applications/balenaEtcher/balenaEtcher.exe
586
- ```
587
-
588
- Launch the application:
589
-
590
- ```bash
591
- # Installed version
592
- "/c/Program Files/balenaEtcher/balenaEtcher.exe" &
593
-
594
- # Or portable version
595
- ~/Applications/balenaEtcher/balenaEtcher.exe &
596
- ```
597
-
598
- #### Troubleshooting
599
-
600
- **Problem**: Chocolatey command not found
601
-
602
- **Solution**: Chocolatey may not be installed or the path is different. Install via PowerShell first (see Windows section), then access from Git Bash.
603
-
604
- **Problem**: Permission denied when installing via Chocolatey
605
-
606
- **Solution**: Git Bash must be run as Administrator for Chocolatey installations. Right-click Git Bash and select "Run as administrator".
607
-
608
- **Problem**: Cannot extract zip file
609
-
610
- **Solution**: Install unzip if not available:
611
-
612
- ```bash
613
- # unzip is typically included with Git Bash, but if missing:
614
- pacman -S unzip # Only works if pacman is available (MSYS2)
615
- ```
616
-
617
- Alternatively, use PowerShell to extract:
618
-
619
- ```bash
620
- powershell -command "Expand-Archive -Path '$HOME/Applications/balenaEtcher.zip' -DestinationPath '$HOME/Applications/balenaEtcher'"
621
- ```
622
-
623
- ---
624
-
625
- ## Post-Installation Configuration
626
-
627
- Balena Etcher requires no configuration after installation. The application is ready to use immediately.
628
-
629
- ### First Launch
630
-
631
- 1. Launch Balena Etcher from your application menu or command line
632
- 2. Click "Flash from file" to select an OS image (ISO, IMG, ZIP, etc.)
633
- 3. Click "Select target" to choose your USB drive or SD card
634
- 4. Click "Flash!" to begin the writing process
635
-
636
- ### USB Device Permissions (Linux Only)
637
-
638
- On Linux systems, you may need to add your user to the appropriate groups to access USB devices without sudo:
639
-
640
- ```bash
641
- sudo usermod -a -G disk $USER
642
- sudo usermod -a -G plugdev $USER
643
- ```
644
-
645
- Log out and log back in for group changes to take effect.
646
-
647
- ### Creating Desktop Shortcuts (Linux)
648
-
649
- If a desktop shortcut is not automatically created, you can create one manually:
650
-
651
- ```bash
652
- cat > ~/.local/share/applications/balena-etcher.desktop << 'EOF'
653
- [Desktop Entry]
654
- Name=balenaEtcher
655
- Comment=Flash OS images to SD cards and USB drives
656
- Exec=/usr/bin/balena-etcher %U
657
- Icon=balena-etcher
658
- Terminal=false
659
- Type=Application
660
- Categories=Utility;
661
- EOF
662
- ```
663
-
664
- ---
665
-
666
- ## Common Issues
667
-
668
- ### Issue: "No polkit authentication agent found"
669
-
670
- **Symptoms**: Error message about polkit when trying to flash drives on Linux.
671
-
672
- **Solution**: Install a polkit authentication agent:
673
-
674
- ```bash
675
- # Ubuntu/Debian
676
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y policykit-1-gnome
677
-
678
- # Fedora/Amazon Linux
679
- sudo dnf install -y polkit-gnome
680
- ```
681
-
682
- ### Issue: USB Drive Not Detected
683
-
684
- **Symptoms**: The USB drive does not appear in the target selection.
685
-
686
- **Solution**:
687
-
688
- 1. Ensure the USB drive is properly inserted
689
- 2. Try a different USB port (preferably USB 2.0 for compatibility)
690
- 3. On Linux, check if the device is mounted and unmount it:
691
-
692
- ```bash
693
- # Find the device
694
- lsblk
695
-
696
- # Unmount if mounted (replace sdX with your device)
697
- sudo umount /dev/sdX*
698
- ```
699
-
700
- ### Issue: Flash Validation Fails
701
-
702
- **Symptoms**: The flash completes but validation fails with errors.
703
-
704
- **Solution**:
705
-
706
- 1. The SD card or USB drive may be faulty - try a different one
707
- 2. Download the image file again (it may be corrupted)
708
- 3. Verify the image checksum before flashing:
709
-
710
- ```bash
711
- sha256sum your-image-file.img
712
- ```
713
-
714
- ### Issue: Application Crashes on Launch
715
-
716
- **Symptoms**: Balena Etcher immediately closes or shows a blank window.
717
-
718
- **Solution**:
719
-
720
- 1. Update your graphics drivers
721
- 2. Try launching with GPU acceleration disabled:
722
-
723
- ```bash
724
- # Linux
725
- balena-etcher --disable-gpu
726
-
727
- # Windows (PowerShell)
728
- & "C:\Program Files\balenaEtcher\balenaEtcher.exe" --disable-gpu
729
- ```
730
-
731
- ### Issue: "EACCES: permission denied" on Linux
732
-
733
- **Symptoms**: Permission errors when trying to write to a drive.
734
-
735
- **Solution**: Run Balena Etcher with elevated privileges (not recommended for regular use):
736
-
737
- ```bash
738
- sudo balena-etcher
739
- ```
740
-
741
- Better solution: Fix udev rules for USB device access:
742
-
743
- ```bash
744
- echo 'SUBSYSTEM=="usb", MODE="0666"' | sudo tee /etc/udev/rules.d/50-usb.rules
745
- sudo udevadm control --reload-rules
746
- sudo udevadm trigger
747
- ```
748
-
749
- ---
750
-
751
- ## References
752
-
753
- - [Balena Etcher Official Website](https://etcher.balena.io/)
754
- - [Balena Etcher GitHub Repository](https://github.com/balena-io/etcher)
755
- - [Balena Etcher GitHub Releases](https://github.com/balena-io/etcher/releases)
756
- - [Homebrew Cask - balenaetcher](https://formulae.brew.sh/cask/balenaetcher)
757
- - [Chocolatey Package - etcher](https://community.chocolatey.org/packages/etcher)
758
- - [winget Package - Balena.Etcher](https://winget.run/pkg/Balena/Etcher)
759
- - [Pi-Apps - BalenaEtcher for Raspberry Pi](https://pi-apps.io/install-app/install-balenaetcher-on-raspberry-pi/)
760
- - [BalenaEtcher ARM Builds (Community)](https://github.com/Itai-Nelken/BalenaEtcher-arm)
761
- - [PortableApps - balenaEtcher Portable](https://portableapps.com/apps/utilities/balenaetcher-portable)