Как составить список всех файлов в /etc и записать его в файл в /home?

make installвыполняет команды, перечисленные для цели с именем installв ./Makefile(, и команды для любых других не -, но -завершенных целей, установка которых зависит от -, например. цель установки обычно зависит от цели сборки (s )). Как сказал @Henrik, это может быть что угодно... копирование файлов, создание каталогов, установка прав собственности и / или разрешений, создание или копирование исходных файлов конфигурации и многое другое.

Кстати, make installи команда install— две совершенно разные вещи. Первый выполняет цель Makefile под названием «install». Последний является своего рода причудливой версией cpна стероидах, который может устанавливать владельца, группу, разрешения и делать кучу других вещей, которые полезны при установке программного обеспечения -install, часто используется целевыми объектами установки в Makefiles.

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

Чтобы установить предварительно -скомпилированное программное обеспечение, если у вас есть пакет для вашего дистрибутива (, например. файл .rpmили .deb), затем используйте инструменты для упаковки дистрибутива, чтобы установить его -, например. dpkgдля Debian/Ubuntu, rpmдля Fedora и т. д. Если у вас еще нет копии пакета,но он доступен в виде пакета для вашего дистрибутива, затем используйтеapt(debian )или dnfилиyum(fedora ), чтобы получить и установить его.

Для предварительно -скомпилированного программного обеспечения, которое не является надлежащим пакетом дистрибутива (, например. tar.gz, содержащий кучу файлов ), и вы не можете найти исходный код или пакет для него, лучше всего использовать программу типа GNU Stow или аналогичную.

stowпозволяет довольно легко установить неупакованное программное обеспечение и при этом иметь возможность удалить его позже (, например. чтобы подготовиться к обновлению до новой версии ), не оставляя после себя огромную кучу потерянных файлов.... что и сделает простой untar или cp .

Неуправляемое программное обеспечение — это беспорядок, ожидающий своего часа. Используйте инструменты пакета, предоставляемые вашей системой, если это вообще возможно. если нет, используйте что-то вроде stow.


Еще одна программа, которую я хотел упомянуть, когда писал это вчера, была checkinstall , но я просто не мог вспомнить ее название до сих пор. checkinstallупрощает создание функционального, хотя и далеко не совершенного, пакета любого программного обеспечения, которое вы в противном случае установили бы с помощью make install. Это не очень полезно для двоичных -только предварительно -скомпилированных программ (, например. проприетарное программное обеспечение ), но может быть очень полезным при наличии исходного кода.

1
03.10.2019, 15:41
3 ответа

Я предполагаю, что вы хотите записать это в свой домашний каталог, а не /home. Ваш домашний каталог обычно будет /home/username, или вы можете использовать ~, который представляет ваш домашний каталог.

Вы должны использовать find, а не ls, чтобы найти все файлы в папке /etc.

find /etc -type f > ~/etc.txt

Использование findтаким образом также может быть подвержено ошибкам, если, например, файлы имеют новую строку в имени.

1
27.01.2020, 23:30

Я еще новичок в этом, извините, если всех запутал.

Во всяком случае, я понял.

sudo -s #turns me into root

cd /etc
ls -a > /home/etc.txt
0
27.01.2020, 23:30
 "...under path /home" 

Это действительно так сказано? Это объяснило бы все это недоразумение. "По пути $HOME" было бы более разумно...

/home/$USERможет быть другим обозначением «вашего» домашнего каталога. Обычно он должен просто попросить вас «создать etc.txt в вашем домашнем каталоге»

Для «подробного содержания» также используйте -lопцию:

ls -alR /etc >~/etc.txt

или

cd
ls -lR /etc >etc.txt

(cdотдельно означает cd ~означает cd $HOMEозначаетcd /home/wickerman)

(Параметр -aвызывает сомнения здесь для /etc)

1
27.01.2020, 23:30

Теги

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