8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何在 apt autoremove 机制中包含本地 debian 包的依赖项?

Lars Kotthoff 2月前

48 0

我有一个用 Unity 编写的儿童应用程序。最近,Google 要求将目标 API 更新为 33。我更新了它,我的应用程序成功通过了审核。然而,过了一段时间,我收到了...

我有一个用 Unity 编写的儿童应用。最近,Google 要求将目标 API 更新为 33。我更新了它,我的应用成功通过了审核。然而,过了一段时间,我收到一条通知,指出我的应用使用了禁止的标识符。消息指出:

\'在审核过程中,我们发现您的应用违反了家庭政策要求 ( https://support.google.com/googleplay/android-developer/answer/9893335#families-policy )。我们发现您的应用或应用中的 SDK 传输的标识符不符合我们的家庭政策。这些标识符可能包括但不限于 Android 广告 ID。例如,Android 广告 ID 传输的目的地可能包括但不限于 [cdp.cloud.unity3d.com (http://cdp.cloud.unity3d.com/)]。\'

但是,我自己不发送任何信息。我​​的项目中没有第三方 SDK,脚本也很少。我发送了大约 20 个不同的版本,进行了各种修改。以下是我尝试过的方法,但没有帮助:

-在代码中和通过包管理器禁用 Unity Analytics。-更新到 Unity 的最新 LTS 版本 (2022.3.37)。-在清单中指定。-未在清单中指定上述内容。-通过 Android Studio 构建。-删除了对 SystemInfo 的引用。-禁用 UnityConnectionSettings 中除购买之外的所有内容。-在 Unity 设置中禁用发送编辑器分析数据。

我可以采取进一步的措施来解决这个问题吗?

这是我尝试过的但没有帮助的方法:

-在代码中和通过包管理器禁用 Unity Analytics。-更新到 Unity 的最新 LTS 版本 (2022.3.37)。-在清单中指定。-未在清单中指定上述内容。-通过 Android Studio 构建。-删除了对 SystemInfo 的引用。-禁用 UnityConnectionSettings 中除购买之外的所有内容。-在 Unity 设置中禁用发送编辑器分析数据。-我可以采取进一步措施来解决这个问题吗?

帖子版权声明 1、本帖标题:如何在 apt autoremove 机制中包含本地 debian 包的依赖项?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Lars Kotthoff在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我创建了(通过 CMake,但这并不重要)一个包含我的应用程序的 debian 包:my_app.deb,它依赖于标准 Debian 存储库中的第三方包(位于 /e...

    我创建了(通过 CMake,但这并不重要)一个包含我的应用程序的 Debian 包: my_app.deb 它依赖于标准 Debian 存储库中的第三方包(位于 /etc/apt/sources.list )

    dpkg-deb -I ./my_app.deb
    
    ...
    Depends: some-lib
    Description: my application
    ...
    

    当我调用时, sudo apt install ./my_app.deb 它会顺利安装,并自动安装(通过互联网) some-lib 。但是,当我删除我的应用程序时, some-lib 它不包含在自动删除机制中:

    sudo apt remove my-app 作品 )

    sudo apt autoremove 不工作但 , some-lib 仍然安装)

    问题:如何将本地 Debian 包的依赖项添加到自动删除机制中,以便之后可以自动删除它们?

    注意:如果此问题不属于 SO,请随意将其迁移到其他地方,但我希望得到一些帮助!谢谢!

  • ck-s 2月前 0 只看Ta
    引用 3

    众所周知,Unity不会渲染相机不可见的物体,当物体不可见时,它不会参与网格合并,也不会发起任何绘制调用。

    已知Unity不会渲染相机不可见的物体,并且当一个物体不可见时,它不会参与网格合并,也不会发起任何绘制调用。

    Unity 如何判断物体是否可见?时间复杂度是多少?

    我有一个想法,即在一个区域内包含多个静态对象,我将区域划分为网格,然后通过将该区域从大到小进行二次划分来确定该区域是否可见。如果某个区域不可见,则禁用该区域内所有游戏对象的渲染器。

    这是否会减轻 Unity 确定对象是否可见的性能压力?

    这是一个可以用于测试的程序: https://github.com/SlimeNull/UnityVisibleObjectActivator

  • 此代码引发异常:from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.google.com')time.sleep(10)这是回溯:Traceback(最近

    此代码引发异常:

    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    driver.get('https://www.google.com')
    time.sleep(10)
    

    以下是回溯:

    Traceback (most recent call last):
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/selenium_manager.py", line 134, in run
        completed_proc = subprocess.run(args, capture_output=True)
      File "/usr/lib/python3.10/subprocess.py", line 503, in run
        with Popen(*popenargs, **kwargs) as process:
      File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    OSError: [Errno 8] Exec format error: '/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/linux/selenium-manager'
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/driver_finder.py", line 38, in get_path
        path = SeleniumManager().driver_location(options) if path is None else path
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/selenium_manager.py", line 103, in driver_location
        output = self.run(args)
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/selenium_manager.py", line 140, in run
        raise WebDriverException(f"Unsuccessful command executed: {command}") from err
    selenium.common.exceptions.WebDriverException: Message: Unsuccessful command executed: /home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/linux/selenium-manager --browser chrome --output json
    
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/home/orangepi/Downloads/from selenium import webdriver.py", line 3, in <module>
        driver = webdriver.Chrome()
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
        super().__init__(
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py", line 49, in __init__
        self.service.path = DriverFinder.get_path(self.service, options)
      File "/home/orangepi/.local/lib/python3.10/site-packages/selenium/webdriver/common/driver_finder.py", line 41, in get_path
        raise NoSuchDriverException(msg) from err
    selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
    

    我不知道我哪里做错了:chrome 已安装;我尝试了一些教程,但没有成功。

  • 顺便说一句,只需查看初始错误,搜索“OSError:[Errno 8] Exec 格式错误”。

  • 错误是由于我使用 webdriver.Chrome() 查找 Chrome 的 webdriver 而导致的。我使用的操作系统在 ARM64 上运行,只能使用 Chromium。 来源 .

    要使用 Chromium,你需要使用 webdriver manager .

  • Selenium 在您的路径变量中搜索 chrome 驱动程序,您可以手动添加它或在代码中设置驱动程序。

    path var

    轻松解决此问题 https://developer.chrome.com/docs/chromedriver/downloads?hl=fr

    然后您可以在代码或环境变量中指定该驱动程序的路径

    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    

    最终代码:

    from selenium import webdriver
    
    # Optional argument : if not specified WebDriver will search your system PATH environment variable for locating the chromedriver
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('https://www.google.co.in')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
  • 对我来说这不是答案,但对于任何不使用 arm64 的人来说都适用,无论如何我找到了我的答案

  • 当我尝试将文件上传到 FastAPI 端点时遇到错误,它在本地主机上运行良好,但在容器上运行它时出现错误。我收到的错误:文件 \'/app/main.py\',第 2 行...

    当我尝试将文件上传到 FastAPI 端点时遇到错误,它可以正常工作, localhost 但是在容器上运行它时出现错误。

    我收到的错误:

    File "/app/main.py", line 26, in say_hello
        with open(file_path, "wb") as f:
             ^^^^^^^^^^^^^^^^^^^^^
    PermissionError: [Errno 13] Permission denied: 'uploads/h.png'
    

    我的上传端点:

    @app.post("/letter")
    async def say_hello(file: UploadFile = File(...)):
        
        file_path = f"uploads/{file.filename}"
    
        with open(file_path, "wb") as f:
            f.write(await file.read())
        return process_image(file_path)
    

    我的 Dockerfile

    # syntax=docker/dockerfile:1
    
    ARG PYTHON_VERSION=3.12.3
    FROM python:${PYTHON_VERSION}-slim as base
    
    ENV PYTHONDONTWRITEBYTECODE=1
    ENV PYTHONUNBUFFERED=1
    
    WORKDIR /app
    
    ARG UID=10001
    RUN adduser \
        --disabled-password \
        --gecos "" \
        --home "/nonexistent" \
        --shell "/sbin/nologin" \
        --no-create-home \
        --uid "${UID}" \
        appuser
    
    # Set the permissions for all files
    RUN chown -R appuser:appgroup /app
    
    RUN --mount=type=cache,target=/root/.cache/pip \
        --mount=type=bind,source=requirements.txt,target=requirements.txt \
        python -m pip install -r requirements.txt
    
    # Switch to the non-privileged user to run the application.
    USER appuser
    
    COPY . .
    
    EXPOSE 8000
    
    CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
    

    我尝试通过添加权限来设置默认用户的权限, Dockerfile 但没有任何改变:

    # Set the permissions for all files
    RUN chown -R appuser:appgroup /app
    
  • 我尝试使用 Microsoft 指南通过 dotnet load install wasm-experimental 和 dotnet new wasmconsole 从 node.js 设置运行 .NET。我想从 .NET 读取 vsdx 文件,但是我有……

    我尝试使用 Microsoft 指南 通过 dotnet workload install wasm-experimental dotnet new wasmconsole .

    我想从 .NET 读取 vsdx 文件,但是出现错误:

    读取文件时出错:找不到路径“/home/user/project/src/file.vsdx”的一部分

    .Net 应用程序:

    using System;
    using System.IO;
    using System.Runtime.InteropServices.JavaScript;
    using System.IO.Packaging;
    using System.Linq;
    
    return 0;
    public partial class MyClass
    {
      [JSExport]
      internal static string Greeting()
      {
        try {
          string filePath = "/empty-template.vsdx";
    
          if (File.Exists(filePath))
          {
            Console.WriteLine("Файл существует по пути: " + filePath);
          }
          else
          {
            Console.WriteLine("Файл не существует по пути: " + filePath);
          }
    
          try {
            File.ReadAllBytes(filePath);
          }
          catch (Exception ex) {
            Console.WriteLine($"Error reading file: {ex.Message}");
          }
        } catch (Exception ex) {
          Console.WriteLine($"Error opening package: {ex.Message}");
        }
    
        return "filePath";
      }
    

    该文件通过路径存在。

  • 复制文件夹的权限

    我相信您将文件复制到图像上后需要更改文件所有权。

    ARG PYTHON_VERSION=3.12.3
    FROM python:${PYTHON_VERSION}-slim as base
    
    ENV PYTHONDONTWRITEBYTECODE=1
    ENV PYTHONUNBUFFERED=1
    
    WORKDIR /app
    
    ARG UID=10001
    RUN adduser \
        --disabled-password \
        --gecos "" \
        --home "/nonexistent" \
        --shell "/sbin/nologin" \
        --no-create-home \
        --uid "${UID}" \
        appuser
    
    RUN --mount=type=cache,target=/root/.cache/pip \
        --mount=type=bind,source=requirements.txt,target=requirements.txt \
        python -m pip install -r requirements.txt
    
    COPY . .
    
    RUN chown -R appuser:appuser /app/uploads
    
    EXPOSE 8000
    
    USER appuser
    
    CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
    

    这将导致 /app/uploads 任何容器上的目录都可以被写入 appuser 。它假定 uploads 主机上有一个目录将被复制到映像上。

    但这样做有一个问题:任何上传到正在运行的容器中的文件都只存在于容器内,并且会在容器停止时丢失。

    卷安装

    运行 -v ./uploads/:/app/uploads 映像时执行卷挂载。您可以执行类似以下操作 docker run 。但是,在这种情况下,您需要确保 uploads/ 主机上的目录在容器上也是可写的。一种方法是授予用户、组和其他对主机上文件夹的写访问权限。

    chmod a+w uploads/
    

    可能有更好的方法可以做到这一点,但这无疑是一种可行的选择。

  • filePath 应该使用相对路径,而不是绝对路径。您应该像下面这样更改它:

    private readonly IWebHostEnvironment _env;
    
    public HomeController(IWebHostEnvironment env)
    {
        _env = env;
    }
    
    var contentRootPath = _env.ContentRootPath;
    string filePath = Path.Combine(contentRootPath, "src", "empty-template.vsdx");
    

    建议

    请设置断点并检查文件路径是否正确。以上代码为示例,请根据需要进行更改。

返回
作者最近主题: