Как узнать триплет без gcc?

Нет cat не буферизует все файлы, прежде чем это начнет запись.

Однако, если у Вас есть большое количество файлов, можно столкнуться с проблемой с количеством аргументов, переданных cat. По умолчанию ядро Linux только позволяет постоянному числу аргументов быть переданным любой программе (я не могу помнить, как получить значение, но это - несколько тысяч в большинстве случаев).
Для решения этой проблемы, можно сделать что-то вроде этого вместо этого:

find -mindepth 2 -maxdepth 2 -type f -exec cat {} \; > bigtextfile.txt

Это будет в основном звонить cat отдельно для каждого файла, найденного find.

8
13.04.2017, 15:36
3 ответа

Домашний раздел не требуется для работы системы. Однако многие программы хранят файлы конфигурации в домашней папке. Возможно, это проблема, с которой вы сталкиваетесь. В этом случае самым простым решением будет использование резервного копирования (которое должно быть у каждого пользователя). Если у вас нет резервной копии по какой-либо причине, вы можете прибегнуть к реконструкции важных файлов (это потребует некоторого гуглинга), или вы можете переустановить свои программы, надеясь, что они сами поставят какую-то конфигурацию по умолчанию, так что вы сможете редактировать ее позже.

-121--185275-

Просто добавьте команду в файл .xinitrc :

-121--195443-

Вам потребуется найти в файловой системе файлы, сохраняющие триплет, переданный , для настройки на время сборки целевого пользователя.

В распространенных дистрибутивах GNU/Linux предпочтительнее всего запрашивать общие двоичные файлы команд, например bash завитка сделать svn . В следующем примере на Debian/armhf (образ QEMU, взятый из здесь ) я получил канонический триплет arm-unknown-linux-gnueabihf с помощью bash -version . Таким образом, было бы в основном безопасно настроить мою перекрестную цепочку инструментов для этой системы с помощью /path/to/configure --target = arm-unknown-linux-gnueabihf .

root@debian-armhf:~# bash --version
GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Нет надежного способа узнать неканонический триплет, как arm-linux-gnueabihf x86 _ 64-linux-gnu от пользователя, и могут существовать специальные соглашения по дистрибутивам, такие как Debian multiarch и кортежи . Вам потребуется собрать информацию из документа распространителя или других интернет-ресурсов.

2
27.01.2020, 20:11

Вы можете получить много информации с помощью uname , а также проверив с помощью файла тип исполняемых файлов:

$ gcc -dumpmachine
x86_64-linux-gnu
$ uname -o -m
x86_64 GNU/Linux
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d8ac02806880576708bf189c064fca78ea89f1d0, stripped

Если на вашем устройстве нет файла , скопируйте с него двоичный исполняемый файл на другой компьютер Linux и запустите там файл .

6
27.01.2020, 20:11

Другой вариант — make -v. В моем ноутбуке:

$ make -v 
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Тогда построенная тройка есть x86_64-pc-linux-gnu.

2
27.01.2020, 20:11

Теги

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