Я полагаю, что именно SIP(Защита целостности системы)в macOS предотвращает доступ процессов du
и ls
к файлам/каталогам, даже если они запущены от имени пользователя root. Похоже, что SIP, начиная с macOS Mojave, активен для ряда мест под ~/Library
, что означает, что только доверенные приложения могут получить к ним доступ.
Я добавил свое терминальное приложение (iTerm2 )в список приложений, которым должен быть предоставлен «Полный доступ к диску», и я сделал это в настройках системных настроек «Безопасность и конфиденциальность» в разделе «Конфиденциальность». вкладка. Кажется, это решило это для меня. Я говорю «кажется», поскольку я не эксперт по macOS, но я считаю, что именно это позволило мне получить доступ ко всему, что находится под ~/Library
.
Apple рекомендует не отключать SIP глобально в системе по очевидным причинам, и я не вижу реальной причины для этого.
Первое фактическое сообщение об ошибке:
fatal: Too many arguments.
usage: git clone [<options>] [--] <repo> [<dir>]
[... rest of git usage message omitted...]
Это должно сказать вам, что есть что-то, чего не должно быть в команде git clone
скрипта. Соответствующая строка:
git clone git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
git clone
нельзя так повторять.
Последующие сообщения об ошибках вызваны первым сбоем :, так как git
не удалось загрузить исходный код модуля rtl8723de
, команды, предназначенные для компиляции этого исходного кода и установки результирующего драйвера, конечно же, также будут потерпеть неудачу.
Ваш вывод lspci -vq
также указывает, что ваша карта RTL8723DE в настоящее время используется драйвером wl
, и сценарий ничего не делает, чтобы изменить это.
Если вы на самом деле читаете страницу GitHub с драйвером, который загрузит скрипт , вы увидите этот текст:
The master branch of this repo is officially abandoned. If you are running a kernel newer than 5.0, use the drivers built into your kernel. That is a lot less work.
Если вы посмотрите на подстраницу -ветки extended
, которую пытается использовать скрипт, вы также найдете это:
The extended branch of this repo is officially abandoned. If you are running a kernel newer than 5.0, use the drivers built into your kernel. That is a lot less work.
Обе ветки также включают этот совет:
If you are using a Realtek RTL8723DE, RTL8822BE, RTL8822CE, or RTL8821CE, then you need the rtw88 branch:
Это говорит о том, что совет и сценарий, который вы пытаетесь использовать, возможно, уже устарели , так как разработка драйвера и версия ядра в Kali продолжались с момента написания совета и сценария.
Но если вы все же хотите попробовать этот драйвер, я бы предложил модифицированную версию скрипта:
apt install linux-headers-$(uname -r) git build-essential dkms
git clone -b rtw88 https://github.com/lwfinger/rtlwifi_new.git
sudo dkms add./rtlwifi_new
sudo dkms install rtlwifi-new/0.6
echo "options rtl8723de ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723de.conf
echo "blacklist wl" | sudo tee -a /etc/modprobe.d/rtl8723de.conf
sudo modprobe -r rtl8723de wl && sudo modprobe rtl8723de
Итак, модификации в строке git clone
уберут двойную команду, и изменят ветку драйвера с заброшенной extended
на текущую -рекомендуемую rtw88
. Я добавил ваш текущий драйвер wl
в черный список, чтобы новый модуль rt8723de
смог занять его место. Я также немного изменил порядок операций,так что, если модуль действительно загрузится без перезагрузки, он также выберет опцию ant_sel=2
. Но поскольку карта уже активна, скрипт, скорее всего, не сможет выгрузить старый драйвер, поэтому, вероятно, после запуска скрипта потребуется перезагрузка.
Если вы обнаружите, что новый драйвер вообще не работает, способ вернуть системную конфигурацию обратно к исходной точке будет:
sudo rm /etc/modprobe.d/rtl8723de.conf
sudo dkms remove rtlwifi-new/0.6 --all