У меня нет ответа, выполняющего все из того, что Вы хотите только часть его. Если достаточно использовать дату, в которую почта прибывает вместо заголовка даты самой почты и если одна папка на дату также достаточна, можно сделать это с maildrop:
DEFAULT="$HOME/Maildir"
MAIL = "$HOME/Maildir"
DAY = `date +%d`
MONTH = `date +%m`
YEAR = `date +%y`
ARCHIVEFOLDER = $YEAR$MONTH$DATE
`test -d $MAIL/.$ARCHIVEFOLDER`
if ( $RETURNCODE != 0 )
{
`maildirmake -f $ARCHIVEFOLDER $MAIL`
}
# logfile "/tmp/maildrop"
# log $MAIL/.$SPAMORDNER
to $MAIL/.$ARCHIVEFOLDER
}
Я надеюсь, что можно расти на этом.
Подавляющее большинство .deb
пакеты, предоставляют ли им официальные репозитории, установка с префиксом /usr
.
То, что это означает, - то, что исполняемые файлы, предназначенные, чтобы быть выполненными пользователем, входят /usr/bin
или /usr/sbin
(или /usr/games
если это - игра), совместно использованные библиотеки входят /usr/lib
, платформенно независимые совместно используемые данные входят /usr/share
, заголовочные файлы входят /usr/include
, и исходный код, установленный автоматически, входит /usr/src
.
Небольшой процент использования пакетов /
как префикс. Например, bash
пакет помещает bash
исполняемый файл в /bin
, нет /usr/bin
. Это для пакетов, которые обеспечивают предметы первой необходимости, чтобы работать в однопользовательском режиме (таком как режим восстановления) и запустить многопользовательский режим (но помнить, который часто включает функциональность для монтирования некоторых видов сетевых ресурсов... в случае, если /usr
удаленная файловая система).
Небольшой процент .deb
пакеты, главным образом созданные с Быстро, создают определенную для пакета папку внутри /opt
и помещенный все их файлы там. Кроме этого, большую часть времени /opt
местоположение, используемое программным обеспечением, которое установлено из исполняемого установщика, который не использует диспетчер пакетов системы, но не включает компиляцию из источника. (Например, при установке собственной программы как MATLAB Вы, вероятно, вставите его /opt
.)
В отличие от все это, когда Вы загружаете исходный архив (или получаете исходный код от системы управления версиями, такой как Базар или мерзавец), создайте его и установите его, это обычно устанавливает на префиксе /usr/local
(если Вы не говорите этому делать иначе). Это означает, что Ваши исполняемые файлы входят /usr/local/bin
, /usr/local/lib
, или /usr/local/games
, Ваши библиотеки в /usr/local/lib
, и т.д.
Существуют некоторые исключения к этому - некоторые программы, по умолчанию, устанавливают на /usr
префикс и таким образом перезаписал бы установки тех же программ от .deb
пакеты. Обычно можно предотвратить это путем выполнения ./configure --prefix=/usr/local
вместо ./configure
когда Вы создаете их. Я снова подчеркиваю, что обычно это не необходимо.
(Именно по этой причине это проявляет очень здравый смысл для Вас поместить исходный код, который Вы создаете и установите для использования в масштабе всей системы в /usr/local/src
, который существует с этой целью.)
Принятие упакованной версии установлено в /usr
и версия, которую Вы установили из источника, находится в /usr/local
:
Файлы от установленного пакета не будут перезаписаны.
Обычно более новая версия будет работать при ручном вызове программы от командной строки (принятие /usr/local/bin
или везде, где исполняемые файлы установлены, находится в Вашем PATH
переменная среды и появляется перед соответствием /usr
- снабженный префиксом каталог, такой как /usr/bin
).
Но могут быть некоторые проблемы с тем, какие средства запуска создаются и делаются доступные через меню или поиск. Кроме того, при установке больше чем одной версии библиотеки в различных местах это может стать немного более сложным для определения, который будет использоваться какой программное обеспечение.
Если Вы на самом деле не используете обе версии программы или библиотеки, то часто необходимо удалить тот, который Вы не используете, хотя в ограниченных ситуациях Вы могли бы хотеть сохранить пакет установленным для удовлетворения зависимостей.
Однако, если по какой-либо причине файлы перезаписываются (например, если исходный код установлен в /usr
вместо /usr/local
):
sudo make uninstall
в /usr/local/src/program-or-library-name
каталог), и затем удаляют пакет или пакеты, которые обеспечивают файлы, которые были перезаписаны (поскольку они не будут восстановлены путем удаления версии, установленной из источника). Затем переустановите любую версию, которую Вы хотите иметь.Что касается выполнения зависимостей:
Если существует a .deb
пакет, который зависит от программного обеспечения, которое Вы установили из источника, и требует версии, которую Вы установили из источника (или выше), тот пакет успешно не установит. (Или, чтобы быть более точными, Вы можете "устанавливать" его, но это никогда не будет "настраиваться" так, Вы не сможете использовать его.) Зависимости разрешены тем, какие версии пакетов установлены, не тем, какое программное обеспечение Вы на самом деле имеете.
Точно так же программное обеспечение, по крайней мере, попытается установить полностью даже при ручном удалении файлов, обеспеченных пакетами, от которых зависит устанавливаемое программное обеспечение. (Вы не должны обычно пытаться использовать это для любой цели. Диспетчер пакетов, работающий на основе ложной информации, является почти всегда плохой вещью.)
Поэтому, если Вы не можете найти пакет, который обеспечивает версию программного обеспечения, в котором Вы нуждаетесь, Вы, возможно, должны создать свое собственное .deb
пакет из программного обеспечения Вы скомпилировали, и установка от того пакета. Затем диспетчер пакетов будет знать то, что продолжается. Создание пакета для Вашего собственного использования, которое Вы не должны работать хорошо над компьютерами других людей, на самом деле не очень трудно. (Но я чувствую, что это может выйти за рамки Вашего вопроса, поскольку он в настоящее время сформулирован.)
Что Вы устанавливаете от центра программного обеспечения или с командой APT (apt-get
, aptitude
) или с dpkg
известен системе управления пакета. dpkg
инструмент управления пакетом низкого уровня, APT и друзья являются высокоуровневыми инструментами, которые вызывают dpkg
выполнить фактическую установку и также обработать загрузки пакета и зависимости.
При компиляции программы из источника это не будет известно диспетчеру пакетов. Конвенция по Linux, который необходимо последовать боль того, чтобы приходиться нелегко отслеживающий вещи и переопределяющий установки:
/bin
, /lib
, /sbin
, /usr
резервируются к диспетчеру пакетов;/usr/local
для системного администратора — уважают иерархию каталогов там, но необходимо самостоятельно управлять файлами.Видеть Лучший способ обновить vim/gvim до 7,3 в Ubuntu 10.04? для списка способов получить более поздние версии программного обеспечения. Самый легкий путь получает PPA, если существует тот. Если Вы получаете двоичный пакет или компиляцию из источника, я рекомендую использовать, убирают для управления вручную установленным программным обеспечением. С другой стороны, сделайте свое собственное .deb
пакет — это - больше работы, но это окупается, если Вы часто обновляете (обычно восстанавливающий пакет для следующей вспомогательной версии, очень быстро), или если Вы развертываетесь ко многим машинам, выполняющим то же распределение.
С большинством программ, если Вы работаете ./configure && make && sudo make install
, программа установлена под /usr/local
. Действительно проверьте документацию, которой предоставляют источник (обычно в названном файле README
или INSTALL
) или выполненный ./configure --help
проверять это дело обстоит так. Если программа установлена под /usr/local
, это не вмешается в версию, обеспеченную диспетчером пакетов. /usr/local/bin
на первом месте в системе PATH
. Обратите внимание, что необходимо будет работать make install
как администратор (корень); не компилируйте как корень. Как отмечено выше, я рекомендую использовать, убирают вместо того, чтобы установить непосредственно в /usr/local
.
Это зависит от пакета и большого количества других вещей
Длинная короткая история:
Нет никакого универсального ответа. Это - высоко зависимый пакета. Необходимо использовать официальный +1 PPAs, если это возможно, в противоположность компиляции из источника.
/opt
. /usr/local
стандартный префикс, и даже /usr
более общий префикс по умолчанию, чем /opt
. /opt
обычно используется для программного обеспечения, которое устанавливает в специализированном каталоге, названном по имени конкретного приложения (так, например, приложение по имени Foo могло бы быть установлено со всеми его файлами внутри /opt/foo
).
– Eliah Kagan
30.08.2012, 02:34