首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android init.rc 中 symlink 參數規定與建立軟連結失敗的解決方案

     編輯:程式設計綜合問答

問題描述

在 init.rc 中嘗試建立目錄 /anl 並將其軟連結至 /misc:

mkdir /anl
symlink /misc /anl

但執行後軟連結未建立成功,參考 /sdcard -> /mnt/sdcard 寫法也無效。

錯誤原因分析

symlink 指令語法為 symlink <target> <path>,其中:

  • target:目標路徑(實際存在的目錄或檔案)。
  • path:要建立的連結路徑(必須不存在)。

原寫法 symlink /misc /anl 中,/anl 已被 mkdir 建立為目錄,導致 path 已存在,無法建立連結。

正確寫法

# 先建立父目錄(若需要)
mkdir /anl 0 0 0

# 直接建立連結,path 不能預先存在
symlink /misc /anl/link_name

或僅建立單一連結檔:

symlink /misc /anl

前提是 /anl 不存在。若需在 /anl 目錄下建立連結,應寫 symlink /misc /anl/misc_link。

驗證方式

開機後執行 ls -l /anl,正確輸出應顯示:

lrwxrwxrwx root root 2024-01-01 00:00 /anl -> /misc

補充說明

  • symlink 在 init 階段執行,權限為 root,可跨分區建立連結。
  • 若目標路徑尚未掛載,需確保掛載順序正確(可在 on fs 或 on post-fs 觸發)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved