晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/lib/dracut/modules.d/91crypt-gpg/ |
| Current File : //lib/dracut/modules.d/91crypt-gpg/module-setup.sh |
#!/usr/bin/bash
# GPG support is optional
# called by dracut
check() {
require_binaries gpg tr || return 1
if sc_requested; then
if ! sc_supported; then
dwarning "crypt-gpg: GnuPG >= 2.1 with scdaemon and libusb required for ccid smartcard support"
return 1
fi
return 0
fi
return 255
}
# called by dracut
depends() {
echo crypt
}
# called by dracut
install() {
inst_multiple gpg tr
inst "$moddir/crypt-gpg-lib.sh" "/lib/dracut-crypt-gpg-lib.sh"
if sc_requested; then
inst_multiple gpg-agent
inst_multiple gpg-connect-agent
inst_multiple -o /usr/libexec/scdaemon /usr/lib/gnupg/scdaemon
cp "$dracutsysrootdir$(sc_public_key)" "${initdir}/root/"
fi
}
sc_public_key() {
echo -n "/etc/dracut.conf.d/crypt-public-key.gpg"
}
# CCID Smartcard support requires GnuPG >= 2.1 with scdaemon and libusb
sc_supported() {
local gpgMajor
local gpgMinor
local scdaemon
gpgMajor="$(gpg --version | sed -n 1p | sed -n -r -e 's|.* ([0-9]*).*|\1|p')"
gpgMinor="$(gpg --version | sed -n 1p | sed -n -r -e 's|.* [0-9]*\.([0-9]*).*|\1|p')"
if [[ -x "$dracutsysrootdir"/usr/libexec/scdaemon ]]; then
scdaemon=/usr/libexec/scdaemon
elif [[ -x "$dracutsysrootdir"/usr/lib/gnupg/scdaemon ]]; then
scdaemon=/usr/lib/gnupg/scdaemon
else
return 1
fi
if [[ ${gpgMajor} -gt 2 || ${gpgMajor} -eq 2 && ${gpgMinor} -ge 1 ]] \
&& require_binaries gpg-agent \
&& require_binaries gpg-connect-agent \
&& ($DRACUT_LDD "${dracutsysrootdir}${scdaemon}" | grep libusb > /dev/null); then
return 0
else
return 1
fi
}
sc_requested() {
if [ -f "$dracutsysrootdir$(sc_public_key)" ]; then
return 0
else
return 1
fi
}
|