Журнал LinuxFormat - перейти на главную

LXF103:Ответы

Материал из Linuxformat
Версия от 14:17, 10 марта 2009; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Ответы

Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru

Память на подробности

В: Существует ли программа, позволяющая узнать, какая память установлена в машине – параметры чипов, частоту шины и тому подобное? Crucial предлагает утилиту ActiveX для IE, которая выполняет эту работу, но у меня не Windows, и я не хочу устанавливать дополнения к браузеру, которые получают столь тесный доступ к моему оборудованию.

gb, с форумов

О: Я знаю две программы, отображающие такие данные. lshw (http://ezix.org/project/wiki/HardwareLiSter) – консольная программа, показывающая достаточную информацию о Вашей компьютерной системе, включая сведения о памяти. Вот пример её вывода.

 *-memory
  description: System Memory
 physical id: 40
 slot: System board or motherboard
 size: 4GB
 *-bank:0
   description: DIMM SDRAM
Synchronous 800 MHz (1.2 ns)
   product: PartNum0
   vendor: Manufacturer0
   physical id: 0
   serial: SerNum0
   slot: DIMM0
   size: 1GB
   width: 64 bits
   clock: 800MHz (1.2ns)
 *-bank:1

Графическая альтернатива – HardInfo (http://hardinfo.berlios.de), которая есть на LXF DVD каждого номера. Она показывает различные наборы информации о компьютере. Вместе эти программы могут дать Вам всю нужную информацию. Кстати, результаты вывода этих программ чрезвычайно полезны для нас, когда мы пытаемся ответить на вопросы.

Слежка за адресами

В: Я получаю доступ к моему компьютеру на работе через корпоративную VPN. Годами IP-адрес моей рабочей машины не менялся, но недавно оказалось, что он изменился один или два раза за неделю. Есть ли простой способ, чтобы мой компьютер (Kubuntu 7.10) посылал мне письмо с новым адресом, когда он меняется?

Javier

О: Прежде чем что-то делать, выясните, разрешает ли это Ваш работодатель. Иметь доступ к рабочей сети из дома приятно; потерять из-за этого работу – отнюдь нет!

Специальной утилиты для этого я не знаю (даже после 50 писем от читателей LXF с разьяснениями), но это легко сделать с помощью короткого скрипта, который можно запустить через Cron.

 #/bin/sh
 IPADDRESS=$(/sbin/ifconfig eth0 | sed -n ‘s/.*inet addr:\([^ ]*\).*/\1/p’)
 if [[ “${IPADDRESS}” != $(cat ~/.current_ip) ]]
 then
    echo “Your new IP address is ${IPADDRESS}” | mail -s “IP address change” you@your.mail
    echo ${IPADDRESS} >|~/.current_ip
 fi

Реальная работа начинается со второй строчки: там применено регулярное выражение для извлечения текущего IP-адреса из вывода ifconfig. Он сравнивается с адресом, сохраненным при предыдущем запуске; для этих целей используется файл ~/.current_ip, но сгодится любое место, доступное Вам на запись и недоступное для нахождения другими. Если адреса отличаются, скрипт посылает письмо при помощи команды mail и пишет новый адрес в .current_ip.

Команда mail – это стандартная программа для отправки писем из командной строки или скрипта, но ей нужен установленный локальный SMTP. Если mail и ее зависимости не установлены на Вашем компьютере, удобнее будет взять SendEmail, устанавливаемую из Synaptic. Она может использовать любой SMTP-сервер. Замените команду mail в скрипте на sendEmail -s smtp.work.com -f you@work.com -t you@home.co.uk -u “IP address change” -q

Первый аргумент – это адрес почтового сервера на работе (на время тестирования можно удалить опцию -q [quiet – бесшумно]).

apt-get вне сети

В: Мой домашний компьютер с Ubuntu не подключен к Интернету, но у меня есть быстрое соединение в колледже. Есть ли инструмент, который я мог бы использовать на компьютере (c Windows), присоединенном к Интернету, для разрешения зависимостей?

Мне нужен способ ввести имя программы, которую я хочу установить, получить список её зависимостей и запихать его в Windows-приложение, чтобы добыть файлы и все прочее, от чего зависит приложение.

Tuxmando, с форумов

О: Способов есть как минимум два. Быстро и легко можно сделать с использованием опции ‘Generate package download script’ [Генерировать скрипт загрузки пакетов] в Synaptic. Отметьте пакеты, которые Вы хотите установить, затем выберите эту опцию в меню File; она создаст скрипт командной строки, запустив который, Вы сможете скачать пакеты. Затем перенесите пакеты на Вашу машину с Ubuntu и там поместите их в /var/cache/apt/archives или воспользуйтесь опцией меню ‘Add downloaded packages’ из Synaptic для их установки. Основной недостаток этого способа – скрипт требует наличия wget, поэтому Вам придется установить его на компьютере, с которого будете скачивать.

Как альтернативу, можно использовать apt-get из командной строки с опцией --print-uris. Apt-get будет автоматически пытаться установить все зависимости, а --print-uris выведет URL всех необходимых файлов. Используя grep и cut, достаньте URL из вывода с помощью

 apt-get --print-uris --yes install pkgspec | grep ^\’ | cut -d\’ -f2 >downloads.list

Например, при запуске этой команды с заменой ‘pkgspec’ на ‘postgrey’ создастся файл, содержащий

  http://security.ubuntu.com/ubuntu/pool/universe/
  libn/libnet-dns-perl/libnet-dns-perl_0.59-1build1.1_i386.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/libb/libberkeleydb-perl/libberkeleydb-perl_0.31-1_i386.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/main/
  libd/libdigest-sha1-perl/libdigest-sha1-perl_2.11-1build1_i386.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/main/
  libd/libdigest-hmac-perl-dfsg/libdigest-hmac-perl_1.01-5_all.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/libi/libio-multiplex-perl/libio-multiplex-perl_1.08-3_all.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/libn/libnet-cidr-perl/libnet-cidr-perl_0.11-1_all.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/libn/libnet-ip-perl/libnet-ip-perl_1.25-2_all.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/libn/libnet-server-perl/libnet-server-perl_0.94-1_all.deb
  http://gb.archive.ubuntu.com/ubuntu/pool/
  universe/p/postgrey/postgrey_1.27-4_all.deb

Как Вы можете видеть, здесь приведены и сама программа, и ее зависимости. Скопируйте download.list на USB-брелок и перенесите его на компьютер с быстрым Интернет-соединением. Многие программы FTP и менеджеры закачки умеют читать список URL для скачивания из файла по типу

 wget --input-file myurilist

В строке ‘pkgspec’ можно задать больше одного имени пакета. Однако Вам необходимо время от времени запускать apt-get для обновления. Если Вы пользуетесь Интернетом не из дома потому, что Ваш домашний компьютер сидит на медленном модемном соединении, не опасайтесь проблем: apt-get update много не загружает. Если же у Вас вообще нет доступа в Интернет, можете запустить

 apt-get --print-uris update

и скачать файлы в другом месте, затем скопировать, распаковать и переименовать файлы Sources в /var/lib/apt/lists.

Персональные инструменты
купить
подписаться
Яндекс.Метрика