2011-12-19 3 views
9

Установленный по умолчанию каталог apt-get is/opt. Можно ли изменить его на другой каталог?Как изменить каталог установки apt-get

+0

быть более точным: этот каталог по умолчанию APT-получить приложение (при компиляции из исходных текстов) из каталога по умолчанию приложений, установленном с APT-получить? – CedX

+0

Это каталог по умолчанию для приложений, установленных с помощью apt-get – tommywang

+0

. Тогда вы не можете. –

ответ

7

Лучший способ, которым я могу думать о том, чтобы использовать символические ссылки

к сведению, что не все программы устанавливаются в тот же каталог и/неавтоматического не может быть лучше всего двигаться. (См конец, например, перемещения только одна папка/программа)

Это то, что я сделал с EasyPeasy (Ubuntu 10.04)

Следуйте этот код внимательно некоторые команды могут удалить важные файлы, если они используются неправильно.

Прежде всего вам нужно убедиться, что/opt (или ваш дистрибутив по умолчанию apt-get install directory) пуст. Если у вас есть данные в папке отказа, которую вы, скорее всего, делать, вы можете переместить его в другое место первым для безопасного хранения:

sudo mkdir /New_Location/newtmp          # Generates Temporary Folder for Programs 
sudo cp -a /opt/* /New_Location/newtmp        # Moves Programs to Temp folder 

После резервного копирования вы можете удалить исходный каталог:

sudo rm -rf /opt/             # Removes opt directory 

Вы можете создать новую папку Program Files в диске с большим количеством пространства и создать символическую ссылку:

sudo mkdir /New_Location/Program-Files        # Generates New Program Directory 
sudo ln -s /New_Location/Program-Files /opt       # Creates Symbolic Link 

Наконец переместить все свои старые программные файлы в новую папку и убирать временные данные:

sudo cp -a /New_Location/newtmp/* /New_Location/Program-Files  # Moves Programs to Program Files Folder 
sudo rm -rf /New_Location/newtmp/         # Removes Temp folder 

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

например: для перемещения Java (JVM около 300 МБ) выполните следующие действия. проверить каталог java с помощью анализатора использования дисков. шахта/USR/Библиотека/JVM

sudo mkdir /New_Location/Program-Files/Java       # Generates New Program Directory 
sudo cp -a /usr/lib/jvm/* /New_Location/Program-Files/Java   # Moves Program to new folder 
sudo rm -rf /usr/lib/jvm            # Removes opt directory 
sudo ln -s /New_Location/Program-Files/Java /usr/lib/jvm    # Creates Symbolic Link 

Его лучший на данный момент сделать рестарт, который должен очистить кэш.

Удачного хак Limited Intelligence

+0

Представьте себе следующее. Вам нужны две версии пакета в разных каталогах. Таким образом, второй пакет будет превосходить первый. Символические ссылки тогда не выгодны. – DanFromGermany

2

Вы не можете: путь установки жестко закодирован в пакетах (см., Например: http://packages.ubuntu.com/oneiric/i386/mono-runtime/filelist). Этот путь обычно/usr вместо/opt, но он зависит от пакетов. Если вы хотите переопределить каталог по умолчанию, вы должны вручную извлечь содержимое пакетов. Но он не может работать: файлы конфигурации, даже двоичные файлы иногда, будут продолжать использовать старый путь. Поэтому вы должны обновить их, чтобы пакеты работали правильно.

Смежные вопросы