Как искать папку или файл в родительских папках [дубликат]

В этой процедуре компиляции должно быть ясно, что она написана для текущей текущей версии 2.92 и для систем на основе Ubuntu 16.04, как и Linux Mint 18. Это руководство может немного отличаться в более поздних версиях. систем и/или трансмиссии.

  1. Перейти на официальную страницу; по защищенному протоколу, в настоящее время официальная страница не перенаправляется на HTTPS; Вы можете использовать приведенную ниже ссылку, чтобы перейти на веб-страницу:

    https://transmissionbt.com/download/

  2. Перейдите в раздел Исходный код и загрузите текущий код; он использует репозиторий GitHub; если вы находитесь в CLI, вы можете использовать этот прямой метод:

     wget --continue https://github.com/transmission/transmission-releases/raw/master/transmission-2.92.tar.xz
     
  3. Проверьте совпадения хэшей SHA-256; это написано на официальной странице загрузки; для версии 2.92 применяется следующее:

     sha256sum --двоичная передача-2.92.tar.xz
     
     3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
     
  4. Распакуйте архив:

     tar -xJvf transfer-2.92.tar.xz
     
  5. Перейдите в каталог извлечения:

     cd-трансмиссия-2.92/
     
  6. Теперь нам нужно установить зависимости сборки для transmission-gtk:

     sudo apt-get build-dep transfer-gtk
     
  7. Давайте удостоверимся, что установлены все необходимые компоненты, согласно этой странице GitHub:

     sudo apt-get install build-essential automake autoconf libtool pkg-config intltool libcurl4-openssl-dev libglib2. 0-dev libevent-dev libminiupnpc-dev libappindicator-dev
     

    Обратите внимание, что я должен был удалить libminiupnpc5, так как его заменяет libminiupnpc-dev.

  8. Запустите сценарий конфигурации:

     ./настроить
     

    Следующие необязательные аргументы могут быть переданы в сценарий конфигурации (скопированы из сценария конфигурации):

     Дополнительные функции:
    --disable-option-checking игнорировать нераспознанные --enable/--с опциями
    --disable-FEATURE не включать FEATURE (аналогично --enable-FEATURE=no)
    --enable-FEATURE[=ARG] включить FEATURE [ARG=yes]
    --enable-silent-rules менее подробный вывод сборки (отменить: "сделать V=1")
    --disable-silent-rules подробный вывод сборки (отменить: "сделать V=0")
    --enable-shared[=PKGS] создавать общие библиотеки [по умолчанию=да]
    --enable-static[=PKGS] создавать статические библиотеки [по умолчанию=да]
    --enable-fast-install[=PKGS]
    оптимизировать для быстрой установки [по умолчанию=да]
    --enable-отслеживание зависимостей
    не отвергать медленные экстракторы зависимостей
    --отключить отслеживание зависимостей
    ускоряет разовую сборку
    --disable-libtool-lock избежать блокировки (может нарушить параллельные сборки)
    --disable-largefile пропустить поддержку больших файлов
    --enable-external-dht Использовать системный внешний-dht
    --enable-external-b64 Использовать системную libb64
    --enable-utp построить поддержку µTP
    --enable-внешний-natpmp
    Использовать системный внешний natpmp
    --enable-nls включить поддержку родного языка
    --disable-nls не использовать поддержку родного языка
    --enable-lightweight оптимизировать libtransmission для систем с низким уровнем ресурсов:
    меньший размер кеша, предпочтительнее незашифрованный одноранговый узел
    связи и т.д.--enable-cli построить клиент командной строки
    --enable-mac собрать клиент для Mac
    --enable-daemon демон сборки
    Дополнительные пакеты:
    --with-PACKAGE[=ARG] использовать PACKAGE [ARG=yes]
    --without-PACKAGE не использовать PACKAGE (так же, как --with-PACKAGE=no)
    --with-pic[=PKGS] попытаться использовать только объекты PIC/не PIC [по умолчанию=использовать
    оба]
    --with-aix-soname=aix|svr4|оба
    версия общей библиотеки (также известная как "SONAME") для
    предоставить в AIX, [по умолчанию=aix].
    --with-gnu-ld предполагает, что компилятор C использует GNU ld [по умолчанию = нет]
    --with-sysroot[=DIR] Поиск зависимых библиотек в DIR (или
    sysroot компилятора, если он не указан).
    --with-crypto=PKG Использовать указанную криптобиблиотеку: авто (по умолчанию),
    openssl, cyassl, polarssl
    --with-inotify Включить поддержку inotify (по умолчанию = автоматически)
    --with-kqueue Включить поддержку kqueue (по умолчанию = auto)
    --with-systemd-daemon Добавить поддержку уведомления о запуске systemd
     (по умолчанию определяется автоматически)
    --with-gtk с Gtk
     
  9. Проверьте, соответствуют ли выходные данные сценария конфигурации следующему (если вы этого хотите):

     Конфигурация:
    
    Расположение исходного кода: .
    Компилятор: г++
    
    Сборка libtransmission: да
     * оптимизирован для малоресурсных систем: нет
     * µTP включен: да
     * криптобиблиотека: openssl
    
    Собрать клиент командной строки: нет
    
    Соберите клиент GTK+:да
     * libappindicator для лотка в стиле Ubuntu: да
    
    Демон сборки: да
    
    Собрать клиент для Mac: нет
     

    Если все в порядке, вы можете продолжить, в противном случае вам потребуется устранить проблему.

  10. Скомпилируйте программу, это может занять некоторое время:

     make
     

    Если компиляция прошла успешно, вы можете продолжить, в противном случае вам потребуется устранить проблему.

  11. Перед установкой вы, вероятно, захотите удалить довольно старую стабильную версию, которую вы, возможно, установили, из репозитория, но есть люк: вы, вероятно, захотите сохранить свои настройки, и если это так, найдите файл настроек. :

     найдите передачу/settings.json
     
  12. Предположим, что он находится в вашем личном каталоге ~/.config/. Сделайте резервную копию где-нибудь, например. в свой домашний каталог:

     cp ~/.config/transmission/settings.json ~/
     
  13. Теперь удалите исходную упакованную версию:

     sudo apt-get purge
     
  14. Установите скомпилированный клиент transmission-gtk:

     sudo make install
     
  15. Пока клиент transmission-gtk не запущен, вы можете переместить свой файл настроек на место, или лучше сначала изучить различия, а затем решить, будет ли простая перезапись или не:

     mv ~/settings.json ~/.config/transmission/settings.json
     
  16. Наконец, предположим, что вам нужен элемент рабочего стола, затем скопируйте его и пометьте как исполняемый файл:

     cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop ~/Desktop/
    chmod a+x ~/Desktop/transmission-gtk.desktop
     
  17. Точно так же вы можете создать пункт меню, вам просто нужно добавить sudo и не заморачиваться с битом выполнения:

     sudo cp ~/Downloads/transmission-2.92/gtk/transmission -gtk.desktop /usr/доля/приложения/
     

1
24.10.2018, 13:46
1 ответ

Если вы хотите выполнить поиск в родительском каталоге, используйте «../» в качестве пути. А затем исключите папку, в которой вы находитесь.

Может быть, что-то с этим связано? (Предположим, что вы находитесь в "currentfolder" при выполнении команды.

find../ -iname "file" -not -path "../currentfolder/*"

Будет выполнен поиск в родительской папке и подпапках в них. Я думаю, что лучший способ - искать сверху, и я не уверен, что есть другие способы.

0
28.01.2020, 00:24

Теги

Похожие вопросы