-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathRaspbian-Toolbox.sh
More file actions
1732 lines (1621 loc) · 73.8 KB
/
Raspbian-Toolbox.sh
File metadata and controls
1732 lines (1621 loc) · 73.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/bin/bash
Setup(){
#This backs up important system files for your convenience
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak
sudo cp /boot/config.txt /boot/config.txt.bak
sudo cp -r /etc/sysctl.d /etc/sysctl.d-old
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
sudo cp /etc/environment /etc/environment.bak
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo cp /etc/profile /etc/profile.bak
sudo cp /etc/fstab /etc/fstab.bak
sudo cp /etc/passwd /etc/passwd.bak
sudo cp /etc/shadow /etc/shadow.bak
sudo cp /etc/systemd/journald.conf /etc/systemd/journald.conf.bak
cp ~/.bashrc ~/.bashrc.bak
#Fix screen RESOLUTION
echo "Would you like to choose a more accurate screen resolution?(Y/n)"
read answer
while [ $answer == Y ];
do
Screenfix
break
done
#Sets volume using alsamixer
echo "Would you like to raise or lower volume?(Y/n)"
read answer
while [ $answer == Y ];
do
alsamixer
break
done
#This activates the firewall
dpkg --list | grep ufw || sudo apt install -y gufw; sudo systemctl enable ufw
echo "Would you like to deny ssh and telnet for security purposes?(Y/n)"
read answer
if [[ $answer == Y ]];
then
sudo ufw default deny incoming; sudo ufw default allow outgoing; sudo ufw deny telnet; sudo ufw deny ssh; sudo ufw enable
fi
#This downloads the widevine library to stream netflix with chromium
sudo apt install -y libwidevinecdm0
#sudo mv /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so /usr/lib/chromium-browser; sudo chmod 644 /usr/lib/chromium-browser/libwidevinecdm.so
#This disables ipv6
echo "Sometimes ipv6 can cause network issues. Would you like to disable it?(Y/n)"
read answer
if [[ $answer == Y ]];
then
sudo sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/g' /etc/default/grub; sudo update-grub2
else
echo "Okay!"
fi
#This adds aliases of import to Raspbian OS
echo "### Aliases ###" >> ~/.bashrc
echo "# Package Manager" >> ~/.bashrc
echo 'alias fix="sudo dpkg --configure -a && sudo apt install -f"' >> ~/.bashrc
echo 'alias update="sudo apt update && sudo apt full-upgrade -yy"' >> ~/.bashrc
echo 'alias aptin="sudo apt install -y"' >> ~/.bashrc
echo 'alias aptrm="sudo apt remove -y"' >> ~/.bashrc
echo 'alias pkglist="sudo dpkg -l && sudo apt list"' >> ~/.bashrc
echo 'alias clean="sudo apt autoremove -y && sudo apt autoclean -y && sudo apt clean -y"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# System Maintenance" >> ~/.bashrc
echo 'alias sys="sudo systemctl daemon-reload"' >> ~/.bashrc
echo 'alias eeprom="sudo rpi-eeprom-update-a; sudo reboot"' >> ~/.bashrc
echo 'alias firewalld="sudo systemctl enable ufw; sudo ufw enable"' >> ~/.bashrc
echo 'alias refresh="sudo update-icon-caches /usr/share/icons/*"' >> ~/.bashrc
echo 'alias repair="sudo touch /forcefsck"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# System Stats" >> ~/.bashrc
echo 'alias disk="du -sh && df -h"' >> ~/.bashrc
echo 'alias lspart="sudo fdisk -l"' >> ~/.bashrc
echo 'alias cpuinfo="cat /proc/cpuinfo"' >> ~/.bashrc
echo 'alias meminfo="cat /proc/meminfo"' >> ~/.bashrc
echo 'alias mem="watch free -h"' >> ~/.bashrc
echo 'alias temp="watch vcgencmd measure_temp"' >> ~/.bashrc
echo 'alias cur_freq="cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"' >> ~/.bashrc
echo 'alias min_freq="cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"' >> ~/.bashrc
echo 'alias max_freq="cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq"' >> ~/.bashrc
echo 'alias volt="vcgencmd measure_volts core"' >> ~/.bashrc
echo 'alias gx="vcgencmd get_mem gpu"' >> ~/.bashrc
echo 'alias armmem="vcgencmd get_mem arm"' >> ~/.bashrc
echo 'alias pwr="vcgencmd get_throttled"' >> ~/.bashrc
echo 'alias swaps="cat /proc/swaps"' >> ~/.bashrc
echo 'alias ut="uptime -p"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# Networking" >> ~/.bashrc
echo 'alias ipconfig="ip addr show"'
echo 'alias tracert="traceroute google.com"'
echo 'alias ping="ping -c4 google.com && ping -c4 facebook.com"'
echo 'alias netstat="ss -tulpn"'
echo 'alias query="nslookup www.google.com && host www.google.com"'
echo 'alias netinfo="hostname -I"'
echo 'alias arpinfo="arp -e"'
echo 'alias dns="dig google.com"'
echo 'alias wifi="iwconfig"'
echo "" >> ~/.bashrc
echo "# Confirmations" >> ~/.bashrc
echo 'alias mv="mv -i"' >> ~/.bashrc
echo 'alias cp="cp -i"' >> ~/.bashrc
echo 'alias rm="rm -i"' >> ~/.bashrc
echo 'alias ln="ln =i"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# Clear Cached RAM" >> ~/.bashrc
echo 'alias boost="sudo sysctl -w vm.drop_caches=3"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# Clean system" >> ~/.bashrc
echo 'alias vaccum="sudo journalctl --vacuum-size=25M"' >> ~/.bashrc
echo 'alias dust="sudo rm -r ~/.cache/*; sudo rm -r ~/.thumbnails/*"' >> ~/.bashrc
echo 'alias sweep="sudo rm -r ~/.config/*-old"' >> ~/.bashrc
eho 'alias mop="sudo rm -r /var/tmp/*"' >> ~/.bashrc
echo 'alias garbage="sudo rm -r ~/.local/share/Trash/files/*"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# P2P Blocklist" >> ~/.bashrc
echo '#alias filter="~/bin/blocklist-update.sh"' >> ~/.bashrc
echo "" >> ~/.bashrc
echo "# Adblocking" >> ~/.bashrc
echo '#alias hostsup="sudo ./Hostsman4linux.sh -B"' >> ~/.bashrc
echo "neofetch" >> ~/.bashrc
source .bashrc
#Reduces space taken up by log file
sudo sed -i -e '/#SystemMaxUse=/c\SystemMaxUse=50M ' /etc/systemd/journald.conf
#Overvoltage overclocks the voltage that the Raspi can support for better stability of the chip with overclocks
#echo "over_voltage=6" | sudo tee -a /boot/config.txt
#Overclocks the arm cpu frequency, might not wanna do this unless you know what you're doing
#sudo sed -i -e '/#arm_freq=800/c\arm_freq=1800 ' /boot/config.txt
#Overclocks GPU frequency This can help with video performance, but hardware acceleration is not quite there in Rpi
#echo "gpu_freq=650" | sudo tee -a /boot/config.txt
#This increases signal from hdmi output in the event that you have screen blanking or weak hdmi
#sudo sed -i -e '/#config_hdmi_boost=4/c\config_hdmi_boost=4 ' /boot/config.txt
#Reducing mousepoll reduces lag and latency of wireless usb mouses
sudo sed -i -e '/console=serial0,115200 console=tty1 root=PARTUUID=891e3651-02 rootfstype=ext4 fsck.repair=yes rootwait/c\console=serial0,115200 console=tty1 root=PARTUUID=891e3651-02 rootfstype=ext4 fsck.repair=yes rootwait usbhid.mousepoll=0 ' /boot/cmdline.txt
#Ensures that the new fkms gl driver is enabled on rpi 4
#sudo sed -i -e '/#dtoverlay=vc4-fkms-v3d/c\dtoverlay=vc4-fkms-v3d ' /boot/config.txt
#Allocates 128MB of memory to be used by GPU, which helps with some video situations
echo "gpu_mem=128" | sudo tee -a /boot/config.txt
#Tweaks the sysctl config file
sudo touch /etc/sysctl.d/50-dmesg-restrict.conf
echo "kernel.dmesg_restrict = 1" | sudo tee -a /etc/sysctl.d/50-dmesg-restrict.conf
echo "# Reduces the swap" | sudo tee -a /etc/sysctl.conf
echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf
echo "# Improve cache management" | sudo tee -a /etc/sysctl.conf
echo "vm.vfs_cache_pressure = 50" | sudo tee -a /etc/sysctl.conf
echo "vm.watermark_scale_factor = 200" | sudo tee -a /etc/sysctl.conf
echo "vm.dirty_ratio = 3" | sudo tee -a /etc/sysctl.conf
echo "#tcp flaw workaround" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_challenge_ack_limit = 999999999" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_all = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p && sudo sysctl --system
#This locks down ssh
sudo sed -i -e '/#PermitRootLogin/c\PermitRootLogin no ' /etc/ssh/sshd_config
CheckNetwork
#Updates the system
sudo apt update; sudo apt full-upgrade -yy; sudo apt install -y rpi-eeprom
#Optional
echo "Do you wish to reboot(Y/n)"
read answer
if [[ $answer == Y ]];
then
Restart
else
clear
Greeting
fi
}
InstallAndConquer(){
CheckNetwork
echo "Would you like to install some useful apps?(Y/n)"
read answer
while [ $answer == Y ];
do
echo "1 - Browsers"
echo "2 - Bittorrent Client"
echo "3 - Utility"
echo "4 - Media Players"
echo "5 - Individual programming apps"
echo "6 - Rpi-imager"
echo "7 - Claws mail"
echo "8 - Office"
echo "9 - Games"
echo "10 - Get out of this menu"
read software;
case $software in
1)
echo "1 - Firefox-ESR"
echo "2 - Midori"
echo "3 - Epiphany"
echo "4 - Vivaldi"
echo "5 - netsurf"
echo "6 - lynx"
echo "7 - luakit"
read package
if [[ $package == 1 ]];
then
sudo apt install -y firefox-esr
elif [[ $package == 2 ]];
then
sudo apt install -y midori
elif [[ $package == 3 ]];
then
sudo apt install -y epiphany-browser
elif [[ $package == 4 ]];
then
architecture=$(lscpu | grep Architecture | awk '{print $2}')
if [[ $architecture == aarch64 ]];
then
wget https://downloads.vivaldi.com/stable/vivaldi-stable_6.1.3035.257-1_arm64.deb; sudo dpkg -i *.deb; sudo apt install -f
else
wget https://downloads.vivaldi.com/stable/vivaldi-stable_6.1.3035.257-1_armhf.deb; sudo dpkg -i *.deb; sudo apt install -f
fi
elif [[ $package == 5 ]];
then
sudo apt install -y netsurf
elif [[ $package == 6 ]];
then
sudo apt install -y lynx
elif [[ $package == 7 ]];
then
sudo apt install -y luakit
fi
;;
2)
sudo apt install -y transmission && sudo ufw allow transmission && sudo ufw reload
;;
3)
sudo apt install -y nmap wavemon iotop gparted gnome-disk-utility baobab lm-sensors inxi lshw pulseaudio* dnsutils smem
;;
4)
echo "1 - Rhythmbox"
echo "2 - Mpv"
echo "3 - Smplayer"
echo "4 - Celluloid"
echo "5 - Clementine"
echo "6 - Kodi"
read package
if [[ $package == 1 ]];
then
sudo apt install -y rhythmbox
elif [[ $package == 2 ]];
then
sudo apt install -y mpv
elif [[ $package == 3 ]];
then
sudo apt install -y smplayer
elif [[ $package == 4 ]];
then
sudo apt install -y celluloid
elif [[ $package == 5 ]];
then
sudo apt install -y clementine
elif [[ $package == 6 ]];
then
sudo apt install -y kodi
fi
;;
5)
echo "1 - Geany"
echo "2 - Mu-editor"
echo "3 - Eclipse-rpm-editor"
echo "4 - Bluefish"
echo "5 - Code"
echo "6 - Thonny"
echo "7 - Sonic PI"
echo "8 - Bluej"
echo "9 - SmartSim"
echo "10 - Scratch"
echo "11 - arduino"
echo "12 - Vnc Viewer"
echo "13 - GreenFoot IDE"
echo "14 - Meld"
read software;
case $software in
1)
sudo apt install -y geany
;;
2)
sudo apt install -y mu-editor
;;
3)
sudo apt install -y eclipse-rpm-editor
;;
4)
sudo apt install -y bluefish
;;
5)
sudo apt install -y code
;;
6)
sudo apt install -y thonny
;;
7)
sudo apt install -y sonic-pi
;;
8)
sudo apt install -y bluej
;;
9)
sudo apt install -y smartsim
;;
10)
sudo apt install -y scratch scratch2 scratch3
;;
11)
sudo apt install -y arduino
;;
12)
sudo apt install -y vncjava
;;
13)
sudo apt install -y greenfoot
;;
14)
sudo apt install -y meld
;;
*)
;;
esac
;;
6)
sudo apt install -y rpi-imager
;;
7)
sudo apt install -y claws-mail
;;
8)
sudo apt install -y libreoffice
;;
9)
echo "1 - Bsd-games"
echo "2 - Gnome-games"
echo "3 - Python-games"
echo "4 - MineCraft"
echo "5 - Code The Classics"
read package
if [[ $package == 1 ]];
then
sudo apt install -y bsdgames
elif [[ $package == 2 ]];
then
sudo apt install -y gnome-games
elif [[ $package == 3 ]];
then
sudo apt install -y python-games
elif [[ $package == 4 ]];
then
sudo apt install -y minecraft-pi
elif [[ $package == 5 ]];
then
sudo apt install -y code-the-classics
fi
;;
10)
echo "Alrighty then"
break
;;
esac
done
clear
Greeting
}
RAMBack(){
sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"
clear
Greeting
}
Cleanup(){
#This removes the apt package cache
sudo apt autoremove -y; sudo apt autoclean -y; sudo apt clean -y
#This removes the apt list
sudo rm -r /var/lib/apt/lists/*
#This cleans the cache and recently used apps list
sudo rm -r {.cache/*,.thumbnails/*,~/.local/share/Trash/files/*,~/.nv/*,~/npm/*,~/.w3m/*,~/.esd_auth,~/.local/share/recently-used.xbel,~/tmp/*,/var/tmp/*}; history -c && rm ~/.bash_history
#This cleans the manual database
sudo mandb
#This removes old config files
sudo rm -r ~/.config/*-old
#This removes Internet Traces in Firefox
#sudo rm -rf ~/.mozilla/firefox/*.default-release/storage/default/*; sudo rm -rf ~/.mozilla/firefox/*.default-release/{places.sqlite,cookies.sqlite,formhistory.sqlite}
#This could clean your Video folder and Picture folder based on a set time
TRASHCAN=~/.local/share/Trash/files/
find ~/Downloads/* -mtime +30 -exec mv {} $TRASHCAN \;
#find ~/Video/* -mtime +30 -exec mv {} $TRASHCAN \;
#find ~/Pictures/* -mtime +30 -exec mv {} $TRASHCAN \;
#cleans old kernel crash logs
sudo find /var -type f -name "core" -print -exec rm {} \;
#This removes left over files from apps uninstalled
OLDCONF=$(dpkg -l | grep '^rc' | awk '{print $2}')
sudo apt remove --purge $OLDCONF
#This removes broken symlinks
find -xtype l -delete
#Remove unused files leftover in the home directory
find $HOME -type f -name "*~" -print -exec rm {} \;
#This reduces journal log size by removing old logs
sudo journalctl --vacuum-size=25M
#This uninstalls unwanted apps
echo "Do you wish to uninstall apps?(Y/n)"
read answer
while [ $answer == Y ];
do
Uninstall
done
clear
Greeting
}
Maintenance(){
CheckNetwork
#This fixes broken packages
sudo dpkg --configure -a; sudo apt install -f
#This updates your system
sudo apt update && sudo apt full-upgrade -yy
#This fixes broken default keybindings that worked before in rpi
#sudo cp /etc/xdg/openbox/lxde-pi-rc.xml ~/.config/openbox/lxde-pi-rc.xml
#This restores lxde panel
#sudo rm -r ~/.config/lxpanel; lxpanel restart
#This restarts systemd daemon. This can be useful for different reasons.
sudo systemctl daemon-reload
#It is recommended that your firewall is enabled
sudo systemctl enable ufw; sudo ufw enable
#This repairs icon cache
sudo update-icon-caches /usr/share/icons/*
#This checks bootloader version to see if there are updates
sudo rpi-eeprom-update; sleep 1
#Checks disk for errors
sudo touch /forcefsck
#Optional
echo "Would you like to run Cleanup?(Y/n)"
read answer
if [[ $answer == Y ]];
then
Cleanup
else
clear
Greeting
fi
}
ServiceManager(){
init=$(ps -p1 | awk 'NR!=1{print $4}')
for init in $init;
do
if [[ $init == upstart ]];
then
service --status-all
read -p "Press enter to continue..."
echo "What would you like to do?"
echo "1 - Enable services"
echo "2 - Disable services"
echo "3 - Reset Failed"
echo "4 - create a list of all services running on your system"
echo "5 - Nothing just get me out of this menu"
read operation;
case $operation in
1)
echo "Enter the name of the service you wish to enable"
read service
sudo /etc/init.d/$service start
;;
2)
echo "Enter the name of the service you wish to disable"
read service
sudo /etc/init.d/$service stop
echo "Optionally we can create an override which will keep this setting. Would you like to retain this setting after reboot?(Y/n)"
read answer
while [ $answer == Y ];
do
echo manual | sudo tee /etc/init/$service.override
break
done
;;
3)
sudo systemctl reset-failed
;;
4)
echo "################################################################" >> services.txt
echo "SERVICE MANAGER" >> services.txt
echo "################################################################" >> services.txt
service --status-all >> services.txt
systemctl list-unit-files --type=service >> services.txt
echo "################################################################" >> services.txt
echo "END OF FILE" >> services.txt
echo "################################################################" >> services.txt
;;
5)
echo "Great choice"
;;
esac
elif [[ $init == systemd ]];
then
systemctl list-unit-files --type=service
read -p "Press enter to continue..."
echo "What would you like to do?"
echo "1 - Enable services"
echo "2 - Disable services"
echo "3 - create a list of all services running on your system"
echo "4 - Nothing just get me out of this menu"
read operation;
case $operation in
1)
echo "Enter the name of the service you wish to enable"
read service
sudo systemctl enable $service; sudo systemctl start $service
;;
2)
echo "Enter the name of the service you wish to disable"
read service
sudo systemctl stop $service; sudo systemctl disable $service
;;
3)
echo "##################################################" >> services.txt
echo "SERVICE MANAGER" >> services.txt
echo "##################################################" >> services.txt
systemctl list-unit-files --type=service >> services.txt
echo "##################################################" >> services.txt
echo "END OF FILE" >> services.txt
echo "##################################################" >> services.txt
;;
4)
echo "Nice!!!!!"
;;
esac
else
echo "You might be running an init system I haven't tested yet"
fi
done
clear
Greeting
}
Adblocking(){
find Hostsman4linux.sh
while [ $? -eq 1 ];
do
wget https://raw.githubusercontent.com/jackrabbit335/UsefulLinuxShellScripts/master/Hostsman4linux.sh; chmod +x Hostsman4linux.sh
break
done
sudo ./Hostsman4linux.sh -ABCD
clear
Greeting
}
SuperSwapsize(){
echo CONF_SWAPSIZE=2048 | sudo tee -a /etc/dphys-swapfile
sudo /etc/init.d/dphys-swapfile stop; sudo /etc/init.d/dphys-swapfile start
clear
Greeting
}
BrowserRepair(){
browser1="$(find /usr/bin/firefox)"
browser2="$(find /usr/bin/vivaldi*)"
browser5="$(find /usr/bin/chromium-browser)"
browser7="$(find /usr/bin/epiphany)"
browser8="$(find /usr/bin/midori)"
echo $browser1
echo $browser2
echo $browser3
echo $browser4
echo $browser5
sleep 1
echo "choose the browser you wish to reset"
echo "1 - Firefox"
echo "2 - Vivaldi"
echo "3 - Chromium"
echo "4 - Midori"
echo "5 - Epiphany"
read operation;
case $operation in
1)
sudo cp -r ~/.mozilla/firefox ~/.mozilla/firefox-old; sudo rm -rf ~/.mozilla/firefox/*
echo "Your browser has now been reset"
sleep 1
;;
2)
sudo cp -r ~/.config/vivaldi/ ~/.config/vivaldi-old; sudo rm -rf ~/.config/vivaldi/*
echo "Your browser has now been reset"
sleep 1
;;
3)
sudo cp -r ~/.config/chromium ~/.config/chromium-old; sudo rm -rf ~/.config/chromium/*
echo "Your browser has now been reset"
sleep 1
;;
4)
sudo cp -r ~/.config/midori ~/.config/midori-old; sudo rm -rf ~/.config/midori/*
echo "Your browser has now been reset"
sleep 1
;;
5)
sudo cp -r ~/.config/epiphany ~/.config/epiphany-old; sudo rm -rf ~/.config/epiphany/*
sudo cp -r ~/.local/share/epiphany ~/.local/share/epiphany-old; sudo rm -rf ~/.local/share/epiphany/*
echo "Your browser has now been reset"
sleep 1
;;
*)
echo "No browser for that entry exists, please try again"
sleep 1
BrowserRepair
;;
esac
#Change the default browser
echo "Would you like to change your default browser also?(Y/n)"
read answer
while [ $answer == Y ];
do
echo "Enter the name of the browser you wish to use"
read browser
sudo update-alternatives --set x-www-browser /usr/bin/$browser
break
done
clear
Greeting
}
Update(){
sudo apt update && sudo apt full-upgrade -yy
clear
Greeting
}
SystemInfo(){
dpkg --list | grep wmctrl || sudo apt install -y wmctrl
host=$(hostname)
drive=$(df -P / | awk '{print $1}' | grep "/dev/")
distribution=$(cat /etc/issue | awk '{print $1,$2}')
echo "############################################################################" >> $host-sysinfo.txt
echo "SYSTEM INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DATE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
date >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "RASPBIAN VERSION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /proc/version >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "USER" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo $USER >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "SHELL" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
which $SHELL >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DISTRIBUTION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo $distribution >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DESKTOP" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo $XDG_CURRENT_DESKTOP >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "SCREEN SERVER" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo $XDG_SESSION_TYPE >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "WINDOW MANAGER" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
wmctrl -m >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DISPLAY MANAGER" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
grep'/usr/s\?bin' /etc/systemd/system/display-manager.service >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "SYSTEM INITIALIZATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ps -p1 | awk 'NR!=1{print $4}' >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "SYSTEM INSTALL DATE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo tune2fs -l $drive | grep 'Filesystem created:' >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "KERNEL AND OPERATING SYSTEM INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
uname -r >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "OS/MACHINE INFO" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
hostnamectl >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "OPERATING SYSTEM RELEASE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lsb_release -a >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "HOSTNAME" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
hostname >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "SUDO VERSION CHECK" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo -V >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "UPTIME" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
uptime -p >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "LOAD AVERAGE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /proc/loadavg >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "APT REPOSITORY INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /etc/apt/sources.list.d/raspi.list >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "PARTITION INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /proc/partitions >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DISK SECTOR INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo fdisk -l >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DISK SPACE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
df -h >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "I/O SCHEDULER INFO" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /sys/block/sda/queue/scheduler >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DIRECTORY USAGE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo du -sh >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "MEMORY USAGE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
free -h >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "ARM MEMORY" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vcgencmd get_mem arm >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "GRAPHICAL MEMORY" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vcgencmd get_mem gpu >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "VIRTUAL MEMORY STATS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vmstat -s >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "LISTS ALL BLOCK DEVICES WITH SIZE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lsblk -o NAME,SIZE >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "BLOCK DEVICE ID " >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo blkid >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "NETWORK CONFIGURATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ip addr >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "PUBLIC IP INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
curl ifconfig.me/all >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "PERSONAL IP INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
hostname -I >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "ARP TABLE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
arp -e >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "Query" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
nslookup www.google.com && host www.google.com >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "BASIC NETWORK TESTS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ping -c4 google.com && traceroute google.com >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "NETWORK STATS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ss -tulpn >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "WIFI INFO" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
iwconfig >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DNS INFO" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
dig | grep SERVER >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "FIREWALL STATUS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo ufw status verbose >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "PROCESS TABLE" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ps -aux >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "LAST LOGIN ATTEMPTS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lastlog >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "PERMISSIONS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
ls -larS / >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "AUDIT SUID & SGID" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo -s find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \; >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "USER AND GROUPS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /etc/passwd | awk '{print $1}' >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "INSTALLED PACKAGES" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo apt list --installed >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DEB PACKAGE MANAGER HISTORY" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /var/log/dpkg.log >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "APT PACKAGE MANAGER HISTORY" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /var/log/apt/history.log >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "APPARMOR" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo apparmor_status >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "Inxi" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
inxi -F >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "CPU TEMP" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vcgencmd measure_temp >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "ARM CURRENT CPU FREQUENCY" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "MAXIMUM VOLTAGE STATS" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vcgencmd measure_voltage core >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "THROTTLE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
vcgencmd get_throttled >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DISK READ SPEED" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo hdparm -tT /dev/sda >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "DRIVER INFO" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo lsmod >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "USB INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lsusb >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "HARDWARE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lspci >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "MORE HARDWARE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo lshw >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "EVEN MORE HARDWARE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
sudo dmidecode >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "YET STILL MORE HARDWARE INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
lscpu >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "MEMORY INFORMATION" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
cat /proc/meminfo >> $host-sysinfo.txt
echo "" >> $host-sysinfo.txt
echo "############################################################################" >> $host-sysinfo.txt
echo "TLP STATS" >> $host-sysinfo.txt