Ubuntu之通过*.so文件查找对应的Package Name

本文介绍两种在Ubuntu系统中查找特定文件所在软件包的方法:一是使用apt-file工具通过命令行搜索;二是利用Ubuntu官方软件包网站在线查询。

方式一:apt-file find filename.so //需要先安装apt-file,然后更新数据库:apt-file update;
方式二:通过ubuntu官网查询:http://packages.ubuntu.com/

# # Copyright (C) 2010-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=tp-miniupnpc PKG_VERSION:=1.9 PKG_RELEASE:=1 PKG_INSTALL:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk define Package/tp-miniupnpc/Default TITLE:=Lightweight UPnP URL:=http://miniupnp.tuxfamily.org/ endef define Package/tp-miniupnpc $(call Package/tp-miniupnpc/Default) SECTION:=net SUBMENU:=Apps CATEGORY:=TP-LINK Proprietary Software TITLE+= client DEPENDS:=+libtp-miniupnpc endef define Package/libtp-miniupnpc $(call Package/tp-miniupnpc/Default) SECTION:=libs SUBMENU:=Apps CATEGORY:=TP-LINK Proprietary Software TITLE+= library endef TARGET_CFLAGS += $(FPIC) MAKE_FLAGS += \ OS="Linux" # uncomment this when using version 1.8 #PREFIX="$(PKG_INSTALL_DIR)" define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR) endef define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include/miniupnpc $(CP) \ $(PKG_INSTALL_DIR)/usr/include/miniupnpc/*.h \ $(1)/usr/include/miniupnpc/ $(INSTALL_DIR) $(1)/usr/lib $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a} \ $(1)/usr/lib/ endef define Package/tp-miniupnpc/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upnpc $(1)/usr/bin/ $(CP) ./files/* $(1)/ endef define Package/libtp-miniupnpc/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) \ $(PKG_INSTALL_DIR)/usr/lib/libminiupnpc.so.* \ $(1)/usr/lib/ endef $(eval $(call BuildPackage,tp-miniupnpc)) $(eval $(call BuildPackage,libtp-miniupnpc)) 和# # Copyright (c) 2018 TP-Link Systems Inc. # # Author : Jinfu Chen # Version : 1.0 # Date : 18 Mar, 2018 # include $(TOPDIR)/rules.mk PKG_NAME:=libtpsocket PKG_RELEASE:=1 PKG_VERSION:=1.0 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk define Package/$(PKG_NAME) SECTION:=TP-Link CATEGORY:=TP-Link iplatform apps MAINTAINER:=Jinfu Chen DEPENDS:=+libubox +zlib +libpthread +librt +TPSOCKET_MBEDTLS:libmbedtls \ +TPSOCKET_OPENSSL:libopenssl +TPSOCKET_WOLFSSL:libcyassl TITLE:=LibTPSocket endef define Package/$(PKG_NAME)/config menu "Configuration" choice prompt "ssl lib version" default TPSOCKET_MBEDTLS help Select ssl lib version. config TPSOCKET_MBEDTLS bool "use mbedtls lib" config TPSOCKET_OPENSSL bool "use openssl lib" config TPSOCKET_WOLFSSL bool "use wolfssl lib" config TPSOCKET_NOSSL bool "use no ssl lib" endchoice endmenu endef ifeq ($(CONFIG_TPSOCKET_WOLFSSL),y) TARGET_CFLAGS += -DTPSOCKET_USE_WOLFSSL=1 -lcyassl SSL_SETTING_DEFINE=\#define TPSOCKET_USE_WOLFSSL 1 endif ifeq ($(CONFIG_TPSOCKET_OPENSSL),y) TARGET_CFLAGS += -DTPSOCKET_USE_OPENSSL=1 -lssl -lcrypto SSL_SETTING_DEFINE=\#define TPSOCKET_USE_OPENSSL 1 endif ifeq ($(CONFIG_TPSOCKET_MBEDTLS),y) ifeq ($(CONFIG_PACKAGE_mbedtls_version),2) TARGET_CFLAGS += -DMBEDTLS_VERSION_TWO endif TARGET_CFLAGS += -DTPSOCKET_USE_MBEDTLS=1 -lmbedtls -lmbedx509 -lmbedcrypto SSL_SETTING_DEFINE=\#define TPSOCKET_USE_MBEDTLS 1 endif ifeq ($(CONFIG_TPSOCKET_NOSSL),y) TARGET_CFLAGS += -DTPSOCKET_USE_NOSSL=1 SSL_SETTING_DEFINE=\#define TPSOCKET_USE_NOSSL 1 endif ifeq ($(CONFIG_HTTP_HMAC_HKDF_SUPPORT),y) TARGET_CFLAGS += -DHTTP_HMAC_HKDF_SUPPORT endif define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ mkdir -p $(STAGING_DIR)/usr/include/$(PKG_NAME)/ $(CP) ./src/*.h $(STAGING_DIR)/usr/include/$(PKG_NAME)/ echo "$(SSL_SETTING_DEFINE)" > $(STAGING_DIR)/usr/include/$(PKG_NAME)/tpsocket_ssl_setting.h endef define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/libtpsocket.so $(1)/usr/lib $(INSTALL_DIR) $(STAGING_DIR)/usr/lib/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/libtpsocket.so $(STAGING_DIR)/usr/lib/ #$(INSTALL_DIR) $(1)/usr/bin #$(INSTALL_BIN) $(PKG_BUILD_DIR)/testsocket $(1)/usr/bin $(CP) -rf ./filesystem/* $(1)/ endef $(eval $(call BuildPackage,$(PKG_NAME))) 这是这两个makefile的结果:wuyilun@ubuntu:~/Desktop/CAMEOS$ find . -name "libminiupnpc.so*" ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/tp-miniupnpc-1.9/ipkg-install/usr/lib/libminiupnpc.so ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/tp-miniupnpc-1.9/ipkg-install/usr/lib/libminiupnpc.so.12 ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/tp-miniupnpc-1.9/libminiupnpc.so ./platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/usr/lib/libminiupnpc.so ./platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/usr/lib/libminiupnpc.so.12 ./platform/iplatform/private/tp-miniupnpc/src/libminiupnpc.so wuyilun@ubuntu:~/Desktop/CAMEOS$ find . -name "libtpsocket.so*" ./image/H500/coredump/usr/lib/libtpsocket.so ./image/H500/rootfs/usr/lib/libtpsocket.so ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/root-model_sstar_ssr920-basefs/usr/lib/libtpsocket.so ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libtpsocket-1.0/libtpsocket.so ./platform/build_dir/target-arm-sigmastar-linux-uclibcgnueabihf/libtpsocket-1.0/ipkg-model_sstar_ssr920/libtpsocket/usr/lib/libtpsocket.so ./platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/usr/lib/libtpsocket.so ./platform/staging_dir/target-arm-sigmastar-linux-uclibcgnueabihf/root-model_sstar_ssr920/usr/lib/libtpsocket.so 为什么编译结果会有这样的差异?
最新发布
09-16
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值