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
. Это не очень полезно для двоичных -только предварительно -скомпилированных программ (, например. проприетарное программное обеспечение ), но может быть очень полезным при наличии исходного кода.
Я предполагаю, что вы хотите записать это в свой домашний каталог, а не /home
. Ваш домашний каталог обычно будет /home/username
, или вы можете использовать ~
, который представляет ваш домашний каталог.
Вы должны использовать find
, а не ls
, чтобы найти все файлы в папке /etc
.
find /etc -type f > ~/etc.txt
Использование find
таким образом также может быть подвержено ошибкам, если, например, файлы имеют новую строку в имени.
Я еще новичок в этом, извините, если всех запутал.
Во всяком случае, я понял.
sudo -s #turns me into root
cd /etc
ls -a > /home/etc.txt
"...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)