Установка программ на другой диск в линукс
На компьютере 2 диска один C (ubuntu), другой D (туда все пихаю) надо что бы игры устанавливались не на диск C, а на диск D. Такое возможно?
Нет. Можно теоретически (не для Вас) устанавливать приложения (игры) не туда, куда положено (не из репозитория, компилируя руками из исходников с риском обвалить всю систему), но всё равно в каталог корневого раздела. То есть, в Убунту по любому. И да, в Линуксе нет никаких "C" и "D".
Так, по порядочку :)
1. Прежде всего, в Линухе нету никаких "Дисков-Це", "Дисков-Де" и пр. "дисков". Поскольку Линух не является Дисковой ОС :) И если ты видишь какие-то "диски", значит, загружена какая-то Венда. Которая, значит, тоже где-то "есть".
2. В Линухе все файловые системы монтируются в те или ные каталоги, находящиеся в корневом каталоге / (root). Есть одноимённый пользователь, который может этот каталог изменять. Могут быть также и другие пользователи, обладающие полномочиями root. Однако изменять содержимое корневого каталога (/) настоятельно не рекомендуется. Поскольку его структура продумывалась людьми уровня докторов наук, и вряд ли мы тут в состоянии предложить что-то лучшее.
3. Софт в Линухе по умолчанию ставится в /usr Этот каталог содержит разные подкаталоги, куда и прописываются разные компоненты программ. Т. е. разные "куски" одной программы могут быть прописаны в разные подкаталоги в /usr В этом - важное отличие от Венды, где проги обычно целиком ставятся в свой каталог в Program Files. Сейчас эта традиция :) постепенно уходит, но говорить об этом долго и грустно.
4. Чисто теоретически :) можно изначально монтировать в /usr какую-то отдельную файловую систему, размещённую на другом hdd. Или даже на другом компе :) Ничего плохого в этом нет, главное - знгать, зачем это надо :) Проще это делать во время установки системы. Перенести содержимое /usr на другую ФС и затем - монтировать её в /usr - тоже возможно, только главное - сохранить права доступа. Иначе с запуском, обновлением и/или удпалением софта могут быть неиллюзорные траблы.
5. Файловая система, монтируемая в /usr, может определяться в Венде как угодно. В т. ч., и как "Диск-Де". Главное - это чтобы файловая система не являлась NTFS. Это важно с т. зр. безопасности: Линух (как и любая другая не-Венда) не "умеет" корректно работать с правами на NTFS.
Пока занят извечной проблемой «а какой дистр ставить», мучает вопрос: как в линуксе, при установке какой-либо новой программы, указать ей другое место? Поясню ситуацию. У меня в пк стоят SSD на 128 гигов, и два харда на 2Тб и 500Гб. На ссдюке, естественно, стоят окна, туда же устанавливаются проги, которые должны работать пошустрее, двухтерабайтник используется для хранения рабочих файлов, других больших программ и игрушек, а малый хард служит исключительно хранилищем для скачанных файлов - торренты, закачивалки, браузеры кидают файлы туда.
Соответственно, когда лин встанет рядом с виндой, нужно, чтобы часть программ, ему предназначенных,устанавливалась как раз на большой хард также, как и программы для винды.
Какие есть способы безболезненного и менее муторного создания такой системы хранения программ на лине?
В общем случае, это невозможно.
кстати, а перенести корень и слинковать нельзя? Там с UID будут бока?
ТС, можно в директорию /орт инсталлить, но это геморрой и не всегда возможно.
Очень редкие программы в linux(на примере ubuntu) ставятся в один каталог вместе со всеми требуемыми библиотеками(таковой например является viber для linux(ставится в /opt) или дистибутив Qt, скачанный с их оф. сайта(можно ставить куда угодно)).
В основном же все пакеты ставятся в разные каталоги и еще обычно отдельные пакеты занимают не много места(потому что обычно пакет не несет с собой всех требуемых библиотек, а использует библиотеки из других пакетов(которые помечены как зависимости данного пакета)). Так что перенос софта в другой каталог - плохая затея.
Вообще говоря, у меня на /root разделе(без /home и /opt) занято 11Gb (это при том, что много софта установлено)(при этом размер всего /root раздела - 37Gb (много занимает /home)). Неужели на ssd ты не найдешь 10-15Gb на свой /root ?
С другой стороны можно использовать /usr на другом разделе, т.к. в него ставится много исполняемых файлов и библиотек. Но в таком случае вопрос: зачем тогда вообще linux на ssd, если пол системы будет на другом разделе? Ставь уж тогда всю linux-систему целиком на hdd-раздел.
При компилянии программы из сорцов, собственно перед самим процессом компиляния ты можешь указать в конфигурационном файле, куда ее ставить.Это единственный способ.
Я бы сказал с текущими дистрибутивами искоробочно невозможно.
Какие есть способы безболезненного и менее муторного создания такой системы хранения программ на лине?
Как workaround могу предложить после установки перенести самые тяжелые каталоги на другой винчестер и смонтировать соответствующие папки (каталоги) с помощью mount bind.
Какой дистрибутив GNU/Linux?
Что мешает перенести все файлы пакета на другой раздел и наделать симлинков? Можно это делать скриптом.
Ей богу, вся система с более-менее популярным софтом - 7 гигов в лучшем случае. Фильм больше весит. Не жалейте, оно того стоит.
Эт не винда с её минимально необходимыми 30гб.
Возможно, можно использовать mount bind, можно использовать aufs3 для /usr, можно /usr вынести в отдельный раздел, да много способов, в этом сила и гибкость GNU/Linux.
Это не скажется на работоспособности программ?
По-идее - не должно. Сделай ls -la /usr/lib - там и так симлинков куча. В /usr/bin - тоже.
pawnhearts ★★★★★ ( 07.10.16 13:37:15 )
Последнее исправление: pawnhearts 07.10.16 13:38:29 (всего исправлений: 1)
Есть ноутбук на ос Ubuntu 15.04. Наблюдаются сбои с hdd. Хочу поставить Ubuntu на второй hdd рабочий. Вопрос как перенести установленные программы в на другой hdd.
Установить через пакетный менеджер. Чтобы заново не настраивать можешь конфиги руками перенести.
Jefail ★★★★ ( 28.11.15 21:47:09 )
Последнее исправление: Jefail 28.11.15 21:47:14 (всего исправлений: 1)
а если не скачивать пакеты как быть?
Так если дело на то пошло, может тебе проще всю систему перенести с одного харда на другой? Просто задача «Поставить систему как обычно и перенести программы» у меня слабо вяжется, тут либо всё либо ничего. Но на всякий подожди ответы других, возможно я чего не знаю.
Jefail ★★★★ ( 28.11.15 21:53:28 )
Последнее исправление: Jefail 28.11.15 21:53:36 (всего исправлений: 1)
Коль так - то не боишься копирнуть побитое. Акронис тебе в зубы и вперед.
Но перенести всю систему не получится ибо один sata порт( Получается при установке через apt-get пакеты скачиваются в /tmp устанавливаются а потом удаляются ?
Проблема не в этом, установленный пакет раскидывается по корню системы + тащит за собой зависимости. Я слабо представляю как это можно перенести, да еще и не сломать.
Хорошо. А можно с помощью apt сначало скачать пакет а потом установить. Что бы потом такой ситуации не возникло?
Я не пойму в чём твоя проблема. Если ты можешь подключить два харда одновременно (можно даже в другой комп), то просто копируешь систему, можно системный раздел как образ скопировать через dd (ну и загрузчику объяснить что теперь где), или даже через банальный cp -a . Если ты не можешь два харда одновременно, то копираушь список пакетов в тектовый файл на флешку и скармливаешь пакетному менеджеру новой системы, дебианщики/убунтушники напишут тебе эти две команды.
Пакеты всё равно устаревают и обновляются, нет смысла хранить их в виде .deb, если ты не в тайге без интернета живёшь.
Недавно перешёл на linux(Fedora) и ещё не всё понимаю как сделать лучше или как надо, собственно поэтому решил спросить тут. Опишу всю ситуацию. У меня есть 2 диска ssd и hdd, при установки linux поставил /home на hdd, а так же создал так сказать «/home-ssd» - директорию на ssd-шнике. Хотел её использовать для приложений/игр и др., которые хочу чтобы запускались с ssd. Но столкнулся с проблемой при установки игры, что я не могу её установить в «/home-ssd» - я так понимаю недостаточно прав для установки. Может кто подсказать какими командами через терминал можно установить игру и как правильно указать путь установки. Или как перенести файлы из /home в /home-ssd без остатка файлов в /home.
Какие игры, как ты их устанавливаешь и откуда берешь? Все это имеет значение для ответа.
albion online, скачал установщик с оф сайта игры. в /home устанавливается и не ворчит, а вот в /home-sdd не хочет.
устанавливаю просто запуская приложение что скачал, добавив в свойствах в права «разрешить выполнения файла как программы»
Потрошить установщик мне не очень хочется. Поэтому предложу другие варианты
- Игра есть в стиме. Устанавливаешь стим, создаешь на ссд директорию с играми с любым названием (раздел ссд должен быть смонтирован), в настройках стима указываешь эту директрию как основную для установки, устанавливаешь игру через стим.
- Монтируешь ссдшник в любое место, чтобы были права на запуск. Создаешь там любую директорию, создаешь нового пользователя с указанием существующей домашней директории на созданную, логинишься под новым пользователем, устанавливаешь игру.
Еще попробуй, грепни из установщика все ~/ и $HOME . Может быть их просто можно временно обмануть, задав новый $HOME на время установки.
А вообще лучше бы систему установил на SSD, было бы эффективнее. Но можно сделать и то что ты хочешь… Гугли про права доступа к каталогам и файлам в Linux, команды chmod и chown.
Тебе нужно будет что-то подобное сделать:
sudo chown -R user:user /home-ssd
sudo cp -a /home/. /home-ssd
sudo usermod -md /home-ssd/user user
только прочитай хоть для начала что делают эти команды.
У тебя изначально неправильный концепция создана. Нужно было ставить всю систему вместе с домашней директорией на ssd, на hdd создать файлопомойку и монтировать в домашнюю или прокинуть линки для загрузок, видео, музыки и т. д.
Возможно вы и правы, в связи с нехваткой опыта сделал как сделал, ибо ещё не разбираюсь как «на hdd создать файлопомойку и монтировать в домашнюю или прокинуть линки для загрузок, видео, музыки и т.д.»
Это вопросы для отдельной темы.
Ну тогда всё ок, можешь вообще этот кусок ssd примонтировать куда- нить в папку /home/user/games/. А можно и так пользоваться как у тебя, только права там выставить юзеру. Но вон даже аноним тебе правильно говорит, что правильней было бы сделать.
В идеале, если ssd большой, переустановить систему. При переустановке, разбей SSD на два раздела, один это будет корень, а другой home. Оставшийся HDD сразу целиком смонтируй куда-нить в /mnt/pomoyka или в папку юзера /home/user/pomoyka и потом туда весь хлам типа игр сваливать.
Благодарю за ответ, идея с перемонтированием ssd в что-то типа /home/user/games/ мне в голову что-то не приходила, по сути эта самый простой вариант для меня сейчас, я думаю. Но чтобы хоть чему-то научиться я сейчас хотел выдать права себе или сделать в папке /home-ssd такие права чтобы я могу туда устанавливать с помощью команд из той статьи, что я кинул выше. Стоит ли заморачиваться только ради того чтобы что-то понять или лучше перемонтировать в /home/user и т.д.?
В /home расположена куча мелких конфигов к которым желательно иметь высокую скорость доступа. Лучше все-таки перемонтировать как тут уже посоветовали.
идея с перемонтированием ssd в что-то типа /home/user/games/ мне в голову что-то не приходила
Установка тем образом, что ты описывал (через установщик с оф. сайта), все равно потребует вмешательства неизвестной степени.
Стоит сразу правильно организовать структуру. В дальнейшем не будет проблем. На ssd делай разделы /, /home, swap и esp (если uefi). После установки создай в хомяке (домашняя директория, $HOME, ~) директорию типа storage (/home/твой_ник/storage). В нее монтируй свой hdd, если он с одним разделом, конечно. Дальше по ситуации.
Спасибо за ответ. Устанавливаю игру я просто через запуск установщика что я скачал с сайта указав в свойствах в вкладке «права» ставлю галочку «разрешить выполнения файла как программы»
думаю я получил ответ на свой вопрос и не один. Думаю можно ставить отметку как решённую.
На будущее, если ты не за этику и свободу, то лучше через steam. Он хорошо работает, и там можно через ГУИ настроить, что нужно. Для тебя это будет проще и надежнее.
Спасибо за ответ, изначально игра не была доступна на стиме, так что я хотел установить так как устанавливал, но можно и через него, в любом случае инфа полезная.
а там точно установщик есть? последние игры что я видел это архивы с лаунчером, их распаковать можно куда угодно, работают без установки, конфиги да, в ~/home/username/ создают.
Время от времени появляются новые задачи, либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для Ubuntu.
В Ubuntu, как и в других операционных системах, есть понятие зависимостей. Это значит, что программу можно установить, только если уже установлены пакеты, от которых она зависит. Такая схема позволяет избежать дублирования данных в пакетах (например, если несколько программ зависят от одной и той же библиотеки, то не придётся пихать эту библиотеку в пакет каждой программы — она поставится один раз отдельным пакетом). В отличие от, например, Slackware или Windows, в Ubuntu зависимости разрешаются пакетным менеджером (Synaptic, apt, Центр приложений, apt-get, aptitude) — он автоматически установит зависимости из репозитория. Зависимости придётся устанавливать вручную, если нужный репозиторий не подключен, недоступен, если нужного пакета нет в репозитории, если вы ставите пакеты без использования пакетного менеджера (используете Gdebi или dpkg), если вы устанавливаете программу не из пакета (компилируете из исходников, запускаете установочный run/sh скрипт).
Установка из репозиториев
Репозиторий - место централизованного хранения пакетов программного обеспечения. Использование репозиториев позволяет упростить установку программ и обновление системы. Пользователь волен выбирать, какими репозиториями будет пользоваться, и даже может создать собственный. Список используемых репозиториев содержится в файле /etc/apt/sources.list и в файлах каталога /etc/apt/sources.list.d/ , проще всего его посмотреть через специальное приложение, которое можно вызвать через главное меню: Система→Администрирование→Источники Приложений, или через Менеджер пакетов Synaptic.
Если вы не добавляли локальные репозитории (например, CD/DVD диски), то для установки программ из репозиториев вам понадобится интернет.
У такого метода установки программ есть масса преимуществ: это просто удобно, вы устанавливаете уже протестированные программы, которые гарантированно будут работать на вашей системе, зависимости между пакетами будут решаться автоматически, при появлении в репозитории новых версий установленных программ вас об этом проинформируют.
С использованием графического интерфейса
Выберите Система → Администрирование → Менеджер пакетов Synaptic и получите более функциональный инструмент для работы с пакетами. В частности вы можете например устанавливать программы частично, если вам, например, не нужна документация или еще что-то. Запустите программу Менеджер пакетов Synaptic Система→Администрирование→Менеджер пакетов Synaptic. По запросу введите свой пароль. В запустившейся программе нажмите кнопку «Обновить», подождите, пока система обновит данные о доступных программах.
В списке доступных программ сделайте двойной клик на нужной программе (либо клик правой кнопкой - пункт «Отметить для установки»). После того, как все нужные программы помечены для установки, нажмите кнопку «Применить». Подождите, пока необходимые пакеты будут скачаны и установлены. Схожие функции выполняет программа "Установка и удаление приложений" её можно легко найти в меню Приложения→Установка/удаление…
С использованием командной строки
Установка из командной строки позволяет получить больше информации о процессе установки и позволяет гибко его настраивать, хотя и может показаться неудобной начинающему пользователю.
Запустите терминал. Обновить данные о доступных в репозиториях программах можно командой:
По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду:
Если нужно установить несколько программ, то их можно перечислить через пробел, например:
Если потребуется - ответьте на задаваемые вопросы (для положительного ответа нужно ввести Y или Д). Программа будет установлена, если она уже установлена - она будет обновлена.
К сожалению не все программы входят в основные репозитории Ubuntu. Поэтому вам придется вручную подключать необходимые репозитории с нужными вам программами или пакетами, для этого вы можете воспользоваться статьей: Подключение репозитория. Или же попытаться найти необходимую информацию по установке, на официальном сайте программы.
Для поиска программы в списке доступных пакетов воспользуйтеcь командами:
где keyword - название программы, часть названия программы или слово из её описания.
Установка определенной версии пакета
Ищем нужную версию пакета:
Устанавливаем нужную версию пакета:
Установка из deb-пакета
С использованием графического интерфейса
Перейдите при помощи Nautilus в папку, где находится deb-пакет, откройте свойства файла (правая клавиша → Свойства), во вкладке «Права» разрешите выполнение файла (галочка у «Разрешить исполнение файла как программы»). Далее закрываем свойства файла, и по двойному щелчку Nautilus предложит нам открыть код или выполнить файл. Запускаем. Либо возможно это сделать специальным установщиком GDebi (установить можно из Центра приложений, вписав в поиск GDebi, либо вписав в командную строку:
После установки запускаем deb-пакет с помощью установщика программ GDebi все, что от вас потребуется - это просто нажать кнопку «Установить пакет».
Возможные ошибки
В системе отсутствуют необходимые устанавливаемому приложению пакеты. В таком случае «Установщик программ GDebi» автоматически попытается получить нужные пакеты из репозиториев. Или же вы можете самостоятельно скачать требуемые пакеты и установить их.
С использованием командной строки
Запустите терминал (Меню: Приложения - Стандартные - Терминал). Установка выполняется с помощью программы dpkg
Это бывает полезно для установки пакета программы вместе с пакетами зависимостей.
Запрет обновления пакета
Бывает когда ненужно ставить версию пакета новее установленной. К примеру отсутствует поддержка чего либо в новой версии либо, она не корректно работает на системе.
Через dpkg
имя пакета берется из команды, которой вы ставили этот пакет. Чтобы разрешить обновлять делаем так:
Смотрим статус пакета:
Через apt
Здесь все проще. Чтобы заблокировать пакет:
Чтобы разблокировать пакет:
Установка программ с собственным инсталлятором из файлов sh, run
Иногда программы могут распространяться с собственным инсталлятором. Это ничем не отличается от ситуации в Windows. Только здесь, распаковав tar.gz архив с дистрибутивом программы, вы вместо setup.exe увидите что-то наподобие install.sh. Это заранее собранный пакет ПО, который оформлен в виде скрипта или бинарника, он берёт на себя работу по размещению файлов в нужных местах и прописыванию нужных параметров. При этом пропадает возможность управлять таким ПО с помощью пакетного менеджера. Пользоваться такими пакетами нежелательно, но если выбора нет, то переходим в директорию с файлом, например:
Разрешаем выполнять этот файл:
Иногда программу можно установить и без прав суперпользователя (без sudo ), но это, скорее, исключение.
Иногда дистрибутив программы распространяется в виде самораспаковывающегося архива. В таком случае это будет просто один единственный файл .sh который и нужно запустить. Дальше вы просто получите мастер где нужно будет ответить на ряд вопросов, так же как это делается в Windows. Так устанавливаются официальные драйверы nVidia, ATI, среда разработчика NetBeans и т.п.
Есть программы, которые не нуждаются в инсталляции и распространяются в виде обычного архива tar.gz, который просто достаточно куда-то распаковать. В Windows также есть такие программы, их еще часто называют словом Portable. Устанавливать такие программы не требуется, достаточно распаковать в любое место, но стандартное место обычно - это каталог /opt. Конечно, пункты на запуск в меню вам придется добавлять вручную, для этого нужно щелкнуть правой кнопкой по заголовку меню Программы и выбрать Правка меню.
Установка из исходников
Если для вашей системы нигде нет deb-пакетов, то программу можно собрать (скомпилировать) самому из исходных кодов, которые можно скачать на официальном сайте любой Open Source программы либо из source-репозитория дистрибутива.
Я рекомендую по возможности избегать этого способа установки программ. Основное, что вам понадобится - это средства для компиляции, для этого сначала нужно установить пакет build-essential. Дальше, нужно распаковать архив с кодами программы в какую-то временную папку. Потом нужно найти файл README или INSTALL, прочитать его и выполнить то, что там написано. Чаще, установка программ таким способом ограничивается последовательным выполнением следующих команд:
Вот так. Желательно, конечно, по возможности избегать установки программ не с помощью deb-пакетов, то есть другие способы не рекомендуются. Однако их нужно знать, чтобы не запутаться в потоке информации.
Автоматическая установка зависимостей при сборке из исходников
Такой тип установки лучше чем просто ./configure && make && make install, и подходит для установки программ отсутствующих в репозиториях.
Переходим в папку с распакованными исходниками и командуем:
Команда auto-apt сама доставит необходимые пакеты для сборки, и позволит задавать меньше вопросов.
Создание deb пакета для более простой работы в дальнейшем, (установка, удаление, и прочее):
Читайте также: