Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

pam_ux
12.09.2020 15:50:48

Vielen, vielen Dank wirr!

Durch das Austauschen der "EOF"s gibt es jetzt keine Überschneidungen (und Fehler) mehr.


LG Marcel

wirr
11.09.2020 22:57:04

Nach dem ersten EOF wird arch-chroot beendet. Du kannst EOF nicht verschachteln, aber du kannst irgendwas anstelle von EOF schreiben, z.B. CHROOT auf der 9. und letzten Zeile.

Du findest alle Informationen dazu in der bash manpage unter dem Kapitel 'Here Documents'.

pam_ux
11.09.2020 20:53:57

Hallo zusammen, ich muss euch leider nocheinmal wegen meines Arch Install Scripts kontaktieren.

Mit dem folgendem Code:

#!/usr/bin/env bash
#-------------------------------------------------------------------------
#      _          _    __  __      _   _
#     /_\  _ _ __| |_ |  \/  |__ _| |_(_)__
#    / _ \| '_/ _| ' \| |\/| / _` |  _| / _|
#   /_/ \_\_| \__|_||_|_|  |_\__,_|\__|_\__|
#  Arch Linux Install and Config Setup
#-------------------------------------------------------------------------

arch-chroot /mnt /bin/bash <<"EOF"

echo -e "\nGenaerating .xinitrc file"

# Generate the .xinitrc file so we can launch Awesome from the
# terminal using the "startx" command
cat <<"EOF" > /home/test/.xinitrc
#!/bin/bash
# Disable bell
xset -b
# Disable all Power Saving Stuff
xset -dpms
xset s off
# X Root window color
xsetroot -solid darkgrey
# Merge resources (optional)
#xrdb -merge $HOME/.Xresources
# Caps to Ctrl, no caps
setxkbmap -layout us -option ctrl:nocaps
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
        [ -x "\$f" ] && . "\$f"
    done
    unset f
fi
exit 0
EOF

# ------------------------------------------------------------------------

# By default, startx incorrectly looks for the .serverauth file in our HOME folder.
sudo sed -i 's|xserverauthfile=\$HOME/.serverauth.\$\$|xserverauthfile=\$XAUTHORITY|g' /bin/startx

# ------------------------------------------------------------------------

echo -e "\nDisabling buggy cursor inheritance"

# When you boot with multiple monitors the cursor can look huge. This fixes it.
sudo cat <<"EOF" > /usr/share/icons/default/index.theme
[Icon Theme]
#Inherits=Theme
EOF

# ------------------------------------------------------------------------

echo -e "\nIncreasing file watcher count"

# This prevents a "too many files" error in Visual Studio Code
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

# ------------------------------------------------------------------------

echo -e "\nDisabling Pulse .esd_auth module"

# Pulse audio loads the `esound-protocol` module, which best I can tell is rarely needed.
# That module creates a file called `.esd_auth` in the home directory which I'd prefer to not be there. So...
sudo sed -i 's|load-module module-esound-protocol-unix|#load-module module-esound-protocol-unix|g' /etc/pulse/default.pa

# ------------------------------------------------------------------------

echo -e "\nEnabling Login Display Manager"

sudo systemctl enable lightdm

# ------------------------------------------------------------------------

echo -e "\nEnabling bluetooth daemon and setting it to auto-start"

sudo sed -i 's|#AutoEnable=false|AutoEnable=true|g' /etc/bluetooth/main.conf
sudo systemctl enable bluetooth

# ------------------------------------------------------------------------

#echo -e "\nEnabling the cups service daemon so we can print"
#systemctl enable --now org.cups.cupsd.service
#sudo ntpd -qg
#sudo systemctl enable --now ntpd.service
#sudo systemctl disable dhcpcd.service
#sudo systemctl stop dhcpcd.service
#sudo systemctl enable --now NetworkManager.service

# ------------------------------------------------------------------------

cd $pwd
echo "-------------------------------------------------"
echo "--                    Done                     --"
echo "-------------------------------------------------"

EOF

bekomme ich diesen output:

Genaerating .xinitrc file
/bin/bash: line 25: warning: here-document at line 6 delimited by end-of-file (wanted `EOF')
sed: can't read /bin/startx: No such file or directory

Disabling buggy cursor inheritance
./0-setup.sh: line 48: /usr/share/icons/default/index.theme: No such file or directory

Increasing file watcher count
fs.inotify.max_user_watches=524288
* Applying /usr/lib/sysctl.d/10-arch.conf ...
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 524288
* Applying /etc/sysctl.d/40-max-user-watches.conf ...
fs.inotify.max_user_watches = 524288
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
fs.suid_dumpable = 2
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
sysctl: setting key "net.ipv4.conf.all.rp_filter": Invalid argument
net.ipv4.conf.default.accept_source_route = 0
sysctl: setting key "net.ipv4.conf.all.accept_source_route": Invalid argument
net.ipv4.conf.default.promote_secondaries = 1
sysctl: setting key "net.ipv4.conf.all.promote_secondaries": Invalid argument
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 1
fs.protected_fifos = 1
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
kernel.pid_max = 4194304

Disabling Pulse .esd_auth module
sed: can't read /etc/pulse/default.pa: No such file or directory

Enabling Login Display Manager
Failed to enable unit: Unit file lightdm.service does not exist.

Enabling bluetooth daemon and setting it to auto-start
sed: can't read /etc/bluetooth/main.conf: No such file or directory
Failed to enable unit: Unit file bluetooth.service does not exist.
-------------------------------------------------
--                    Done                     --
-------------------------------------------------
./0-setup.sh: line 98: EOF: command not found

Die Erste Aufgabe, nähmlich, das Erstellen der .xinitrc funktioniert (trotz EOF Fehlermeldung) einwandfrei (mit "cat" nachgeprüft). Sämtliche Befehle danach schlagen fehl. Bei der Aktivierung von lightdm bekomme ich zum Beispiel "Unit file lightdm.service does not exist", was bedeutet, dass dieser Befehl nicht im gerade installiertem System sondern auf dem ISO-System ausgeführt wurde.

Soweit ich das erkennen kann, habe ich allerdings jedes EOF geöffnet, mit inputs gefüllt und anschließend wieder *anständig geschlossen*.
Kann es sein, dass ich das EOF Prinzip irgendwie grundlegend missverstanden habe, oder ist mir da doch nur ein Syntax Fehler unterlaufen (z.B. "line 98: EOF: command not found")?


LG Marcel

Fußzeile des Forums

Powered by FluxBB