Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ubuntu tips'n'tricks

6
27 ноября 2009 года
George
4.1K / / 05.01.2007
Я тут подумал, что свои скитания в убунту неплохо бы выложить сюда, вдруг кому пригодятся. Надеюсь, Iktomy меня не накажет =) (Я только за! Сделал тему важной. Переносить в общую установку ПО в Unix пока, а может и вообще, не буду)

[SIZE=2][COLOR=red]Большая просьба не постить сюда всякие вопросы, ответы на них или спасибы - вы только засрете топик, а я буду просить модераторов убивать говнопосты. Если же есть свои трюки и хаки, то другой разговор - постите.[/COLOR][/SIZE]

Итак погнали.

[SIZE=3]Пособие для развертывания локального репозитория:[/SIZE]
Представим, что на работе негодяи начальники не дают много интернета. Дома с интернетом проблем нет. Решается переносом пакетов с дома на работу и развертыванием локального репозитория на работе. Пособие для версии 9.10, но работать будет для других версий, достаточно karmic заменить на кодовое название другой версии.
Дома:
1. Администрирование -> Менеджер пакетов Synaptic. Настройки -> Параметры -> Файлы -> Ставим галку "Хранить все загруженные пакеты в кэше".
2. Все скачанные дома пакеты лежат в /var/cache/apt/archives. Те, что нужно копируешь на флешку и несешь на работу.
На работе:
1. Надо развернуть локальный репозиторий. Создай в любом месте папку rep. В ней создай две папки: dists & pool. Затем создай такие папки rep/dists/karmic/main/binary-i386/. По этому пути должен находиться индексный файл Packages. О его создании чуть позже. После этого создай папки rep/pool/main/. Туда копируй все нужные тебе пакеты.
2. Затем создаешь индексный файл:
 
Код:
# Команды надо будет выполнять от рута
sudo -s
# Переходишь в папку с репозиторием, например /home/Vasja/rep/
cd /home/Vasja/rep/
# Сканирование репозитория
dpkg-scanpackages ./pool/main/ ./dists/karmic/main/binary-i386/Packages > ./dists/karmic/main/binary-i386/Packages

Эти команды необходимо выполнять при каждом изменении локального репозитория ибо в результате их выполнения создается индексный файл, содержащий информацию о всех пакетах в нем, зависимостях и т.д.
3. Администрирование -> Источники приложений -> ПО сторонних производителей -> Добавить. Вводишь строку
 
Код:
deb file:///home/Vasja/rep/ karmic main

Жмешь Ок.
4. Обновить список пакетов.
И те пакеты, что есть в локальном репозитории будут без проблем устанавливаться.
6
27 ноября 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Проблемы с воспроизведением DVD[/SIZE]
Большинство коммерческих DVD дисков зашифрованы с помощью CSS (the Content Scrambling System). Так вот если возникают проблемы с воспроизведением таких дисков необходимо выполнить следующее:
1. Установить пакет libdvdread4
 
Код:
sudo apt-get install libdvdread4

2. Установить пакет libdvdcss4. В стандартных репозиториях его нет, поэтому в терминале выполнить следующее:
 
Код:
sudo /usr/share/doc/libdvdread4/install-css.sh

Это работает для 9.04 и 9.10. Если версия другая, то я информацию брал отсюда:
https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
Там есть для других версий.
6
27 ноября 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Как направить интернет с ppp в локальную сеть?[/SIZE]
Ситуация: имеется GSM соединение через интерфейс ppp0. Нужно направить интернет в локальную сеть через eth0.
Насколько мне известно - можно сделать через прозрачный прокси-сервер (squid например), а можно через NAT. Я выбрал второй вариант.
1. Удаление всех имеющихся правил:
 
Код:
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

2. Правила для iptables:
Код:
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW ! -o ppp0 -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Don't forward from the outside to the inside.
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A FORWARD -i eth1 -o ppp0 -j REJECT

3. Включить форвардинг.
 
Код:
echo 1 > /proc/sys/net/ipv4/ip_forward

Чтобы он автоматически включался при запуске системы, в файле /etc/sysctl.conf нужно найти строку
 
Код:
# net.ipv4.ip_forward = 1
и раскомментировать ее. Если такой нет, то добавить.
4. Сохранить настройки iptables.
 
Код:
sudo iptables-save > /etc/iptables.up.rules

Затем в файл /etc/network/interfaces добавить в конец строку:
 
Код:
post-up iptables-restore < /etc/iptables.up.rules

Взято (с изменениями) отсюда:
http://kubuntu.ru/nat-iptables
6
27 ноября 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Настройка кэширующего apt прокси-сервера[/SIZE]
Ситуация: есть локальная сеть из машин с убунту. Пакеты по пять раз качать неохота. Смысла в локальном репозитории в общем то нет, он нужен, если нужно переносить пакеты между машинами, не связанным между собой сетью. В данной ситуации куда удобнее использовать apt-cacher.

1. Установка проста - найти в синаптике и установить пакет apt-cacher. Только не apt-cacher-ng - это другой кэшер, я с ним не работал, здесь все касаемо настройки именно apt-cacher. Из терминала:
 
Код:
sudo apt-get install apt-cacher

2. Настройка кэшера осуществляется правкой файла /etc/apt-cacher/apt-cacher.conf. Не забываем делать бэкапы конифигов перед правкой. Настроек там много - из тех, что менял я эти:
 
Код:
allowed_hosts=192.168.0.*
clean_cache=0

Комментариев в конфиге много, разобраться немудрено.
3. Открыть файл /etc/default/apt-cacher и изменить параметр AUTOSTART на единицу.
4. Запустить apt-cacher.
 
Код:
sudo /etc/init.d/apt-cacher restart

Если все было верно, то набрав в браузере http://localhost:3142/, увидите отчет кэшера.
5. Теперь необходимо изменить /etc/apt/sources.list на клиентских машинах.
Во всех адресах после http:// надо поставить IP адрес сервера (с портом, на котором висит кэшер - по дефолту 3142), на котором запущен кэшер. Пример:
 
Код:
# deb http://security.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricted
deb http://192.168.0.1:3142/security.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricted


Теперь кэшер запущен. При попытке скачать пакет на клиентской машине, он сначала "ищется" в кэше, если его там нет, то запрос перенаправляется в репозиторий в интернете. Но есть несколько нюансов. Хочу описать их.
1. Кэшер хранит пакеты в своем нестандартном "виде". Поэтому если хочется добавить пакеты в кэш, это делается с помощью спец. скрипта. Например в /var/local/cache/archives/ уже есть скачанные пакеты. Тогда импорт в кэш делается так:
 
Код:
/usr/share/apt-cacher/apt-cacher-import.pl -s /var/cache/apt/archives/

2. Когда пакеты скачиваются непосредственно на сервере - по умолчанию они идут не через apt-cacher, и, следовательно, не кэшируются. Чтобы решить этот вопрос, нужно изменить файл /etc/apt/apt.conf (если нету такого, то создать), добавив строку:
 
Код:
Acquire::http { Proxy "http://127.0.0.1:3142"; };

Теперь пакеты на сервере тоже будут качаться через прокси и попадать в кэш.
Взято (с изменениями) из журнала FCM.
6
27 ноября 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Адреса полезных репозиториев[/SIZE]

Opera:
 
Код:
deb http://deb.opera.com/opera/ stable non-free
# Ключ:
wget -O - http://deb.opera.com/archive.key | sudo apt-key add -

Взято с http://deb.opera.com

Skype:
 
Код:
deb http://download.skype.com/linux/repos/debian/ stable non-free


VirtualBox:
 
Код:
deb http://download.virtualbox.org/virtualbox/debian karmic non-free
# Ключ:
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

Взято с http://www.virtualbox.org/wiki/Linux_Downloads

Ну и для тех, кому мало:
https://help.ubuntu.com/community/Medibuntu - репозиторий, содержащий те пакеты, которые не могут быть включены в официальный по причинам лицензий
http://linuxoid.hostopia.com/Полезные_репозитории_для_Debian - некоторые и для убунту сгодятся.
274
28 ноября 2009 года
Lone Wolf
1.3K / / 26.11.2006
Exaile - тот же amarok, но на GTK
Цитата:

deb http://ppa.launchpad.net/exaile-devel/ubuntu karmic main

#ключ

gpg --no-default-keyring --keyring /tmp/.exaile.keyring --keyserver keyserver.ubuntu.com --recv B79BBC58DE219687E584187AC174A7B143CBFCC0
gpg --no-default-keyring --keyring /tmp/.exaile.keyring --export --armor B79BBC58DE219687E584187AC174A7B143CBFCC0 | sudo apt-key add -
rm /tmp/.exaile.keyring


http://www.exaile.org/downloads

Pidgin - в репах убунты он очень редко и долго обновляется ,в случае выхода новой версии. Так что лучше брать с оффициалоьного репозитоия

Цитата:
echo deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu \ `lsb_release --short --codename` main | \
sudo tee /etc/apt/sources.list.d/pidgin-ppa.list

#ключ
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com \ 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8



http://pidgin.im/download/ubuntu/

6
05 декабря 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Установка и настройка Apache + PHP + MySQL, добавление виртуальных хостов[/SIZE]

Значит установка:
 
Код:
sudo apt-get install apache2 php5 php5-mysql mysql-server-5.0 libapache2-mod-php5


Если все установлено верно, то можно кинуть пробный файл index.html в директорию /var/www/, набрать в браузере http://localhost/ и увидеть, что все работает.

Далее нужно добавить виртуальный хост. Это конечно, не обязательно, но для удобства разработки нескольких сайтов - пригодится.

Я храню свои сайты в папке /home/george/www/. Учтите, что george надо заменить на ваш UserName.
1. Создаем папку для сайта:
 
Код:
mkdir -p /home/george/www/example.com.dev

2. Добавление виртуал хоста:
 
Код:
sudo gedit /etc/apache2/sites-available/example.com.dev

И вписать в этот файл строки:
Код:
<VirtualHost *:80>
       ServerName www.example.com.dev
       ServerAlias example.com.dev
       ServerAdmin webmaster@example.com

       DocumentRoot /home/george/www/example.com.dev
       <Directory home/george/www/example.com.dev>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

       ErrorLog /var/log/apache2/error.log

       LogLevel warn

       ServerSignature On

</VirtualHost>

3. Далее нужно "активировать" новый сайт:
 
Код:
a2ensite example.com.dev

Насколько я понял, эта команда создает файл-ссылку в папке /etc/apache2/sites-enabled/ на соотв. файл (см. выше) в папке /etc/apache2/sites-available/. Хотя может она и еще что-то делает, особо я не разбирался.
4. И подредактировать файлик /etc/hosts, чтобы при попытке доступа к example.com.dev браузер не ломился в интернет, а знал, что этот адрес расположен локально:
 
Код:
sudo gedit /etc/hosts

Там добавить строку:
 
Код:
127.0.0.1 example.com.dev

5. И, наконец, перезапустить апач:
 
Код:
sudo invoke-rc.d apache2 reload


Вуаля. Виртуальный хост example.com.dev добавлен, можно приступать к разработке.

Взято с миру по нитке, в основном отсюда: http://rotuka.com/lamp-ubuntu-apache-mysql-php/

Ну и мелочишка. Кому нужен PHPMyAdmin, то все, что надо, это:
 
Код:
sudo apt-get install phpmyadmin

После этого, для его использования в браузере надо набрать http://localhost/phpmyadmin

Удачной разработки :)
6
19 декабря 2009 года
George
4.1K / / 05.01.2007
[SIZE="3"]Разрезка flac, ape и других аудиофайлов[/SIZE]

В основном все можно найти здесь:
http://aidanjm.wordpress.com

Но я столкнулся с одной особенностью, о которой хочу упомянуть, дабы не рыться. В общем то все стянуто с этого сайта.
В общем встала задача разрезать .ape файлы. До этого только .flac резал. При выполнении shntool возникла ругань. Дело в том, что нужен специальный кодек Monkey Audio Codec. Обычно это пакет mac, но в официальных репозиториях его почему то нет. Скачать его можно по ссылке:
http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb
Ну а дальше все просто, установить этот пакет. И разрезать файл обычными командами. Если кто найдет репозиторий, откуда можно этот пакет обновлять - будет круто.
274
04 января 2010 года
Lone Wolf
1.3K / / 26.11.2006
[SIZE="3"]Автоматическое монтирование NTFS-разделов жесткого диска[/SIZE]

У меня помимо убунты на машине и винда стоит. И имеются два NTFS-раздела. В принципе в убунте при обращении к такому разделу - он автоматически монтируется. Но чтобы получить к нему доступ, приходится обащаться еще раз - что в общем то не доставляет. Для автоматического монтирования разделов при старте надо:
1. Примонтировать разделы вручную.
2. Система -> Администрирование -> Дисковая утилита. Там нужно узнать название устройства, соотв. разделу, например /dev/sda1
3.
 
Код:
sudo gedit /etc/fstab

В конце добавить строку:
 
Код:
/dev/sda1 /mnt/media ntfs uid=1000,gid=1000,umask=002,utf8 0 0

Первый параметр - см. п.2, второй параметр - то, куда примонтируется сей раздел.
uid и gid это ID юзера и группы которым будут присвоены права на файлы на монитруемом разделе(всмысле они станут владельцами), если вы единственный пользвоатель компа то это можно прописать, 1000 - обычно дефолтные ID для юзера созданого при установке, если у вас другой ставите его.
umask=002 - маска прав на файлы. 002 установит маску -rwxrwxr-x, чего обычно вполне достаточно для нормальной работы, опять же учитывая что Вы единствееный пользователь
utf8 - кодировка в которой будут отображатся имена файлов, если у вас локаль настроина по другому - указываете нужную кодировку.
6
16 января 2010 года
George
4.1K / / 05.01.2007
[SIZE=3]Настройка PPPoE подключения[/SIZE]

1. Запустить в терминале pppoeconf.
2. Сказать ему все, что он просит.

Для соединения:
 
Код:
pon dsl-provider
Для откючения:
 
Код:
poff dsl-provider
Статус соединения - команда plog.
Статус самого интерфейса:
 
Код:
ifconfig ppp0


Для чтобы оно автоматом подключалось при старте системы (вообще должно, но у меня не работало), надо зайти в Network Manager, там на вкладке DSL выбрать подключение (оно там появится после вышеописанных действий), и в его свойствах поставить галку "Подключать автоматически".

Взято где-то на бескрайних просторах гугла.
274
16 января 2010 года
Lone Wolf
1.3K / / 26.11.2006
По умолчанию в Убунте ставится GCJ - GNU Compiler for Java. его вполне хавтает для обычных юзерских надобностей, аплет там посмотреть,по крайней мере в єтом убеждают разработчики. Но я как только сталиквался с ним - он всегда отказывался нормально работать. Вобщем, что делаем - ставим sun-овскую java, но статейка не об этом. Поставили - а у нас все постарому, делаем java -version и опять видем нещасную GCJ.
Действия наши следуйщие:

Цитата:

Открываем терминал
выполняем sudo update-java-alternatives -l что бы увидеть, какие java-ы у нас стоят
#
Далее выполняем sudo update-java-alternatives -s XXXX где ХХХХ версия Жавы, что мы хотим быть поумолчанию. для sun-овской нужно выполнить это sudo update-java-alternatives -s java-6-sun
#

Смотрим java -version чтобы убедится, что все впорядке


взято отсюда https://help.ubuntu.com/community/Java

274
18 февраля 2010 года
Lone Wolf
1.3K / / 26.11.2006
Firefox 3.6, Thunderbird 3.0
 
Код:
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu karmic main


ключ
 
Код:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 247510BE
14
09 сентября 2010 года
Phodopus
3.3K / / 19.06.2008
Глюки при компиляции Gtk+ приложения в CodeBlocks 8.02, Ubuntu 10.04
При попытке build & run дефолтового GTK+ приложения под CodeBlocks возникают ошибки компилятора типа
Цитата:

ERROR: gtk/gtk.h: No such file or directory
...
и т.д.


Естественно libgtk2.0-dev установлен, файлы под /usr/include/gtk-2.0 в порядке и на месте, более того - из терминала проект прекрасно собирается.
Причем в глобальных настройках проекта (те что над debug и release) для компилятора верно прописано `pkg-config gtk+-2.0 --cflags` а для линкера, соответственно `pkg-config gtk+-2.0 --libs`.
Проблема решилась довольно забавным способом - добавлением в конкретную конфигурацию (debug) указанных опций для компилятора и линкера. Причем после этого стала работать как конфигурация release (где ничего дополнительно не настраивалось), так и все новые проекты в обеих конфигурациях по дефолту (без прописывания чего-либо). Так как суть исчезновения бага искать лень, пишу как есть - может кому поможет.
ПыСы. При гуглении по форумам обнаруживается распространенный совет - прописывать в пути поиска /usr/include/gtk-2.0. Имхо бред, т.к. а) этого недостаточно б) pkg-config это и делает в) pkg-config добавляет помимо кучи путей еще и флаги г) pkg-config для того и создана

6
31 января 2011 года
George
4.1K / / 05.01.2007
Для тех, кого интересует тайм-менеджмент рекомендую статейку:
http://habrahabr.ru/blogs/gtd/89835/
Пока сегодня первый день пробую, есть неудобства, чуть позже хочу описать их поподробнее.
6
31 января 2011 года
George
4.1K / / 05.01.2007
Для пользователей VirualBox'а в убунту рекомендую поставить удобный апплет:
 
Код:
sudo -s
add-apt-repository ppa:michael-astrapi/ppa
apt-get update
apt-get install indicator-virtualbox
73K
19 июня 2011 года
Zdar
1 / / 19.06.2011
что делает indicator-virtualbox'a?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог